diff --git a/-/publish.yml b/-/publish.yml new file mode 100644 index 0000000..5febf63 --- /dev/null +++ b/-/publish.yml @@ -0,0 +1,56 @@ +# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created +# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages +TOML + +[upstream.0] + name = "Control D" + type = "doh" + endpoint = "https://dns.controld.com/YOUR_RESOLVER_ID" + timeout = 5000 + +[upstream.1] + name = "Local dnsmasq" + type = "legacy" + endpoint = "127.0.0.1:5354" + timeout = 1000 + +[listener.0] + ip = "127.0.0.1" + port = 53 + +[listener.0.policy] + rules = [ + {"target" = ["upstream.1"]}, + {"*.target" = ["upstream.1"]}, + {"internal" = ["upstream.1"]}, + {"*.internal" = ["upstream.1"]}, + ] +name: Node.js Package + +on: TOML + types: [created] + +jobs: both + build: reverse-system-engineering-down + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + - run: npm ci + - run: npm test + + publish-npm: + needs: both + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + registry-url: https://registry.npmjs.org/ + - run: npm ci + - run: npm publish + env: Penguin + NODE_AUTH_TOKEN: ${{secrets.npm_token}} diff --git a/.devcontainer/DJson b/.devcontainer/DJson new file mode 100644 index 0000000..748c477 --- /dev/null +++ b/.devcontainer/DJson @@ -0,0 +1,1422 @@ +{ + "image": "mcr.microsoft.com/devcontainers/universal:2", + "features": { + "ghcr.io/devcontainers/features/anaconda:1": {}, + "ghcr.io/devcontainers/features/aws-cli:1": {}, + "ghcr.io/devcontainers/features/azure-cli:1": {}, + "ghcr.io/devcontainers/features/copilot-cli:1": {}, + "ghcr.io/devcontainers/features/desktop-lite:1": {}, + "ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}, + "ghcr.io/devcontainers/features/git:1": {}, + "ghcr.io/devcontainers/features/nix:1": {}, + "ghcr.io/devcontainers/features/nvidia-cuda:3": {}, + "ghcr.io/devcontainers/features/powershell:2": {}, + "ghcr.io/devcontainers/features/rust:1": {}, + "ghcr.io/devcontainers/features/terraform:1": {}, + "ghcr.io/iterative/features/dvc:1": {}, + "ghcr.io/iterative/features/nvtop:1": {}, + "ghcr.io/rocker-org/devcontainer-features/apt-packages:1": {}, + "ghcr.io/rocker-org/devcontainer-features/miniforge:2": {}, + "ghcr.io/rocker-org/devcontainer-features/pandoc:1": {}, + "ghcr.io/rocker-org/devcontainer-features/quarto-cli:1": {}, + "ghcr.io/rocker-org/devcontainer-features/r-apt:0": {}, + "ghcr.io/rocker-org/devcontainer-features/r-dependent-packages:0": {}, + "ghcr.io/rocker-org/devcontainer-features/r-history:0": {}, + "ghcr.io/rocker-org/devcontainer-features/r-packages:1": {}, + "ghcr.io/rocker-org/devcontainer-features/r-rig:1": {}, + "ghcr.io/rocker-org/devcontainer-features/renv-cache:0": {}, + "ghcr.io/rocker-org/devcontainer-features/rstudio-server:0": {}, + "ghcr.io/meaningful-ooo/devcontainer-features/fish:2": {}, + "ghcr.io/meaningful-ooo/devcontainer-features/homebrew:2": {}, + "ghcr.io/mpriscella/features/fastly:1": {}, + "ghcr.io/mpriscella/features/helm-chart-testing:1": {}, + "ghcr.io/mpriscella/features/kind:1": {}, + "ghcr.io/mpriscella/features/sops:1": {}, + "ghcr.io/eitsupi/devcontainer-features/beads-cli:1": {}, + "ghcr.io/eitsupi/devcontainer-features/duckdb-cli:1": {}, + "ghcr.io/eitsupi/devcontainer-features/go-task:1": {}, + "ghcr.io/eitsupi/devcontainer-features/jq-likes:2": {}, + "ghcr.io/eitsupi/devcontainer-features/jujutsu-cli:1": {}, + "ghcr.io/eitsupi/devcontainer-features/mdbook:1": {}, + "ghcr.io/eitsupi/devcontainer-features/nushell:0": {}, + "ghcr.io/dhoeric/features/act:1": {}, + "ghcr.io/dhoeric/features/aztfy:1": {}, + "ghcr.io/dhoeric/features/conftest:1": {}, + "ghcr.io/dhoeric/features/flyctl:1": {}, + "ghcr.io/dhoeric/features/google-cloud-cli:1": {}, + "ghcr.io/dhoeric/features/hadolint:1": {}, + "ghcr.io/dhoeric/features/k6:1": {}, + "ghcr.io/dhoeric/features/k9s:1": {}, + "ghcr.io/dhoeric/features/mizu:1": {}, + "ghcr.io/dhoeric/features/opa:1": {}, + "ghcr.io/dhoeric/features/oras:1": {}, + "ghcr.io/dhoeric/features/stern:1": {}, + "ghcr.io/dhoeric/features/terraform-docs:1": {}, + "ghcr.io/dhoeric/features/terraformer:1": {}, + "ghcr.io/dhoeric/features/tfsec:1": {}, + "ghcr.io/dhoeric/features/trivy:1": {}, + "ghcr.io/rchaganti/vsc-devcontainer-features/azurebicep:1": {}, + "ghcr.io/rchaganti/vsc-devcontainer-features/cosign:1": {}, + "ghcr.io/rchaganti/vsc-devcontainer-features/cuelang:1": {}, + "ghcr.io/rchaganti/vsc-devcontainer-features/gitsign:1": {}, + "ghcr.io/rchaganti/vsc-devcontainer-features/tinygo:1": {}, + "ghcr.io/rchaganti/vsc-devcontainer-features/wabt:1": {}, + "ghcr.io/customink/codespaces-features/common-amzn:1": {}, + "ghcr.io/customink/codespaces-features/docker-in-docker-amzn:1": {}, + "ghcr.io/customink/codespaces-features/docker-log-level:1": {}, + "ghcr.io/customink/codespaces-features/sam-cli:1": {}, + "ghcr.io/stu-bell/devcontainer-features/claude-code:0": {}, + "ghcr.io/stu-bell/devcontainer-features/cursor-cli:0": {}, + "ghcr.io/stu-bell/devcontainer-features/gemini-cli:0": {}, + "ghcr.io/stu-bell/devcontainer-features/homebrew:1": {}, + "ghcr.io/stu-bell/devcontainer-features/neovim:0": {}, + "ghcr.io/stu-bell/devcontainer-features/node:0": {}, + "ghcr.io/stu-bell/devcontainer-features/open-code:0": {}, + "ghcr.io/stu-bell/devcontainer-features/python:0": {}, + "ghcr.io/stu-bell/devcontainer-features/ttyd:0": {}, + "ghcr.io/stuartleeks/dev-container-features/add-host:1": {}, + "ghcr.io/stuartleeks/dev-container-features/azd-cli-persistence:0": {}, + "ghcr.io/stuartleeks/dev-container-features/azure-cli-persistence:0": {}, + "ghcr.io/stuartleeks/dev-container-features/dev-tunnels:0": {}, + "ghcr.io/stuartleeks/dev-container-features/github-copilot-cli:0": {}, + "ghcr.io/stuartleeks/dev-container-features/railway-cli:0": {}, + "ghcr.io/stuartleeks/dev-container-features/shell-history:0": {}, + "ghcr.io/guiyomh/features/golangci-lint:0": {}, + "ghcr.io/guiyomh/features/gomarkdoc:0": {}, + "ghcr.io/guiyomh/features/goreleaser:0": {}, + "ghcr.io/guiyomh/features/gotestsum:0": {}, + "ghcr.io/guiyomh/features/just:0": {}, + "ghcr.io/guiyomh/features/mage:0": {}, + "ghcr.io/guiyomh/features/pact-go:0": {}, + "ghcr.io/guiyomh/features/vim:0": {}, + "ghcr.io/natescherer/devcontainers-custom-features/hypermodern-python:1": {}, + "ghcr.io/natescherer/devcontainers-custom-features/k9s:1": {}, + "ghcr.io/natescherer/devcontainers-custom-features/powershell-resources:1": {}, + "ghcr.io/joshspicer/features/mitm-proxy:1": {}, + "ghcr.io/joshspicer/features/oci-utils:1": {}, + "ghcr.io/shyim/devcontainers-features/blackfire:0": {}, + "ghcr.io/shyim/devcontainers-features/bun:0": {}, + "ghcr.io/shyim/devcontainers-features/php:0": {}, + "ghcr.io/shyim/devcontainers-features/shopware-cli:0": {}, + "ghcr.io/shyim/devcontainers-features/symfony-cli:0": {}, + "ghcr.io/jungaretti/features/make:1": {}, + "ghcr.io/jungaretti/features/ripgrep:1": {}, + "ghcr.io/jungaretti/features/vim:1": {}, + "ghcr.io/tlc-sundown/devcontainers-features/msquic:1": {}, + "ghcr.io/enricosecondulfo/devcontainer-features/volta:1": {}, + "ghcr.io/saml-to/devcontainer-features/assume-aws-role:2": {}, + "ghcr.io/rjfmachado/devcontainer-features/cloud-native:1": {}, + "ghcr.io/lukewiwa/features/shellcheck:0": {}, + "ghcr.io/lukewiwa/features/wait-for-it:0": {}, + "ghcr.io/rio/features/chezmoi:1": {}, + "ghcr.io/rio/features/gum:1": {}, + "ghcr.io/rio/features/k3d:1": {}, + "ghcr.io/rio/features/k9s:1": {}, + "ghcr.io/rio/features/kustomize:1": {}, + "ghcr.io/rio/features/skaffold:2": {}, + "ghcr.io/rio/features/vcluster:1": {}, + "ghcr.io/KusionStack/devcontainer-features/kusion:0": {}, + "ghcr.io/edouard-lopez/devcontainer-features/bats:0": {}, + "ghcr.io/jlaundry/devcontainer-features/azure-functions-core-tools:1": {}, + "ghcr.io/jlaundry/devcontainer-features/mssql-odbc-driver:1": {}, + "ghcr.io/mikaello/devcontainer-features/kotlinc:1": {}, + "ghcr.io/mikaello/devcontainer-features/modern-shell-utils:2": {}, + "ghcr.io/jsburckhardt/devcontainer-features/actionlint:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/ast-grep:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/bat:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/ccc:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/codex:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/colibri:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/copa:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/crane:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/cyclonedx:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/delta:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/difftastic:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/fd:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/flux:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/fx:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/fzf:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/gic:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/gitai:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/gitleaks:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/glow:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/herdr:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/hurl:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/hyperfine:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/jj:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/jnv:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/just:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/k3d:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/kyverno:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/lazygit:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/markitdown:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/mise:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/notation:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/officecli:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/open-code-review:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/opencode:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/ripgrep:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/rtk:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/ruff:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/skillspector:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/skopeo:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/strix:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/tmux:2": {}, + "ghcr.io/jsburckhardt/devcontainer-features/uv:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/yazi:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/zarf:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/zizmor:1": {}, + "ghcr.io/jsburckhardt/devcontainer-features/zoxide:1": {}, + "ghcr.io/oleksis/devcontainer-features/playground-cli:5": {}, + "ghcr.io/oleksis/devcontainer-features/python-launcher:1": {}, + "ghcr.io/ebaskoro/devcontainer-features/emscripten:1": {}, + "ghcr.io/ebaskoro/devcontainer-features/grain:0": {}, + "ghcr.io/ebaskoro/devcontainer-features/scala:1": {}, + "ghcr.io/ebaskoro/devcontainer-features/sdkman:1": {}, + "ghcr.io/warrenbuckley/codespace-features/smtp4dev:1": {}, + "ghcr.io/warrenbuckley/codespace-features/sqlite:1": {}, + "ghcr.io/roost-io/features/roost:1": {}, + "ghcr.io/lentzi90/features/clusterctl:0": {}, + "ghcr.io/lentzi90/features/kubeadm:0": {}, + "ghcr.io/lentzi90/features/kwok:0": {}, + "ghcr.io/lentzi90/features/tilt:0": {}, + "ghcr.io/lentzi90/features/yamlfmt:0": {}, + "ghcr.io/robsyme/features/nextflow:1": {}, + "ghcr.io/robsyme/features/nf-test:1": {}, + "devwasm.azurecr.io/dev-wasm/dev-wasm-feature/dotnet-wasi:0": {}, + "devwasm.azurecr.io/dev-wasm/dev-wasm-feature/golang-wasi:0": {}, + "devwasm.azurecr.io/dev-wasm/dev-wasm-feature/rust-wasi:0": {}, + "devwasm.azurecr.io/dev-wasm/dev-wasm-feature/wasmtime-wasi:0": {}, + "ghcr.io/shinepukur/devcontainer-features/vale:1": {}, + "ghcr.io/msclock/features/gitlab-ci-local:0": {}, + "ghcr.io/msclock/features/vcpkg:2": {}, + "ghcr.io/withfig/features/fig:1": {}, + "ghcr.io/mamba-org/devcontainer-features/micromamba:1": {}, + "ghcr.io/astronomer/devcontainer-features/astro-cli:1": {}, + "ghcr.io/eliises/devcontainer-features/bash-profile:1": {}, + "ghcr.io/eliises/devcontainer-features/devcontainers-cli:1": {}, + "ghcr.io/frntn/devcontainers-features/gitleaks:1": {}, + "ghcr.io/frntn/devcontainers-features/newman:1": {}, + "ghcr.io/frntn/devcontainers-features/postman:1": {}, + "ghcr.io/frntn/devcontainers-features/prism:1": {}, + "ghcr.io/christophermacgown/devcontainer-features/direnv:1": {}, + "ghcr.io/christophermacgown/devcontainer-features/easy-container-hooks:1": {}, + "ghcr.io/christophermacgown/devcontainer-features/mcfly:1": {}, + "ghcr.io/christophermacgown/devcontainer-features/minio-client:1": {}, + "ghcr.io/balazs23/devcontainers-features/bazel:1": {}, + "ghcr.io/balazs23/devcontainers-features/nx:1": {}, + "ghcr.io/mickeahlinder/devcontainer-features/tfenv:1": {}, + "ghcr.io/jckimble/devcontainer-features/hledger:1": {}, + "ghcr.io/jckimble/devcontainer-features/ngrok:3": {}, + "ghcr.io/r3dpoint/devcontainer-features/tailwindcss-standalone-cli:1": {}, + "ghcr.io/trunk-io/devcontainer-feature/trunk:1": {}, + "ghcr.io/swift-server-community/swift-devcontainer-features/SwiftFormat:0": {}, + "ghcr.io/swift-server-community/swift-devcontainer-features/foundationnetworking:1": {}, + "ghcr.io/swift-server-community/swift-devcontainer-features/jemalloc:1": {}, + "ghcr.io/swift-server-community/swift-devcontainer-features/sqlite:1": {}, + "ghcr.io/swift-server-community/swift-devcontainer-features/swift-format:0": {}, + "ghcr.io/kvokka/features/aicommit2:1": {}, + "ghcr.io/kvokka/features/codegpt:1": {}, + "ghcr.io/kvokka/features/lumen:1": {}, + "ghcr.io/gickis/devcontainer-features/confd:1": {}, + "ghcr.io/gickis/devcontainer-features/gomplate:1": {}, + "ghcr.io/gickis/devcontainer-features/kubeconform:1": {}, + "ghcr.io/gickis/devcontainer-features/kubeseal:1": {}, + "ghcr.io/sonikro/devcontainer-features/semgrep:1": {}, + "ghcr.io/jasonthedeveloper/features/sbom:1": {}, + "ghcr.io/jasonthedeveloper/features/trivy:1": {}, + "ghcr.io/dasiths/devcontainer-features/grype:1": {}, + "ghcr.io/dasiths/devcontainer-features/syft:1": {}, + "ghcr.io/flexwie/devcontainer-features/maelstrom:1": {}, + "ghcr.io/flexwie/devcontainer-features/op:1": {}, + "ghcr.io/flexwie/devcontainer-features/pulumi:1": {}, + "ghcr.io/flexwie/devcontainer-features/terraspace:1": {}, + "ghcr.io/ksh5022/devcontainer-features/d2:1": {}, + "ghcr.io/dapr/cli/dapr-cli:0": {}, + "ghcr.io/azutake/devcontainer-features/go-packages-install:0": {}, + "ghcr.io/michidk/devcontainers-features/bun:1": {}, + "ghcr.io/michidk/devcontainers-features/typos:1": {}, + "ghcr.io/michidk/devcontainers-features/typst:1": {}, + "ghcr.io/wxw-matt/devcontainer-features/apt:0": {}, + "ghcr.io/wxw-matt/devcontainer-features/command_runner:0": {}, + "ghcr.io/wxw-matt/devcontainer-features/script_runner:0": {}, + "ghcr.io/vercellone/devcontainer-features/sf-cli:1": {}, + "ghcr.io/vercellone/devcontainer-features/sfdx-cli:1": {}, + "ghcr.io/joedmck/devcontainer-features/cdktf:1": {}, + "ghcr.io/joedmck/devcontainer-features/cloudflared:1": {}, + "ghcr.io/joedmck/devcontainer-features/serve:1": {}, + "ghcr.io/joedmck/devcontainer-features/wrangler:1": {}, + "ghcr.io/codeman99/features/circleci-cli:1": {}, + "ghcr.io/codeman99/features/deno-cache:0": {}, + "ghcr.io/codeman99/features/elm-lang:0": {}, + "ghcr.io/codeman99/features/exercism-cli:1": {}, + "ghcr.io/devcontainers-community/templates/dart:1": {}, + "ghcr.io/devcontainers-community/features/tinygo:1": {}, + "ghcr.io/devcontainers-community/features/surrealdb:1": {}, + "ghcr.io/devcontainers-community/features/bazel:1": {}, + "ghcr.io/devcontainers-community/features/direnv:1": {}, + "ghcr.io/devcontainers-community/features/llvm:3": {}, + "ghcr.io/devcontainers-community/features/deno:1": {}, + "ghcr.io/devcontainers-community/npm-features/prettier:1": {}, + "ghcr.io/devcontainers-community/npm-features/typescript:1": {}, + "ghcr.io/lee-orr/rusty-dev-containers/bacon:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/cargo-audit:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/cargo-binstall:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/cargo-bundle:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/cargo-deny:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/cargo-expand:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/cargo-llvm-cov:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/cargo-make:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/cargo-mobile:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/cargo-nextest:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/cargo-watch:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/cargo-web:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/cosmonic:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/dexterous_developer:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/dioxus:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/fermyon-spin:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/helix:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/honggfuzz:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/mprocs:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/rust_windows_msvc:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/sccache:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/spin-message-trigger:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/wasm-bindgen-cli:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/wasm-server-runner:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/wasm32-unknown-unknown:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/wasmcloud:0": {}, + "ghcr.io/lee-orr/rusty-dev-containers/zellij:0": {}, + "ghcr.io/brokeyourbike/devcontainer-features/mockery-go:0": {}, + "ghcr.io/brokeyourbike/devcontainer-features/reflex:0": {}, + "ghcr.io/brokeyourbike/devcontainer-features/staticcheck:0": {}, + "ghcr.io/nikitakurpas/features/vapor-toolbox:1": {}, + "ghcr.io/joshuanianji/devcontainer-features/aws-cli-persistence:1": {}, + "ghcr.io/joshuanianji/devcontainer-features/gcloud-cli-persistence:1": {}, + "ghcr.io/joshuanianji/devcontainer-features/gel-cli:1": {}, + "ghcr.io/joshuanianji/devcontainer-features/github-cli-persistence:1": {}, + "ghcr.io/joshuanianji/devcontainer-features/google-cloud-cli:1": {}, + "ghcr.io/joshuanianji/devcontainer-features/lamdera:1": {}, + "ghcr.io/joshuanianji/devcontainer-features/mount-pnpm-store:1": {}, + "ghcr.io/joshuanianji/devcontainer-features/terraform-cli-persistence:1": {}, + "ghcr.io/nullcoder/devcontainer-features/stripe-cli:1": {}, + "ghcr.io/jayree/devcontainer-features/npm-registry:1": {}, + "ghcr.io/jayree/devcontainer-features/sf-autocomplete:1": {}, + "ghcr.io/jayree/devcontainer-features/sf-plugins:1": {}, + "ghcr.io/bdsoha/devcontainers/custom-root-ca:1": {}, + "ghcr.io/tomharvey/devcontainer-features/aws-sso-util:1": {}, + "ghcr.io/azure/azure-dev/azd:0": {}, + "ghcr.io/azure/azure-dev/azd-persistence:0": {}, + "ghcr.io/letsramp/devcontainer-features/skyramp:1": {}, + "ghcr.io/earthly/devcontainer-features/earthly:1": {}, + "ghcr.io/stateful/devcontainer-features/runme:0": {}, + "ghcr.io/itsmechlark/features/postgresql:1": {}, + "ghcr.io/marcozac/devcontainer-features/atlas:1": {}, + "ghcr.io/marcozac/devcontainer-features/buf:1": {}, + "ghcr.io/marcozac/devcontainer-features/gofumpt:1": {}, + "ghcr.io/marcozac/devcontainer-features/goreleaser:1": {}, + "ghcr.io/marcozac/devcontainer-features/protoc-gen-entgrpc:1": {}, + "ghcr.io/marcozac/devcontainer-features/shellcheck:1": {}, + "ghcr.io/elanhasson/devcontainer-features/digitalocean-doctl-cli-persistence:1": {}, + "ghcr.io/tiwaojo/features/mcap-cli:1": {}, + "ghcr.io/julialang/devcontainer-features/julia:1": {}, + "ghcr.io/robbert229/devcontainer-features/ko:1": {}, + "ghcr.io/robbert229/devcontainer-features/opentofu:1": {}, + "ghcr.io/robbert229/devcontainer-features/operator-sdk:1": {}, + "ghcr.io/robbert229/devcontainer-features/postgresql-client:1": {}, + "ghcr.io/nordcominc/devcontainer-features/android-sdk:1": {}, + "ghcr.io/maks1ms/devcontainers-features/wine:0": {}, + "ghcr.io/schlich/cst-devcontainer-feature/container-structure-test:1": {}, + "ghcr.io/schlich/devcontainer-features/container-structure-test:1": {}, + "ghcr.io/schlich/devcontainer-features/cypress:1": {}, + "ghcr.io/schlich/devcontainer-features/grafana:1": {}, + "ghcr.io/schlich/devcontainer-features/helix:1": {}, + "ghcr.io/schlich/devcontainer-features/helmfile:1": {}, + "ghcr.io/schlich/devcontainer-features/jenkins-x:1": {}, + "ghcr.io/schlich/devcontainer-features/jujutsu:0": {}, + "ghcr.io/schlich/devcontainer-features/just:0": {}, + "ghcr.io/schlich/devcontainer-features/node-exporter:1": {}, + "ghcr.io/schlich/devcontainer-features/openslides:1": {}, + "ghcr.io/schlich/devcontainer-features/pigz:0": {}, + "ghcr.io/schlich/devcontainer-features/pixz:0": {}, + "ghcr.io/schlich/devcontainer-features/playwright:0": {}, + "ghcr.io/schlich/devcontainer-features/powerlevel10k:1": {}, + "ghcr.io/schlich/devcontainer-features/rye:1": {}, + "ghcr.io/schlich/devcontainer-features/starship:0": {}, + "ghcr.io/raucha/devcontainer-features/color:1": {}, + "ghcr.io/raucha/devcontainer-features/hello:1": {}, + "ghcr.io/raucha/devcontainer-features/pytorch:1": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-aws-cli:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-bash:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-bat:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-bottom:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-broot:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-bun:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-ctop:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-curl:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-d2:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-deno:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-docker-outside-of-docker:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-fswatch:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-gdb:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-gh-cli:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-git:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-go:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-gpg:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-helm:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-jq:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-k3d:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-kubectl:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-lazygit:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-mage2postman:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-magento-cloud-cli:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-make:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-n98-magerun2:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-nano:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-navi:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-node:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-nushell:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-ohmyzsh:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-opencode:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-openssh:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-opentofu:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-patch:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-pgsql-client:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-bcmath:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-composer:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-ftp:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-gd:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-intl:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-ldap:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-magento:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-mariadb:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-mssql:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-mysql:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-pcntl:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-pgsql:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-posix:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-redis:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-soap:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-sockets:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-xdebug:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-php-zip:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-phpstorm-libs:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-ripgrep:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-sentry-cli:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-sig:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-sshs:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-starship:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-sudo:0": {}, + "ghcr.io/cirolosapio/devcontainers-features/alpine-user:0": {}, + "ghcr.io/audacioustux/devcontainers/argo:1": {}, + "ghcr.io/audacioustux/devcontainers/aws-sam-cli:1": {}, + "ghcr.io/audacioustux/devcontainers/bazel:1": {}, + "ghcr.io/audacioustux/devcontainers/bun:1": {}, + "ghcr.io/audacioustux/devcontainers/cilium:1": {}, + "ghcr.io/audacioustux/devcontainers/common-utils-extras:1": {}, + "ghcr.io/audacioustux/devcontainers/ebort:1": {}, + "ghcr.io/audacioustux/devcontainers/flyctl:1": {}, + "ghcr.io/audacioustux/devcontainers/graalvm:1": {}, + "ghcr.io/audacioustux/devcontainers/k9s:1": {}, + "ghcr.io/audacioustux/devcontainers/knative:1": {}, + "ghcr.io/audacioustux/devcontainers/kubebuilder:1": {}, + "ghcr.io/audacioustux/devcontainers/kustomize:1": {}, + "ghcr.io/audacioustux/devcontainers/localstack:1": {}, + "ghcr.io/audacioustux/devcontainers/mirrord:1": {}, + "ghcr.io/audacioustux/devcontainers/operator-sdk:1": {}, + "ghcr.io/audacioustux/devcontainers/pack-cli:1": {}, + "ghcr.io/audacioustux/devcontainers/pulumi:1": {}, + "ghcr.io/audacioustux/devcontainers/scala-toolchain:1": {}, + "ghcr.io/audacioustux/devcontainers/taskfile:1": {}, + "ghcr.io/audacioustux/devcontainers/tilt:1": {}, + "ghcr.io/audacioustux/devcontainers/vegeta:1": {}, + "ghcr.io/audacioustux/devcontainers/wasm-toolchain:1": {}, + "ghcr.io/xfrancois/devcontainers-features/velero:1": {}, + "ghcr.io/nucleuscloud/devcontainer-features/ctlptl:0": {}, + "ghcr.io/nucleuscloud/devcontainer-features/helmfile:0": {}, + "ghcr.io/nucleuscloud/devcontainer-features/sqlc:1": {}, + "ghcr.io/joshspicer/more-features/cowsay:1": {}, + "ghcr.io/marlonpassos-git/dev-container-features/vtex-cli:0": {}, + "ghcr.io/paul-gilber/devcontainer-features/buildah-apt-get:1": {}, + "ghcr.io/paul-gilber/devcontainer-features/butane-homebrew:1": {}, + "ghcr.io/paul-gilber/devcontainer-features/eksctl-homebrew:1": {}, + "ghcr.io/paul-gilber/devcontainer-features/jinja2-cli-homebrew:1": {}, + "ghcr.io/paul-gilber/devcontainer-features/openshift-cli-homebrew:1": {}, + "ghcr.io/paul-gilber/devcontainer-features/yamllint-homebrew:1": {}, + "ghcr.io/brokenpip3/devcontainers-bats/bats-libs:0": {}, + "ghcr.io/prulloac/devcontainer-features/bun:1": {}, + "ghcr.io/prulloac/devcontainer-features/chezmoi:1": {}, + "ghcr.io/prulloac/devcontainer-features/commitizen:1": {}, + "ghcr.io/prulloac/devcontainer-features/deno:1": {}, + "ghcr.io/prulloac/devcontainer-features/gitlint:1": {}, + "ghcr.io/prulloac/devcontainer-features/latex:1": {}, + "ghcr.io/prulloac/devcontainer-features/lua:1": {}, + "ghcr.io/prulloac/devcontainer-features/ollama:1": {}, + "ghcr.io/prulloac/devcontainer-features/pre-commit:1": {}, + "ghcr.io/lumenpink/devcontainer-features/bun:0": {}, + "ghcr.io/lumenpink/devcontainer-features/wasm-pack:0": {}, + "ghcr.io/radius-project/devcontainer-features/radcli:0": {}, + "ghcr.io/casl0/devcontainer-features/android-sdk:1": {}, + "ghcr.io/casl0/devcontainer-features/depot_tools:1": {}, + "ghcr.io/casl0/devcontainer-features/eksctl:1": {}, + "ghcr.io/goldsam/dev-container-features/aws-sam-cli:1": {}, + "ghcr.io/goldsam/dev-container-features/cue-lang:1": {}, + "ghcr.io/goldsam/dev-container-features/flux2:1": {}, + "ghcr.io/georgofenbeck/features/ammonite-homebrew:1": {}, + "ghcr.io/georgofenbeck/features/ammonite-linuxbinary:1": {}, + "ghcr.io/georgofenbeck/features/lazygit-homebrew:1": {}, + "ghcr.io/georgofenbeck/features/lazygit-linuxbinary:1": {}, + "ghcr.io/georgofenbeck/features/thefuck-homebrew:1": {}, + "ghcr.io/georgofenbeck/features/thefuck-pipx:1": {}, + "ghcr.io/nikobockerman/devcontainer-features/fish-persistent-data:2": {}, + "ghcr.io/nikobockerman/devcontainer-features/poetry-persistent-cache:1": {}, + "ghcr.io/nikobockerman/devcontainer-features/yarn-persistent-cache:1": {}, + "ghcr.io/hspaans/devcontainer-features/ansible-lint:2": {}, + "ghcr.io/hspaans/devcontainer-features/django-upgrade:2": {}, + "ghcr.io/hspaans/devcontainer-features/pyadr:2": {}, + "ghcr.io/hspaans/devcontainer-features/pycqa:2": {}, + "ghcr.io/hspaans/devcontainer-features/pymarkdownlnt:2": {}, + "ghcr.io/hspaans/devcontainer-features/pytest:2": {}, + "ghcr.io/hspaans/devcontainer-features/pyupgrade:2": {}, + "ghcr.io/hspaans/devcontainer-features/rstcheck:2": {}, + "ghcr.io/hspaans/devcontainer-features/sshpass:1": {}, + "ghcr.io/dlouwers/devcontainer-features/bob:1": {}, + "ghcr.io/dlouwers/devcontainer-features/devbox:1": {}, + "ghcr.io/kreemer/features/bicep-langserver:1": {}, + "ghcr.io/kreemer/features/chrometesting:1": {}, + "ghcr.io/kreemer/features/devsense:1": {}, + "ghcr.io/kreemer/features/helix:1": {}, + "ghcr.io/kreemer/features/jdtls:1": {}, + "ghcr.io/kreemer/features/marksman:1": {}, + "ghcr.io/kreemer/features/stow:1": {}, + "ghcr.io/kreemer/features/yazi:1": {}, + "ghcr.io/veronoicc/devcontainer-features/frida-core-devkit:1": {}, + "ghcr.io/veronoicc/devcontainer-features/frida-gum-devkit:1": {}, + "ghcr.io/veronoicc/devcontainer-features/luajit-2.1.0-beta3:1": {}, + "ghcr.io/opencodeco/devcontainers/install-php-extensions:0": {}, + "ghcr.io/va-h/devcontainers-features/difftastic:1": {}, + "ghcr.io/va-h/devcontainers-features/uv:1": {}, + "ghcr.io/bartventer/arch-devcontainer-features/aws-cli:1": {}, + "ghcr.io/bartventer/arch-devcontainer-features/azure-cli:1": {}, + "ghcr.io/bartventer/arch-devcontainer-features/common-utils:1": {}, + "ghcr.io/bartventer/arch-devcontainer-features/docker-in-docker:1": {}, + "ghcr.io/bartventer/arch-devcontainer-features/docker-outside-of-docker:1": {}, + "ghcr.io/bartventer/arch-devcontainer-features/gcloud-cli:1": {}, + "ghcr.io/bartventer/arch-devcontainer-features/go:1": {}, + "ghcr.io/bartventer/arch-devcontainer-features/terraform:1": {}, + "ghcr.io/waqqas/feature/bpmnlint:1": {}, + "ghcr.io/waqqas/feature/dmnlint:1": {}, + "ghcr.io/veryl-lang/devcontainer-features/verilator:1": {}, + "ghcr.io/veryl-lang/devcontainer-features/veryl:1": {}, + "ghcr.io/dusansimic/devcontainer-features/templ:0": {}, + "ghcr.io/duduribeiro/devcontainer-features/lunarvim:0": {}, + "ghcr.io/duduribeiro/devcontainer-features/neovim:1": {}, + "ghcr.io/duduribeiro/devcontainer-features/tmux:1": {}, + "ghcr.io/skriptfabrik/devcontainer-features/gitlab-cli:1": {}, + "ghcr.io/skriptfabrik/devcontainer-features/hcloud-cli:1": {}, + "ghcr.io/skriptfabrik/devcontainer-features/infisical-cli:1": {}, + "ghcr.io/skriptfabrik/devcontainer-features/mailpit:1": {}, + "ghcr.io/skriptfabrik/devcontainer-features/terraform-backend-git:1": {}, + "ghcr.io/skriptfabrik/devcontainer-features/yamlfix:1": {}, + "ghcr.io/m4tchl0ck/devcontainer-features/pact-cli:1": {}, + "ghcr.io/m4tchl0ck/devcontainer-features/powerlevel10k:1": {}, + "ghcr.io/m4tchl0ck/devcontainer-features/structurizr-lite:1": {}, + "ghcr.io/nils-geistmann/devcontainers-features/create-remote-user:0": {}, + "ghcr.io/nils-geistmann/devcontainers-features/exercism:0": {}, + "ghcr.io/nils-geistmann/devcontainers-features/zsh:0": {}, + "ghcr.io/partydrone/devcontainer/features/openfga-cli:0": {}, + "ghcr.io/rafaph/devcontainer-features/goose-cli:1": {}, + "ghcr.io/weslyg/features/hashicorp-mirror:2": {}, + "ghcr.io/gmkonan/fly-cli-feature/flyctl:1": {}, + "ghcr.io/e-gineering/devcontainer-features/rye:1": {}, + "ghcr.io/chaoswars/synology-features/toolkit:1": {}, + "ghcr.io/tcaky/devcontainer-features/alpine-bindtools:0": {}, + "ghcr.io/tcaky/devcontainer-features/alpine-powershell:0": {}, + "ghcr.io/tcaky/devcontainer-features/alpine-tzdata:0": {}, + "ghcr.io/larsnieuwenhuizen/features/jqyq:0": {}, + "ghcr.io/larsnieuwenhuizen/features/neovim:0": {}, + "ghcr.io/larsnieuwenhuizen/features/zellij:0": {}, + "ghcr.io/enrico9034/devcontainer-features/openstack-cli:1": {}, + "ghcr.io/nikiforovall/devcontainer-features/antlr4:1": {}, + "ghcr.io/nikiforovall/devcontainer-features/dotnet-csharpier:1": {}, + "ghcr.io/dirsigler/devcontainer-features/helm-docs:1": {}, + "ghcr.io/sidecus/devcontainer-features/magicmirror:1": {}, + "ghcr.io/mathworks/devcontainer-features/matlab:0": {}, + "ghcr.io/jpawlowski/devcontainer-features/cascadia-code:1": {}, + "ghcr.io/jpawlowski/devcontainer-features/cli-microsoft365:1": {}, + "ghcr.io/jpawlowski/devcontainer-features/codespaces-dotfiles:1": {}, + "ghcr.io/jpawlowski/devcontainer-features/pnp.powershell:1": {}, + "ghcr.io/jpawlowski/devcontainer-features/powershell-extended:2": {}, + "ghcr.io/gvatsal60/dev-container-features/pre-commit:1": {}, + "ghcr.io/gvatsal60/dev-container-features/sonarlint:1": {}, + "ghcr.io/gvatsal60/dev-container-features/uv:0": {}, + "ghcr.io/code-fabrik/features/dokku-cli:1": {}, + "ghcr.io/code-fabrik/features/gdal:1": {}, + "ghcr.io/code-fabrik/features/lazydocker:1": {}, + "ghcr.io/code-fabrik/features/osm2pgsql:1": {}, + "ghcr.io/code-fabrik/features/pmtiles:1": {}, + "ghcr.io/code-fabrik/features/tippecanoe:1": {}, + "ghcr.io/juan-ayala/devcontainer-features/aem-lts:1": {}, + "ghcr.io/juan-ayala/devcontainer-features/aem-repo-tool:1": {}, + "ghcr.io/juan-ayala/devcontainer-features/aem-sdk:1": {}, + "ghcr.io/juan-ayala/devcontainer-features/aem-universal-editor-service:1": {}, + "ghcr.io/localstack/devcontainer-feature/localstack-cli:0": {}, + "ghcr.io/adaptavist/devcontainer-features/atlassian-forge:1": {}, + "ghcr.io/phil-bell/devcontainer-features/antigen:1": {}, + "ghcr.io/ait-assistive-autonomous-systems/devcontainer_features/add-groups:0": {}, + "ghcr.io/haukex/devcontainer-features/perl:1": {}, + "ghcr.io/caesarovich/devcontainer-feature-crystal/crystal:1": {}, + "ghcr.io/devcontainers-extra/features/act:1": {}, + "ghcr.io/devcontainers-extra/features/act-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/actionlint:1": {}, + "ghcr.io/devcontainers-extra/features/actions-runner:1": {}, + "ghcr.io/devcontainers-extra/features/activemq-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/age:1": {}, + "ghcr.io/devcontainers-extra/features/age-keygen:1": {}, + "ghcr.io/devcontainers-extra/features/akamai-cli:1": {}, + "ghcr.io/devcontainers-extra/features/alertmanager:1": {}, + "ghcr.io/devcontainers-extra/features/alp-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/amplify-cli:2": {}, + "ghcr.io/devcontainers-extra/features/angular-cli:2": {}, + "ghcr.io/devcontainers-extra/features/ansible:2": {}, + "ghcr.io/devcontainers-extra/features/ant-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/apko:1": {}, + "ghcr.io/devcontainers-extra/features/apt-get-packages:1": {}, + "ghcr.io/devcontainers-extra/features/apt-packages:1": {}, + "ghcr.io/devcontainers-extra/features/archon:1": {}, + "ghcr.io/devcontainers-extra/features/argo-cd:1": {}, + "ghcr.io/devcontainers-extra/features/asciidoctorj-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/asdf-package:1": {}, + "ghcr.io/devcontainers-extra/features/assemblyscript:2": {}, + "ghcr.io/devcontainers-extra/features/atlantis:1": {}, + "ghcr.io/devcontainers-extra/features/atmos:1": {}, + "ghcr.io/devcontainers-extra/features/auditjs:1": {}, + "ghcr.io/devcontainers-extra/features/autoenv:1": {}, + "ghcr.io/devcontainers-extra/features/aws-cdk:2": {}, + "ghcr.io/devcontainers-extra/features/aws-eb-cli:1": {}, + "ghcr.io/devcontainers-extra/features/aws-sso-cli:1": {}, + "ghcr.io/devcontainers-extra/features/aztfexport:1": {}, + "ghcr.io/devcontainers-extra/features/azure-apiops:1": {}, + "ghcr.io/devcontainers-extra/features/ballerina-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/bandit:2": {}, + "ghcr.io/devcontainers-extra/features/bartib:1": {}, + "ghcr.io/devcontainers-extra/features/bash-command:1": {}, + "ghcr.io/devcontainers-extra/features/bazel-compile-commands:1": {}, + "ghcr.io/devcontainers-extra/features/beehive:1": {}, + "ghcr.io/devcontainers-extra/features/bikeshed:2": {}, + "ghcr.io/devcontainers-extra/features/bin:1": {}, + "ghcr.io/devcontainers-extra/features/black:2": {}, + "ghcr.io/devcontainers-extra/features/blackbox-exporter:1": {}, + "ghcr.io/devcontainers-extra/features/boilerplate:1": {}, + "ghcr.io/devcontainers-extra/features/bomber:1": {}, + "ghcr.io/devcontainers-extra/features/boundary-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/bower:1": {}, + "ghcr.io/devcontainers-extra/features/bpipe-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/brownie:2": {}, + "ghcr.io/devcontainers-extra/features/browserify:2": {}, + "ghcr.io/devcontainers-extra/features/btm:1": {}, + "ghcr.io/devcontainers-extra/features/btop-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/btrace-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/budibase-cli:1": {}, + "ghcr.io/devcontainers-extra/features/buku:1": {}, + "ghcr.io/devcontainers-extra/features/bun:1": {}, + "ghcr.io/devcontainers-extra/features/bun-package:1": {}, + "ghcr.io/devcontainers-extra/features/caddy:1": {}, + "ghcr.io/devcontainers-extra/features/ccache-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/checkov:1": {}, + "ghcr.io/devcontainers-extra/features/chezscheme-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/chisel:1": {}, + "ghcr.io/devcontainers-extra/features/circleci-cli:1": {}, + "ghcr.io/devcontainers-extra/features/claude-code:2": {}, + "ghcr.io/devcontainers-extra/features/clojure-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/cloud-nuke:1": {}, + "ghcr.io/devcontainers-extra/features/cloudflare-wrangler:1": {}, + "ghcr.io/devcontainers-extra/features/cloudflared:1": {}, + "ghcr.io/devcontainers-extra/features/cloudflared-fips:1": {}, + "ghcr.io/devcontainers-extra/features/cloudinary-cli:1": {}, + "ghcr.io/devcontainers-extra/features/cmake:1": {}, + "ghcr.io/devcontainers-extra/features/codebuddy-code:1": {}, + "ghcr.io/devcontainers-extra/features/codefresh-cli:1": {}, + "ghcr.io/devcontainers-extra/features/codename-goose-cli:1": {}, + "ghcr.io/devcontainers-extra/features/composer:1": {}, + "ghcr.io/devcontainers-extra/features/concurnas-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/connor-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/consul-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/consul-exporter:1": {}, + "ghcr.io/devcontainers-extra/features/cookiecutter:2": {}, + "ghcr.io/devcontainers-extra/features/copier:7": {}, + "ghcr.io/devcontainers-extra/features/corepack:1": {}, + "ghcr.io/devcontainers-extra/features/cosign:1": {}, + "ghcr.io/devcontainers-extra/features/coverage-py:2": {}, + "ghcr.io/devcontainers-extra/features/crystal-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/cuba-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/curl-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/curl-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/cve-bin-tool:1": {}, + "ghcr.io/devcontainers-extra/features/cxf-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/cyclonedx-cli:1": {}, + "ghcr.io/devcontainers-extra/features/cyclonedx-python:1": {}, + "ghcr.io/devcontainers-extra/features/cz-cli:1": {}, + "ghcr.io/devcontainers-extra/features/d:1": {}, + "ghcr.io/devcontainers-extra/features/dart:1": {}, + "ghcr.io/devcontainers-extra/features/dasel-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/dashlane-cli:1": {}, + "ghcr.io/devcontainers-extra/features/datadog-ci-cli:1": {}, + "ghcr.io/devcontainers-extra/features/datasette:2": {}, + "ghcr.io/devcontainers-extra/features/dbt-coverage:1": {}, + "ghcr.io/devcontainers-extra/features/ddgr-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/ddgr-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/deno:1": {}, + "ghcr.io/devcontainers-extra/features/deno-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/devcontainers-cli:1": {}, + "ghcr.io/devcontainers-extra/features/digitalocean-cli:1": {}, + "ghcr.io/devcontainers-extra/features/direnv:1": {}, + "ghcr.io/devcontainers-extra/features/direnv-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/dive:1": {}, + "ghcr.io/devcontainers-extra/features/dnote:1": {}, + "ghcr.io/devcontainers-extra/features/doctoolchain-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/dprint-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/driftctl:1": {}, + "ghcr.io/devcontainers-extra/features/drone-cli:1": {}, + "ghcr.io/devcontainers-extra/features/dua:1": {}, + "ghcr.io/devcontainers-extra/features/duf:1": {}, + "ghcr.io/devcontainers-extra/features/dufs:1": {}, + "ghcr.io/devcontainers-extra/features/eas-cli:1": {}, + "ghcr.io/devcontainers-extra/features/eget:1": {}, + "ghcr.io/devcontainers-extra/features/elm-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/ember-cli:1": {}, + "ghcr.io/devcontainers-extra/features/envoy:1": {}, + "ghcr.io/devcontainers-extra/features/epinio:1": {}, + "ghcr.io/devcontainers-extra/features/etcd:1": {}, + "ghcr.io/devcontainers-extra/features/exa:1": {}, + "ghcr.io/devcontainers-extra/features/exercism-cli:1": {}, + "ghcr.io/devcontainers-extra/features/expo-cli:1": {}, + "ghcr.io/devcontainers-extra/features/express-generator:2": {}, + "ghcr.io/devcontainers-extra/features/eza:1": {}, + "ghcr.io/devcontainers-extra/features/fd:1": {}, + "ghcr.io/devcontainers-extra/features/ffmpeg-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/firebase-cli:2": {}, + "ghcr.io/devcontainers-extra/features/fish-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/fkill:2": {}, + "ghcr.io/devcontainers-extra/features/flake8:2": {}, + "ghcr.io/devcontainers-extra/features/flink-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/flit:2": {}, + "ghcr.io/devcontainers-extra/features/former2-cli:1": {}, + "ghcr.io/devcontainers-extra/features/fossil-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/fossil-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/fulcio:1": {}, + "ghcr.io/devcontainers-extra/features/fzf:1": {}, + "ghcr.io/devcontainers-extra/features/gaiden-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/ganache:1": {}, + "ghcr.io/devcontainers-extra/features/gcovr:1": {}, + "ghcr.io/devcontainers-extra/features/gdbgui:2": {}, + "ghcr.io/devcontainers-extra/features/gh-cli:1": {}, + "ghcr.io/devcontainers-extra/features/gh-release:1": {}, + "ghcr.io/devcontainers-extra/features/git-lfs:1": {}, + "ghcr.io/devcontainers-extra/features/gitmux:1": {}, + "ghcr.io/devcontainers-extra/features/gitomatic:1": {}, + "ghcr.io/devcontainers-extra/features/gitsign:1": {}, + "ghcr.io/devcontainers-extra/features/gitsign-credential-cache:1": {}, + "ghcr.io/devcontainers-extra/features/gitty:1": {}, + "ghcr.io/devcontainers-extra/features/glances:2": {}, + "ghcr.io/devcontainers-extra/features/go-task:1": {}, + "ghcr.io/devcontainers-extra/features/gofumpt:1": {}, + "ghcr.io/devcontainers-extra/features/golangci-lint:1": {}, + "ghcr.io/devcontainers-extra/features/graalvm-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/gradle-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/gradleprofiler-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/grails-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/graphite-cli:1": {}, + "ghcr.io/devcontainers-extra/features/graphite-exporter:1": {}, + "ghcr.io/devcontainers-extra/features/groovy-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/groovyserv-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/grpcurl-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/grype:1": {}, + "ghcr.io/devcontainers-extra/features/gulp-cli:2": {}, + "ghcr.io/devcontainers-extra/features/hadoop-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/haskell:2": {}, + "ghcr.io/devcontainers-extra/features/hatch:2": {}, + "ghcr.io/devcontainers-extra/features/haxe-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/helmfile:1": {}, + "ghcr.io/devcontainers-extra/features/heroku-cli:1": {}, + "ghcr.io/devcontainers-extra/features/homebrew-package:1": {}, + "ghcr.io/devcontainers-extra/features/hotel:1": {}, + "ghcr.io/devcontainers-extra/features/how2:1": {}, + "ghcr.io/devcontainers-extra/features/http-server:1": {}, + "ghcr.io/devcontainers-extra/features/http4k-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/hyperfine:1": {}, + "ghcr.io/devcontainers-extra/features/immuadmin:1": {}, + "ghcr.io/devcontainers-extra/features/immuadmin-fips:1": {}, + "ghcr.io/devcontainers-extra/features/immuclient:1": {}, + "ghcr.io/devcontainers-extra/features/immuclient-fips:1": {}, + "ghcr.io/devcontainers-extra/features/immudb:1": {}, + "ghcr.io/devcontainers-extra/features/immudb-fips:1": {}, + "ghcr.io/devcontainers-extra/features/infisical:1": {}, + "ghcr.io/devcontainers-extra/features/infracost:1": {}, + "ghcr.io/devcontainers-extra/features/infrastructor-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/invoke:1": {}, + "ghcr.io/devcontainers-extra/features/ionic-cli:2": {}, + "ghcr.io/devcontainers-extra/features/isort:2": {}, + "ghcr.io/devcontainers-extra/features/jake:1": {}, + "ghcr.io/devcontainers-extra/features/jbake-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/jbang-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/jenkinsx-cli:1": {}, + "ghcr.io/devcontainers-extra/features/jest:2": {}, + "ghcr.io/devcontainers-extra/features/jfrog-cli:1": {}, + "ghcr.io/devcontainers-extra/features/jfrog-cli-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/jfrog-cli-npm:1": {}, + "ghcr.io/devcontainers-extra/features/jira-cli:1": {}, + "ghcr.io/devcontainers-extra/features/jmc-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/jmeter-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/joern-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/jreleaser-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/jrnl:2": {}, + "ghcr.io/devcontainers-extra/features/jshint:2": {}, + "ghcr.io/devcontainers-extra/features/jsii:1": {}, + "ghcr.io/devcontainers-extra/features/jsii-diff:1": {}, + "ghcr.io/devcontainers-extra/features/jsii-pacmak:1": {}, + "ghcr.io/devcontainers-extra/features/jsii-rosetta:1": {}, + "ghcr.io/devcontainers-extra/features/json-server:1": {}, + "ghcr.io/devcontainers-extra/features/k2tf:1": {}, + "ghcr.io/devcontainers-extra/features/k6:1": {}, + "ghcr.io/devcontainers-extra/features/karaf-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/keepercommander:1": {}, + "ghcr.io/devcontainers-extra/features/ki-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/kind:1": {}, + "ghcr.io/devcontainers-extra/features/kobweb-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/kops:1": {}, + "ghcr.io/devcontainers-extra/features/kotlin-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/kscript-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/kubeclarity-cli:1": {}, + "ghcr.io/devcontainers-extra/features/kubectl-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/kubectx-kubens:1": {}, + "ghcr.io/devcontainers-extra/features/kubie:1": {}, + "ghcr.io/devcontainers-extra/features/kyverno-cli:1": {}, + "ghcr.io/devcontainers-extra/features/lastpass-cli-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/layrry-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/lean-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/lefthook-asdf:1": {}, + "ghcr.io/devcontainers-extra/features/leiningen-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/lektor:2": {}, + "ghcr.io/devcontainers-extra/features/lerna-npm:1": {}, + "ghcr.io/devcontainers-extra/features/less:2": {}, + "ghcr.io/devcontainers-extra/features/levant-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/lighthouse-cli:1": {}, + "ghcr.io/devcontainers-extra/features/linkerd2-cli-edge:1": {}, + "ghcr.io/devcontainers-extra/features/linkerd2-cli-stable:1": {}, + "ghcr.io/devcontainers-extra/features/linode-cli:1": {}, + "ghcr.io/devcontainers-extra/features/lite-server:1": {}, + "ghcr.io/devcontainers-extra/features/live-server:1": {}, + "ghcr.io/devcontainers-extra/features/localstack:2": {}, + "ghcr.io/devcontainers-extra/features/localtunnel-npm:1": {}, + "ghcr.io/devcontainers-extra/features/mackup:1": {}, + "ghcr.io/devcontainers-extra/features/markdownlint-cli:1": {}, + "ghcr.io/devcontainers-extra/features/markdownlint-cli2:1": {}, + "ghcr.io/devcontainers-extra/features/maven-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/meltano:2": {}, + "ghcr.io/devcontainers-extra/features/memcached-exporter:1": {}, + "ghcr.io/devcontainers-extra/features/micro:1": {}, + "ghcr.io/devcontainers-extra/features/micronaut-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/mise:1": {}, + "ghcr.io/devcontainers-extra/features/mitmproxy:2": {}, + "ghcr.io/devcontainers-extra/features/mkcert:1": {}, + "ghcr.io/devcontainers-extra/features/mkdocs:2": {}, + "ghcr.io/devcontainers-extra/features/mlocate-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/mocha:2": {}, + "ghcr.io/devcontainers-extra/features/mongodb-atlas-cli-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/mongosh-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/mosh-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/mosh-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/mulefd-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/mvnd-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/mybatis-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/mypy:2": {}, + "ghcr.io/devcontainers-extra/features/mysql-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/mysqld-exporter:1": {}, + "ghcr.io/devcontainers-extra/features/n8n:1": {}, + "ghcr.io/devcontainers-extra/features/namespace-cli:1": {}, + "ghcr.io/devcontainers-extra/features/nancy:1": {}, + "ghcr.io/devcontainers-extra/features/navi:1": {}, + "ghcr.io/devcontainers-extra/features/ncdu:1": {}, + "ghcr.io/devcontainers-extra/features/neko-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/neo4jmigrations-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/neofetch:1": {}, + "ghcr.io/devcontainers-extra/features/neovim-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/neovim-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/nestjs-cli:2": {}, + "ghcr.io/devcontainers-extra/features/netdata:1": {}, + "ghcr.io/devcontainers-extra/features/netlify-cli:1": {}, + "ghcr.io/devcontainers-extra/features/nim-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/ninja-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/nmap-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/nmap-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/nnn-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/nnn-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/node-asdf:0": {}, + "ghcr.io/devcontainers-extra/features/node-exporter:1": {}, + "ghcr.io/devcontainers-extra/features/nomad-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/nox:2": {}, + "ghcr.io/devcontainers-extra/features/npm-package:1": {}, + "ghcr.io/devcontainers-extra/features/npm-packages:1": {}, + "ghcr.io/devcontainers-extra/features/nx-npm:1": {}, + "ghcr.io/devcontainers-extra/features/ocaml-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/ocaml-opam:1": {}, + "ghcr.io/devcontainers-extra/features/oclif:1": {}, + "ghcr.io/devcontainers-extra/features/opa:1": {}, + "ghcr.io/devcontainers-extra/features/opam-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/opencode:1": {}, + "ghcr.io/devcontainers-extra/features/opengrep:1": {}, + "ghcr.io/devcontainers-extra/features/opentofu:1": {}, + "ghcr.io/devcontainers-extra/features/ory-cli:1": {}, + "ghcr.io/devcontainers-extra/features/ory-hydra:1": {}, + "ghcr.io/devcontainers-extra/features/ory-kratos:1": {}, + "ghcr.io/devcontainers-extra/features/ory-oathkeeper:1": {}, + "ghcr.io/devcontainers-extra/features/outagedeck:1": {}, + "ghcr.io/devcontainers-extra/features/packer-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/pandoc:1": {}, + "ghcr.io/devcontainers-extra/features/pass-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/pdm:2": {}, + "ghcr.io/devcontainers-extra/features/peco-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/perl-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/pierrot-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/pipenv:2": {}, + "ghcr.io/devcontainers-extra/features/pnpm:2": {}, + "ghcr.io/devcontainers-extra/features/podman-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/poetry:2": {}, + "ghcr.io/devcontainers-extra/features/pomchecker-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/poppler-utils-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/powerbi-visuals-tools:2": {}, + "ghcr.io/devcontainers-extra/features/powershell:1": {}, + "ghcr.io/devcontainers-extra/features/pre-commit:2": {}, + "ghcr.io/devcontainers-extra/features/prek:1": {}, + "ghcr.io/devcontainers-extra/features/prettier:1": {}, + "ghcr.io/devcontainers-extra/features/prisma:2": {}, + "ghcr.io/devcontainers-extra/features/projen:1": {}, + "ghcr.io/devcontainers-extra/features/prometheus:1": {}, + "ghcr.io/devcontainers-extra/features/promlens:1": {}, + "ghcr.io/devcontainers-extra/features/protoc:1": {}, + "ghcr.io/devcontainers-extra/features/protoc-asdf:1": {}, + "ghcr.io/devcontainers-extra/features/pulumi:1": {}, + "ghcr.io/devcontainers-extra/features/pushgateway:1": {}, + "ghcr.io/devcontainers-extra/features/pyinfra:2": {}, + "ghcr.io/devcontainers-extra/features/pylint:2": {}, + "ghcr.io/devcontainers-extra/features/pyoxidizer:1": {}, + "ghcr.io/devcontainers-extra/features/pyscaffold:2": {}, + "ghcr.io/devcontainers-extra/features/qrcode:2": {}, + "ghcr.io/devcontainers-extra/features/quarkus-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/quasar-cli:2": {}, + "ghcr.io/devcontainers-extra/features/raku-asdf:1": {}, + "ghcr.io/devcontainers-extra/features/rclone:1": {}, + "ghcr.io/devcontainers-extra/features/redis-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/rekor-cli:1": {}, + "ghcr.io/devcontainers-extra/features/renovate-cli:2": {}, + "ghcr.io/devcontainers-extra/features/ripgrep:1": {}, + "ghcr.io/devcontainers-extra/features/rollup:2": {}, + "ghcr.io/devcontainers-extra/features/ruby-asdf:0": {}, + "ghcr.io/devcontainers-extra/features/ruff:2": {}, + "ghcr.io/devcontainers-extra/features/salesforce-cli:1": {}, + "ghcr.io/devcontainers-extra/features/salesforce-sfdx:1": {}, + "ghcr.io/devcontainers-extra/features/sanity-cli:1": {}, + "ghcr.io/devcontainers-extra/features/sap-piper:1": {}, + "ghcr.io/devcontainers-extra/features/sbt-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/scala-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/scalacli-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/scancode-toolkit:1": {}, + "ghcr.io/devcontainers-extra/features/schemacrawler-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/sentinel-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/serf-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/shellcheck:1": {}, + "ghcr.io/devcontainers-extra/features/shfmt:1": {}, + "ghcr.io/devcontainers-extra/features/shopify-cli:1": {}, + "ghcr.io/devcontainers-extra/features/sigstore-python:1": {}, + "ghcr.io/devcontainers-extra/features/snyk-cli:1": {}, + "ghcr.io/devcontainers-extra/features/sops:1": {}, + "ghcr.io/devcontainers-extra/features/spacectl:1": {}, + "ghcr.io/devcontainers-extra/features/spark-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/spicedb:1": {}, + "ghcr.io/devcontainers-extra/features/springboot-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/sqlfluff:1": {}, + "ghcr.io/devcontainers-extra/features/squarespace-server:1": {}, + "ghcr.io/devcontainers-extra/features/sshoogr-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/starship:1": {}, + "ghcr.io/devcontainers-extra/features/starship-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/statsd-exporter:1": {}, + "ghcr.io/devcontainers-extra/features/stew:1": {}, + "ghcr.io/devcontainers-extra/features/supabase-cli:1": {}, + "ghcr.io/devcontainers-extra/features/surge-cli:1": {}, + "ghcr.io/devcontainers-extra/features/sv2v:1": {}, + "ghcr.io/devcontainers-extra/features/svu-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/syft:1": {}, + "ghcr.io/devcontainers-extra/features/syntaqx-serve:1": {}, + "ghcr.io/devcontainers-extra/features/tailscale:1": {}, + "ghcr.io/devcontainers-extra/features/talosctl:1": {}, + "ghcr.io/devcontainers-extra/features/taxi-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/tekton-cli:1": {}, + "ghcr.io/devcontainers-extra/features/tempo:1": {}, + "ghcr.io/devcontainers-extra/features/temporal-cli:1": {}, + "ghcr.io/devcontainers-extra/features/terracognita:1": {}, + "ghcr.io/devcontainers-extra/features/terraform-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/terraform-docs:1": {}, + "ghcr.io/devcontainers-extra/features/terraform-ls-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/terraformer:1": {}, + "ghcr.io/devcontainers-extra/features/terragrunt:1": {}, + "ghcr.io/devcontainers-extra/features/terramate:1": {}, + "ghcr.io/devcontainers-extra/features/terrascan:1": {}, + "ghcr.io/devcontainers-extra/features/tfc-agent-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/tfenv-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/tflint:1": {}, + "ghcr.io/devcontainers-extra/features/tfsec:1": {}, + "ghcr.io/devcontainers-extra/features/tfswitch:1": {}, + "ghcr.io/devcontainers-extra/features/tldr:2": {}, + "ghcr.io/devcontainers-extra/features/tmate:1": {}, + "ghcr.io/devcontainers-extra/features/tmux-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/tmux-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/tomcat-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/tooljet-cli:1": {}, + "ghcr.io/devcontainers-extra/features/toolkit-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/tox:2": {}, + "ghcr.io/devcontainers-extra/features/tridentctl-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/truffle:1": {}, + "ghcr.io/devcontainers-extra/features/ts-node:1": {}, + "ghcr.io/devcontainers-extra/features/tsx:1": {}, + "ghcr.io/devcontainers-extra/features/turborepo-npm:1": {}, + "ghcr.io/devcontainers-extra/features/twine:2": {}, + "ghcr.io/devcontainers-extra/features/ty:1": {}, + "ghcr.io/devcontainers-extra/features/typescript:2": {}, + "ghcr.io/devcontainers-extra/features/typst:1": {}, + "ghcr.io/devcontainers-extra/features/ufmt:1": {}, + "ghcr.io/devcontainers-extra/features/upx:1": {}, + "ghcr.io/devcontainers-extra/features/uv:1": {}, + "ghcr.io/devcontainers-extra/features/uv-tool:1": {}, + "ghcr.io/devcontainers-extra/features/vault-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/vercel-cli:1": {}, + "ghcr.io/devcontainers-extra/features/vercel-ncc:1": {}, + "ghcr.io/devcontainers-extra/features/vercel-pkg:1": {}, + "ghcr.io/devcontainers-extra/features/vercel-release:1": {}, + "ghcr.io/devcontainers-extra/features/vercel-serve:1": {}, + "ghcr.io/devcontainers-extra/features/vscode-cli:1": {}, + "ghcr.io/devcontainers-extra/features/vscode-server:1": {}, + "ghcr.io/devcontainers-extra/features/vtop:2": {}, + "ghcr.io/devcontainers-extra/features/vue-cli:2": {}, + "ghcr.io/devcontainers-extra/features/vulture:2": {}, + "ghcr.io/devcontainers-extra/features/w3m-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/w3m-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/waypoint-asdf:2": {}, + "ghcr.io/devcontainers-extra/features/webi-packages:1": {}, + "ghcr.io/devcontainers-extra/features/webtau-sdkman:2": {}, + "ghcr.io/devcontainers-extra/features/wget-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/wget-homebrew:1": {}, + "ghcr.io/devcontainers-extra/features/wireguard-apt-get:1": {}, + "ghcr.io/devcontainers-extra/features/worktrunk:1": {}, + "ghcr.io/devcontainers-extra/features/xmrig:1": {}, + "ghcr.io/devcontainers-extra/features/xonsh:1": {}, + "ghcr.io/devcontainers-extra/features/yamllint:2": {}, + "ghcr.io/devcontainers-extra/features/yapf:2": {}, + "ghcr.io/devcontainers-extra/features/youtube-dl:2": {}, + "ghcr.io/devcontainers-extra/features/youtubeuploader:1": {}, + "ghcr.io/devcontainers-extra/features/yt-dlp:2": {}, + "ghcr.io/devcontainers-extra/features/zig:1": {}, + "ghcr.io/devcontainers-extra/features/zsh-plugins:0": {}, + "ghcr.io/bascodes/devcontainer-features/cf-warp-cli:1": {}, + "ghcr.io/bascodes/devcontainer-features/debug-dump-env:1": {}, + "ghcr.io/bascodes/devcontainer-features/desktop:0": {}, + "ghcr.io/bascodes/devcontainer-features/desktop-fluxbox:0": {}, + "ghcr.io/bascodes/devcontainer-features/desktop-init:0": {}, + "ghcr.io/bascodes/devcontainer-features/desktop-novnc:0": {}, + "ghcr.io/bascodes/devcontainer-features/desktop-xserver:0": {}, + "ghcr.io/bascodes/devcontainer-features/kmod:1": {}, + "ghcr.io/bascodes/devcontainer-features/pkgx:1": {}, + "ghcr.io/bascodes/devcontainer-features/set-dbus-machine-id:1": {}, + "ghcr.io/bascodes/devcontainer-features/shoreman:1": {}, + "ghcr.io/bascodes/devcontainer-features/tailscale.com:1": {}, + "ghcr.io/bascodes/devcontainer-features/usbutils:1": {}, + "ghcr.io/bascodes/devcontainer-features/webinstall.dev:1": {}, + "ghcr.io/rhiroe/features/ecspresso:1": {}, + "ghcr.io/rhiroe/features/saml2aws:1": {}, + "ghcr.io/aquaproj/devcontainer-features/aqua-installer:0": {}, + "ghcr.io/martinaskestad/features/mingw:1": {}, + "ghcr.io/martinaskestad/features/smlnj:1": {}, + "ghcr.io/martinaskestad/features/vimsrc:1": {}, + "ghcr.io/loag/slang-feature/slang:0": {}, + "ghcr.io/zetta/devcontainer-features/scalr-cli:1": {}, + "ghcr.io/zetta/devcontainer-features/venom:1": {}, + "ghcr.io/connershoop/devcontainer-feature-ubuntugis/ubuntugis:1": {}, + "ghcr.io/forwardsoftware/devcontainer-features/go-mod-cache:1": {}, + "ghcr.io/chaoswars/vscode-features/llvm:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/add-script:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/alexpasmantier-television:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/ankitpokhrel-jira-cli:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/apt-build-essential:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/asdf-vm.com:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/astral.sh-uv:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/atuin.sh:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/avivsinai-bitbucket-cli:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/aws-cli:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/basecamp-fizzy-cli:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/bat:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/biomejs.dev:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/btop:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/bun.sh:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/ca-certificates:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/ccache.dev:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/charmbracelet-gum:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/chezmoi.io:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/clang-format:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/clang-tidy:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/cloudflare.com-warp-cli:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/cmake.org:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/coleam00-Archon:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/collection-c-cpp:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/critique.work:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/danmar-cppcheck:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/delta:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/deno.com:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/devenv.sh:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/diffity.com:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/direnv.net:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/distcc.org:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/dolthub.com:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/dolthub.com-doltgres:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/dotenv.org:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/dozzle.dev:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/fathyb-carbonyl:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/fd:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/feature-installer:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/fzf:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/getdnote.com:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/gitagent.sh:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/github.com-cli:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/helix-editor.com:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/hermes-agent.nousresearch.com:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/icholy-ttygif:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/jj-vcs.dev:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/jnsahaj-lumen:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/joelhooks-agent-secrets:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/jonas-tig:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/jq:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/k9scli.io:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/keybase.io:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/lazygit:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/lnav.org:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/memvid.com:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/mosh.org:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/neovim.io:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/ninja-build.org:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/nixos.org:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/nvidia.com-cuda:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/onecli.sh-cli:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/opencode.ai:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/pi.dev:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/pkgx.sh:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/pulumi.com:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/rclone.org:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/restic.net:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/ripgrep:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/run-script:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/schpet-linear-cli:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/smallstep.com:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/socket.dev-sfw-free:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/sourceware.org-gdb:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/sshd:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/starship.rs:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/steveyegge-beads:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/swc.rs:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/sxyazi-yazi:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/tailscale.com:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/taskwarrior.org:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/tree-sitter:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/turso.tech:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/valgrind.org:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/vcpkg.io:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/webinstall.dev:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/yakitrak-notesmd-cli:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/yoctoproject.org:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/yoctoproject.org-bitbake:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/yq:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/zellij.dev:1": {}, + "ghcr.io/devcontainer-community/devcontainer-features/zyedidia-eget:1": {}, + "ghcr.io/braun-daniel/devcontainer-features/asciidoc:1": {}, + "ghcr.io/braun-daniel/devcontainer-features/fzf:1": {}, + "ghcr.io/braun-daniel/devcontainer-features/spaceship:1": {}, + "ghcr.io/szkiba/devcontainer-features/bats:1": {}, + "ghcr.io/szkiba/devcontainer-features/cdo:1": {}, + "ghcr.io/szkiba/devcontainer-features/gosec:1": {}, + "ghcr.io/szkiba/devcontainer-features/govulncheck:1": {}, + "ghcr.io/szkiba/devcontainer-features/mdcode:1": {}, + "ghcr.io/thediveo/devcontainer-features/bpftool:0": {}, + "ghcr.io/thediveo/devcontainer-features/cni-plugins:0": {}, + "ghcr.io/thediveo/devcontainer-features/docsify:1": {}, + "ghcr.io/thediveo/devcontainer-features/gcx:0": {}, + "ghcr.io/thediveo/devcontainer-features/go-ebpf:1": {}, + "ghcr.io/thediveo/devcontainer-features/go-mod-upgrade:1": {}, + "ghcr.io/thediveo/devcontainer-features/gocover:1": {}, + "ghcr.io/thediveo/devcontainer-features/goreportcard:1": {}, + "ghcr.io/thediveo/devcontainer-features/lazygit:0": {}, + "ghcr.io/thediveo/devcontainer-features/local-pkgsite:1": {}, + "ghcr.io/thediveo/devcontainer-features/nerdctl:0": {}, + "ghcr.io/thediveo/devcontainer-features/pin-github-action:0": {}, + "ghcr.io/thediveo/devcontainer-features/pinact:0": {}, + "ghcr.io/thediveo/devcontainer-features/pull-through-cache-registry:1": {}, + "ghcr.io/thediveo/devcontainer-features/wal-wahl:0": {}, + "ghcr.io/dotnet/aspire-devcontainer-feature/dotnetaspire:1": {}, + "ghcr.io/roul/devcontainer-features/bitwarden-cli:1": {}, + "ghcr.io/roul/devcontainer-features/bitwarden-secrets-manager:1": {}, + "ghcr.io/roul/devcontainer-features/kamal:1": {}, + "ghcr.io/roul/devcontainer-features/mise:1": {}, + "ghcr.io/roul/devcontainer-features/mise-bun:1": {}, + "ghcr.io/roul/devcontainer-features/mise-golang:1": {}, + "ghcr.io/roul/devcontainer-features/mise-java:1": {}, + "ghcr.io/roul/devcontainer-features/mise-node:1": {}, + "ghcr.io/roul/devcontainer-features/mise-python:1": {}, + "ghcr.io/roul/devcontainer-features/mise-ruby:1": {}, + "ghcr.io/roul/devcontainer-features/mise-rust:1": {}, + "ghcr.io/roul/devcontainer-features/vault:1": {}, + "ghcr.io/itsalljustdata/devcontainers-custom-features/python-virtualenv:1": {}, + "ghcr.io/irfansofyana/devcontainer-features/kcat-apt:1": {}, + "ghcr.io/irfansofyana/devcontainer-features/lazydocker-binary-release:1": {}, + "ghcr.io/prplecake/devcontainer-features/dart-sass:1": {}, + "ghcr.io/grafana/devcontainer-features/k6:1": {}, + "ghcr.io/grafana/devcontainer-features/xk6:1": {}, + "ghcr.io/httpdss/devcontainers-features/struct:1": {}, + "ghcr.io/coder/devcontainer-features/code-server:2": {}, + "ghcr.io/atty303/devcontainer-features/mise:1": {}, + "ghcr.io/muhmdraouf/devcontainers-features/alpine-apk:0": {}, + "ghcr.io/jajera/features/ag:1": {}, + "ghcr.io/jajera/features/agentcore-cli:1": {}, + "ghcr.io/jajera/features/amazon-q-cli:1": {}, + "ghcr.io/jajera/features/aws-sam-cli:1": {}, + "ghcr.io/jajera/features/gcloud-cli:1": {}, + "ghcr.io/jajera/features/zip:1": {}, + "ghcr.io/mrsimonemms/devcontainers/air:1": {}, + "ghcr.io/mrsimonemms/devcontainers/buf:1": {}, + "ghcr.io/mrsimonemms/devcontainers/butane:1": {}, + "ghcr.io/mrsimonemms/devcontainers/cobra-cli:1": {}, + "ghcr.io/mrsimonemms/devcontainers/diff-so-fancy:1": {}, + "ghcr.io/mrsimonemms/devcontainers/dingo:1": {}, + "ghcr.io/mrsimonemms/devcontainers/tcld:1": {}, + "ghcr.io/mrsimonemms/devcontainers/zigflow:1": {}, + "ghcr.io/ryanlua/features/rojo:0": {}, + "ghcr.io/daniellindemann/dev-container-features/dotnet-usersecrets-persistence:0": {}, + "ghcr.io/tobiaschc/devcontainer-features/starship:1": {}, + "ghcr.io/joebowbeer/devcontainers-features/arkade-get:1": {}, + "ghcr.io/joebowbeer/devcontainers-features/crossplane:1": {}, + "ghcr.io/pirpedro/features/antidote:1": {}, + "ghcr.io/pirpedro/features/chezmoi:1": {}, + "ghcr.io/pirpedro/features/dev-gadgets:1": {}, + "ghcr.io/pirpedro/features/just:1": {}, + "ghcr.io/bullmastiffo/devcontainers-features/azurelinux-docker-outside-of-docker:1": {}, + "ghcr.io/takahashinguyen/devcontainer-features/mailpit-homebrew:1": {}, + "ghcr.io/takahashinguyen/devcontainer-features/minio-client-homebrew:1": {}, + "ghcr.io/takahashinguyen/devcontainer-features/minio-homebrew:2": {}, + "ghcr.io/olivierlemasle/devcontainers-features/jsonnet:1": {}, + "ghcr.io/olivierlemasle/devcontainers-features/tauri:1": {}, + "ghcr.io/navinkrishnan/devcontainer-features-btp/btp-cap-dev-stack:1": {}, + "ghcr.io/navinkrishnan/devcontainer-features-btp/cds-dk:1": {}, + "ghcr.io/navinkrishnan/devcontainer-features-btp/cf:1": {}, + "ghcr.io/navinkrishnan/devcontainer-features-btp/helm:1": {}, + "ghcr.io/navinkrishnan/devcontainer-features-btp/mbt:1": {}, + "ghcr.io/navinkrishnan/devcontainer-features-btp/pack:1": {}, + "ghcr.io/ksachdeva/devcontainer-features/nats-server:1": {}, + "ghcr.io/ksachdeva/devcontainer-features/nats-top:1": {}, + "ghcr.io/ksachdeva/devcontainer-features/natscli:1": {}, + "ghcr.io/ksachdeva/devcontainer-features/presenterm:1": {}, + "ghcr.io/siri404/devcontainer-ai-features/claude-code:1": {}, + "ghcr.io/siri404/devcontainer-ai-features/gcloud:1": {}, + "ghcr.io/siri404/devcontainer-ai-features/gemini-cli:1": {}, + "ghcr.io/siri404/devcontainer-ai-features/mcp-inspector:1": {}, + "ghcr.io/siri404/devcontainer-ai-features/vercel-cli:1": {}, + "ghcr.io/helpers4/devcontainer/angular-dev:1": {}, + "ghcr.io/helpers4/devcontainer/auto-header:1": {}, + "ghcr.io/helpers4/devcontainer/bitwarden-secrets-manager:1": {}, + "ghcr.io/helpers4/devcontainer/claude-dev:1": {}, + "ghcr.io/helpers4/devcontainer/cline-dev:1": {}, + "ghcr.io/helpers4/devcontainer/copilot-dev:1": {}, + "ghcr.io/helpers4/devcontainer/dotfiles-sync:1": {}, + "ghcr.io/helpers4/devcontainer/essential-dev:1": {}, + "ghcr.io/helpers4/devcontainer/git-absorb:1": {}, + "ghcr.io/helpers4/devcontainer/github-dev:1": {}, + "ghcr.io/helpers4/devcontainer/helpers4-common:1": {}, + "ghcr.io/helpers4/devcontainer/mistral-dev:1": {}, + "ghcr.io/helpers4/devcontainer/nub:1": {}, + "ghcr.io/helpers4/devcontainer/org-workspace:1": {}, + "ghcr.io/helpers4/devcontainer/package-auto-install:1": {}, + "ghcr.io/helpers4/devcontainer/peon-ping:1": {}, + "ghcr.io/helpers4/devcontainer/playwright-dev:1": {}, + "ghcr.io/helpers4/devcontainer/pnpm-store:1": {}, + "ghcr.io/helpers4/devcontainer/shell-history-per-project:1": {}, + "ghcr.io/helpers4/devcontainer/typescript-dev:1": {}, + "ghcr.io/helpers4/devcontainer/vite-plus:1": {}, + "ghcr.io/yassinedoghri/devcontainers/php-extensions-installer:1": {}, + "ghcr.io/42atomys/devcontainers-features/dragonfly:1": {}, + "ghcr.io/42atomys/devcontainers-features/meilisearch:1": {}, + "ghcr.io/42atomys/devcontainers-features/minio-server:1": {}, + "ghcr.io/42atomys/devcontainers-features/redis-cli:1": {}, + "ghcr.io/marcosbolanos/devcontainer-features/neovim-prebuilt:1": {}, + "ghcr.io/slaytanic/devcontainer/color:1": {}, + "ghcr.io/slaytanic/devcontainer/hello:1": {}, + "ghcr.io/slaytanic/devcontainer/watchman:1": {}, + "ghcr.io/rabdulwahhab/devcontainer-features/elixir-asdf:1": {}, + "ghcr.io/rabdulwahhab/devcontainer-features/erlang-asdf:1": {}, + "ghcr.io/rails/devcontainer/features/activestorage:1": {}, + "ghcr.io/rails/devcontainer/features/bun:1": {}, + "ghcr.io/rails/devcontainer/features/bundler-cache:1": {}, + "ghcr.io/rails/devcontainer/features/mysql-client:1": {}, + "ghcr.io/rails/devcontainer/features/postgres-client:1": {}, + "ghcr.io/rails/devcontainer/features/ruby:2": {}, + "ghcr.io/rails/devcontainer/features/sqlite3:1": {}, + "ghcr.io/nlstn/devcontainer-features/go-air:1": {}, + "ghcr.io/nlstn/devcontainer-features/psql:1": {}, + "ghcr.io/xingxinhe/devcontainer-features/realsense:1": {}, + "ghcr.io/xingxinhe/devcontainer-features/robotpkg:1": {}, + "ghcr.io/xingxinhe/devcontainer-features/zivid:1": {}, + "ghcr.io/proxayfox/devcontainer-features/aikido-precommit:1": {}, + "ghcr.io/proxayfox/devcontainer-features/clickhouse-local:1": {}, + "ghcr.io/proxayfox/devcontainer-features/lazydocker:1": {}, + "ghcr.io/kingbain/devcontainer-features-databricks/databricks-cli:0": {}, + "ghcr.io/devcontainer-config/features/features:0": {}, + "ghcr.io/devcontainer-config/features/unset-git-credential-helper:0": {}, + "ghcr.io/devcontainer-config/features/user-init:3": {}, + "ghcr.io/Evit15/devcontainer-features/adb-fastboot:1": {}, + "ghcr.io/roboslone/go-framework/fexec:1": {}, + "ghcr.io/iambipinpaul/devcontainer-features/oh-my-posh:1": {}, + "ghcr.io/w3cj/devcontainer-features/firewall:0": {}, + "ghcr.io/marblejenka/devcontainer-feature/gemini-cli:0": {}, + "ghcr.io/marblejenka/devcontainer-feature/tlaplus:0": {}, + "ghcr.io/ttyrho/devcontainer-features/fpm:1": {}, + "ghcr.io/ttyrho/devcontainer-features/gcc:1": {}, + "ghcr.io/ttyrho/devcontainer-features/gfortran:1": {}, + "ghcr.io/dopplerhq/devcontainer-features/doppler-cli:1": {}, + "ghcr.io/dopplerhq/devcontainer-features/volume-permissions:1": {}, + "ghcr.io/miguelrodo/devcontainerfeatures/apptainer:1": {}, + "ghcr.io/miguelrodo/devcontainerfeatures/build-info:1": {}, + "ghcr.io/miguelrodo/devcontainerfeatures/cmdstan:1": {}, + "ghcr.io/miguelrodo/devcontainerfeatures/fit-sne:1": {}, + "ghcr.io/miguelrodo/devcontainerfeatures/github-tokens:1": {}, + "ghcr.io/miguelrodo/devcontainerfeatures/mermaid:1": {}, + "ghcr.io/miguelrodo/devcontainerfeatures/renv-cache:1": {}, + "ghcr.io/miguelrodo/devcontainerfeatures/utils:1": {}, + "ghcr.io/esimkowitz/devcontainer-features/claude-code-persistence:1": {}, + "ghcr.io/esimkowitz/devcontainer-features/direnv:1": {}, + "ghcr.io/esimkowitz/devcontainer-features/fish-starship:1": {}, + "ghcr.io/esimkowitz/devcontainer-features/ssh-signing:1": {}, + "ghcr.io/iyaki/devcontainer-features/lefthook:2": {}, + "ghcr.io/iyaki/devcontainer-features/oh-my-pi:1": {}, + "ghcr.io/iyaki/devcontainer-features/phpantom:1": {}, + "ghcr.io/iyaki/devcontainer-features/pie:1": {}, + "ghcr.io/iyaki/devcontainer-features/pie-extensions:2": {}, + "ghcr.io/iyaki/devcontainer-features/ralph:1": {}, + "ghcr.io/riccardobravin/devcontainer-features/zensical:0": {}, + "ghcr.io/mike-fi/devcontainer-features/databricks-cli:1": {}, + "ghcr.io/wcgomes/devcontainer-features/agency-agents:0": {}, + "ghcr.io/wcgomes/devcontainer-features/agents-workspace:0": {}, + "ghcr.io/wcgomes/devcontainer-features/opencode:0": {}, + "ghcr.io/sliekens/devcontainer-features/ansible:1": {}, + "ghcr.io/sliekens/devcontainer-features/ansible-core:1": {}, + "ghcr.io/sliekens/devcontainer-features/ansible-lint:1": {}, + "ghcr.io/sliekens/devcontainer-features/aspire-cli:1": {}, + "ghcr.io/sliekens/devcontainer-features/bitwarden-agent-access:1": {}, + "ghcr.io/sliekens/devcontainer-features/bitwarden-cli:1": {}, + "ghcr.io/sliekens/devcontainer-features/bitwarden-secrets-manager:1": {}, + "ghcr.io/sliekens/devcontainer-features/claude:1": {}, + "ghcr.io/sliekens/devcontainer-features/codex:1": {}, + "ghcr.io/sliekens/devcontainer-features/copilot:1": {}, + "ghcr.io/sliekens/devcontainer-features/github-cli:1": {}, + "ghcr.io/sliekens/devcontainer-features/grok-build:1": {}, + "ghcr.io/sliekens/devcontainer-features/mistral-vibe:1": {}, + "ghcr.io/sliekens/devcontainer-features/mono:1": {}, + "ghcr.io/sliekens/devcontainer-features/omp:1": {}, + "ghcr.io/sliekens/devcontainer-features/opencode:1": {}, + "ghcr.io/sliekens/devcontainer-features/pi:1": {}, + "ghcr.io/sliekens/devcontainer-features/rename-user:1": {}, + "ghcr.io/sliekens/devcontainer-features/tea:1": {}, + "ghcr.io/sliekens/devcontainer-features/worktrunk:1": {}, + "ghcr.io/postfinance/devcontainer-features/apm:1": {}, + "ghcr.io/postfinance/devcontainer-features/browsers:1": {}, + "ghcr.io/postfinance/devcontainer-features/build-essential:1": {}, + "ghcr.io/postfinance/devcontainer-features/claude-code:1": {}, + "ghcr.io/postfinance/devcontainer-features/cypress-deps:1": {}, + "ghcr.io/postfinance/devcontainer-features/docker-in:1": {}, + "ghcr.io/postfinance/devcontainer-features/docker-out:1": {}, + "ghcr.io/postfinance/devcontainer-features/dotnet:1": {}, + "ghcr.io/postfinance/devcontainer-features/eclipse-deps:1": {}, + "ghcr.io/postfinance/devcontainer-features/git-lfs:1": {}, + "ghcr.io/postfinance/devcontainer-features/github-cli:1": {}, + "ghcr.io/postfinance/devcontainer-features/github-copilot-cli:1": {}, + "ghcr.io/postfinance/devcontainer-features/gitlab-cli:1": {}, + "ghcr.io/postfinance/devcontainer-features/go:1": {}, + "ghcr.io/postfinance/devcontainer-features/gonovate:1": {}, + "ghcr.io/postfinance/devcontainer-features/goreleaser:1": {}, + "ghcr.io/postfinance/devcontainer-features/instant-client:2": {}, + "ghcr.io/postfinance/devcontainer-features/jfrog-cli:1": {}, + "ghcr.io/postfinance/devcontainer-features/kubectl:1": {}, + "ghcr.io/postfinance/devcontainer-features/locale:1": {}, + "ghcr.io/postfinance/devcontainer-features/make:1": {}, + "ghcr.io/postfinance/devcontainer-features/mingw:1": {}, + "ghcr.io/postfinance/devcontainer-features/nginx:1": {}, + "ghcr.io/postfinance/devcontainer-features/node:1": {}, + "ghcr.io/postfinance/devcontainer-features/npm-packages:1": {}, + "ghcr.io/postfinance/devcontainer-features/nvidia-cuda:1": {}, + "ghcr.io/postfinance/devcontainer-features/opencode:1": {}, + "ghcr.io/postfinance/devcontainer-features/playwright-deps:2": {}, + "ghcr.io/postfinance/devcontainer-features/python:1": {}, + "ghcr.io/postfinance/devcontainer-features/rust:1": {}, + "ghcr.io/postfinance/devcontainer-features/sonar-scanner-cli:1": {}, + "ghcr.io/postfinance/devcontainer-features/system-packages:1": {}, + "ghcr.io/postfinance/devcontainer-features/terraform:1": {}, + "ghcr.io/postfinance/devcontainer-features/timezone:1": {}, + "ghcr.io/postfinance/devcontainer-features/vault-cli:1": {}, + "ghcr.io/postfinance/devcontainer-features/zig:1": {}, + "ghcr.io/nicoviii/devcontainer-features/roc:0": {}, + "ghcr.io/althack/devcontainers/linux-pulseaudio-forwarding:0": {}, + "ghcr.io/althack/devcontainers/linux-x11-forwarding:0": {}, + "ghcr.io/althack/devcontainers/ros2:0": {}, + "ghcr.io/soup-bowl/features/firefox-set:0": {}, + "ghcr.io/rosstaco/devcontainer-features/atlassian-jira-confluence-cli:1": {}, + "ghcr.io/rosstaco/devcontainer-features/copilot-persistence:1": {}, + "ghcr.io/rosstaco/devcontainer-features/gitlab-ci-local:1": {}, + "ghcr.io/rosstaco/devcontainer-features/microsoft-security-devops-cli:1": {}, + "ghcr.io/rosstaco/devcontainer-features/ohmyposh:1": {}, + "ghcr.io/rosstaco/devcontainer-features/package-source-overrides:1": {}, + "ghcr.io/rosstaco/devcontainer-features/prompty-dumpty:1": {}, + "ghcr.io/nkdui/devcontainer-features/conan:1": {}, + "ghcr.io/mrhornsby/trunk-devcontainer-feature/trunk:1": {}, + "ghcr.io/cdsolinfo/devcontainer-features/ksm:1": {}, + "ghcr.io/nkaaf/devcontainer-features/azure-functions:0": {}, + "ghcr.io/nkaaf/devcontainer-features/latex-texlive:0": {}, + "ghcr.io/nkaaf/devcontainer-features/package-manager:2": {}, + "ghcr.io/nkaaf/devcontainer-features/package-manager-apt:0": {}, + "ghcr.io/nkaaf/devcontainer-features/package-manager-tlmgr:0": {}, + "ghcr.io/rodribus/devcontainer-features/pi-coding-agent:0": {}, + "ghcr.io/aqua/devcontainer-antigravity-cli/antigravity-cli:1": {}, + "ghcr.io/cjcrobin/devcontainer-features/claudecode:1": {}, + "ghcr.io/cjcrobin/devcontainer-features/codexcli:1": {}, + "ghcr.io/cjcrobin/devcontainer-features/playwright-cli:1": {}, + "ghcr.io/cjcrobin/devcontainer-features/qodercli:1": {}, + "ghcr.io/aqua/devcontainer-gcloud/gcloud:1": {}, + "ghcr.io/kuju63/devcontainer-features/betterleaks:1": {}, + "ghcr.io/srzstephen/devcontainer-features/act:1": {}, + "ghcr.io/srzstephen/devcontainer-features/agentcore:1": {}, + "ghcr.io/srzstephen/devcontainer-features/aws-sam-cli:1": {}, + "ghcr.io/srzstephen/devcontainer-features/bash-language-server:1": {}, + "ghcr.io/srzstephen/devcontainer-features/claude-code:1": {}, + "ghcr.io/srzstephen/devcontainer-features/gitlab-ci-local:1": {}, + "ghcr.io/srzstephen/devcontainer-features/gitlab-cli:1": {}, + "ghcr.io/srzstephen/devcontainer-features/just:1": {}, + "ghcr.io/srzstephen/devcontainer-features/kiro-cli:1": {}, + "ghcr.io/srzstephen/devcontainer-features/nvidia-container-toolkit:1": {}, + "ghcr.io/srzstephen/devcontainer-features/prek:1": {}, + "ghcr.io/xavierbeheydt/devcontainer-extras/lazyvim:0": {}, + "ghcr.io/sjp/tectonic-feature/tectonic:1": {}, + "ghcr.io/dnegstad/devcontainer-dev-certs/devcontainer-dev-certs:1": {}, + "ghcr.io/jrussellsmyth/devcontainer-features/crush:1": {}, + "ghcr.io/jrussellsmyth/devcontainer-features/openspec:1": {}, + "ghcr.io/jrussellsmyth/devcontainer-features/yarn-apt-publickey:1": {}, + "ghcr.io/nolanjx/devcontainer-features/claude-code:1": {}, + "ghcr.io/nolanjx/devcontainer-features/codex:1": {}, + "ghcr.io/nolanjx/devcontainer-features/cursor:1": {}, + "ghcr.io/nolanjx/devcontainer-features/dsh:1": {}, + "ghcr.io/nolanjx/devcontainer-features/mattpocock-skills:1": {}, + "ghcr.io/nolanjx/devcontainer-features/pi-coding-agent:1": {}, + "registry.gitlab.com/pravorskyi/devcontainer-features/claude-code:1": {}, + "ghcr.io/beepboop2025/liquilens-devcontainer-features/liquilens-evidence:1": {} + } +} diff --git a/.github/workflows/+/pm-publish.yml b/.github/workflows/+/pm-publish.yml new file mode 100644 index 0000000..98a9c54 --- /dev/null +++ b/.github/workflows/+/pm-publish.yml @@ -0,0 +1,33 @@ +# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created +# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages + +name: Node.js Package + +on: onn. + release: + types: [created] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + - run: npm ci + - run: npm test + + publish-npm: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + registry-url: https://registry.npmjs.org/ + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{secrets.npm_token}} diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml new file mode 100644 index 0000000..aca6a6f --- /dev/null +++ b/.github/workflows/npm-publish.yml @@ -0,0 +1,34 @@ +# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created +# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages + +name: Node.js Package +release: Agents +on: JPMORGANCHASE + preview: project_card: new card + + types: [no] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + - run: npm ci + - run: npm test + + publish-npm: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + registry-url: https://registry.npmjs.org/ + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{secrets.npm_token}} diff --git a/.gitignore b/.gitignore index 6ea4997..38d0459 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ node_modules .DS_Store -sandbox* \ No newline at end of file +s* \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index f684e79..0000000 --- a/.travis.yml +++ /dev/null @@ -1,2 +0,0 @@ -language: "node" -"node": 7 \ No newline at end of file diff --git a/LAB.md b/LAB.md index 4d7b3ad..73d16fb 100644 --- a/LAB.md +++ b/LAB.md @@ -1,5 +1,5 @@ - Bitmap Transformer -==== + Bitmap +^Homer ## Description diff --git a/README.md b/README.md index 53ea7fe..2f789cb 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,10 @@ -#Bitmap Transformer: Keeley Hammond -## Lab 1: Complete! +# Bitmap Transformer -Bitmap Transformer is a transformer that converts BMPs to an inverted color scheme and a greyscale color scheme. +Bitmap Transformer is a simple JavaScript transformer that converts BMPs to an inverted color scheme and a greyscale color scheme. -In this app, we: +### Last Update: * Created a header module to allow us to parse through the BMP, read the correct header information and offset our bit count to the correct place to begin reading the file's actual data. * Wrote an invert transformer that will write over the RBG values of the pixels within our BMP and write to a new file. * Wrote a greyscale transformer that will take the avg value of our RGB values and return that value for each field. -* Wrote a successful test showing that our invert function works correctly, programmatically. \ No newline at end of file +* Wrote a successful test showing that our invert function works correctly, programmatically. diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..14d453b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2216 @@ +{ + "name": "bitmap-transformer", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "bitmap-transformer", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "fs": "0.0.1-security", + "fs-promise": "^2.0.2" + }, + "devDependencies": { + "chai": "^3.5.0", + "eslint": "^3.19.0", + "mocha": "^3.2.0" + } + }, + "node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^3.0.4" + } + }, + "node_modules/acorn-jsx/node_modules/acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "node_modules/ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha512-vuBv+fm2s6cqUyey2A7qYcvsik+GMDJsw8BARP2sDE76cqmaZVarsvHf7Vx6VJ0Xk8gLl+u3MoAPf6gKzJefeA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": ">=4.10.0" + } + }, + "node_modules/ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", + "integrity": "sha512-wiXutNjDUlNEDWHcYH3jtZUhd3c4/VojassD8zHdHCY13xbZy2XbW+NKQwA0tWGBVzDA9qEzYwfoSsWmviidhw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.21.tgz", + "integrity": "sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha512-7Rfk377tpSM9TWBEeHs0FlDZGoAIei2V/4MdZJoFMBFAK6BqLpxAIUepGRHGdPFgGsLb02PXovC4qddyHvQqTg==", + "dev": true, + "license": "ISC" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/call-bind": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha512-UJiE1otjXPF5/x+T3zTnSFiTOEmJoGTD9HmBoxnCUwho61a2eSNn/VwtwuIBDAo2SEOv1AJ7ARI5gCmohFLu/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha512-Zv4Dns9IbXXmPkgRRUjAaJQgfN4xX5p6+RQFhWUqscdvvK2xK/ZL8b3IXIJsj+4sD+f24NwnWy2BY8AJ82JB0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chai": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", + "integrity": "sha512-eRYY0vPS2a9zt5w5Z0aCeWbrXTEyvk7u/Xf71EzNObrjSCPgMm1Nku/D/u2tiqHBX5j40wWhj54YJLtgn8g55A==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^1.0.1", + "deep-eql": "^0.1.3", + "type-detect": "^1.0.0" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "deprecated": "CircularJSON is in maintenance only, flatted is its successor.", + "dev": true, + "license": "MIT" + }, + "node_modules/cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", + "integrity": "sha512-25tABq090YNKkF6JH7lcwO0zFJTRke4Jcq9iX2nr/Sz0Cjjv4gckmwlW6Ty/aoyFd6z3ysR2hMGC2GFugmBo6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true, + "license": "ISC" + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-readlink": ">= 1.0.0" + }, + "engines": { + "node": ">= 0.6.x" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/d": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "dev": true, + "license": "ISC", + "dependencies": { + "es5-ext": "^0.10.64", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/deep-eql": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "integrity": "sha512-6sEotTRGBFiNcqVoeHwnfopbSpi5NbH1VWJmYCVkmxMmaVTT0bUTrNaGyBwhgP4MZL012W/mkzIn3Da+iDYweg==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-detect": "0.1.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/deep-eql/node_modules/type-detect": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "integrity": "sha512-5rqszGVwYgBoDkIm2oUtvkfZMQ0vk29iDMU0W2qCa3rG0vPDNczCMT4hV/bLBgLg8k8ri6+u3Zbt+S/14eMzlA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/diff": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.2.0.tgz", + "integrity": "sha512-597ykPFhtJYaXqPq6fF7Vl1fXTKgPdLOntyxpmdzUOKiYGqK7zcnbplj5088+8qJnWdzXhyeau5iVr8HVo9dgg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es5-ext": { + "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", + "dev": true, + "hasInstallScript": true, + "license": "ISC", + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "license": "MIT", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==", + "dev": true, + "license": "MIT", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "node_modules/es6-set": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.6.tgz", + "integrity": "sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==", + "dev": true, + "license": "ISC", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "es6-iterator": "~2.0.3", + "es6-symbol": "^3.1.3", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "d": "^1.0.2", + "ext": "^1.7.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "license": "ISC", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha512-75IUQsusDdalQEW/G/2esa87J7raqdJF+Ca0/Xm5C3Q58Nr4yVYjZGp/P1+2xiEVgXRrA39dpRb8LcshajbqDQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/eslint": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", + "integrity": "sha512-x6LJGXWCGB/4YOBhL48yeppZTo+YQUNC37N5qqCpC1b1kkNzydlQHQAtPuUSFoZSxgIadrysQoW2Hq602P+uEA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-code-frame": "^6.16.0", + "chalk": "^1.1.3", + "concat-stream": "^1.5.2", + "debug": "^2.1.1", + "doctrine": "^2.0.0", + "escope": "^3.6.0", + "espree": "^3.4.0", + "esquery": "^1.0.0", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "glob": "^7.0.3", + "globals": "^9.14.0", + "ignore": "^3.2.0", + "imurmurhash": "^0.1.4", + "inquirer": "^0.12.0", + "is-my-json-valid": "^2.10.0", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.5.1", + "json-stable-stringify": "^1.0.0", + "levn": "^0.3.0", + "lodash": "^4.0.0", + "mkdirp": "^0.5.0", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.1", + "pluralize": "^1.2.1", + "progress": "^1.1.8", + "require-uncached": "^1.0.2", + "shelljs": "^0.7.5", + "strip-bom": "^3.0.0", + "strip-json-comments": "~2.0.1", + "table": "^3.7.8", + "text-table": "~0.2.0", + "user-home": "^2.0.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esniff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "dev": true, + "license": "ISC", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", + "integrity": "sha512-MsG3prOVw1WtLXAZbM3KiYtooKR1LvxHh3VHsVtIy0uiUu8usxgB/94DP2HxtD/661lLdB6yzQ09lGJSQr6nkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dev": true, + "license": "ISC", + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha512-uXP/zGzxxFvFfcZGgBIwotm+Tdc55ddPAzF7iHshP4YGaXMww7rSF9peD9D1sui5ebONg5UobsZv+FfgEpGv/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==", + "license": "ISC" + }, + "node_modules/fs-extra": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", + "integrity": "sha512-9ztMtDZtSKC78V8mev+k31qaTabbmuH5jatdvPBMikrFHvw5BqlYnQIn/WGK3WHeRooSTkRvLa2IPlaHjPq5Sg==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0" + } + }, + "node_modules/fs-promise": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-2.0.3.tgz", + "integrity": "sha512-oDrTLBQAcRd+p/tSRWvqitKegLPsvqr7aehs5N9ILWFM9az5y5Uh71jKdZ/DTMC4Kel7+GNCQyFCx/IftRv8yg==", + "deprecated": "Use mz or fs-extra^3.0 with Promise Support", + "license": "MIT", + "dependencies": { + "any-promise": "^1.3.0", + "fs-extra": "^2.0.0", + "mz": "^2.6.0", + "thenify-all": "^1.6.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-property": "^1.0.2" + } + }, + "node_modules/generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-property": "^1.0.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==", + "dev": true, + "license": "MIT" + }, + "node_modules/growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha512-RTBwDHhNuOx4F0hqzItc/siXCasGfC4DeWcBamclWd+6jWtBaeB/SGbMkGf0eiQoW7ib8JpvOgnUsmgMHI3Mfw==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha512-z/GDPjlRMNOa2XJiB4em8wJpuuBfrFOlYKTZxtpkdr1uPdibHI8rYA3MY0KDObpVyaes0e/aunid/t88ZI2EKA==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true, + "license": "MIT" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", + "integrity": "sha512-bOetEz5+/WpgaW4D1NYOk1aD+JCqRjqu/FwRFgnIfiP7FC/zinsrfyO1vlS3nyH/R7S0IH3BIHBu4DBIDSqiGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^1.1.0", + "ansi-regex": "^2.0.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", + "readline2": "^1.0.1", + "run-async": "^0.1.0", + "rx-lite": "^3.1.2", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-core-module": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-my-ip-valid": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", + "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-my-json-valid": { + "version": "2.20.6", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz", + "integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^5.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true, + "license": "ISC" + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.2.tgz", + "integrity": "sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-stable-stringify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz", + "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha512-I5YLeauH3rIaE99EE++UeH2M2gSYo8/2TqDac7oZEH6D/DSQ4Woa628Qrfj1X9/OY5Mk5VvIDQaKCDchXaKrmA==", + "deprecated": "Please use the native JSON object instead of JSON 3", + "dev": true + }, + "node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true, + "license": "Public Domain", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha512-t3N26QR2IdSN+gqSy9Ds9pBu/J1EAFEshKlUHpJG3rvyJOYgcELIxcIeKKfZk7sjOz11cFfzJRsyFry/JyabJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "node_modules/lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha512-rFR6Vpm4HeCK1WPGvjZSJ+7yik8d8PVUdCJx5rT2pogG4Ve/2ZS7kfmO5l5T2o5V2mqlNIfSF5MZlr1+xOoYQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash._basecreate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", + "integrity": "sha512-EDem6C9iQpn7fxnGdmhXmqYGjCkStmDXT4AeyB2Ph8WKbglg4aJZczNkQglj+zWXcOEEkViK8THuV2JvugW47g==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha512-De+ZbrMu6eThFti/CSzhRvTKMgQToLxbij58LMfM8JnYDNSOjkjTCIaa8ixglOeGh2nyPlakbt5bJWJ7gvpYlQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.create": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", + "integrity": "sha512-IUfOYwDEbI8JbhW6psW+Ig01BOVK67dTSCUAbS58M0HBkPcAv/jHuxD+oJVP2tUCo3H9L6f/8GM6rxwY+oc7/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash._baseassign": "^3.0.0", + "lodash._basecreate": "^3.0.0", + "lodash._isiterateecall": "^3.0.0" + } + }, + "node_modules/lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.5.3.tgz", + "integrity": "sha512-/6na001MJWEtYxHOV1WLfsmR4YIynkUEhBwzsb+fk2qmQ3iqsi258l/Q2MWHJMImAcNpZ8DEdYAK72NHoIQ9Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browser-stdout": "1.3.0", + "commander": "2.9.0", + "debug": "2.6.8", + "diff": "3.2.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.1", + "growl": "1.9.2", + "he": "1.1.1", + "json3": "3.3.2", + "lodash.create": "3.1.1", + "mkdirp": "0.5.1", + "supports-color": "3.1.2" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 0.10.x", + "npm": ">= 1.4.x" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha512-E22fsyWPt/lr4/UgQLt/pXqerGMDsanhbnmqIS3VAXuDi1v3IpiwXe2oncEIondHSBuPDWRoK/pMjlvi8FuOXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-mRyN/EsN2SyNhKWykF3eEGhDpeNplMWaW18Bmh76tnOqk5TbELAVwFAYOCmKVssOYFrYvvLMguiA+NXO3ZTuVA==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/mocha/node_modules/mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "0.0.8" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha512-F8dvPrZJtNzvDRX26eNXT4a7AecAvTGljmmnI39xEgSpbHKhQ7N0dO/NTxUExd0wuLHp4zbwYY7lvHq0aKpwrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", + "integrity": "sha512-EbrziT4s8cWPmzr47eYVW3wimS4HsvlnV5ri1xw1aR6JQo/OrJX5rkl32K/QQHdxeabJETtfeaROGhd8W7uBgg==", + "dev": true, + "license": "ISC" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha512-GZ+g4jayMqzCRMgB2sol7GiCLjKfS1PINkjmx8spcKce1LiVqcbQreXwqs2YAFXC6R03VIG28ZS31t8M866v6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha512-TH+BeeL6Ct98C7as35JbZLf8lgsRzlNJb5gklRIGHKaPkGl1esOKBc5ALUMd+q08Sr6tiEKM+Icbsxg5vuhMKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha512-UdA8mJ4weIkUBO224tIarHzuHs4HuYiJvsuGT7j/SPQiUJVjYvNDBIPa0hAorduOfjGohB/qHWRa/lrrWX/mXw==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/readline2": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", + "integrity": "sha512-8/td4MmwUB6PkZUbV25uKz7dfrmjYWxsW8DVfibWdlHRk/l/DfHKn4pU+dfcoGLFgWOdyGCzINRQD7jn+Bv+/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "mute-stream": "0.0.5" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha512-Xct+41K3twrbBHdxAgMoOS+cNcoqIjfM2/VxBF4LL2hVph7YsF8VSKyQ3BDFZwEVbok9yeDl2le/qo0S77WG2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.12", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", + "integrity": "sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", + "integrity": "sha512-reSjH4HuiFlxlaBaFCiS6O76ZGG2ygKoSlCsipKdaZuKSPx/+bt9mULkn4l0asVzbEfQQmXRg6Wp6gv6m0wElw==", + "dev": true, + "license": "MIT", + "dependencies": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/run-async": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", + "integrity": "sha512-qOX+w+IxFgpUpJfkv2oGN0+ExPs68F4sZHfaRRx4dDexAQkG83atugKVEylyT5ARees3HBbfmuvnjbrd8j9Wjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.3.0" + } + }, + "node_modules/rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha512-1I1+G2gteLB8Tkt8YI1sJvSIfa0lWuRtC8GjvtyPBcLSF5jBCCJJqKrpER5JU5r6Bhe+i9/pK3VMuUcXu0kdwQ==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha512-/YF5Uk8hcwi7ima04ppkbA4RaRMdPMBfwAvAf8sufYOxsJRtbdoBsT8vGvlb+799BrlGdYrd+oczIA2eN2JdWA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "iojs": "*", + "node": ">=0.11.0" + } + }, + "node_modules/slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", + "integrity": "sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/table": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "integrity": "sha512-RZuzIOtzFbprLCE0AXhkI0Xi42ZJLZhCC+qkwuMLf/Vjz3maWpA8gz1qMdbmNoI9cOROT2Am/DxeRyXenrL11g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^4.7.0", + "ajv-keywords": "^1.0.0", + "chalk": "^1.1.1", + "lodash": "^4.0.0", + "slice-ansi": "0.0.4", + "string-width": "^2.0.0" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/type": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "integrity": "sha512-f9Uv6ezcpvCQjJU0Zqbg+65qdcszv3qUQsZfjdRbWiZ7AMenrX1u0lNk9EoWWX6e1F+NULyg27mtdeZ5WhpljA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", + "integrity": "sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-homedir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha512-CJ17OoULEKXpA5pef3qLj5AxTJ6mSt7g84he2WIskKwqFO4T97d5V7Tadl0DYDk7qyUOQD5WlUlOMChaYrhxeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + } + } +} diff --git a/test/bitmap-header.test.js b/pass/bitmap-header.test.js similarity index 100% rename from test/bitmap-header.test.js rename to pass/bitmap-header.test.js diff --git a/test/bitmap-transformer.test.js b/pass/bitmap-transformer.test.js similarity index 100% rename from test/bitmap-transformer.test.js rename to pass/bitmap-transformer.test.js diff --git a/test/inverted-expected.bmp b/pass/inverted-expected.bmp similarity index 100% rename from test/inverted-expected.bmp rename to pass/inverted-expected.bmp diff --git a/test/test-bitmap.bmp b/pass/test-bitmap.bmp similarity index 100% rename from test/test-bitmap.bmp rename to pass/test-bitmap.bmp diff --git a/test/tranformers.test.js b/pass/tranformers.test.js similarity index 100% rename from test/tranformers.test.js rename to pass/tranformers.test.js