From 529845e3b4940b4890c431c4297a8b77fa0bb342 Mon Sep 17 00:00:00 2001 From: yorhodes Date: Wed, 6 Apr 2022 14:19:34 -0700 Subject: [PATCH 01/56] Add root config --- .eslintignore | 3 + .eslintrc.json | 20 + .github/workflows/ci.yml | 86 + .gitignore | 8 + .prettierrc | 18 + .solcover.js | 3 + .solhint.json | 8 + hardhat.config.ts | 28 + package-lock.json | 42772 +++++++++++++++++++++++++++++++++++++ package.json | 49 + tsconfig.json | 25 + 11 files changed, 43020 insertions(+) create mode 100644 .eslintignore create mode 100644 .eslintrc.json create mode 100644 .github/workflows/ci.yml create mode 100644 .gitignore create mode 100644 .prettierrc create mode 100644 .solcover.js create mode 100644 .solhint.json create mode 100644 hardhat.config.ts create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 tsconfig.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 000000000..5a19e8ace --- /dev/null +++ b/.eslintignore @@ -0,0 +1,3 @@ +node_modules +dist +coverage \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 000000000..94b97befc --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,20 @@ +{ + "env": { + "node": true + }, + "root": true, + "parser": "@typescript-eslint/parser", + "plugins": ["@typescript-eslint"], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "prettier" + ], + "rules": { + "comma-dangle": ["error", "always-multiline"], + "semi": ["error", "always"], + "@typescript-eslint/explicit-module-boundary-types": ["error"], + "@typescript-eslint/no-non-null-assertion": ["error"], + "@typescript-eslint/no-explicit-any": ["error", { "ignoreRestArgs": true }] + } +} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..a37f19db7 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,86 @@ +name: ci + +on: + # Triggers the workflow on push or pull request events but only for the main branch + push: + branches: [main] + pull_request: + branches: [main] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + install: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/cache@v2 + with: + path: .//node_modules + key: ${{ runner.os }}-npm-cache-${{ hashFiles('./package-lock.json') }} + + - name: npm-install + # Check out the lockfile from main, reinstall, and then + # verify the lockfile matches what was committed. + run: | + npm install + CHANGES=$(git status -s) + if [[ ! -z $CHANGES ]]; then + echo "Changes found: $CHANGES" + git diff + exit 1 + fi + + build: + runs-on: ubuntu-latest + needs: [install] + steps: + - uses: actions/checkout@v2 + + - name: npm-cache + uses: actions/cache@v2 + with: + path: .//node_modules + key: ${{ runner.os }}-npm-cache-${{ hashFiles('./package-lock.json') }} + + - name: build-cache + uses: actions/cache@v2 + with: + path: ./* + key: ${{ github.sha }} + + - name: build + run: npm run build + + prettier: + runs-on: ubuntu-latest + needs: [install] + steps: + - uses: actions/checkout@v2 + - uses: actions/cache@v2 + with: + path: .//node_modules + key: ${{ runner.os }}-npm-cache-${{ hashFiles('./package-lock.json') }} + + - name: prettier + run: | + npm run prettier + CHANGES=$(git status -s) + if [[ ! -z $CHANGES ]]; then + echo "Changes found: $CHANGES" + exit 1 + fi + + test: + runs-on: ubuntu-latest + needs: [build] + steps: + - uses: actions/checkout@v2 + - uses: actions/cache@v2 + with: + path: ./* + key: ${{ github.sha }} + + - name: test + run: npm run test diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..f5aeb0a51 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +node_modules/ +cache/ +artifacts/ +types/ +dist/ +coverage/ +coverage.json +*.swp diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..bf810e7b0 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,18 @@ +{ + "tabWidth": 2, + "singleQuote": true, + "trailingComma": "all", + "overrides": [ + { + "files": "*.sol", + "options": { + "printWidth": 80, + "tabWidth": 4, + "useTabs": false, + "singleQuote": false, + "bracketSpacing": false, + "explicitTypes": "always" + } + } + ] +} diff --git a/.solcover.js b/.solcover.js new file mode 100644 index 000000000..d4a4a0437 --- /dev/null +++ b/.solcover.js @@ -0,0 +1,3 @@ +module.exports = { + skipFiles: ["test"], +}; diff --git a/.solhint.json b/.solhint.json new file mode 100644 index 000000000..0c60b09bb --- /dev/null +++ b/.solhint.json @@ -0,0 +1,8 @@ +{ + "extends": "solhint:recommended", + "rules": { + "compiler-version": ["error", "^0.6.11"], + "func-visibility": ["warn", {"ignoreConstructors":true}], + "not-rely-on-time": "off" + } +} diff --git a/hardhat.config.ts b/hardhat.config.ts new file mode 100644 index 000000000..4e4a112c3 --- /dev/null +++ b/hardhat.config.ts @@ -0,0 +1,28 @@ +import 'solidity-coverage'; +import '@typechain/hardhat'; +import '@nomiclabs/hardhat-waffle'; +import 'hardhat-gas-reporter'; +import '@abacus-network/hardhat'; + +/** + * @type import('hardhat/config').HardhatUserConfig + */ +module.exports = { + solidity: { + version: '0.7.6', + settings: { + optimizer: { + enabled: true, + runs: 999999, + }, + }, + }, + gasReporter: { + currency: 'USD', + }, + typechain: { + outDir: './types', + target: 'ethers-v5', + alwaysGenerateOverloads: false, // should overloads with full signatures like deposit(uint256) be generated always, even if there are no overloads? + }, +}; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..400a5ee5f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,42772 @@ +{ + "name": "@abacus-network/erc20-token", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "@abacus-network/erc20-token", + "version": "0.0.0", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@abacus-network/apps": "file:../abacus-monorepo/solidity/apps", + "@abacus-network/core": "file:../abacus-monorepo/solidity/core", + "@abacus-network/sdk": "file:../abacus-monorepo/typescript/sdk", + "@abacus-network/utils": "file:../abacus-monorepo/typescript/utils", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "ethers": "^5.4.7" + }, + "devDependencies": { + "@abacus-network/hardhat": "file:../abacus-monorepo/typescript/hardhat", + "@nomiclabs/hardhat-ethers": "^2.0.1", + "@nomiclabs/hardhat-waffle": "^2.0.1", + "@openzeppelin/contracts": "~3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0", + "@typechain/ethers-v5": "~7.0.0", + "@typechain/hardhat": "^2.0.1", + "@types/mocha": "^9.1.0", + "chai": "^4.3.0", + "eslint": "^7.20.0", + "hardhat": "^2.8.3", + "hardhat-gas-reporter": "^1.0.7", + "prettier": "^2.2.1", + "prettier-plugin-solidity": "^1.0.0-beta.5", + "solhint": "^3.3.2", + "solhint-plugin-prettier": "^0.0.5", + "solidity-coverage": "^0.7.14", + "ts-node": "^10.1.0", + "typechain": "^5.0.0", + "typescript": "^4.3.5" + } + }, + "../abacus-monorepo/solidity/apps": { + "version": "0.0.0", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@abacus-network/core": "file:../core", + "@abacus-network/hardhat": "^0.0.5", + "@abacus-network/utils": "^0.0.5", + "@openzeppelin/contracts": "~3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0" + }, + "devDependencies": { + "@nomiclabs/hardhat-ethers": "^2.0.1", + "@nomiclabs/hardhat-waffle": "^2.0.1", + "@typechain/ethers-v5": "~7.0.0", + "@typechain/hardhat": "^2.0.1", + "@types/mocha": "^9.1.0", + "chai": "^4.3.0", + "eslint": "^7.20.0", + "ethereum-waffle": "^3.2.2", + "ethers": "^5.4.4", + "hardhat": "^2.8.3", + "hardhat-gas-reporter": "^1.0.7", + "prettier": "^2.2.1", + "prettier-plugin-solidity": "^1.0.0-beta.5", + "solhint": "^3.3.2", + "solhint-plugin-prettier": "^0.0.5", + "solidity-coverage": "^0.7.14", + "ts-node": "^10.1.0", + "typechain": "^5.0.0", + "typescript": "^4.3.5" + } + }, + "../abacus-monorepo/solidity/core": { + "version": "0.0.1", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@abacus-network/utils": "^0.0.5", + "@openzeppelin/contracts": "^3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0", + "ts-generator": "^0.1.1" + }, + "devDependencies": { + "@nomiclabs/hardhat-ethers": "^2.0.1", + "@nomiclabs/hardhat-waffle": "^2.0.1", + "@typechain/ethers-v5": "~7.0.0", + "@typechain/hardhat": "^2.0.1", + "chai": "^4.3.0", + "eslint": "^7.20.0", + "ethereum-waffle": "^3.2.2", + "ethers": "^5.4.4", + "hardhat": "^2.8.3", + "hardhat-gas-reporter": "^1.0.7", + "prettier": "^2.2.1", + "prettier-plugin-solidity": "^1.0.0-beta.5", + "solhint": "^3.3.2", + "solhint-plugin-prettier": "^0.0.5", + "solidity-coverage": "^0.7.14", + "ts-node": "^10.1.0", + "typechain": "^5.0.0" + } + }, + "../abacus-monorepo/typescript/hardhat": { + "version": "0.0.5", + "dev": true, + "license": "MIT OR Apache-2.0", + "dependencies": { + "@abacus-network/core": "file:../../solidity/core", + "@abacus-network/utils": "^0.0.5", + "@nomiclabs/hardhat-ethers": "^2.0.5", + "@nomiclabs/hardhat-waffle": "^2.0.2", + "@typechain/hardhat": "^2.0.1", + "ethereum-waffle": "^3.2.2", + "ethers": "^5.4.7", + "hardhat": "^2.8.4", + "prettier": "^2.3.1", + "ts-node": "^10.1.0", + "typechain": "^5.0.0", + "typescript": "^4.3.2" + } + }, + "../abacus-monorepo/typescript/sdk": { + "version": "0.0.1", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@abacus-network/apps": "file:../../solidity/apps", + "@abacus-network/core": "file:../../solidity/core", + "@abacus-network/utils": "file:../utils", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "celo-ethers-provider": "0.0.0", + "ethers": "^5.4.7" + }, + "devDependencies": { + "@types/node": "^16.9.1", + "@typescript-eslint/eslint-plugin": "^4.33.0", + "@typescript-eslint/parser": "^4.33.0", + "dotenv": "^10.0.0", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "fs": "0.0.1-security", + "prettier": "^2.4.1", + "typescript": "^4.4.3" + } + }, + "../abacus-monorepo/typescript/utils": { + "version": "0.0.5", + "license": "MIT OR Apache-2.0", + "dependencies": { + "chai": "^4.3.0", + "ethers": "^5.4.7" + } + }, + "node_modules/@abacus-network/apps": { + "resolved": "../abacus-monorepo/solidity/apps", + "link": true + }, + "node_modules/@abacus-network/core": { + "resolved": "../abacus-monorepo/solidity/core", + "link": true + }, + "node_modules/@abacus-network/hardhat": { + "resolved": "../abacus-monorepo/typescript/hardhat", + "link": true + }, + "node_modules/@abacus-network/sdk": { + "resolved": "../abacus-monorepo/typescript/sdk", + "link": true + }, + "node_modules/@abacus-network/utils": { + "resolved": "../abacus-monorepo/typescript/utils", + "link": true + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", + "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@babel/highlight/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", + "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-consumer": "0.8.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@ensdomains/ens": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", + "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", + "deprecated": "Please use @ensdomains/ens-contracts", + "dev": true, + "peer": true, + "dependencies": { + "bluebird": "^3.5.2", + "eth-ens-namehash": "^2.0.8", + "solc": "^0.4.20", + "testrpc": "0.0.1", + "web3-utils": "^1.0.0-beta.31" + } + }, + "node_modules/@ensdomains/ens/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "peer": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/@ensdomains/ens/node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true, + "peer": true + }, + "node_modules/@ensdomains/ens/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": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "peer": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@ensdomains/ens/node_modules/require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/@ensdomains/ens/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@ensdomains/ens/node_modules/solc": { + "version": "0.4.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", + "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", + "dev": true, + "peer": true, + "dependencies": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + }, + "bin": { + "solcjs": "solcjs" + } + }, + "node_modules/@ensdomains/ens/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "peer": true, + "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/@ensdomains/ens/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "peer": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "peer": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ensdomains/ens/node_modules/y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true, + "peer": true + }, + "node_modules/@ensdomains/ens/node_modules/yargs": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "dev": true, + "peer": true, + "dependencies": { + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "lodash.assign": "^4.0.3", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.1", + "which-module": "^1.0.0", + "window-size": "^0.2.0", + "y18n": "^3.2.1", + "yargs-parser": "^2.4.1" + } + }, + "node_modules/@ensdomains/ens/node_modules/yargs-parser": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", + "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", + "dev": true, + "peer": true, + "dependencies": { + "camelcase": "^3.0.0", + "lodash.assign": "^4.0.6" + } + }, + "node_modules/@ensdomains/resolver": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", + "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", + "deprecated": "Please use @ensdomains/ens-contracts", + "dev": true, + "peer": true + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@ethereum-waffle/chai": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-3.4.4.tgz", + "integrity": "sha512-/K8czydBtXXkcM9X6q29EqEkc5dN3oYenyH2a9hF7rGAApAJUpH8QBtojxOY/xQ2up5W332jqgxwp0yPiYug1g==", + "dev": true, + "peer": true, + "dependencies": { + "@ethereum-waffle/provider": "^3.4.4", + "ethers": "^5.5.2" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/@ethereum-waffle/compiler": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-3.4.4.tgz", + "integrity": "sha512-RUK3axJ8IkD5xpWjWoJgyHclOeEzDLQFga6gKpeGxiS/zBu+HB0W2FvsrrLalTFIaPw/CGYACRBSIxqiCqwqTQ==", + "dev": true, + "peer": true, + "dependencies": { + "@resolver-engine/imports": "^0.3.3", + "@resolver-engine/imports-fs": "^0.3.3", + "@typechain/ethers-v5": "^2.0.0", + "@types/mkdirp": "^0.5.2", + "@types/node-fetch": "^2.5.5", + "ethers": "^5.0.1", + "mkdirp": "^0.5.1", + "node-fetch": "^2.6.1", + "solc": "^0.6.3", + "ts-generator": "^0.1.1", + "typechain": "^3.0.0" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/@ethereum-waffle/compiler/node_modules/@typechain/ethers-v5": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-2.0.0.tgz", + "integrity": "sha512-0xdCkyGOzdqh4h5JSf+zoWx85IusEjDcPIwNEHP8mrWSnCae4rvrqB+/gtpdNfX7zjlFlZiMeePn2r63EI3Lrw==", + "dev": true, + "peer": true, + "dependencies": { + "ethers": "^5.0.2" + }, + "peerDependencies": { + "ethers": "^5.0.0", + "typechain": "^3.0.0" + } + }, + "node_modules/@ethereum-waffle/compiler/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@ethereum-waffle/compiler/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@ethereum-waffle/compiler/node_modules/ts-essentials": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-6.0.7.tgz", + "integrity": "sha512-2E4HIIj4tQJlIHuATRHayv0EfMGK3ris/GRk1E3CFnsZzeNV+hUmelbaTZHLtXaZppM5oLhHRtO04gINC4Jusw==", + "dev": true, + "peer": true, + "peerDependencies": { + "typescript": ">=3.7.0" + } + }, + "node_modules/@ethereum-waffle/compiler/node_modules/typechain": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/typechain/-/typechain-3.0.0.tgz", + "integrity": "sha512-ft4KVmiN3zH4JUFu2WJBrwfHeDf772Tt2d8bssDTo/YcckKW2D+OwFrHXRC6hJvO3mHjFQTihoMV6fJOi0Hngg==", + "dev": true, + "peer": true, + "dependencies": { + "command-line-args": "^4.0.7", + "debug": "^4.1.1", + "fs-extra": "^7.0.0", + "js-sha3": "^0.8.0", + "lodash": "^4.17.15", + "ts-essentials": "^6.0.3", + "ts-generator": "^0.1.1" + }, + "bin": { + "typechain": "dist/cli/cli.js" + } + }, + "node_modules/@ethereum-waffle/compiler/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@ethereum-waffle/ens": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-3.4.4.tgz", + "integrity": "sha512-0m4NdwWxliy3heBYva1Wr4WbJKLnwXizmy5FfSSr5PMbjI7SIGCdCB59U7/ZzY773/hY3bLnzLwvG5mggVjJWg==", + "dev": true, + "peer": true, + "dependencies": { + "@ensdomains/ens": "^0.4.4", + "@ensdomains/resolver": "^0.2.4", + "ethers": "^5.5.2" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/@ethereum-waffle/mock-contract": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-3.4.4.tgz", + "integrity": "sha512-Mp0iB2YNWYGUV+VMl5tjPsaXKbKo8MDH9wSJ702l9EBjdxFf/vBvnMBAC1Fub1lLtmD0JHtp1pq+mWzg/xlLnA==", + "dev": true, + "peer": true, + "dependencies": { + "@ethersproject/abi": "^5.5.0", + "ethers": "^5.5.2" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/@ethereum-waffle/provider": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-3.4.4.tgz", + "integrity": "sha512-GK8oKJAM8+PKy2nK08yDgl4A80mFuI8zBkE0C9GqTRYQqvuxIyXoLmJ5NZU9lIwyWVv5/KsoA11BgAv2jXE82g==", + "dev": true, + "peer": true, + "dependencies": { + "@ethereum-waffle/ens": "^3.4.4", + "ethers": "^5.5.2", + "ganache-core": "^2.13.2", + "patch-package": "^6.2.2", + "postinstall-postinstall": "^2.1.0" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/@ethereumjs/block": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.2.tgz", + "integrity": "sha512-mOqYWwMlAZpYUEOEqt7EfMFuVL2eyLqWWIzcf4odn6QgXY8jBI2NhVuJncrMCKeMZrsJAe7/auaRRB6YcdH+Qw==", + "dev": true, + "dependencies": { + "@ethereumjs/common": "^2.6.3", + "@ethereumjs/tx": "^3.5.1", + "ethereumjs-util": "^7.1.4", + "merkle-patricia-tree": "^4.2.4" + } + }, + "node_modules/@ethereumjs/blockchain": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.2.tgz", + "integrity": "sha512-Jz26iJmmsQtngerW6r5BDFaew/f2mObLrRZo3rskLOx1lmtMZ8+TX/vJexmivrnWgmAsTdNWhlKUYY4thPhPig==", + "dev": true, + "dependencies": { + "@ethereumjs/block": "^3.6.2", + "@ethereumjs/common": "^2.6.3", + "@ethereumjs/ethash": "^1.1.0", + "debug": "^4.3.3", + "ethereumjs-util": "^7.1.4", + "level-mem": "^5.0.1", + "lru-cache": "^5.1.1", + "semaphore-async-await": "^1.5.1" + } + }, + "node_modules/@ethereumjs/common": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.3.tgz", + "integrity": "sha512-mQwPucDL7FDYIg9XQ8DL31CnIYZwGhU5hyOO5E+BMmT71G0+RHvIT5rIkLBirJEKxV6+Rcf9aEIY0kXInxUWpQ==", + "dev": true, + "dependencies": { + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.4" + } + }, + "node_modules/@ethereumjs/ethash": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", + "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", + "dev": true, + "dependencies": { + "@ethereumjs/block": "^3.5.0", + "@types/levelup": "^4.3.0", + "buffer-xor": "^2.0.1", + "ethereumjs-util": "^7.1.1", + "miller-rabin": "^4.0.0" + } + }, + "node_modules/@ethereumjs/tx": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.1.tgz", + "integrity": "sha512-xzDrTiu4sqZXUcaBxJ4n4W5FrppwxLxZB4ZDGVLtxSQR4lVuOnFR6RcUHdg1mpUhAPVrmnzLJpxaeXnPxIyhWA==", + "dev": true, + "dependencies": { + "@ethereumjs/common": "^2.6.3", + "ethereumjs-util": "^7.1.4" + } + }, + "node_modules/@ethereumjs/vm": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.8.0.tgz", + "integrity": "sha512-mn2G2SX79QY4ckVvZUfxlNUpzwT2AEIkvgJI8aHoQaNYEHhH8rmdVDIaVVgz6//PjK52BZsK23afz+WvSR0Qqw==", + "dev": true, + "dependencies": { + "@ethereumjs/block": "^3.6.2", + "@ethereumjs/blockchain": "^5.5.2", + "@ethereumjs/common": "^2.6.3", + "@ethereumjs/tx": "^3.5.1", + "async-eventemitter": "^0.2.4", + "core-js-pure": "^3.0.1", + "debug": "^4.3.3", + "ethereumjs-util": "^7.1.4", + "functional-red-black-tree": "^1.0.1", + "mcl-wasm": "^0.7.1", + "merkle-patricia-tree": "^4.2.4", + "rustbn.js": "~0.2.0" + } + }, + "node_modules/@ethersproject/abi": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.0.tgz", + "integrity": "sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/constants": "^5.6.0", + "@ethersproject/hash": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.0" + } + }, + "node_modules/@ethersproject/abstract-provider": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz", + "integrity": "sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/networks": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/transactions": "^5.6.0", + "@ethersproject/web": "^5.6.0" + } + }, + "node_modules/@ethersproject/abstract-signer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.0.tgz", + "integrity": "sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.0.tgz", + "integrity": "sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/rlp": "^5.6.0" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.0.tgz", + "integrity": "sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.0" + } + }, + "node_modules/@ethersproject/basex": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.0.tgz", + "integrity": "sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/properties": "^5.6.0" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.0.tgz", + "integrity": "sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "bn.js": "^4.11.9" + } + }, + "node_modules/@ethersproject/bytes": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", + "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.6.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.0.tgz", + "integrity": "sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.6.0" + } + }, + "node_modules/@ethersproject/contracts": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.0.tgz", + "integrity": "sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "^5.6.0", + "@ethersproject/abstract-provider": "^5.6.0", + "@ethersproject/abstract-signer": "^5.6.0", + "@ethersproject/address": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/constants": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/transactions": "^5.6.0" + } + }, + "node_modules/@ethersproject/hash": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.0.tgz", + "integrity": "sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.6.0", + "@ethersproject/address": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.0" + } + }, + "node_modules/@ethersproject/hdnode": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.0.tgz", + "integrity": "sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.6.0", + "@ethersproject/basex": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/pbkdf2": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/sha2": "^5.6.0", + "@ethersproject/signing-key": "^5.6.0", + "@ethersproject/strings": "^5.6.0", + "@ethersproject/transactions": "^5.6.0", + "@ethersproject/wordlists": "^5.6.0" + } + }, + "node_modules/@ethersproject/json-wallets": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.0.tgz", + "integrity": "sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.6.0", + "@ethersproject/address": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/hdnode": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/pbkdf2": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.0", + "@ethersproject/strings": "^5.6.0", + "@ethersproject/transactions": "^5.6.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "node_modules/@ethersproject/keccak256": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.0.tgz", + "integrity": "sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.0", + "js-sha3": "0.8.0" + } + }, + "node_modules/@ethersproject/logger": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", + "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ] + }, + "node_modules/@ethersproject/networks": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.1.tgz", + "integrity": "sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.6.0" + } + }, + "node_modules/@ethersproject/pbkdf2": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.0.tgz", + "integrity": "sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/sha2": "^5.6.0" + } + }, + "node_modules/@ethersproject/properties": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", + "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.6.0" + } + }, + "node_modules/@ethersproject/providers": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.2.tgz", + "integrity": "sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.6.0", + "@ethersproject/abstract-signer": "^5.6.0", + "@ethersproject/address": "^5.6.0", + "@ethersproject/basex": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/constants": "^5.6.0", + "@ethersproject/hash": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/networks": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.0", + "@ethersproject/rlp": "^5.6.0", + "@ethersproject/sha2": "^5.6.0", + "@ethersproject/strings": "^5.6.0", + "@ethersproject/transactions": "^5.6.0", + "@ethersproject/web": "^5.6.0", + "bech32": "1.1.4", + "ws": "7.4.6" + } + }, + "node_modules/@ethersproject/random": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.0.tgz", + "integrity": "sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0" + } + }, + "node_modules/@ethersproject/rlp": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.0.tgz", + "integrity": "sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0" + } + }, + "node_modules/@ethersproject/sha2": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.0.tgz", + "integrity": "sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/signing-key": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.0.tgz", + "integrity": "sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/solidity": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.0.tgz", + "integrity": "sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/sha2": "^5.6.0", + "@ethersproject/strings": "^5.6.0" + } + }, + "node_modules/@ethersproject/strings": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.0.tgz", + "integrity": "sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/constants": "^5.6.0", + "@ethersproject/logger": "^5.6.0" + } + }, + "node_modules/@ethersproject/transactions": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.0.tgz", + "integrity": "sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/constants": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/rlp": "^5.6.0", + "@ethersproject/signing-key": "^5.6.0" + } + }, + "node_modules/@ethersproject/units": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.0.tgz", + "integrity": "sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/constants": "^5.6.0", + "@ethersproject/logger": "^5.6.0" + } + }, + "node_modules/@ethersproject/wallet": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.0.tgz", + "integrity": "sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.6.0", + "@ethersproject/abstract-signer": "^5.6.0", + "@ethersproject/address": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/hash": "^5.6.0", + "@ethersproject/hdnode": "^5.6.0", + "@ethersproject/json-wallets": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.0", + "@ethersproject/signing-key": "^5.6.0", + "@ethersproject/transactions": "^5.6.0", + "@ethersproject/wordlists": "^5.6.0" + } + }, + "node_modules/@ethersproject/web": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.0.tgz", + "integrity": "sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/base64": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.0" + } + }, + "node_modules/@ethersproject/wordlists": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.0.tgz", + "integrity": "sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/hash": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@metamask/eth-sig-util": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.0.tgz", + "integrity": "sha512-LczOjjxY4A7XYloxzyxJIHONELmUxVZncpOLoClpEcTiebiVdM46KRPYXGuULro9oNNR2xdVx3yoKiQjdfWmoA==", + "dev": true, + "dependencies": { + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^6.2.1", + "ethjs-util": "^0.1.6", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@metamask/eth-sig-util/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@metamask/eth-sig-util/node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dev": true, + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/@noble/hashes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.0.0.tgz", + "integrity": "sha512-DZVbtY62kc3kkBtMHqwCOfXrT/hnoORy5BJ4+HU1IR59X0KWAOqsfzQPcUl/lQLlG7qXbe/fZ3r/emxtAl+sqg==", + "dev": true + }, + "node_modules/@noble/secp256k1": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.5.5.tgz", + "integrity": "sha512-sZ1W6gQzYnu45wPrWx8D3kwI2/U29VYTx9OjbDAd7jwRItJ0cSTMPRL/C8AWZFn9kWFLQGqEXVEE86w4Z8LpIQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nomiclabs/hardhat-ethers": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.5.tgz", + "integrity": "sha512-A2gZAGB6kUvLx+kzM92HKuUF33F1FSe90L0TmkXkT2Hh0OKRpvWZURUSU2nghD2yC4DzfEZ3DftfeHGvZ2JTUw==", + "dev": true, + "peerDependencies": { + "ethers": "^5.0.0", + "hardhat": "^2.0.0" + } + }, + "node_modules/@nomiclabs/hardhat-waffle": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.3.tgz", + "integrity": "sha512-049PHSnI1CZq6+XTbrMbMv5NaL7cednTfPenx02k3cEh8wBMLa6ys++dBETJa6JjfwgA9nBhhHQ173LJv6k2Pg==", + "dev": true, + "dependencies": { + "@types/sinon-chai": "^3.2.3", + "@types/web3": "1.0.19" + }, + "peerDependencies": { + "@nomiclabs/hardhat-ethers": "^2.0.0", + "ethereum-waffle": "^3.2.0", + "ethers": "^5.0.0", + "hardhat": "^2.0.0" + } + }, + "node_modules/@openzeppelin/contracts": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", + "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==", + "dev": true + }, + "node_modules/@openzeppelin/contracts-upgradeable": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", + "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==", + "dev": true + }, + "node_modules/@resolver-engine/core": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", + "integrity": "sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ==", + "dev": true, + "peer": true, + "dependencies": { + "debug": "^3.1.0", + "is-url": "^1.2.4", + "request": "^2.85.0" + } + }, + "node_modules/@resolver-engine/core/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@resolver-engine/fs": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.3.3.tgz", + "integrity": "sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ==", + "dev": true, + "peer": true, + "dependencies": { + "@resolver-engine/core": "^0.3.3", + "debug": "^3.1.0" + } + }, + "node_modules/@resolver-engine/fs/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@resolver-engine/imports": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.3.3.tgz", + "integrity": "sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q==", + "dev": true, + "peer": true, + "dependencies": { + "@resolver-engine/core": "^0.3.3", + "debug": "^3.1.0", + "hosted-git-info": "^2.6.0", + "path-browserify": "^1.0.0", + "url": "^0.11.0" + } + }, + "node_modules/@resolver-engine/imports-fs": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz", + "integrity": "sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA==", + "dev": true, + "peer": true, + "dependencies": { + "@resolver-engine/fs": "^0.3.3", + "@resolver-engine/imports": "^0.3.3", + "debug": "^3.1.0" + } + }, + "node_modules/@resolver-engine/imports-fs/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@resolver-engine/imports/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@scure/base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.0.0.tgz", + "integrity": "sha512-gIVaYhUsy+9s58m/ETjSJVKHhKTBMmcRb9cEV5/5dwvfDlfORjKrFsDeDHWRrm6RjcPvCLZFwGJjAjLj1gg4HA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/@scure/bip32": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.0.1.tgz", + "integrity": "sha512-AU88KKTpQ+YpTLoicZ/qhFhRRIo96/tlb+8YmDDHR9yiKVjSsFZiefJO4wjS2PMTkz5/oIcw84uAq/8pleQURA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "@noble/hashes": "~1.0.0", + "@noble/secp256k1": "~1.5.2", + "@scure/base": "~1.0.0" + } + }, + "node_modules/@scure/bip39": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.0.0.tgz", + "integrity": "sha512-HrtcikLbd58PWOkl02k9V6nXWQyoa7A0+Ek9VF7z17DDk9XZAFUcIdqfh0jJXLypmizc5/8P6OxoUeKliiWv4w==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "@noble/hashes": "~1.0.0", + "@scure/base": "~1.0.0" + } + }, + "node_modules/@sentry/core": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "dev": true, + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/hub": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "dev": true, + "dependencies": { + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/minimal": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "dev": true, + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/node": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "dev": true, + "dependencies": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/tracing": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "dev": true, + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/types": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sentry/utils": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "dev": true, + "dependencies": { + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@solidity-parser/parser": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.1.tgz", + "integrity": "sha512-eLjj2L6AuQjBB6s/ibwCAc0DwrR5Ge+ys+wgWo+bviU7fV2nTMQhU63CGaDKXg9iTmMxwhkyoggdIR7ZGRfMgw==", + "dev": true, + "dependencies": { + "antlr4ts": "^0.5.0-alpha.4" + } + }, + "node_modules/@summa-tx/memview-sol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@summa-tx/memview-sol/-/memview-sol-2.0.1.tgz", + "integrity": "sha512-GuaXBYG6/aIjKae3UJSBS61J/IuK/NTuk2IJBpGxytkxN1p3ZdRNIp8HQAIOVoCKZQtvzdPaBWokzCk/LakA/Q==", + "dev": true + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@truffle/error": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.1.0.tgz", + "integrity": "sha512-RbUfp5VreNhsa2Q4YbBjz18rOQI909pG32bghl1hulO7IpvcqTS+C3Ge5cNbiWQ1WGzy1wIeKLW0tmQtHFB7qg==", + "dev": true + }, + "node_modules/@truffle/interface-adapter": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.12.tgz", + "integrity": "sha512-Qrc5VARnvSILYqZNsAM0xsUHqGqphLXVdIvDnhUA1Xj1xyNz8iboTr8bXorMd+Uspw+PXmsW44BJ/Wioo/jL2A==", + "dev": true, + "dependencies": { + "bn.js": "^5.1.3", + "ethers": "^4.0.32", + "web3": "1.5.3" + } + }, + "node_modules/@truffle/interface-adapter/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "node_modules/@truffle/interface-adapter/node_modules/ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "dev": true, + "dependencies": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "node_modules/@truffle/interface-adapter/node_modules/ethers/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/@truffle/interface-adapter/node_modules/hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/@truffle/interface-adapter/node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + }, + "node_modules/@truffle/interface-adapter/node_modules/scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "node_modules/@truffle/interface-adapter/node_modules/setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", + "dev": true + }, + "node_modules/@truffle/interface-adapter/node_modules/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true + }, + "node_modules/@truffle/provider": { + "version": "0.2.50", + "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.50.tgz", + "integrity": "sha512-GCoyX8SncfgizXYJfordv5kiysQS7S1311D3ewciixaoQpTkbqC3s0wxwHlPxU7m5wJOCw2K8rQtL3oIFfeHwA==", + "dev": true, + "dependencies": { + "@truffle/error": "^0.1.0", + "@truffle/interface-adapter": "^0.5.12", + "web3": "1.5.3" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true + }, + "node_modules/@typechain/ethers-v5": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-7.0.1.tgz", + "integrity": "sha512-mXEJ7LG0pOYO+MRPkHtbf30Ey9X2KAsU0wkeoVvjQIn7iAY6tB3k3s+82bbmJAUMyENbQ04RDOZit36CgSG6Gg==", + "dev": true, + "peerDependencies": { + "@ethersproject/abi": "^5.0.0", + "@ethersproject/bytes": "^5.0.0", + "@ethersproject/providers": "^5.0.0", + "ethers": "^5.1.3", + "typechain": "^5.0.0", + "typescript": ">=4.0.0" + } + }, + "node_modules/@typechain/hardhat": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-2.3.1.tgz", + "integrity": "sha512-BQV8OKQi0KAzLXCdsPO0pZBNQQ6ra8A2ucC26uFX/kquRBtJu1yEyWnVSmtr07b5hyRoJRpzUeINLnyqz4/MAw==", + "dev": true, + "dependencies": { + "fs-extra": "^9.1.0" + }, + "peerDependencies": { + "hardhat": "^2.0.10", + "lodash": "^4.17.15", + "typechain": "^5.1.2" + } + }, + "node_modules/@types/abstract-leveldown": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", + "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==", + "dev": true + }, + "node_modules/@types/bn.js": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", + "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/chai": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", + "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", + "dev": true + }, + "node_modules/@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/level-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", + "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==", + "dev": true + }, + "node_modules/@types/levelup": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", + "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", + "dev": true, + "dependencies": { + "@types/abstract-leveldown": "*", + "@types/level-errors": "*", + "@types/node": "*" + } + }, + "node_modules/@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/@types/mkdirp": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", + "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/mocha": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", + "integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==", + "dev": true + }, + "node_modules/@types/node": { + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==", + "dev": true + }, + "node_modules/@types/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "node_modules/@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/prettier": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz", + "integrity": "sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/resolve": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", + "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/sinon": { + "version": "10.0.11", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.11.tgz", + "integrity": "sha512-dmZsHlBsKUtBpHriNjlK0ndlvEh8dcb9uV9Afsbt89QIyydpC7NcR+nWlAhASfy3GHnxTl4FX/aKE7XZUt/B4g==", + "dev": true, + "dependencies": { + "@types/sinonjs__fake-timers": "*" + } + }, + "node_modules/@types/sinon-chai": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", + "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", + "dev": true, + "dependencies": { + "@types/chai": "*", + "@types/sinon": "*" + } + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", + "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", + "dev": true + }, + "node_modules/@types/underscore": { + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", + "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==", + "dev": true + }, + "node_modules/@types/web3": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/@types/web3/-/web3-1.0.19.tgz", + "integrity": "sha512-fhZ9DyvDYDwHZUp5/STa9XW2re0E8GxoioYJ4pEUZ13YHpApSagixj7IAdoYH5uAK+UalGq6Ml8LYzmgRA/q+A==", + "dev": true, + "dependencies": { + "@types/bn.js": "*", + "@types/underscore": "*" + } + }, + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true, + "peer": true + }, + "node_modules/abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/abstract-leveldown": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", + "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "dev": true, + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.4.2" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/antlr4": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.7.1.tgz", + "integrity": "sha512-haHyTW7Y9joE5MVs37P2lNYfU2RWBLfcRDD8OWldcdZm5TiCE91B5Xl1oWSwiDUSd4rlExpt2pu1fksYQjRBYQ==", + "dev": true + }, + "node_modules/antlr4ts": { + "version": "0.5.0-alpha.4", + "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", + "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "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, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "dev": true, + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "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, + "engines": { + "node": "*" + } + }, + "node_modules/ast-parents": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/ast-parents/-/ast-parents-0.0.1.tgz", + "integrity": "sha1-UI/Q8F0MSHddnszaLhdEIyYejdM=", + "dev": true + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-eventemitter": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", + "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "dev": true, + "dependencies": { + "async": "^2.4.0" + } + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "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 + }, + "node_modules/base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + }, + "node_modules/bignumber.js": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", + "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", + "dev": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/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, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-aes/node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-rsa/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "node_modules/bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", + "dev": true, + "dependencies": { + "base-x": "^3.0.2" + } + }, + "node_modules/bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "dev": true, + "dependencies": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "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 + }, + "node_modules/buffer-to-arraybuffer": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", + "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", + "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.1" + } + }, + "node_modules/bufferutil": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", + "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", + "devOptional": true, + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/chai": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", + "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/cids": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", + "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", + "deprecated": "This module has been superseded by the multiformats module", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" + }, + "engines": { + "node": ">=4.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/cids/node_modules/multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "deprecated": "This module has been superseded by the multiformats module", + "dev": true, + "dependencies": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/class-is": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", + "dev": true + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "colors": "^1.1.2" + } + }, + "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 + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.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": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "dev": true + }, + "node_modules/command-line-args": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz", + "integrity": "sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==", + "dev": true, + "dependencies": { + "array-back": "^2.0.0", + "find-replace": "^1.0.3", + "typical": "^2.6.1" + }, + "bin": { + "command-line-args": "bin/cli.js" + } + }, + "node_modules/commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "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" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "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/concat-stream/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 + }, + "node_modules/concat-stream/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-hash": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", + "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", + "dev": true, + "dependencies": { + "cids": "^0.7.1", + "multicodec": "^0.5.5", + "multihashes": "^0.4.15" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "node_modules/cookiejar": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", + "dev": true + }, + "node_modules/core-js-pure": { + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", + "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cosmiconfig/node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cosmiconfig/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/death": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", + "integrity": "sha1-AaqcQB7dknUFFEcLgmY5DGbGcxg=", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "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 + }, + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "node_modules/deferred-leveldown": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", + "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", + "dev": true, + "dependencies": { + "abstract-leveldown": "~6.2.1", + "inherits": "^2.0.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deferred-leveldown/node_modules/abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-port": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", + "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", + "dev": true, + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port/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, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", + "dev": true + }, + "node_modules/duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.1.0.tgz", + "integrity": "sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding-down": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", + "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "dev": true, + "dependencies": { + "abstract-leveldown": "^6.2.1", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", + "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es5-ext": { + "version": "0.10.59", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.59.tgz", + "integrity": "sha512-cOgyhW0tIJyQY1Kfw6Kr0viu9ZlUctVchRMZ7R0HiH3dxTSp5zJDLecwxUqPUrGKMsgBI1wd1FL+d9Jxfi4cLw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "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": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "dependencies": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.12.0" + }, + "optionalDependencies": { + "source-map": "~0.2.0" + } + }, + "node_modules/escodegen/node_modules/esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "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/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "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, + "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, + "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, + "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, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eth-ens-namehash": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", + "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", + "dev": true, + "dependencies": { + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + } + }, + "node_modules/eth-ens-namehash/node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + }, + "node_modules/eth-gas-reporter": { + "version": "0.2.25", + "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.25.tgz", + "integrity": "sha512-1fRgyE4xUB8SoqLgN3eDfpDfwEfRxh2Sz1b7wzFbyQA+9TekMmvSjjoRu9SKcSVyK+vLkLIsVbJDsTWjw195OQ==", + "dev": true, + "dependencies": { + "@ethersproject/abi": "^5.0.0-beta.146", + "@solidity-parser/parser": "^0.14.0", + "cli-table3": "^0.5.0", + "colors": "1.4.0", + "ethereum-cryptography": "^1.0.3", + "ethers": "^4.0.40", + "fs-readdir-recursive": "^1.1.0", + "lodash": "^4.17.14", + "markdown-table": "^1.1.3", + "mocha": "^7.1.1", + "req-cwd": "^2.0.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "sha1": "^1.1.1", + "sync-request": "^6.0.0" + }, + "peerDependencies": { + "@codechecks/client": "^0.1.0" + }, + "peerDependenciesMeta": { + "@codechecks/client": { + "optional": true + } + } + }, + "node_modules/eth-gas-reporter/node_modules/ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eth-gas-reporter/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eth-gas-reporter/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eth-gas-reporter/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eth-gas-reporter/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eth-gas-reporter/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eth-gas-reporter/node_modules/chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.1" + } + }, + "node_modules/eth-gas-reporter/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/eth-gas-reporter/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/eth-gas-reporter/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/eth-gas-reporter/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eth-gas-reporter/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eth-gas-reporter/node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/eth-gas-reporter/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/eth-gas-reporter/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eth-gas-reporter/node_modules/ethereum-cryptography": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.0.3.tgz", + "integrity": "sha512-NQLTW0x0CosoVb/n79x/TRHtfvS3hgNUPTUSCu0vM+9k6IIhHFFrAOJReneexjZsoZxMjJHnJn4lrE8EbnSyqQ==", + "dev": true, + "dependencies": { + "@noble/hashes": "1.0.0", + "@noble/secp256k1": "1.5.5", + "@scure/bip32": "1.0.1", + "@scure/bip39": "1.0.0" + } + }, + "node_modules/eth-gas-reporter/node_modules/ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "dev": true, + "dependencies": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "node_modules/eth-gas-reporter/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eth-gas-reporter/node_modules/flat": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "dev": true, + "dependencies": { + "is-buffer": "~2.0.3" + }, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/eth-gas-reporter/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/eth-gas-reporter/node_modules/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eth-gas-reporter/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eth-gas-reporter/node_modules/hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/eth-gas-reporter/node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + }, + "node_modules/eth-gas-reporter/node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eth-gas-reporter/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eth-gas-reporter/node_modules/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eth-gas-reporter/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eth-gas-reporter/node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/eth-gas-reporter/node_modules/mocha": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", + "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", + "dev": true, + "dependencies": { + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "chokidar": "3.3.0", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "3.0.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.5", + "ms": "2.1.1", + "node-environment-flags": "1.0.6", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/eth-gas-reporter/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/eth-gas-reporter/node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eth-gas-reporter/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eth-gas-reporter/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eth-gas-reporter/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eth-gas-reporter/node_modules/readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/eth-gas-reporter/node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/eth-gas-reporter/node_modules/scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "node_modules/eth-gas-reporter/node_modules/setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", + "dev": true + }, + "node_modules/eth-gas-reporter/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eth-gas-reporter/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eth-gas-reporter/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": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eth-gas-reporter/node_modules/supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eth-gas-reporter/node_modules/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true + }, + "node_modules/eth-gas-reporter/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/eth-gas-reporter/node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/eth-gas-reporter/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eth-gas-reporter/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/eth-gas-reporter/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/eth-gas-reporter/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/eth-gas-reporter/node_modules/yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "dependencies": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eth-lib": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", + "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "nano-json-stream-parser": "^0.1.2", + "servify": "^0.1.12", + "ws": "^3.0.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/eth-lib/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 + }, + "node_modules/eth-lib/node_modules/ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + }, + "node_modules/ethereum-bloom-filters": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", + "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", + "dev": true, + "dependencies": { + "js-sha3": "^0.8.0" + } + }, + "node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dev": true, + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/ethereum-waffle": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-3.4.4.tgz", + "integrity": "sha512-PA9+jCjw4WC3Oc5ocSMBj5sXvueWQeAbvCA+hUlb6oFgwwKyq5ka3bWQ7QZcjzIX+TdFkxP4IbFmoY2D8Dkj9Q==", + "dev": true, + "peer": true, + "dependencies": { + "@ethereum-waffle/chai": "^3.4.4", + "@ethereum-waffle/compiler": "^3.4.4", + "@ethereum-waffle/mock-contract": "^3.4.4", + "@ethereum-waffle/provider": "^3.4.4", + "ethers": "^5.0.1" + }, + "bin": { + "waffle": "bin/waffle" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/ethereumjs-abi": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", + "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/ethereumjs-abi/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dev": true, + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/ethereumjs-util": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz", + "integrity": "sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A==", + "dev": true, + "dependencies": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/ethereumjs-util/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "node_modules/ethers": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.2.tgz", + "integrity": "sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.6.0", + "@ethersproject/abstract-provider": "5.6.0", + "@ethersproject/abstract-signer": "5.6.0", + "@ethersproject/address": "5.6.0", + "@ethersproject/base64": "5.6.0", + "@ethersproject/basex": "5.6.0", + "@ethersproject/bignumber": "5.6.0", + "@ethersproject/bytes": "5.6.1", + "@ethersproject/constants": "5.6.0", + "@ethersproject/contracts": "5.6.0", + "@ethersproject/hash": "5.6.0", + "@ethersproject/hdnode": "5.6.0", + "@ethersproject/json-wallets": "5.6.0", + "@ethersproject/keccak256": "5.6.0", + "@ethersproject/logger": "5.6.0", + "@ethersproject/networks": "5.6.1", + "@ethersproject/pbkdf2": "5.6.0", + "@ethersproject/properties": "5.6.0", + "@ethersproject/providers": "5.6.2", + "@ethersproject/random": "5.6.0", + "@ethersproject/rlp": "5.6.0", + "@ethersproject/sha2": "5.6.0", + "@ethersproject/signing-key": "5.6.0", + "@ethersproject/solidity": "5.6.0", + "@ethersproject/strings": "5.6.0", + "@ethersproject/transactions": "5.6.0", + "@ethersproject/units": "5.6.0", + "@ethersproject/wallet": "5.6.0", + "@ethersproject/web": "5.6.0", + "@ethersproject/wordlists": "5.6.0" + } + }, + "node_modules/ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", + "dev": true, + "dependencies": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/ethjs-unit/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", + "dev": true + }, + "node_modules/ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "dev": true, + "dependencies": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/express": { + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", + "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.19.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.4.2", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.9.7", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.9.7", + "raw-body": "2.4.3", + "type-is": "~1.6.18" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/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, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/express/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", + "dev": true, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/express/node_modules/raw-body": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", + "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "dev": true, + "dependencies": { + "type": "^2.5.0" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", + "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==", + "dev": true + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/figures/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/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, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/find-replace": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", + "integrity": "sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=", + "dev": true, + "dependencies": { + "array-back": "^1.0.4", + "test-value": "^2.1.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/find-replace/node_modules/array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", + "dev": true, + "dependencies": { + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dev": true, + "peer": true, + "dependencies": { + "micromatch": "^4.0.2" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "peer": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fp-ts": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==", + "dev": true + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "dependencies": { + "minipass": "^2.6.0" + } + }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/ganache-core": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/ganache-core/-/ganache-core-2.13.2.tgz", + "integrity": "sha512-tIF5cR+ANQz0+3pHWxHjIwHqFXcVo0Mb+kcsNhglNFALcYo49aQpnS9dqHartqPfMFjiHh/qFoD3mYK0d/qGgw==", + "bundleDependencies": [ + "keccak" + ], + "deprecated": "ganache-core is now ganache; visit https://trfl.io/g7 for details", + "dev": true, + "hasShrinkwrap": true, + "peer": true, + "dependencies": { + "abstract-leveldown": "3.0.0", + "async": "2.6.2", + "bip39": "2.5.0", + "cachedown": "1.0.0", + "clone": "2.1.2", + "debug": "3.2.6", + "encoding-down": "5.0.4", + "eth-sig-util": "3.0.0", + "ethereumjs-abi": "0.6.8", + "ethereumjs-account": "3.0.0", + "ethereumjs-block": "2.2.2", + "ethereumjs-common": "1.5.0", + "ethereumjs-tx": "2.1.2", + "ethereumjs-util": "6.2.1", + "ethereumjs-vm": "4.2.0", + "heap": "0.2.6", + "keccak": "3.0.1", + "level-sublevel": "6.6.4", + "levelup": "3.1.1", + "lodash": "4.17.20", + "lru-cache": "5.1.1", + "merkle-patricia-tree": "3.0.0", + "patch-package": "6.2.2", + "seedrandom": "3.0.1", + "source-map-support": "0.5.12", + "tmp": "0.1.0", + "web3-provider-engine": "14.2.1", + "websocket": "1.0.32" + }, + "engines": { + "node": ">=8.9.0" + }, + "optionalDependencies": { + "ethereumjs-wallet": "0.6.5", + "web3": "1.2.11" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/abi": { + "version": "5.0.0-beta.153", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/constants": ">=5.0.0-beta.128", + "@ethersproject/hash": ">=5.0.0-beta.128", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/strings": ">=5.0.0-beta.130" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/abstract-provider": { + "version": "5.0.8", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/networks": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/web": "^5.0.12" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/abstract-signer": { + "version": "5.0.10", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/address": { + "version": "5.0.9", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/rlp": "^5.0.7" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/base64": { + "version": "5.0.7", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.0.9" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/bignumber": { + "version": "5.0.13", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "bn.js": "^4.4.0" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/bytes": { + "version": "5.0.9", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/constants": { + "version": "5.0.8", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/bignumber": "^5.0.13" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/hash": { + "version": "5.0.10", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/keccak256": { + "version": "5.0.7", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "js-sha3": "0.5.7" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/logger": { + "version": "5.0.8", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/@ethersproject/networks": { + "version": "5.0.7", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/properties": { + "version": "5.0.7", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/rlp": { + "version": "5.0.7", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/signing-key": { + "version": "5.0.8", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "elliptic": "6.5.3" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/strings": { + "version": "5.0.8", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/logger": "^5.0.8" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/transactions": { + "version": "5.0.9", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/rlp": "^5.0.7", + "@ethersproject/signing-key": "^5.0.8" + } + }, + "node_modules/ganache-core/node_modules/@ethersproject/web": { + "version": "5.0.12", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/base64": "^5.0.7", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, + "node_modules/ganache-core/node_modules/@sindresorhus/is": { + "version": "0.14.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/@types/bn.js": { + "version": "4.11.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/ganache-core/node_modules/@types/node": { + "version": "14.14.20", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/@types/pbkdf2": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/ganache-core/node_modules/@types/secp256k1": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/ganache-core/node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "dev": true, + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/ganache-core/node_modules/abstract-leveldown": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/accepts": { + "version": "1.3.7", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/aes-js": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ganache-core/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/arr-diff": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/arr-flatten": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/arr-union": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/array-flatten": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/array-unique": { + "version": "0.3.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/asn1": { + "version": "0.2.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/ganache-core/node_modules/asn1.js": { + "version": "5.4.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ganache-core/node_modules/assert-plus": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ganache-core/node_modules/assign-symbols": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/async": { + "version": "2.6.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "lodash": "^4.17.11" + } + }, + "node_modules/ganache-core/node_modules/async-eventemitter": { + "version": "0.2.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "async": "^2.4.0" + } + }, + "node_modules/ganache-core/node_modules/async-limiter": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/asynckit": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/atob": { + "version": "2.1.2", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "peer": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/ganache-core/node_modules/aws-sign2": { + "version": "0.7.0", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/ganache-core/node_modules/aws4": { + "version": "1.11.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/babel-code-frame": { + "version": "6.26.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/ansi-regex": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "peer": true, + "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/ganache-core/node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/strip-ansi": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/supports-color": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ganache-core/node_modules/babel-core": { + "version": "6.26.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "node_modules/ganache-core/node_modules/babel-core/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/ganache-core/node_modules/babel-core/node_modules/json5": { + "version": "0.5.1", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/ganache-core/node_modules/babel-core/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/babel-core/node_modules/slash": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/babel-generator": { + "version": "6.26.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "node_modules/ganache-core/node_modules/babel-generator/node_modules/jsesc": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/ganache-core/node_modules/babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-helper-call-delegate": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-helper-define-map": { + "version": "6.26.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/ganache-core/node_modules/babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-helper-function-name": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-helper-get-function-arity": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-helper-hoist-variables": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-helper-optimise-call-expression": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-helper-regex": { + "version": "6.26.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/ganache-core/node_modules/babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-helper-replace-supers": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-helpers": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-messages": { + "version": "6.23.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-regenerator": { + "version": "6.26.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "regenerator-transform": "^0.10.0" + } + }, + "node_modules/ganache-core/node_modules/babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/ganache-core/node_modules/babel-preset-env": { + "version": "1.7.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + } + }, + "node_modules/ganache-core/node_modules/babel-preset-env/node_modules/semver": { + "version": "5.7.1", + "dev": true, + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/ganache-core/node_modules/babel-register": { + "version": "6.26.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "node_modules/ganache-core/node_modules/babel-register/node_modules/source-map-support": { + "version": "0.4.18", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/ganache-core/node_modules/babel-runtime": { + "version": "6.26.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/ganache-core/node_modules/babel-template": { + "version": "6.26.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/ganache-core/node_modules/babel-traverse": { + "version": "6.26.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/ganache-core/node_modules/babel-traverse/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/ganache-core/node_modules/babel-traverse/node_modules/globals": { + "version": "9.18.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/babel-traverse/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/babel-types": { + "version": "6.26.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/ganache-core/node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/babelify": { + "version": "7.3.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "babel-core": "^6.0.14", + "object-assign": "^4.0.0" + } + }, + "node_modules/ganache-core/node_modules/babylon": { + "version": "6.18.0", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/ganache-core/node_modules/backoff": { + "version": "2.5.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "precond": "0.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/balanced-match": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/base": { + "version": "0.11.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/base-x": { + "version": "3.0.8", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ganache-core/node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/base64-js": { + "version": "1.5.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/ganache-core/node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { + "version": "0.14.5", + "dev": true, + "license": "Unlicense", + "peer": true + }, + "node_modules/ganache-core/node_modules/bignumber.js": { + "version": "9.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/ganache-core/node_modules/bip39": { + "version": "2.5.0", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "create-hash": "^1.1.0", + "pbkdf2": "^3.0.9", + "randombytes": "^2.0.1", + "safe-buffer": "^5.0.1", + "unorm": "^1.3.3" + } + }, + "node_modules/ganache-core/node_modules/blakejs": { + "version": "1.1.0", + "dev": true, + "license": "CC0-1.0", + "peer": true + }, + "node_modules/ganache-core/node_modules/bluebird": { + "version": "3.7.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/bn.js": { + "version": "4.11.9", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/body-parser": { + "version": "1.19.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ganache-core/node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/ganache-core/node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/body-parser/node_modules/qs": { + "version": "6.7.0", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/ganache-core/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/ganache-core/node_modules/brorand": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/browserify-aes": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ganache-core/node_modules/browserify-cipher": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/ganache-core/node_modules/browserify-des": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/ganache-core/node_modules/browserify-rsa": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/ganache-core/node_modules/browserify-rsa/node_modules/bn.js": { + "version": "5.1.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/browserify-sign": { + "version": "4.2.1", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/ganache-core/node_modules/browserify-sign/node_modules/bn.js": { + "version": "5.1.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ganache-core/node_modules/browserslist": { + "version": "3.2.8", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + }, + "bin": { + "browserslist": "cli.js" + } + }, + "node_modules/ganache-core/node_modules/bs58": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "base-x": "^3.0.2" + } + }, + "node_modules/ganache-core/node_modules/bs58check": { + "version": "2.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/ganache-core/node_modules/buffer": { + "version": "5.7.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/ganache-core/node_modules/buffer-from": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/buffer-to-arraybuffer": { + "version": "0.0.5", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/buffer-xor": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/bufferutil": { + "version": "4.0.3", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "node-gyp-build": "^4.2.0" + } + }, + "node_modules/ganache-core/node_modules/bytes": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ganache-core/node_modules/bytewise": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bytewise-core": "^1.2.2", + "typewise": "^1.0.3" + } + }, + "node_modules/ganache-core/node_modules/bytewise-core": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "typewise-core": "^1.2" + } + }, + "node_modules/ganache-core/node_modules/cache-base": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/cacheable-request": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ganache-core/node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ganache-core/node_modules/cachedown": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "^2.4.1", + "lru-cache": "^3.2.0" + } + }, + "node_modules/ganache-core/node_modules/cachedown/node_modules/abstract-leveldown": { + "version": "2.7.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/cachedown/node_modules/lru-cache": { + "version": "3.2.0", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "pseudomap": "^1.0.1" + } + }, + "node_modules/ganache-core/node_modules/call-bind": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/caniuse-lite": { + "version": "1.0.30001174", + "dev": true, + "license": "CC-BY-4.0", + "peer": true + }, + "node_modules/ganache-core/node_modules/caseless": { + "version": "0.12.0", + "dev": true, + "license": "Apache-2.0", + "peer": true + }, + "node_modules/ganache-core/node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/checkpoint-store": { + "version": "1.1.0", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "functional-red-black-tree": "^1.0.1" + } + }, + "node_modules/ganache-core/node_modules/chownr": { + "version": "1.1.4", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/ci-info": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/cids": { + "version": "0.7.5", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" + }, + "engines": { + "node": ">=4.0.0", + "npm": ">=3.0.0" + } + }, + "node_modules/ganache-core/node_modules/cids/node_modules/multicodec": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + }, + "node_modules/ganache-core/node_modules/cipher-base": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ganache-core/node_modules/class-is": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/class-utils": { + "version": "0.3.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/class-utils/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/clone": { + "version": "2.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ganache-core/node_modules/clone-response": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "mimic-response": "^1.0.0" + } + }, + "node_modules/ganache-core/node_modules/collection-visit": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ganache-core/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/combined-stream": { + "version": "1.0.8", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ganache-core/node_modules/component-emitter": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/concat-stream": { + "version": "1.6.2", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/ganache-core/node_modules/content-disposition": { + "version": "0.5.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/content-hash": { + "version": "2.5.2", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "cids": "^0.7.1", + "multicodec": "^0.5.5", + "multihashes": "^0.4.15" + } + }, + "node_modules/ganache-core/node_modules/content-type": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/convert-source-map": { + "version": "1.7.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/ganache-core/node_modules/convert-source-map/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/cookie": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/cookie-signature": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/cookiejar": { + "version": "2.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/copy-descriptor": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/core-js": { + "version": "2.6.12", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/core-js-pure": { + "version": "3.8.2", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/ganache-core/node_modules/core-util-is": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/cors": { + "version": "2.8.5", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ganache-core/node_modules/create-ecdh": { + "version": "4.0.4", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/ganache-core/node_modules/create-hash": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/ganache-core/node_modules/create-hmac": { + "version": "1.1.7", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/ganache-core/node_modules/cross-fetch": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "node-fetch": "2.1.2", + "whatwg-fetch": "2.0.4" + } + }, + "node_modules/ganache-core/node_modules/crypto-browserify": { + "version": "3.12.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ganache-core/node_modules/d": { + "version": "1.0.1", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/ganache-core/node_modules/dashdash": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/ganache-core/node_modules/debug": { + "version": "3.2.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/ganache-core/node_modules/decode-uri-component": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/ganache-core/node_modules/decompress-response": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/deep-equal": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/defer-to-connect": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/deferred-leveldown": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "~5.0.0", + "inherits": "^2.0.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/deferred-leveldown/node_modules/abstract-leveldown": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/define-properties": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ganache-core/node_modules/define-property": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/defined": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/delayed-stream": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ganache-core/node_modules/depd": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/des.js": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/ganache-core/node_modules/destroy": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/detect-indent": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/diffie-hellman": { + "version": "5.0.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/ganache-core/node_modules/dom-walk": { + "version": "0.1.2", + "dev": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/dotignore": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "minimatch": "^3.0.4" + }, + "bin": { + "ignored": "bin/ignored" + } + }, + "node_modules/ganache-core/node_modules/duplexer3": { + "version": "0.1.4", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/ecc-jsbn": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ganache-core/node_modules/ee-first": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/electron-to-chromium": { + "version": "1.3.636", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache-core/node_modules/elliptic": { + "version": "6.5.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "node_modules/ganache-core/node_modules/encodeurl": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ganache-core/node_modules/encoding": { + "version": "0.1.13", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/ganache-core/node_modules/encoding-down": { + "version": "5.0.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "^5.0.0", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0", + "xtend": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/encoding-down/node_modules/abstract-leveldown": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/end-of-stream": { + "version": "1.4.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/ganache-core/node_modules/errno": { + "version": "0.1.8", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/ganache-core/node_modules/es-abstract": { + "version": "1.18.0-next.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/es-to-primitive": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/es5-ext": { + "version": "0.10.53", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "node_modules/ganache-core/node_modules/es6-iterator": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/ganache-core/node_modules/es6-symbol": { + "version": "3.1.3", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/ganache-core/node_modules/escape-html": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ganache-core/node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/etag": { + "version": "1.8.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/eth-block-tracker": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "eth-query": "^2.1.0", + "ethereumjs-tx": "^1.3.3", + "ethereumjs-util": "^5.1.3", + "ethjs-util": "^0.1.3", + "json-rpc-engine": "^3.6.0", + "pify": "^2.3.0", + "tape": "^4.6.3" + } + }, + "node_modules/ganache-core/node_modules/eth-block-tracker/node_modules/ethereumjs-tx": { + "version": "1.3.7", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "ethereum-common": "^0.0.18", + "ethereumjs-util": "^5.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-block-tracker/node_modules/ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-block-tracker/node_modules/pify": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/eth-ens-namehash": { + "version": "2.0.8", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-infura": { + "version": "3.2.1", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "cross-fetch": "^2.1.1", + "eth-json-rpc-middleware": "^1.5.0", + "json-rpc-engine": "^3.4.0", + "json-rpc-error": "^2.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware": { + "version": "1.6.0", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "async": "^2.5.0", + "eth-query": "^2.1.2", + "eth-tx-summary": "^3.1.2", + "ethereumjs-block": "^1.6.0", + "ethereumjs-tx": "^1.3.3", + "ethereumjs-util": "^5.1.2", + "ethereumjs-vm": "^2.1.0", + "fetch-ponyfill": "^4.0.0", + "json-rpc-engine": "^3.6.0", + "json-rpc-error": "^2.0.0", + "json-stable-stringify": "^1.0.1", + "promise-to-callback": "^1.0.0", + "tape": "^4.6.3" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/abstract-leveldown": { + "version": "2.6.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/deferred-leveldown": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "~2.6.0" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-account": { + "version": "2.0.5", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "ethereumjs-util": "^5.0.0", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-block": { + "version": "1.7.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.0.1", + "ethereum-common": "0.2.0", + "ethereumjs-tx": "^1.2.2", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-block/node_modules/ethereum-common": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-tx": { + "version": "1.3.7", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "ethereum-common": "^0.0.18", + "ethereumjs-util": "^5.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm": { + "version": "2.6.0", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.1.2", + "async-eventemitter": "^0.2.2", + "ethereumjs-account": "^2.0.3", + "ethereumjs-block": "~2.2.0", + "ethereumjs-common": "^1.1.0", + "ethereumjs-util": "^6.0.0", + "fake-merkle-patricia-tree": "^1.0.1", + "functional-red-black-tree": "^1.0.1", + "merkle-patricia-tree": "^2.3.2", + "rustbn.js": "~0.2.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { + "version": "2.2.2", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.0.1", + "ethereumjs-common": "^1.5.0", + "ethereumjs-tx": "^2.1.1", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { + "version": "2.1.2", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { + "version": "6.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-codec": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-errors": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "errno": "~0.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-iterator-stream": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-iterator-stream/node_modules/readable-stream": { + "version": "1.1.14", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-ws": { + "version": "0.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-ws/node_modules/readable-stream": { + "version": "1.0.34", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-ws/node_modules/xtend": { + "version": "2.1.2", + "dev": true, + "peer": true, + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/levelup": { + "version": "1.3.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "deferred-leveldown": "~1.2.1", + "level-codec": "~7.0.0", + "level-errors": "~1.0.3", + "level-iterator-stream": "~1.3.0", + "prr": "~1.0.1", + "semver": "~5.4.1", + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ltgt": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/memdown": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/memdown/node_modules/abstract-leveldown": { + "version": "2.7.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/merkle-patricia-tree": { + "version": "2.3.2", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^1.4.2", + "ethereumjs-util": "^5.0.0", + "level-ws": "0.0.0", + "levelup": "^1.2.1", + "memdown": "^1.0.0", + "readable-stream": "^2.0.0", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/merkle-patricia-tree/node_modules/async": { + "version": "1.5.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/object-keys": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/semver": { + "version": "5.4.1", + "dev": true, + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-lib": { + "version": "0.1.29", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "nano-json-stream-parser": "^0.1.2", + "servify": "^0.1.12", + "ws": "^3.0.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/ganache-core/node_modules/eth-query": { + "version": "2.1.2", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "json-rpc-random-id": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "node_modules/ganache-core/node_modules/eth-sig-util": { + "version": "3.0.0", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "buffer": "^5.2.1", + "elliptic": "^6.4.0", + "ethereumjs-abi": "0.6.5", + "ethereumjs-util": "^5.1.1", + "tweetnacl": "^1.0.0", + "tweetnacl-util": "^0.15.0" + } + }, + "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-abi": { + "version": "0.6.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bn.js": "^4.10.0", + "ethereumjs-util": "^4.3.0" + } + }, + "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { + "version": "4.5.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^4.8.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary": { + "version": "3.2.4", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "async": "^2.1.2", + "clone": "^2.0.0", + "concat-stream": "^1.5.1", + "end-of-stream": "^1.1.0", + "eth-query": "^2.0.2", + "ethereumjs-block": "^1.4.1", + "ethereumjs-tx": "^1.1.1", + "ethereumjs-util": "^5.0.1", + "ethereumjs-vm": "^2.6.0", + "through2": "^2.0.3" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/abstract-leveldown": { + "version": "2.6.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/deferred-leveldown": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "~2.6.0" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-account": { + "version": "2.0.5", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "ethereumjs-util": "^5.0.0", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-block": { + "version": "1.7.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.0.1", + "ethereum-common": "0.2.0", + "ethereumjs-tx": "^1.2.2", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-block/node_modules/ethereum-common": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-tx": { + "version": "1.3.7", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "ethereum-common": "^0.0.18", + "ethereumjs-util": "^5.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm": { + "version": "2.6.0", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.1.2", + "async-eventemitter": "^0.2.2", + "ethereumjs-account": "^2.0.3", + "ethereumjs-block": "~2.2.0", + "ethereumjs-common": "^1.1.0", + "ethereumjs-util": "^6.0.0", + "fake-merkle-patricia-tree": "^1.0.1", + "functional-red-black-tree": "^1.0.1", + "merkle-patricia-tree": "^2.3.2", + "rustbn.js": "~0.2.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { + "version": "2.2.2", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.0.1", + "ethereumjs-common": "^1.5.0", + "ethereumjs-tx": "^2.1.1", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { + "version": "2.1.2", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { + "version": "6.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-codec": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-errors": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "errno": "~0.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-iterator-stream": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-iterator-stream/node_modules/readable-stream": { + "version": "1.1.14", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-ws": { + "version": "0.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-ws/node_modules/readable-stream": { + "version": "1.0.34", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-ws/node_modules/xtend": { + "version": "2.1.2", + "dev": true, + "peer": true, + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/levelup": { + "version": "1.3.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "deferred-leveldown": "~1.2.1", + "level-codec": "~7.0.0", + "level-errors": "~1.0.3", + "level-iterator-stream": "~1.3.0", + "prr": "~1.0.1", + "semver": "~5.4.1", + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ltgt": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/memdown": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/memdown/node_modules/abstract-leveldown": { + "version": "2.7.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/merkle-patricia-tree": { + "version": "2.3.2", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^1.4.2", + "ethereumjs-util": "^5.0.0", + "level-ws": "0.0.0", + "levelup": "^1.2.1", + "memdown": "^1.0.0", + "readable-stream": "^2.0.0", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/merkle-patricia-tree/node_modules/async": { + "version": "1.5.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/object-keys": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/semver": { + "version": "5.4.1", + "dev": true, + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethashjs": { + "version": "0.0.8", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.1.2", + "buffer-xor": "^2.0.1", + "ethereumjs-util": "^7.0.2", + "miller-rabin": "^4.0.0" + } + }, + "node_modules/ganache-core/node_modules/ethashjs/node_modules/bn.js": { + "version": "5.1.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethashjs/node_modules/buffer-xor": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/ethashjs/node_modules/ethereumjs-util": { + "version": "7.0.7", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/ganache-core/node_modules/ethereum-bloom-filters": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "js-sha3": "^0.8.0" + } + }, + "node_modules/ganache-core/node_modules/ethereum-bloom-filters/node_modules/js-sha3": { + "version": "0.8.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereum-common": { + "version": "0.0.18", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-abi": { + "version": "0.6.8", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-account": { + "version": "3.0.0", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "ethereumjs-util": "^6.0.0", + "rlp": "^2.2.1", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block": { + "version": "2.2.2", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.0.1", + "ethereumjs-common": "^1.5.0", + "ethereumjs-tx": "^2.1.1", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/abstract-leveldown": { + "version": "2.6.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/deferred-leveldown": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "~2.6.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-codec": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-errors": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "errno": "~0.1.1" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-iterator-stream": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-iterator-stream/node_modules/readable-stream": { + "version": "1.1.14", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-ws": { + "version": "0.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-ws/node_modules/readable-stream": { + "version": "1.0.34", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-ws/node_modules/xtend": { + "version": "2.1.2", + "dev": true, + "peer": true, + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/levelup": { + "version": "1.3.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "deferred-leveldown": "~1.2.1", + "level-codec": "~7.0.0", + "level-errors": "~1.0.3", + "level-iterator-stream": "~1.3.0", + "prr": "~1.0.1", + "semver": "~5.4.1", + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/ltgt": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/memdown": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/memdown/node_modules/abstract-leveldown": { + "version": "2.7.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/merkle-patricia-tree": { + "version": "2.3.2", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^1.4.2", + "ethereumjs-util": "^5.0.0", + "level-ws": "0.0.0", + "levelup": "^1.2.1", + "memdown": "^1.0.0", + "readable-stream": "^2.0.0", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/merkle-patricia-tree/node_modules/async": { + "version": "1.5.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/object-keys": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/semver": { + "version": "5.4.1", + "dev": true, + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-blockchain": { + "version": "4.0.4", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.6.1", + "ethashjs": "~0.0.7", + "ethereumjs-block": "~2.2.2", + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.1.0", + "flow-stoplight": "^1.0.0", + "level-mem": "^3.0.1", + "lru-cache": "^5.1.1", + "rlp": "^2.2.2", + "semaphore": "^1.1.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-common": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-tx": { + "version": "2.1.2", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-util": { + "version": "6.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm": { + "version": "4.2.0", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.1.2", + "async-eventemitter": "^0.2.2", + "core-js-pure": "^3.0.1", + "ethereumjs-account": "^3.0.0", + "ethereumjs-block": "^2.2.2", + "ethereumjs-blockchain": "^4.0.3", + "ethereumjs-common": "^1.5.0", + "ethereumjs-tx": "^2.1.2", + "ethereumjs-util": "^6.2.0", + "fake-merkle-patricia-tree": "^1.0.1", + "functional-red-black-tree": "^1.0.1", + "merkle-patricia-tree": "^2.3.2", + "rustbn.js": "~0.2.0", + "safe-buffer": "^5.1.1", + "util.promisify": "^1.0.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/abstract-leveldown": { + "version": "2.6.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/deferred-leveldown": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "~2.6.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-codec": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-errors": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "errno": "~0.1.1" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-iterator-stream": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-iterator-stream/node_modules/readable-stream": { + "version": "1.1.14", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-ws": { + "version": "0.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-ws/node_modules/readable-stream": { + "version": "1.0.34", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-ws/node_modules/xtend": { + "version": "2.1.2", + "dev": true, + "peer": true, + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/levelup": { + "version": "1.3.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "deferred-leveldown": "~1.2.1", + "level-codec": "~7.0.0", + "level-errors": "~1.0.3", + "level-iterator-stream": "~1.3.0", + "prr": "~1.0.1", + "semver": "~5.4.1", + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/ltgt": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/memdown": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/memdown/node_modules/abstract-leveldown": { + "version": "2.7.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/merkle-patricia-tree": { + "version": "2.3.2", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^1.4.2", + "ethereumjs-util": "^5.0.0", + "level-ws": "0.0.0", + "levelup": "^1.2.1", + "memdown": "^1.0.0", + "readable-stream": "^2.0.0", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/merkle-patricia-tree/node_modules/async": { + "version": "1.5.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/merkle-patricia-tree/node_modules/ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/object-keys": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/semver": { + "version": "5.4.1", + "dev": true, + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ethereumjs-wallet": { + "version": "0.6.5", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "aes-js": "^3.1.1", + "bs58check": "^2.1.2", + "ethereum-cryptography": "^0.1.3", + "ethereumjs-util": "^6.0.0", + "randombytes": "^2.0.6", + "safe-buffer": "^5.1.2", + "scryptsy": "^1.2.1", + "utf8": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "node_modules/ganache-core/node_modules/ethjs-unit": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/ganache-core/node_modules/ethjs-unit/node_modules/bn.js": { + "version": "4.11.6", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/ethjs-util": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/ganache-core/node_modules/eventemitter3": { + "version": "4.0.4", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/events": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/ganache-core/node_modules/evp_bytestokey": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/expand-brackets": { + "version": "2.1.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/ganache-core/node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/express": { + "version": "4.17.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/ganache-core/node_modules/express/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/ganache-core/node_modules/express/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/express/node_modules/qs": { + "version": "6.7.0", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/ganache-core/node_modules/express/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/ext": { + "version": "1.4.0", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "type": "^2.0.0" + } + }, + "node_modules/ganache-core/node_modules/ext/node_modules/type": { + "version": "2.1.0", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache-core/node_modules/extend": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/extend-shallow": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/extglob": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/extsprintf": { + "version": "1.3.0", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/fake-merkle-patricia-tree": { + "version": "1.0.1", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "checkpoint-store": "^1.1.0" + } + }, + "node_modules/ganache-core/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/fetch-ponyfill": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "node-fetch": "~1.7.1" + } + }, + "node_modules/ganache-core/node_modules/fetch-ponyfill/node_modules/is-stream": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/fetch-ponyfill/node_modules/node-fetch": { + "version": "1.7.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/ganache-core/node_modules/finalhandler": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ganache-core/node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/ganache-core/node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/find-yarn-workspace-root": { + "version": "1.2.1", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "fs-extra": "^4.0.3", + "micromatch": "^3.1.4" + } + }, + "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/braces": { + "version": "2.3.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/fill-range": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/fs-extra": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/micromatch": { + "version": "3.1.10", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/to-regex-range": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/flow-stoplight": { + "version": "1.0.0", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache-core/node_modules/for-each": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/ganache-core/node_modules/for-in": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/forever-agent": { + "version": "0.6.1", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/ganache-core/node_modules/form-data": { + "version": "2.3.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/ganache-core/node_modules/forwarded": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/fragment-cache": { + "version": "0.2.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/fresh": { + "version": "0.5.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/fs-extra": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/ganache-core/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache-core/node_modules/function-bind": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/functional-red-black-tree": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/get-intrinsic": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/get-stream": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ganache-core/node_modules/get-value": { + "version": "2.0.6", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/getpass": { + "version": "0.1.7", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/ganache-core/node_modules/glob": { + "version": "7.1.3", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ganache-core/node_modules/global": { + "version": "4.4.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/ganache-core/node_modules/got": { + "version": "9.6.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/ganache-core/node_modules/got/node_modules/get-stream": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/graceful-fs": { + "version": "4.2.4", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache-core/node_modules/har-schema": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/har-validator": { + "version": "5.1.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/has": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/ganache-core/node_modules/has-ansi": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/has-symbol-support-x": { + "version": "1.4.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/ganache-core/node_modules/has-symbols": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/has-to-string-tag-x": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "has-symbol-support-x": "^1.4.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ganache-core/node_modules/has-value": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/has-values": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/has-values/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/hash-base": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ganache-core/node_modules/hash.js": { + "version": "1.1.7", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/ganache-core/node_modules/heap": { + "version": "0.2.6", + "dev": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/hmac-drbg": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/ganache-core/node_modules/home-or-tmp": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/http-cache-semantics": { + "version": "4.1.0", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/http-errors": { + "version": "1.7.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/http-https": { + "version": "1.0.0", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/http-signature": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/ganache-core/node_modules/iconv-lite": { + "version": "0.4.24", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/idna-uts46-hx": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "punycode": "2.1.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/ganache-core/node_modules/idna-uts46-hx/node_modules/punycode": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/ieee754": { + "version": "1.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/ganache-core/node_modules/immediate": { + "version": "3.2.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/ganache-core/node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache-core/node_modules/invariant": { + "version": "2.2.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ganache-core/node_modules/ipaddr.js": { + "version": "1.9.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ganache-core/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/is-arguments": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "call-bind": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/is-callable": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/is-ci": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/ganache-core/node_modules/is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/is-date-object": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/is-descriptor": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/is-extendable": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/is-finite": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ganache-core/node_modules/is-fn": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/is-function": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/is-hex-prefixed": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/ganache-core/node_modules/is-negative-zero": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/is-object": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/is-plain-obj": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/is-plain-object": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/is-regex": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/is-retry-allowed": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/is-symbol": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/is-typedarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/is-windows": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache-core/node_modules/isobject": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/isstream": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/isurl": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ganache-core/node_modules/js-sha3": { + "version": "0.5.7", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/js-tokens": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/jsbn": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/json-buffer": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/json-rpc-engine": { + "version": "3.8.0", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "async": "^2.0.1", + "babel-preset-env": "^1.7.0", + "babelify": "^7.3.0", + "json-rpc-error": "^2.0.0", + "promise-to-callback": "^1.0.0", + "safe-event-emitter": "^1.0.1" + } + }, + "node_modules/ganache-core/node_modules/json-rpc-error": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.1" + } + }, + "node_modules/ganache-core/node_modules/json-rpc-random-id": { + "version": "1.0.1", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache-core/node_modules/json-schema": { + "version": "0.2.3", + "dev": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/json-stable-stringify": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "jsonify": "~0.0.0" + } + }, + "node_modules/ganache-core/node_modules/json-stringify-safe": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache-core/node_modules/jsonfile": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/ganache-core/node_modules/jsonify": { + "version": "0.0.0", + "dev": true, + "license": "Public Domain", + "peer": true + }, + "node_modules/ganache-core/node_modules/jsprim": { + "version": "1.4.1", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "peer": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/ganache-core/node_modules/keccak": { + "version": "3.0.1", + "dev": true, + "hasInstallScript": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "dependencies": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/ganache-core/node_modules/keyv": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/ganache-core/node_modules/kind-of": { + "version": "6.0.3", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/klaw-sync": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, + "node_modules/ganache-core/node_modules/level-codec": { + "version": "9.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "buffer": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/level-errors": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "errno": "~0.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/level-iterator-stream": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.5", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/level-mem": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "level-packager": "~4.0.0", + "memdown": "~3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/level-mem/node_modules/abstract-leveldown": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/level-mem/node_modules/ltgt": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/level-mem/node_modules/memdown": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "~5.0.0", + "functional-red-black-tree": "~1.0.1", + "immediate": "~3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/level-mem/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/level-packager": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "encoding-down": "~5.0.0", + "levelup": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/level-post": { + "version": "1.0.7", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ltgt": "^2.1.2" + } + }, + "node_modules/ganache-core/node_modules/level-sublevel": { + "version": "6.6.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bytewise": "~1.1.0", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0", + "level-iterator-stream": "^2.0.3", + "ltgt": "~2.1.1", + "pull-defer": "^0.2.2", + "pull-level": "^2.0.3", + "pull-stream": "^3.6.8", + "typewiselite": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/level-ws": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.8", + "xtend": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/levelup": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "deferred-leveldown": "~4.0.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~3.0.0", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/levelup/node_modules/level-iterator-stream": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/lodash": { + "version": "4.17.20", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/looper": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/loose-envify": { + "version": "1.4.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/ganache-core/node_modules/lowercase-keys": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/lru-cache": { + "version": "5.1.1", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/ganache-core/node_modules/ltgt": { + "version": "2.1.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/map-cache": { + "version": "0.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/map-visit": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/md5.js": { + "version": "1.3.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/ganache-core/node_modules/media-typer": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/merge-descriptors": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/merkle-patricia-tree": { + "version": "3.0.0", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.6.1", + "ethereumjs-util": "^5.2.0", + "level-mem": "^3.0.1", + "level-ws": "^1.0.0", + "readable-stream": "^3.0.6", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + } + }, + "node_modules/ganache-core/node_modules/merkle-patricia-tree/node_modules/ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/merkle-patricia-tree/node_modules/readable-stream": { + "version": "3.6.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ganache-core/node_modules/methods": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/miller-rabin": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/ganache-core/node_modules/mime": { + "version": "1.6.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/mime-db": { + "version": "1.45.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/mime-types": { + "version": "2.1.28", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "mime-db": "1.45.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/mimic-response": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/min-document": { + "version": "2.19.0", + "dev": true, + "peer": true, + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/ganache-core/node_modules/minimalistic-assert": { + "version": "1.0.1", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache-core/node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/minimatch": { + "version": "3.0.4", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ganache-core/node_modules/minimist": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/minizlib": { + "version": "1.3.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "minipass": "^2.9.0" + } + }, + "node_modules/ganache-core/node_modules/minizlib/node_modules/minipass": { + "version": "2.9.0", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/ganache-core/node_modules/mixin-deep": { + "version": "1.3.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/mkdirp": { + "version": "0.5.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ganache-core/node_modules/mkdirp-promise": { + "version": "5.0.1", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "mkdirp": "*" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/mock-fs": { + "version": "4.13.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/ms": { + "version": "2.1.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/multibase": { + "version": "0.6.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "node_modules/ganache-core/node_modules/multicodec": { + "version": "0.5.7", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "varint": "^5.0.0" + } + }, + "node_modules/ganache-core/node_modules/multihashes": { + "version": "0.4.21", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "buffer": "^5.5.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + } + }, + "node_modules/ganache-core/node_modules/multihashes/node_modules/multibase": { + "version": "0.7.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "node_modules/ganache-core/node_modules/nano-json-stream-parser": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/nanomatch": { + "version": "1.2.13", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/negotiator": { + "version": "0.6.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/next-tick": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/nice-try": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/node-addon-api": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/node-fetch": { + "version": "2.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/ganache-core/node_modules/node-gyp-build": { + "version": "4.2.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "peer": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/ganache-core/node_modules/normalize-url": { + "version": "4.5.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ganache-core/node_modules/number-to-bn": { + "version": "1.7.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/ganache-core/node_modules/number-to-bn/node_modules/bn.js": { + "version": "4.11.6", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/oauth-sign": { + "version": "0.9.0", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/ganache-core/node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/object-copy": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/object-copy/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/object-inspect": { + "version": "1.9.0", + "dev": true, + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/object-is": { + "version": "1.1.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/object-keys": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ganache-core/node_modules/object-visit": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/object.assign": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/object.getownpropertydescriptors": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/object.pick": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/oboe": { + "version": "2.1.4", + "dev": true, + "license": "BSD", + "optional": true, + "peer": true, + "dependencies": { + "http-https": "^1.0.0" + } + }, + "node_modules/ganache-core/node_modules/on-finished": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ganache-core/node_modules/once": { + "version": "1.4.0", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/ganache-core/node_modules/os-homedir": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/p-cancelable": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/p-timeout": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/p-timeout/node_modules/p-finally": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/parse-asn1": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/parse-headers": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/parseurl": { + "version": "1.3.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ganache-core/node_modules/pascalcase": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/patch-package": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "find-yarn-workspace-root": "^1.2.1", + "fs-extra": "^7.0.1", + "is-ci": "^2.0.0", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.0", + "rimraf": "^2.6.3", + "semver": "^5.6.0", + "slash": "^2.0.0", + "tmp": "^0.0.33" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "npm": ">5" + } + }, + "node_modules/ganache-core/node_modules/patch-package/node_modules/cross-spawn": { + "version": "6.0.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/ganache-core/node_modules/patch-package/node_modules/path-key": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/patch-package/node_modules/semver": { + "version": "5.7.1", + "dev": true, + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/ganache-core/node_modules/patch-package/node_modules/shebang-command": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/patch-package/node_modules/shebang-regex": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/patch-package/node_modules/slash": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/patch-package/node_modules/tmp": { + "version": "0.0.33", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/ganache-core/node_modules/patch-package/node_modules/which": { + "version": "1.3.1", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/ganache-core/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/path-parse": { + "version": "1.0.6", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/path-to-regexp": { + "version": "0.1.7", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/pbkdf2": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/ganache-core/node_modules/performance-now": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/posix-character-classes": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/precond": { + "version": "0.2.3", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/prepend-http": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/private": { + "version": "0.1.8", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/process": { + "version": "0.11.10", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/ganache-core/node_modules/process-nextick-args": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/promise-to-callback": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-fn": "^1.0.0", + "set-immediate-shim": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/proxy-addr": { + "version": "2.0.6", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ganache-core/node_modules/prr": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/pseudomap": { + "version": "1.0.2", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache-core/node_modules/psl": { + "version": "1.8.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/public-encrypt": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/ganache-core/node_modules/pull-cat": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/pull-defer": { + "version": "0.2.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/pull-level": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "level-post": "^1.0.7", + "pull-cat": "^1.1.9", + "pull-live": "^1.0.1", + "pull-pushable": "^2.0.0", + "pull-stream": "^3.4.0", + "pull-window": "^2.1.4", + "stream-to-pull-stream": "^1.7.1" + } + }, + "node_modules/ganache-core/node_modules/pull-live": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "pull-cat": "^1.1.9", + "pull-stream": "^3.4.0" + } + }, + "node_modules/ganache-core/node_modules/pull-pushable": { + "version": "2.2.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/pull-stream": { + "version": "3.6.14", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/pull-window": { + "version": "2.1.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "looper": "^2.0.0" + } + }, + "node_modules/ganache-core/node_modules/pump": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/ganache-core/node_modules/punycode": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/qs": { + "version": "6.5.2", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/ganache-core/node_modules/query-string": { + "version": "5.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/randombytes": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/ganache-core/node_modules/randomfill": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/ganache-core/node_modules/range-parser": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/raw-body": { + "version": "2.4.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ganache-core/node_modules/readable-stream": { + "version": "2.3.7", + "dev": true, + "license": "MIT", + "peer": true, + "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/ganache-core/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/regenerate": { + "version": "1.4.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/regenerator-runtime": { + "version": "0.11.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/regenerator-transform": { + "version": "0.10.1", + "dev": true, + "license": "BSD", + "peer": true, + "dependencies": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "node_modules/ganache-core/node_modules/regex-not": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/regexp.prototype.flags": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/regexp.prototype.flags/node_modules/es-abstract": { + "version": "1.17.7", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/regexpu-core": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "node_modules/ganache-core/node_modules/regjsgen": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/regjsparser": { + "version": "0.1.5", + "dev": true, + "license": "BSD", + "peer": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/ganache-core/node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "dev": true, + "peer": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/ganache-core/node_modules/repeat-element": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/repeat-string": { + "version": "1.6.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/ganache-core/node_modules/repeating": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/request": { + "version": "2.88.2", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ganache-core/node_modules/resolve-url": { + "version": "0.2.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/responselike": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/ganache-core/node_modules/resumer": { + "version": "0.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "through": "~2.3.4" + } + }, + "node_modules/ganache-core/node_modules/ret": { + "version": "0.1.15", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/ganache-core/node_modules/rimraf": { + "version": "2.6.3", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ganache-core/node_modules/ripemd160": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/ganache-core/node_modules/rlp": { + "version": "2.2.6", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^4.11.1" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/ganache-core/node_modules/rustbn.js": { + "version": "0.2.0", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "peer": true + }, + "node_modules/ganache-core/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/safe-event-emitter": { + "version": "1.0.1", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "events": "^3.0.0" + } + }, + "node_modules/ganache-core/node_modules/safe-regex": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/ganache-core/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/scrypt-js": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/scryptsy": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "pbkdf2": "^3.0.3" + } + }, + "node_modules/ganache-core/node_modules/secp256k1": { + "version": "4.0.2", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "elliptic": "^6.5.2", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/ganache-core/node_modules/seedrandom": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/semaphore": { + "version": "1.1.0", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ganache-core/node_modules/send": { + "version": "0.17.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ganache-core/node_modules/send/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/ganache-core/node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/send/node_modules/ms": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/serve-static": { + "version": "1.14.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ganache-core/node_modules/servify": { + "version": "0.1.12", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "body-parser": "^1.16.0", + "cors": "^2.8.1", + "express": "^4.14.0", + "request": "^2.79.0", + "xhr": "^2.3.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/set-immediate-shim": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/set-value": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/setimmediate": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/setprototypeof": { + "version": "1.1.1", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/sha.js": { + "version": "2.4.11", + "dev": true, + "license": "(MIT AND BSD-3-Clause)", + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/ganache-core/node_modules/simple-concat": { + "version": "1.0.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/simple-get": { + "version": "2.8.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon": { + "version": "0.8.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon-node": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon-util": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon-util/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/source-map": { + "version": "0.5.7", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/source-map-resolve": { + "version": "0.5.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/ganache-core/node_modules/source-map-support": { + "version": "0.5.12", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/ganache-core/node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/source-map-url": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/split-string": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/sshpk": { + "version": "1.16.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/sshpk/node_modules/tweetnacl": { + "version": "0.14.5", + "dev": true, + "license": "Unlicense", + "peer": true + }, + "node_modules/ganache-core/node_modules/static-extend": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/static-extend/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/statuses": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/stream-to-pull-stream": { + "version": "1.7.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "looper": "^3.0.0", + "pull-stream": "^3.2.3" + } + }, + "node_modules/ganache-core/node_modules/stream-to-pull-stream/node_modules/looper": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/strict-uri-encode": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/ganache-core/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/string.prototype.trim": { + "version": "1.2.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/string.prototype.trimend": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/string.prototype.trimstart": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/strip-hex-prefix": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/ganache-core/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/swarm-js": { + "version": "0.1.40", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "eth-lib": "^0.1.26", + "fs-extra": "^4.0.2", + "got": "^7.1.0", + "mime-types": "^2.1.16", + "mkdirp-promise": "^5.0.1", + "mock-fs": "^4.1.0", + "setimmediate": "^1.0.5", + "tar": "^4.0.2", + "xhr-request": "^1.0.1" + } + }, + "node_modules/ganache-core/node_modules/swarm-js/node_modules/fs-extra": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/ganache-core/node_modules/swarm-js/node_modules/get-stream": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/swarm-js/node_modules/got": { + "version": "7.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/swarm-js/node_modules/is-stream": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/swarm-js/node_modules/p-cancelable": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/swarm-js/node_modules/prepend-http": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/swarm-js/node_modules/url-parse-lax": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "prepend-http": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/tape": { + "version": "4.13.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "deep-equal": "~1.1.1", + "defined": "~1.0.0", + "dotignore": "~0.1.2", + "for-each": "~0.3.3", + "function-bind": "~1.1.1", + "glob": "~7.1.6", + "has": "~1.0.3", + "inherits": "~2.0.4", + "is-regex": "~1.0.5", + "minimist": "~1.2.5", + "object-inspect": "~1.7.0", + "resolve": "~1.17.0", + "resumer": "~0.0.0", + "string.prototype.trim": "~1.2.1", + "through": "~2.3.8" + }, + "bin": { + "tape": "bin/tape" + } + }, + "node_modules/ganache-core/node_modules/tape/node_modules/glob": { + "version": "7.1.6", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ganache-core/node_modules/tape/node_modules/is-regex": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "has": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/tape/node_modules/object-inspect": { + "version": "1.7.0", + "dev": true, + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/tape/node_modules/resolve": { + "version": "1.17.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/tar": { + "version": "4.4.13", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/ganache-core/node_modules/tar/node_modules/fs-minipass": { + "version": "1.2.7", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "minipass": "^2.6.0" + } + }, + "node_modules/ganache-core/node_modules/tar/node_modules/minipass": { + "version": "2.9.0", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/ganache-core/node_modules/through": { + "version": "2.3.8", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/through2": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/ganache-core/node_modules/timed-out": { + "version": "4.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/tmp": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "rimraf": "^2.6.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/to-object-path": { + "version": "0.3.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/to-object-path/node_modules/is-buffer": { + "version": "1.1.6", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/to-readable-stream": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ganache-core/node_modules/to-regex": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/toidentifier": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/ganache-core/node_modules/tough-cookie": { + "version": "2.5.0", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ganache-core/node_modules/trim-right": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/tunnel-agent": { + "version": "0.6.0", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ganache-core/node_modules/tweetnacl": { + "version": "1.0.3", + "dev": true, + "license": "Unlicense", + "peer": true + }, + "node_modules/ganache-core/node_modules/tweetnacl-util": { + "version": "0.15.1", + "dev": true, + "license": "Unlicense", + "peer": true + }, + "node_modules/ganache-core/node_modules/type": { + "version": "1.2.0", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache-core/node_modules/type-is": { + "version": "1.6.18", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ganache-core/node_modules/typedarray": { + "version": "0.0.6", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/ganache-core/node_modules/typewise": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "typewise-core": "^1.2.0" + } + }, + "node_modules/ganache-core/node_modules/typewise-core": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/typewiselite": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/ultron": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/underscore": { + "version": "1.9.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/union-value": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/universalify": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/ganache-core/node_modules/unorm": { + "version": "1.6.0", + "dev": true, + "license": "MIT or GPL-2.0", + "peer": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/ganache-core/node_modules/unpipe": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ganache-core/node_modules/unset-value": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/ganache-core/node_modules/urix": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/url-parse-lax": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ganache-core/node_modules/url-set-query": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/url-to-options": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ganache-core/node_modules/use": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ganache-core/node_modules/utf-8-validate": { + "version": "5.0.4", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "node-gyp-build": "^4.2.0" + } + }, + "node_modules/ganache-core/node_modules/utf8": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/util.promisify": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ganache-core/node_modules/utils-merge": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/ganache-core/node_modules/uuid": { + "version": "3.4.0", + "dev": true, + "license": "MIT", + "peer": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/ganache-core/node_modules/varint": { + "version": "5.0.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/vary": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ganache-core/node_modules/verror": { + "version": "1.10.0", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "peer": true, + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/ganache-core/node_modules/web3": { + "version": "1.2.11", + "dev": true, + "hasInstallScript": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "web3-bzz": "1.2.11", + "web3-core": "1.2.11", + "web3-eth": "1.2.11", + "web3-eth-personal": "1.2.11", + "web3-net": "1.2.11", + "web3-shh": "1.2.11", + "web3-utils": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-bzz": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "^12.12.6", + "got": "9.6.0", + "swarm-js": "^0.1.40", + "underscore": "1.9.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-bzz/node_modules/@types/node": { + "version": "12.19.12", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/web3-core": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "@types/bn.js": "^4.11.5", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.2.11", + "web3-core-method": "1.2.11", + "web3-core-requestmanager": "1.2.11", + "web3-utils": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-core-helpers": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "underscore": "1.9.1", + "web3-eth-iban": "1.2.11", + "web3-utils": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-core-method": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/transactions": "^5.0.0-beta.135", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.11", + "web3-core-promievent": "1.2.11", + "web3-core-subscriptions": "1.2.11", + "web3-utils": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-core-promievent": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "eventemitter3": "4.0.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-core-requestmanager": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.11", + "web3-providers-http": "1.2.11", + "web3-providers-ipc": "1.2.11", + "web3-providers-ws": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-core-subscriptions": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "eventemitter3": "4.0.4", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-core/node_modules/@types/node": { + "version": "12.19.12", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/web3-eth": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "underscore": "1.9.1", + "web3-core": "1.2.11", + "web3-core-helpers": "1.2.11", + "web3-core-method": "1.2.11", + "web3-core-subscriptions": "1.2.11", + "web3-eth-abi": "1.2.11", + "web3-eth-accounts": "1.2.11", + "web3-eth-contract": "1.2.11", + "web3-eth-ens": "1.2.11", + "web3-eth-iban": "1.2.11", + "web3-eth-personal": "1.2.11", + "web3-net": "1.2.11", + "web3-utils": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-eth-abi": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "@ethersproject/abi": "5.0.0-beta.153", + "underscore": "1.9.1", + "web3-utils": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-eth-accounts": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.8", + "ethereumjs-common": "^1.3.2", + "ethereumjs-tx": "^2.1.1", + "scrypt-js": "^3.0.1", + "underscore": "1.9.1", + "uuid": "3.3.2", + "web3-core": "1.2.11", + "web3-core-helpers": "1.2.11", + "web3-core-method": "1.2.11", + "web3-utils": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-eth-accounts/node_modules/eth-lib": { + "version": "0.2.8", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/ganache-core/node_modules/web3-eth-accounts/node_modules/uuid": { + "version": "3.3.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/ganache-core/node_modules/web3-eth-contract": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "@types/bn.js": "^4.11.5", + "underscore": "1.9.1", + "web3-core": "1.2.11", + "web3-core-helpers": "1.2.11", + "web3-core-method": "1.2.11", + "web3-core-promievent": "1.2.11", + "web3-core-subscriptions": "1.2.11", + "web3-eth-abi": "1.2.11", + "web3-utils": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-eth-ens": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "underscore": "1.9.1", + "web3-core": "1.2.11", + "web3-core-helpers": "1.2.11", + "web3-core-promievent": "1.2.11", + "web3-eth-abi": "1.2.11", + "web3-eth-contract": "1.2.11", + "web3-utils": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-eth-iban": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "bn.js": "^4.11.9", + "web3-utils": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-eth-personal": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "^12.12.6", + "web3-core": "1.2.11", + "web3-core-helpers": "1.2.11", + "web3-core-method": "1.2.11", + "web3-net": "1.2.11", + "web3-utils": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-eth-personal/node_modules/@types/node": { + "version": "12.19.12", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/web3-net": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "web3-core": "1.2.11", + "web3-core-method": "1.2.11", + "web3-utils": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine": { + "version": "14.2.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "async": "^2.5.0", + "backoff": "^2.5.0", + "clone": "^2.0.0", + "cross-fetch": "^2.1.0", + "eth-block-tracker": "^3.0.0", + "eth-json-rpc-infura": "^3.1.0", + "eth-sig-util": "3.0.0", + "ethereumjs-block": "^1.2.2", + "ethereumjs-tx": "^1.2.0", + "ethereumjs-util": "^5.1.5", + "ethereumjs-vm": "^2.3.4", + "json-rpc-error": "^2.0.0", + "json-stable-stringify": "^1.0.1", + "promise-to-callback": "^1.0.0", + "readable-stream": "^2.2.9", + "request": "^2.85.0", + "semaphore": "^1.0.3", + "ws": "^5.1.1", + "xhr": "^2.2.0", + "xtend": "^4.0.1" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/abstract-leveldown": { + "version": "2.6.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/deferred-leveldown": { + "version": "1.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "~2.6.0" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/eth-sig-util": { + "version": "1.4.2", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", + "ethereumjs-util": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-account": { + "version": "2.0.5", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "ethereumjs-util": "^5.0.0", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-block": { + "version": "1.7.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.0.1", + "ethereum-common": "0.2.0", + "ethereumjs-tx": "^1.2.2", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-block/node_modules/ethereum-common": { + "version": "0.2.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-tx": { + "version": "1.3.7", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "ethereum-common": "^0.0.18", + "ethereumjs-util": "^5.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm": { + "version": "2.6.0", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.1.2", + "async-eventemitter": "^0.2.2", + "ethereumjs-account": "^2.0.3", + "ethereumjs-block": "~2.2.0", + "ethereumjs-common": "^1.1.0", + "ethereumjs-util": "^6.0.0", + "fake-merkle-patricia-tree": "^1.0.1", + "functional-red-black-tree": "^1.0.1", + "merkle-patricia-tree": "^2.3.2", + "rustbn.js": "~0.2.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { + "version": "2.2.2", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^2.0.1", + "ethereumjs-common": "^1.5.0", + "ethereumjs-tx": "^2.1.1", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { + "version": "2.1.2", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { + "version": "6.2.1", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-codec": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-errors": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "errno": "~0.1.1" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-iterator-stream": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-iterator-stream/node_modules/readable-stream": { + "version": "1.1.14", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-ws": { + "version": "0.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-ws/node_modules/readable-stream": { + "version": "1.0.34", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-ws/node_modules/xtend": { + "version": "2.1.2", + "dev": true, + "peer": true, + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/levelup": { + "version": "1.3.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "deferred-leveldown": "~1.2.1", + "level-codec": "~7.0.0", + "level-errors": "~1.0.3", + "level-iterator-stream": "~1.3.0", + "prr": "~1.0.1", + "semver": "~5.4.1", + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ltgt": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/memdown": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/memdown/node_modules/abstract-leveldown": { + "version": "2.7.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "xtend": "~4.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/merkle-patricia-tree": { + "version": "2.3.2", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "async": "^1.4.2", + "ethereumjs-util": "^5.0.0", + "level-ws": "0.0.0", + "levelup": "^1.2.1", + "memdown": "^1.0.0", + "readable-stream": "^2.0.0", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/merkle-patricia-tree/node_modules/async": { + "version": "1.5.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/object-keys": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/semver": { + "version": "5.4.1", + "dev": true, + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ws": { + "version": "5.2.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-providers-http": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "web3-core-helpers": "1.2.11", + "xhr2-cookies": "1.1.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-providers-ipc": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "oboe": "2.1.4", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-providers-ws": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "eventemitter3": "4.0.4", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.11", + "websocket": "^1.0.31" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-shh": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "web3-core": "1.2.11", + "web3-core-method": "1.2.11", + "web3-core-subscriptions": "1.2.11", + "web3-net": "1.2.11" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-utils": { + "version": "1.2.11", + "dev": true, + "license": "LGPL-3.0", + "optional": true, + "peer": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.9.1", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ganache-core/node_modules/web3-utils/node_modules/eth-lib": { + "version": "0.2.8", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/ganache-core/node_modules/websocket": { + "version": "1.0.32", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "bufferutil": "^4.0.1", + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "typedarray-to-buffer": "^3.1.5", + "utf-8-validate": "^5.0.2", + "yaeti": "^0.0.6" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/ganache-core/node_modules/websocket/node_modules/debug": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/ganache-core/node_modules/websocket/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/whatwg-fetch": { + "version": "2.0.4", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ganache-core/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/ganache-core/node_modules/ws": { + "version": "3.3.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + }, + "node_modules/ganache-core/node_modules/ws/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/ganache-core/node_modules/xhr": { + "version": "2.6.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/ganache-core/node_modules/xhr-request": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "buffer-to-arraybuffer": "^0.0.5", + "object-assign": "^4.1.1", + "query-string": "^5.0.1", + "simple-get": "^2.7.0", + "timed-out": "^4.0.1", + "url-set-query": "^1.0.0", + "xhr": "^2.0.4" + } + }, + "node_modules/ganache-core/node_modules/xhr-request-promise": { + "version": "0.1.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "xhr-request": "^1.1.0" + } + }, + "node_modules/ganache-core/node_modules/xhr2-cookies": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "cookiejar": "^2.1.1" + } + }, + "node_modules/ganache-core/node_modules/xtend": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/ganache-core/node_modules/yaeti": { + "version": "0.0.6", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.32" + } + }, + "node_modules/ganache-core/node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/ghost-testrpc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", + "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "node-emoji": "^1.10.0" + }, + "bin": { + "testrpc-sc": "index.js" + } + }, + "node_modules/ghost-testrpc/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ghost-testrpc/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ghost-testrpc/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ghost-testrpc/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/ghost-testrpc/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ghost-testrpc/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ghost-testrpc/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true, + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/hardhat": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.9.3.tgz", + "integrity": "sha512-7Vw99RbYbMZ15UzegOR/nqIYIqddZXvLwJGaX5sX4G5bydILnbjmDU6g3jMKJSiArEixS3vHAEaOs5CW1JQ3hg==", + "dev": true, + "dependencies": { + "@ethereumjs/block": "^3.6.0", + "@ethereumjs/blockchain": "^5.5.0", + "@ethereumjs/common": "^2.6.0", + "@ethereumjs/tx": "^3.4.0", + "@ethereumjs/vm": "^5.6.0", + "@ethersproject/abi": "^5.1.2", + "@metamask/eth-sig-util": "^4.0.0", + "@sentry/node": "^5.18.1", + "@solidity-parser/parser": "^0.14.1", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "^5.1.0", + "abort-controller": "^3.0.0", + "adm-zip": "^0.4.16", + "aggregate-error": "^3.0.0", + "ansi-escapes": "^4.3.0", + "chalk": "^2.4.2", + "chokidar": "^3.4.0", + "ci-info": "^2.0.0", + "debug": "^4.1.1", + "enquirer": "^2.3.0", + "env-paths": "^2.2.0", + "ethereum-cryptography": "^0.1.2", + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^7.1.3", + "find-up": "^2.1.0", + "fp-ts": "1.19.3", + "fs-extra": "^7.0.1", + "glob": "^7.1.3", + "immutable": "^4.0.0-rc.12", + "io-ts": "1.10.4", + "lodash": "^4.17.11", + "merkle-patricia-tree": "^4.2.2", + "mnemonist": "^0.38.0", + "mocha": "^9.2.0", + "p-map": "^4.0.0", + "qs": "^6.7.0", + "raw-body": "^2.4.1", + "resolve": "1.17.0", + "semver": "^6.3.0", + "slash": "^3.0.0", + "solc": "0.7.3", + "source-map-support": "^0.5.13", + "stacktrace-parser": "^0.1.10", + "true-case-path": "^2.2.1", + "tsort": "0.0.1", + "undici": "^4.14.1", + "uuid": "^8.3.2", + "ws": "^7.4.6" + }, + "bin": { + "hardhat": "internal/cli/cli.js" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || ^16.0.0" + } + }, + "node_modules/hardhat-gas-reporter": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.8.tgz", + "integrity": "sha512-1G5thPnnhcwLHsFnl759f2tgElvuwdkzxlI65fC9PwxYMEe9cmjkVAAWTf3/3y8uP6ZSPiUiOW8PgZnykmZe0g==", + "dev": true, + "dependencies": { + "array-uniq": "1.0.3", + "eth-gas-reporter": "^0.2.24", + "sha1": "^1.1.1" + }, + "peerDependencies": { + "hardhat": "^2.0.2" + } + }, + "node_modules/hardhat/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hardhat/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hardhat/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/hardhat/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/hardhat/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/hardhat/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/hardhat/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hardhat/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/hardhat/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/hardhat/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/hardhat/node_modules/solc": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", + "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", + "dev": true, + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/hardhat/node_modules/solc/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/hardhat/node_modules/solc/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/hardhat/node_modules/solc/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/hardhat/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hardhat/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "dependencies": { + "has-symbol-support-x": "^1.4.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "peer": true + }, + "node_modules/http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "dev": true, + "dependencies": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=", + "dev": true + }, + "node_modules/http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dev": true, + "dependencies": { + "@types/node": "^10.0.3" + } + }, + "node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/idna-uts46-hx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", + "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", + "dev": true, + "dependencies": { + "punycode": "2.1.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immediate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", + "dev": true + }, + "node_modules/immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "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==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/inquirer/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/io-ts": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", + "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", + "dev": true, + "dependencies": { + "fp-ts": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "peer": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "peer": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", + "dev": true + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=", + "dev": true, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", + "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.18.5", + "foreach": "^2.0.5", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true, + "peer": true + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true, + "peer": true + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "peer": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "node_modules/isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "dependencies": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonschema": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.0.tgz", + "integrity": "sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/keccak": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", + "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "peer": true, + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/level-codec": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", + "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", + "dev": true, + "dependencies": { + "buffer": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-concat-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", + "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", + "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "dev": true, + "dependencies": { + "errno": "~0.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-iterator-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", + "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.4.0", + "xtend": "^4.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-mem": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", + "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", + "dev": true, + "dependencies": { + "level-packager": "^5.0.3", + "memdown": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-packager": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", + "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", + "dev": true, + "dependencies": { + "encoding-down": "^6.3.0", + "levelup": "^4.3.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "dev": true, + "dependencies": { + "xtend": "^4.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/level-ws": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", + "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^3.1.0", + "xtend": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/levelup": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", + "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", + "dev": true, + "dependencies": { + "deferred-leveldown": "~5.3.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~4.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "peer": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true, + "peer": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/loupe": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", + "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.0" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=", + "dev": true + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", + "dev": true + }, + "node_modules/mcl-wasm": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", + "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", + "dev": true, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memdown": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", + "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", + "dev": true, + "dependencies": { + "abstract-leveldown": "~6.2.1", + "functional-red-black-tree": "~1.0.1", + "immediate": "~3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/memdown/node_modules/abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/memdown/node_modules/immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=", + "dev": true + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/merkle-patricia-tree": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", + "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", + "dev": true, + "dependencies": { + "@types/levelup": "^4.3.0", + "ethereumjs-util": "^7.1.4", + "level-mem": "^5.0.1", + "level-ws": "^2.0.0", + "readable-stream": "^3.6.0", + "semaphore-async-await": "^1.5.1" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true, + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "dependencies": { + "minipass": "^2.9.0" + } + }, + "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, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", + "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.", + "dev": true, + "dependencies": { + "mkdirp": "*" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mnemonist": { + "version": "0.38.5", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", + "dev": true, + "dependencies": { + "obliterator": "^2.0.0" + } + }, + "node_modules/mocha": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", + "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", + "dev": true, + "dependencies": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.3", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "4.2.1", + "ms": "2.1.3", + "nanoid": "3.3.1", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "workerpool": "6.2.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/mocha/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", + "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/mock-fs": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", + "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", + "dev": true + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "deprecated": "This module has been superseded by the multiformats module", + "dev": true, + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "node_modules/multicodec": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", + "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "deprecated": "This module has been superseded by the multiformats module", + "dev": true, + "dependencies": { + "varint": "^5.0.0" + } + }, + "node_modules/multihashes": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", + "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + } + }, + "node_modules/multihashes/node_modules/multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "deprecated": "This module has been superseded by the multiformats module", + "dev": true, + "dependencies": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "node_modules/nano-json-stream-parser": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", + "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "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 + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", + "dev": true + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + } + }, + "node_modules/node-environment-flags/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "peer": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-gyp-build": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", + "devOptional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "peer": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", + "dev": true, + "dependencies": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/number-to-bn/node_modules/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obliterator": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.2.tgz", + "integrity": "sha512-g0TrA7SbUggROhDPK8cEu/qpItwH2LSKcNl4tlfBNT54XY+nOsqrs0Q68h1V9b3HOSpIWv15jb1lax2hAggdIg==", + "dev": true + }, + "node_modules/oboe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", + "integrity": "sha1-VVQoTFQ6ImbXo48X4HOCH73jk80=", + "dev": true, + "dependencies": { + "http-https": "^1.0.0" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "peer": true, + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "peer": true, + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "dev": true, + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=", + "dev": true + }, + "node_modules/parse-headers": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", + "dev": true + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/patch-package": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.4.7.tgz", + "integrity": "sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ==", + "dev": true, + "peer": true, + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^7.0.1", + "is-ci": "^2.0.0", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.0", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "^5.6.0", + "slash": "^2.0.0", + "tmp": "^0.0.33" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "npm": ">5" + } + }, + "node_modules/patch-package/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/patch-package/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/patch-package/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/patch-package/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true, + "peer": true + }, + "node_modules/patch-package/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "peer": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/patch-package/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/patch-package/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/patch-package/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/patch-package/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/patch-package/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/patch-package/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/patch-package/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/patch-package/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "peer": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/patch-package/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/patch-package/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/patch-package/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/patch-package/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/patch-package/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "peer": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "peer": true + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "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": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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 + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "peer": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postinstall-postinstall": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz", + "integrity": "sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==", + "dev": true, + "hasInstallScript": true, + "peer": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/prettier": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", + "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/prettier-plugin-solidity": { + "version": "1.0.0-beta.19", + "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.19.tgz", + "integrity": "sha512-xxRQ5ZiiZyUoMFLE9h7HnUDXI/daf1tnmL1msEdcKmyh7ZGQ4YklkYLC71bfBpYU2WruTb5/SFLUaEb3RApg5g==", + "dev": true, + "dependencies": { + "@solidity-parser/parser": "^0.14.0", + "emoji-regex": "^10.0.0", + "escape-string-regexp": "^4.0.0", + "semver": "^7.3.5", + "solidity-comments-extractor": "^0.0.7", + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "prettier": "^2.3.0" + } + }, + "node_modules/prettier-plugin-solidity/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/prettier-plugin-solidity/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prettier-plugin-solidity/node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true, + "engines": { + "node": ">= 0.6.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 + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", + "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "dev": true, + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "dependencies": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "peer": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "peer": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "peer": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "peer": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "dev": true, + "dependencies": { + "minimatch": "3.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/recursive-readdir/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/req-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", + "integrity": "sha1-1AgrTURZgDZkD7c93qAe1T20nrw=", + "dev": true, + "dependencies": { + "req-from": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/req-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", + "integrity": "sha1-10GI5H+TeW9Kpx327jWuaJ8+DnA=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/req-from/node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true, + "peer": true + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "dev": true, + "dependencies": { + "bn.js": "^5.2.0" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/rlp/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rustbn.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==", + "dev": true + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sc-istanbul": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", + "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", + "dev": true, + "dependencies": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "istanbul": "lib/cli.js" + } + }, + "node_modules/sc-istanbul/node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "node_modules/sc-istanbul/node_modules/esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sc-istanbul/node_modules/glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/sc-istanbul/node_modules/has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sc-istanbul/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "node_modules/sc-istanbul/node_modules/supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "dependencies": { + "has-flag": "^1.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/sc-istanbul/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "node_modules/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/semaphore-async-await": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", + "integrity": "sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo=", + "dev": true, + "engines": { + "node": ">=4.1" + } + }, + "node_modules/semver": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", + "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", + "dev": true, + "dependencies": { + "lru-cache": "^7.4.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.7.3.tgz", + "integrity": "sha512-WY9wjJNQt9+PZilnLbuFKM+SwDull9+6IAguOrarOMoOHTcJ9GnXSO11+Gw6c7xtDkBkthR57OZMtZKYr+1CEw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "1.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/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, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/send/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/send/node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "node_modules/send/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/servify": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", + "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", + "dev": true, + "dependencies": { + "body-parser": "^1.16.0", + "cors": "^2.8.1", + "express": "^4.14.0", + "request": "^2.79.0", + "xhr": "^2.3.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/sha1": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", + "integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=", + "dev": true, + "dependencies": { + "charenc": ">= 0.0.1", + "crypt": ">= 0.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", + "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", + "dev": true, + "dependencies": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/solc": { + "version": "0.6.12", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.12.tgz", + "integrity": "sha512-Lm0Ql2G9Qc7yPP2Ba+WNmzw2jwsrd3u4PobHYlSOxaut3TtUbj9+5ZrT6f4DUpNPEoBaFUOEg9Op9C0mk7ge9g==", + "dev": true, + "peer": true, + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/solc/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "node_modules/solc/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "peer": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/solc/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solhint": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/solhint/-/solhint-3.3.7.tgz", + "integrity": "sha512-NjjjVmXI3ehKkb3aNtRJWw55SUVJ8HMKKodwe0HnejA+k0d2kmhw7jvpa+MCTbcEgt8IWSwx0Hu6aCo/iYOZzQ==", + "dev": true, + "dependencies": { + "@solidity-parser/parser": "^0.14.1", + "ajv": "^6.6.1", + "antlr4": "4.7.1", + "ast-parents": "0.0.1", + "chalk": "^2.4.2", + "commander": "2.18.0", + "cosmiconfig": "^5.0.7", + "eslint": "^5.6.0", + "fast-diff": "^1.1.2", + "glob": "^7.1.3", + "ignore": "^4.0.6", + "js-yaml": "^3.12.0", + "lodash": "^4.17.11", + "semver": "^6.3.0" + }, + "bin": { + "solhint": "solhint.js" + }, + "optionalDependencies": { + "prettier": "^1.14.3" + } + }, + "node_modules/solhint-plugin-prettier": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/solhint-plugin-prettier/-/solhint-plugin-prettier-0.0.5.tgz", + "integrity": "sha512-7jmWcnVshIrO2FFinIvDQmhQpfpS2rRRn3RejiYgnjIE68xO2bvrYvjqVNfrio4xH9ghOqn83tKuTzLjEbmGIA==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "peerDependencies": { + "prettier": "^1.15.0 || ^2.0.0", + "prettier-plugin-solidity": "^1.0.0-alpha.14" + } + }, + "node_modules/solhint/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/solhint/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/solhint/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solhint/node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/solhint/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solhint/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/solhint/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/solhint/node_modules/commander": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", + "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", + "dev": true + }, + "node_modules/solhint/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/solhint/node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solhint/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/solhint/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/solhint/node_modules/eslint": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", + "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^6.14.0 || ^8.10.0 || >=9.10.0" + } + }, + "node_modules/solhint/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/solhint/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solhint/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/solhint/node_modules/eslint/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/solhint/node_modules/espree": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", + "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", + "dev": true, + "dependencies": { + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/solhint/node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solhint/node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solhint/node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/solhint/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/solhint/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/solhint/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/solhint/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "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/solhint/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/solhint/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/solhint/node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solhint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/solhint/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/solhint/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/solhint/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solhint/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solhint/node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solhint/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solhint/node_modules/string-width/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/solhint/node_modules/string-width/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/solhint/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solhint/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": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solhint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solhint/node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/solhint/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/solhint/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/solidity-comments-extractor": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz", + "integrity": "sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw==", + "dev": true + }, + "node_modules/solidity-coverage": { + "version": "0.7.20", + "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.7.20.tgz", + "integrity": "sha512-edOXTugUYdqxrtEnIn4vgrGjLPxdexcL0WD8LzAvVA3d1dwgcfRO3k8xQR02ZQnOnWMBi8Cqs0F+kAQQp3JW8g==", + "dev": true, + "dependencies": { + "@solidity-parser/parser": "^0.14.0", + "@truffle/provider": "^0.2.24", + "chalk": "^2.4.2", + "death": "^1.1.0", + "detect-port": "^1.3.0", + "fs-extra": "^8.1.0", + "ghost-testrpc": "^0.0.2", + "global-modules": "^2.0.0", + "globby": "^10.0.1", + "jsonschema": "^1.2.4", + "lodash": "^4.17.15", + "node-emoji": "^1.10.0", + "pify": "^4.0.1", + "recursive-readdir": "^2.2.2", + "sc-istanbul": "^0.4.5", + "semver": "^7.3.4", + "shelljs": "^0.8.3", + "web3-utils": "^1.3.0" + }, + "bin": { + "solidity-coverage": "plugins/bin.js" + } + }, + "node_modules/solidity-coverage/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solidity-coverage/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solidity-coverage/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/solidity-coverage/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/solidity-coverage/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/solidity-coverage/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/solidity-coverage/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/solidity-coverage/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solidity-coverage/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solidity-coverage/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "peer": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true, + "peer": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "peer": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true, + "peer": true + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sshpk/node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "dev": true, + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "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, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "peer": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "dev": true, + "dependencies": { + "is-hex-prefixed": "1.0.0" + }, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/swarm-js": { + "version": "0.1.40", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", + "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "eth-lib": "^0.1.26", + "fs-extra": "^4.0.2", + "got": "^7.1.0", + "mime-types": "^2.1.16", + "mkdirp-promise": "^5.0.1", + "mock-fs": "^4.1.0", + "setimmediate": "^1.0.5", + "tar": "^4.0.2", + "xhr-request": "^1.0.1" + } + }, + "node_modules/swarm-js/node_modules/fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/swarm-js/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/swarm-js/node_modules/got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "dependencies": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/swarm-js/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/swarm-js/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/swarm-js/node_modules/p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/swarm-js/node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/swarm-js/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/swarm-js/node_modules/url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "dependencies": { + "prepend-http": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dev": true, + "dependencies": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dev": true, + "dependencies": { + "get-port": "^3.1.0" + } + }, + "node_modules/table": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/table/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "dev": true, + "dependencies": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/test-value": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", + "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=", + "dev": true, + "dependencies": { + "array-back": "^1.0.3", + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-value/node_modules/array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", + "dev": true, + "dependencies": { + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/testrpc": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", + "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", + "deprecated": "testrpc has been renamed to ganache-cli, please use this package from now on.", + "dev": true, + "peer": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dev": true, + "dependencies": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "dev": true + }, + "node_modules/then-request/node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tough-cookie/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true, + "peer": true + }, + "node_modules/true-case-path": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", + "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==", + "dev": true + }, + "node_modules/ts-essentials": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-1.0.4.tgz", + "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==", + "dev": true, + "peer": true + }, + "node_modules/ts-generator": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ts-generator/-/ts-generator-0.1.1.tgz", + "integrity": "sha512-N+ahhZxTLYu1HNTQetwWcx3so8hcYbkKBHTr4b4/YgObFTIKkOSSsaa+nal12w8mfrJAyzJfETXawbNjSfP2gQ==", + "dev": true, + "peer": true, + "dependencies": { + "@types/mkdirp": "^0.5.2", + "@types/prettier": "^2.1.1", + "@types/resolve": "^0.0.8", + "chalk": "^2.4.1", + "glob": "^7.1.2", + "mkdirp": "^0.5.1", + "prettier": "^2.1.2", + "resolve": "^1.8.1", + "ts-essentials": "^1.0.0" + }, + "bin": { + "ts-generator": "dist/cli/run.js" + } + }, + "node_modules/ts-generator/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ts-generator/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ts-generator/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ts-generator/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true, + "peer": true + }, + "node_modules/ts-generator/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ts-generator/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ts-generator/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ts-node": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", + "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "0.7.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.0", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsort": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", + "dev": true + }, + "node_modules/tweetnacl-util": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==", + "dev": true + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typechain": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typechain/-/typechain-5.2.0.tgz", + "integrity": "sha512-0INirvQ+P+MwJOeMct+WLkUE4zov06QxC96D+i3uGFEHoiSkZN70MKDQsaj8zkL86wQwByJReI2e7fOUwECFuw==", + "dev": true, + "dependencies": { + "@types/prettier": "^2.1.1", + "command-line-args": "^4.0.7", + "debug": "^4.1.1", + "fs-extra": "^7.0.0", + "glob": "^7.1.6", + "js-sha3": "^0.8.0", + "lodash": "^4.17.15", + "mkdirp": "^1.0.4", + "prettier": "^2.1.2", + "ts-essentials": "^7.0.1" + }, + "bin": { + "typechain": "dist/cli/cli.js" + }, + "peerDependencies": { + "typescript": ">=4.1.0" + } + }, + "node_modules/typechain/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/typechain/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/typechain/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/typechain/node_modules/ts-essentials": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", + "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", + "dev": true, + "peerDependencies": { + "typescript": ">=3.7.0" + } + }, + "node_modules/typechain/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", + "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=", + "dev": true + }, + "node_modules/uglify-js": { + "version": "3.15.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz", + "integrity": "sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "dev": true + }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-4.16.0.tgz", + "integrity": "sha512-tkZSECUYi+/T1i4u+4+lwZmQgLXd4BLGlrc7KZPcLIW7Jpq99+Xpc30ONv7nS6F5UNOxp/HBZSSL9MafUrvJbw==", + "dev": true, + "engines": { + "node": ">=12.18" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "peer": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/url-set-query": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", + "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=", + "dev": true + }, + "node_modules/url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true, + "peer": true + }, + "node_modules/utf-8-validate": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", + "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", + "devOptional": true, + "hasInstallScript": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, + "node_modules/utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "node_modules/util": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", + "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "safe-buffer": "^5.1.2", + "which-typed-array": "^1.1.2" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", + "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "peer": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", + "dev": true + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/web3": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", + "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "web3-bzz": "1.5.3", + "web3-core": "1.5.3", + "web3-eth": "1.5.3", + "web3-eth-personal": "1.5.3", + "web3-net": "1.5.3", + "web3-shh": "1.5.3", + "web3-utils": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-bzz": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.5.3.tgz", + "integrity": "sha512-SlIkAqG0eS6cBS9Q2eBOTI1XFzqh83RqGJWnyrNZMDxUwsTVHL+zNnaPShVPvrWQA1Ub5b0bx1Kc5+qJVxsTJg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/node": "^12.12.6", + "got": "9.6.0", + "swarm-js": "^0.1.40" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-bzz/node_modules/@types/node": { + "version": "12.20.47", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", + "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==", + "dev": true + }, + "node_modules/web3-core": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.3.tgz", + "integrity": "sha512-ACTbu8COCu+0eUNmd9pG7Q9EVsNkAg2w3Y7SqhDr+zjTgbSHZV01jXKlapm9z+G3AN/BziV3zGwudClJ4u4xXQ==", + "dev": true, + "dependencies": { + "@types/bn.js": "^4.11.5", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-core-requestmanager": "1.5.3", + "web3-utils": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-helpers": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.3.tgz", + "integrity": "sha512-Ip1IjB3S8vN7Kf1PPjK41U5gskmMk6IJQlxIVuS8/1U7n/o0jC8krqtpRwiMfAgYyw3TXwBFtxSRTvJtnLyXZw==", + "dev": true, + "dependencies": { + "web3-eth-iban": "1.5.3", + "web3-utils": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-helpers/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/web3-core-helpers/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-method": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.3.tgz", + "integrity": "sha512-8wJrwQ2qD9ibWieF9oHXwrJsUGrv3XAtEkNeyvyNMpktNTIjxJ2jaFGQUuLiyUrMubD18XXgLk4JS6PJU4Loeg==", + "dev": true, + "dependencies": { + "@ethereumjs/common": "^2.4.0", + "@ethersproject/transactions": "^5.0.0-beta.135", + "web3-core-helpers": "1.5.3", + "web3-core-promievent": "1.5.3", + "web3-core-subscriptions": "1.5.3", + "web3-utils": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-method/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/web3-core-method/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-promievent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.3.tgz", + "integrity": "sha512-CFfgqvk3Vk6PIAxtLLuX+pOMozxkKCY+/GdGr7weMh033mDXEPvwyVjoSRO1PqIKj668/hMGQsVoIgbyxkJ9Mg==", + "dev": true, + "dependencies": { + "eventemitter3": "4.0.4" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-requestmanager": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.3.tgz", + "integrity": "sha512-9k/Bze2rs8ONix5IZR+hYdMNQv+ark2Ek2kVcrFgWO+LdLgZui/rn8FikPunjE+ub7x7pJaKCgVRbYFXjo3ZWg==", + "dev": true, + "dependencies": { + "util": "^0.12.0", + "web3-core-helpers": "1.5.3", + "web3-providers-http": "1.5.3", + "web3-providers-ipc": "1.5.3", + "web3-providers-ws": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core-subscriptions": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.3.tgz", + "integrity": "sha512-L2m9vG1iRN6thvmv/HQwO2YLhOQlmZU8dpLG6GSo9FBN14Uch868Swk0dYVr3rFSYjZ/GETevSXU+O+vhCummA==", + "dev": true, + "dependencies": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-core/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/web3-core/node_modules/@types/node": { + "version": "12.20.47", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", + "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==", + "dev": true + }, + "node_modules/web3-core/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/web3-core/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.5.3.tgz", + "integrity": "sha512-saFurA1L23Bd7MEf7cBli6/jRdMhD4X/NaMiO2mdMMCXlPujoudlIJf+VWpRWJpsbDFdu7XJ2WHkmBYT5R3p1Q==", + "dev": true, + "dependencies": { + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-core-subscriptions": "1.5.3", + "web3-eth-abi": "1.5.3", + "web3-eth-accounts": "1.5.3", + "web3-eth-contract": "1.5.3", + "web3-eth-ens": "1.5.3", + "web3-eth-iban": "1.5.3", + "web3-eth-personal": "1.5.3", + "web3-net": "1.5.3", + "web3-utils": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-abi": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.3.tgz", + "integrity": "sha512-i/qhuFsoNrnV130CSRYX/z4SlCfSQ4mHntti5yTmmQpt70xZKYZ57BsU0R29ueSQ9/P+aQrL2t2rqkQkAloUxg==", + "dev": true, + "dependencies": { + "@ethersproject/abi": "5.0.7", + "web3-utils": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-abi/node_modules/@ethersproject/abi": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", + "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", + "dev": true, + "dependencies": { + "@ethersproject/address": "^5.0.4", + "@ethersproject/bignumber": "^5.0.7", + "@ethersproject/bytes": "^5.0.4", + "@ethersproject/constants": "^5.0.4", + "@ethersproject/hash": "^5.0.4", + "@ethersproject/keccak256": "^5.0.3", + "@ethersproject/logger": "^5.0.5", + "@ethersproject/properties": "^5.0.3", + "@ethersproject/strings": "^5.0.4" + } + }, + "node_modules/web3-eth-abi/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/web3-eth-abi/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-accounts": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.5.3.tgz", + "integrity": "sha512-pdGhXgeBaEJENMvRT6W9cmji3Zz/46ugFSvmnLLw79qi5EH7XJhKISNVb41eWCrs4am5GhI67GLx5d2s2a72iw==", + "dev": true, + "dependencies": { + "@ethereumjs/common": "^2.3.0", + "@ethereumjs/tx": "^3.2.1", + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.8", + "ethereumjs-util": "^7.0.10", + "scrypt-js": "^3.0.1", + "uuid": "3.3.2", + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-utils": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-accounts/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/web3-eth-accounts/node_modules/uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/web3-eth-accounts/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-contract": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.5.3.tgz", + "integrity": "sha512-Gdlt1L6cdHe83k7SdV6xhqCytVtOZkjD0kY/15x441AuuJ4JLubCHuqu69k2Dr3tWifHYVys/vG8QE/W16syGg==", + "dev": true, + "dependencies": { + "@types/bn.js": "^4.11.5", + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-core-promievent": "1.5.3", + "web3-core-subscriptions": "1.5.3", + "web3-eth-abi": "1.5.3", + "web3-utils": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-contract/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/web3-eth-contract/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/web3-eth-contract/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-ens": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.5.3.tgz", + "integrity": "sha512-QmGFFtTGElg0E+3xfCIFhiUF+1imFi9eg/cdsRMUZU4F1+MZCC/ee+IAelYLfNTGsEslCqfAusliKOT9DdGGnw==", + "dev": true, + "dependencies": { + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-promievent": "1.5.3", + "web3-eth-abi": "1.5.3", + "web3-eth-contract": "1.5.3", + "web3-utils": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-ens/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/web3-eth-ens/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-iban": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.3.tgz", + "integrity": "sha512-vMzmGqolYZvRHwP9P4Nf6G8uYM5aTLlQu2a34vz78p0KlDC+eV1th3+90Qeaupa28EG7OO0IT1F0BejiIauOPw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "web3-utils": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-iban/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/web3-eth-iban/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-personal": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.5.3.tgz", + "integrity": "sha512-JzibJafR7ak/Icas8uvos3BmUNrZw1vShuNR5Cxjo+vteOC8XMqz1Vr7RH65B4bmlfb3bm9xLxetUHO894+Sew==", + "dev": true, + "dependencies": { + "@types/node": "^12.12.6", + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-net": "1.5.3", + "web3-utils": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth-personal/node_modules/@types/node": { + "version": "12.20.47", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", + "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==", + "dev": true + }, + "node_modules/web3-eth-personal/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/web3-eth-personal/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-eth/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/web3-eth/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-net": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.5.3.tgz", + "integrity": "sha512-0W/xHIPvgVXPSdLu0iZYnpcrgNnhzHMC888uMlGP5+qMCt8VuflUZHy7tYXae9Mzsg1kxaJAS5lHVNyeNw4CoQ==", + "dev": true, + "dependencies": { + "web3-core": "1.5.3", + "web3-core-method": "1.5.3", + "web3-utils": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-net/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/web3-net/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-providers-http": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.3.tgz", + "integrity": "sha512-5DpUyWGHtDAr2RYmBu34Fu+4gJuBAuNx2POeiJIooUtJ+Mu6pIx4XkONWH6V+Ez87tZAVAsFOkJRTYuzMr3rPw==", + "dev": true, + "dependencies": { + "web3-core-helpers": "1.5.3", + "xhr2-cookies": "1.1.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-providers-ipc": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.3.tgz", + "integrity": "sha512-JmeAptugVpmXI39LGxUSAymx0NOFdgpuI1hGQfIhbEAcd4sv7fhfd5D+ZU4oLHbRI8IFr4qfGU0uhR8BXhDzlg==", + "dev": true, + "dependencies": { + "oboe": "2.1.5", + "web3-core-helpers": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-providers-ws": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.3.tgz", + "integrity": "sha512-6DhTw4Q7nm5CFYEUHOJM0gAb3xFx+9gWpVveg3YxJ/ybR1BUvEWo3bLgIJJtX56cYX0WyY6DS35a7f0LOI1kVg==", + "dev": true, + "dependencies": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.5.3", + "websocket": "^1.0.32" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-shh": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.5.3.tgz", + "integrity": "sha512-COfEXfsqoV/BkcsNLRxQqnWc1Teb8/9GxdGag5GtPC5gQC/vsN+7hYVJUwNxY9LtJPKYTij2DHHnx6UkITng+Q==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "web3-core": "1.5.3", + "web3-core-method": "1.5.3", + "web3-core-subscriptions": "1.5.3", + "web3-net": "1.5.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3-utils": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.1.tgz", + "integrity": "sha512-fef0EsqMGJUgiHPdX+KN9okVWshbIumyJPmR+btnD1HgvoXijKEkuKBv0OmUqjbeqmLKP2/N9EiXKJel5+E1Dw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/web3/node_modules/eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "node_modules/web3/node_modules/web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true, + "peer": true + }, + "node_modules/websocket": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", + "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", + "dev": true, + "dependencies": { + "bufferutil": "^4.0.1", + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "typedarray-to-buffer": "^3.1.5", + "utf-8-validate": "^5.0.2", + "yaeti": "^0.0.6" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/websocket/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, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/websocket/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "peer": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true, + "peer": true + }, + "node_modules/which-typed-array": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", + "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.18.5", + "foreach": "^2.0.5", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/window-size": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", + "dev": true, + "peer": true, + "bin": { + "window-size": "cli.js" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "node_modules/workerpool": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", + "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "dev": true, + "dependencies": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/xhr-request": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", + "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", + "dev": true, + "dependencies": { + "buffer-to-arraybuffer": "^0.0.5", + "object-assign": "^4.1.1", + "query-string": "^5.0.1", + "simple-get": "^2.7.0", + "timed-out": "^4.0.1", + "url-set-query": "^1.0.0", + "xhr": "^2.0.4" + } + }, + "node_modules/xhr-request-promise": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", + "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", + "dev": true, + "dependencies": { + "xhr-request": "^1.1.0" + } + }, + "node_modules/xhr2-cookies": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", + "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", + "dev": true, + "dependencies": { + "cookiejar": "^2.1.1" + } + }, + "node_modules/xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=", + "dev": true, + "engines": { + "node": ">=0.4.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, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", + "dev": true, + "engines": { + "node": ">=0.10.32" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@abacus-network/apps": { + "version": "file:../abacus-monorepo/solidity/apps", + "requires": { + "@abacus-network/core": "file:../core", + "@abacus-network/hardhat": "^0.0.5", + "@abacus-network/utils": "^0.0.5", + "@nomiclabs/hardhat-ethers": "^2.0.1", + "@nomiclabs/hardhat-waffle": "^2.0.1", + "@openzeppelin/contracts": "~3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0", + "@typechain/ethers-v5": "~7.0.0", + "@typechain/hardhat": "^2.0.1", + "@types/mocha": "^9.1.0", + "chai": "^4.3.0", + "eslint": "^7.20.0", + "ethereum-waffle": "^3.2.2", + "ethers": "^5.4.4", + "hardhat": "^2.8.3", + "hardhat-gas-reporter": "^1.0.7", + "prettier": "^2.2.1", + "prettier-plugin-solidity": "^1.0.0-beta.5", + "solhint": "^3.3.2", + "solhint-plugin-prettier": "^0.0.5", + "solidity-coverage": "^0.7.14", + "ts-node": "^10.1.0", + "typechain": "^5.0.0", + "typescript": "^4.3.5" + } + }, + "@abacus-network/core": { + "version": "file:../abacus-monorepo/solidity/core", + "requires": { + "@abacus-network/utils": "^0.0.5", + "@nomiclabs/hardhat-ethers": "^2.0.1", + "@nomiclabs/hardhat-waffle": "^2.0.1", + "@openzeppelin/contracts": "^3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0", + "@typechain/ethers-v5": "~7.0.0", + "@typechain/hardhat": "^2.0.1", + "chai": "^4.3.0", + "eslint": "^7.20.0", + "ethereum-waffle": "^3.2.2", + "ethers": "^5.4.4", + "hardhat": "^2.8.3", + "hardhat-gas-reporter": "^1.0.7", + "prettier": "^2.2.1", + "prettier-plugin-solidity": "^1.0.0-beta.5", + "solhint": "^3.3.2", + "solhint-plugin-prettier": "^0.0.5", + "solidity-coverage": "^0.7.14", + "ts-generator": "^0.1.1", + "ts-node": "^10.1.0", + "typechain": "^5.0.0" + } + }, + "@abacus-network/hardhat": { + "version": "file:../abacus-monorepo/typescript/hardhat", + "requires": { + "@abacus-network/core": "file:../../solidity/core", + "@abacus-network/utils": "^0.0.5", + "@nomiclabs/hardhat-ethers": "^2.0.5", + "@nomiclabs/hardhat-waffle": "^2.0.2", + "@typechain/hardhat": "^2.0.1", + "ethereum-waffle": "^3.2.2", + "ethers": "^5.4.7", + "hardhat": "^2.8.4", + "prettier": "^2.3.1", + "ts-node": "^10.1.0", + "typechain": "^5.0.0", + "typescript": "^4.3.2" + } + }, + "@abacus-network/sdk": { + "version": "file:../abacus-monorepo/typescript/sdk", + "requires": { + "@abacus-network/apps": "file:../../solidity/apps", + "@abacus-network/core": "file:../../solidity/core", + "@abacus-network/utils": "file:../utils", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "@types/node": "^16.9.1", + "@typescript-eslint/eslint-plugin": "^4.33.0", + "@typescript-eslint/parser": "^4.33.0", + "celo-ethers-provider": "0.0.0", + "dotenv": "^10.0.0", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "ethers": "^5.4.7", + "fs": "0.0.1-security", + "prettier": "^2.4.1", + "typescript": "^4.4.3" + } + }, + "@abacus-network/utils": { + "version": "file:../abacus-monorepo/typescript/utils", + "requires": { + "chai": "^4.3.0", + "ethers": "^5.4.7" + } + }, + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", + "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true + }, + "@cspotcode/source-map-support": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", + "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "dev": true, + "requires": { + "@cspotcode/source-map-consumer": "0.8.0" + } + }, + "@ensdomains/ens": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", + "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", + "dev": true, + "peer": true, + "requires": { + "bluebird": "^3.5.2", + "eth-ens-namehash": "^2.0.8", + "solc": "^0.4.20", + "testrpc": "0.0.1", + "web3-utils": "^1.0.0-beta.31" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "peer": true + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true, + "peer": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "peer": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "peer": true + }, + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true, + "peer": true + }, + "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": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "peer": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", + "dev": true, + "peer": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "peer": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true + }, + "solc": { + "version": "0.4.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", + "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", + "dev": true, + "peer": true, + "requires": { + "fs-extra": "^0.30.0", + "memorystream": "^0.3.1", + "require-from-string": "^1.1.0", + "semver": "^5.3.0", + "yargs": "^4.7.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "peer": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "peer": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "peer": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true, + "peer": true + }, + "yargs": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", + "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", + "dev": true, + "peer": true, + "requires": { + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "lodash.assign": "^4.0.3", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.1", + "which-module": "^1.0.0", + "window-size": "^0.2.0", + "y18n": "^3.2.1", + "yargs-parser": "^2.4.1" + } + }, + "yargs-parser": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", + "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", + "dev": true, + "peer": true, + "requires": { + "camelcase": "^3.0.0", + "lodash.assign": "^4.0.6" + } + } + } + }, + "@ensdomains/resolver": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", + "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", + "dev": true, + "peer": true + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + } + }, + "@ethereum-waffle/chai": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-3.4.4.tgz", + "integrity": "sha512-/K8czydBtXXkcM9X6q29EqEkc5dN3oYenyH2a9hF7rGAApAJUpH8QBtojxOY/xQ2up5W332jqgxwp0yPiYug1g==", + "dev": true, + "peer": true, + "requires": { + "@ethereum-waffle/provider": "^3.4.4", + "ethers": "^5.5.2" + } + }, + "@ethereum-waffle/compiler": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-3.4.4.tgz", + "integrity": "sha512-RUK3axJ8IkD5xpWjWoJgyHclOeEzDLQFga6gKpeGxiS/zBu+HB0W2FvsrrLalTFIaPw/CGYACRBSIxqiCqwqTQ==", + "dev": true, + "peer": true, + "requires": { + "@resolver-engine/imports": "^0.3.3", + "@resolver-engine/imports-fs": "^0.3.3", + "@typechain/ethers-v5": "^2.0.0", + "@types/mkdirp": "^0.5.2", + "@types/node-fetch": "^2.5.5", + "ethers": "^5.0.1", + "mkdirp": "^0.5.1", + "node-fetch": "^2.6.1", + "solc": "^0.6.3", + "ts-generator": "^0.1.1", + "typechain": "^3.0.0" + }, + "dependencies": { + "@typechain/ethers-v5": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-2.0.0.tgz", + "integrity": "sha512-0xdCkyGOzdqh4h5JSf+zoWx85IusEjDcPIwNEHP8mrWSnCae4rvrqB+/gtpdNfX7zjlFlZiMeePn2r63EI3Lrw==", + "dev": true, + "peer": true, + "requires": { + "ethers": "^5.0.2" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "ts-essentials": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-6.0.7.tgz", + "integrity": "sha512-2E4HIIj4tQJlIHuATRHayv0EfMGK3ris/GRk1E3CFnsZzeNV+hUmelbaTZHLtXaZppM5oLhHRtO04gINC4Jusw==", + "dev": true, + "peer": true, + "requires": {} + }, + "typechain": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/typechain/-/typechain-3.0.0.tgz", + "integrity": "sha512-ft4KVmiN3zH4JUFu2WJBrwfHeDf772Tt2d8bssDTo/YcckKW2D+OwFrHXRC6hJvO3mHjFQTihoMV6fJOi0Hngg==", + "dev": true, + "peer": true, + "requires": { + "command-line-args": "^4.0.7", + "debug": "^4.1.1", + "fs-extra": "^7.0.0", + "js-sha3": "^0.8.0", + "lodash": "^4.17.15", + "ts-essentials": "^6.0.3", + "ts-generator": "^0.1.1" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "peer": true + } + } + }, + "@ethereum-waffle/ens": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-3.4.4.tgz", + "integrity": "sha512-0m4NdwWxliy3heBYva1Wr4WbJKLnwXizmy5FfSSr5PMbjI7SIGCdCB59U7/ZzY773/hY3bLnzLwvG5mggVjJWg==", + "dev": true, + "peer": true, + "requires": { + "@ensdomains/ens": "^0.4.4", + "@ensdomains/resolver": "^0.2.4", + "ethers": "^5.5.2" + } + }, + "@ethereum-waffle/mock-contract": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-3.4.4.tgz", + "integrity": "sha512-Mp0iB2YNWYGUV+VMl5tjPsaXKbKo8MDH9wSJ702l9EBjdxFf/vBvnMBAC1Fub1lLtmD0JHtp1pq+mWzg/xlLnA==", + "dev": true, + "peer": true, + "requires": { + "@ethersproject/abi": "^5.5.0", + "ethers": "^5.5.2" + } + }, + "@ethereum-waffle/provider": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-3.4.4.tgz", + "integrity": "sha512-GK8oKJAM8+PKy2nK08yDgl4A80mFuI8zBkE0C9GqTRYQqvuxIyXoLmJ5NZU9lIwyWVv5/KsoA11BgAv2jXE82g==", + "dev": true, + "peer": true, + "requires": { + "@ethereum-waffle/ens": "^3.4.4", + "ethers": "^5.5.2", + "ganache-core": "^2.13.2", + "patch-package": "^6.2.2", + "postinstall-postinstall": "^2.1.0" + } + }, + "@ethereumjs/block": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.2.tgz", + "integrity": "sha512-mOqYWwMlAZpYUEOEqt7EfMFuVL2eyLqWWIzcf4odn6QgXY8jBI2NhVuJncrMCKeMZrsJAe7/auaRRB6YcdH+Qw==", + "dev": true, + "requires": { + "@ethereumjs/common": "^2.6.3", + "@ethereumjs/tx": "^3.5.1", + "ethereumjs-util": "^7.1.4", + "merkle-patricia-tree": "^4.2.4" + } + }, + "@ethereumjs/blockchain": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.2.tgz", + "integrity": "sha512-Jz26iJmmsQtngerW6r5BDFaew/f2mObLrRZo3rskLOx1lmtMZ8+TX/vJexmivrnWgmAsTdNWhlKUYY4thPhPig==", + "dev": true, + "requires": { + "@ethereumjs/block": "^3.6.2", + "@ethereumjs/common": "^2.6.3", + "@ethereumjs/ethash": "^1.1.0", + "debug": "^4.3.3", + "ethereumjs-util": "^7.1.4", + "level-mem": "^5.0.1", + "lru-cache": "^5.1.1", + "semaphore-async-await": "^1.5.1" + } + }, + "@ethereumjs/common": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.3.tgz", + "integrity": "sha512-mQwPucDL7FDYIg9XQ8DL31CnIYZwGhU5hyOO5E+BMmT71G0+RHvIT5rIkLBirJEKxV6+Rcf9aEIY0kXInxUWpQ==", + "dev": true, + "requires": { + "crc-32": "^1.2.0", + "ethereumjs-util": "^7.1.4" + } + }, + "@ethereumjs/ethash": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", + "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", + "dev": true, + "requires": { + "@ethereumjs/block": "^3.5.0", + "@types/levelup": "^4.3.0", + "buffer-xor": "^2.0.1", + "ethereumjs-util": "^7.1.1", + "miller-rabin": "^4.0.0" + } + }, + "@ethereumjs/tx": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.1.tgz", + "integrity": "sha512-xzDrTiu4sqZXUcaBxJ4n4W5FrppwxLxZB4ZDGVLtxSQR4lVuOnFR6RcUHdg1mpUhAPVrmnzLJpxaeXnPxIyhWA==", + "dev": true, + "requires": { + "@ethereumjs/common": "^2.6.3", + "ethereumjs-util": "^7.1.4" + } + }, + "@ethereumjs/vm": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.8.0.tgz", + "integrity": "sha512-mn2G2SX79QY4ckVvZUfxlNUpzwT2AEIkvgJI8aHoQaNYEHhH8rmdVDIaVVgz6//PjK52BZsK23afz+WvSR0Qqw==", + "dev": true, + "requires": { + "@ethereumjs/block": "^3.6.2", + "@ethereumjs/blockchain": "^5.5.2", + "@ethereumjs/common": "^2.6.3", + "@ethereumjs/tx": "^3.5.1", + "async-eventemitter": "^0.2.4", + "core-js-pure": "^3.0.1", + "debug": "^4.3.3", + "ethereumjs-util": "^7.1.4", + "functional-red-black-tree": "^1.0.1", + "mcl-wasm": "^0.7.1", + "merkle-patricia-tree": "^4.2.4", + "rustbn.js": "~0.2.0" + } + }, + "@ethersproject/abi": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.0.tgz", + "integrity": "sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==", + "requires": { + "@ethersproject/address": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/constants": "^5.6.0", + "@ethersproject/hash": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.0" + } + }, + "@ethersproject/abstract-provider": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz", + "integrity": "sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==", + "requires": { + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/networks": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/transactions": "^5.6.0", + "@ethersproject/web": "^5.6.0" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.0.tgz", + "integrity": "sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==", + "requires": { + "@ethersproject/abstract-provider": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0" + } + }, + "@ethersproject/address": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.0.tgz", + "integrity": "sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==", + "requires": { + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/rlp": "^5.6.0" + } + }, + "@ethersproject/base64": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.0.tgz", + "integrity": "sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==", + "requires": { + "@ethersproject/bytes": "^5.6.0" + } + }, + "@ethersproject/basex": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.0.tgz", + "integrity": "sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==", + "requires": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/properties": "^5.6.0" + } + }, + "@ethersproject/bignumber": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.0.tgz", + "integrity": "sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==", + "requires": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "bn.js": "^4.11.9" + } + }, + "@ethersproject/bytes": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", + "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", + "requires": { + "@ethersproject/logger": "^5.6.0" + } + }, + "@ethersproject/constants": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.0.tgz", + "integrity": "sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==", + "requires": { + "@ethersproject/bignumber": "^5.6.0" + } + }, + "@ethersproject/contracts": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.0.tgz", + "integrity": "sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==", + "requires": { + "@ethersproject/abi": "^5.6.0", + "@ethersproject/abstract-provider": "^5.6.0", + "@ethersproject/abstract-signer": "^5.6.0", + "@ethersproject/address": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/constants": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/transactions": "^5.6.0" + } + }, + "@ethersproject/hash": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.0.tgz", + "integrity": "sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==", + "requires": { + "@ethersproject/abstract-signer": "^5.6.0", + "@ethersproject/address": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.0" + } + }, + "@ethersproject/hdnode": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.0.tgz", + "integrity": "sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==", + "requires": { + "@ethersproject/abstract-signer": "^5.6.0", + "@ethersproject/basex": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/pbkdf2": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/sha2": "^5.6.0", + "@ethersproject/signing-key": "^5.6.0", + "@ethersproject/strings": "^5.6.0", + "@ethersproject/transactions": "^5.6.0", + "@ethersproject/wordlists": "^5.6.0" + } + }, + "@ethersproject/json-wallets": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.0.tgz", + "integrity": "sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==", + "requires": { + "@ethersproject/abstract-signer": "^5.6.0", + "@ethersproject/address": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/hdnode": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/pbkdf2": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.0", + "@ethersproject/strings": "^5.6.0", + "@ethersproject/transactions": "^5.6.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "@ethersproject/keccak256": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.0.tgz", + "integrity": "sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==", + "requires": { + "@ethersproject/bytes": "^5.6.0", + "js-sha3": "0.8.0" + } + }, + "@ethersproject/logger": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", + "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==" + }, + "@ethersproject/networks": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.1.tgz", + "integrity": "sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==", + "requires": { + "@ethersproject/logger": "^5.6.0" + } + }, + "@ethersproject/pbkdf2": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.0.tgz", + "integrity": "sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==", + "requires": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/sha2": "^5.6.0" + } + }, + "@ethersproject/properties": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", + "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", + "requires": { + "@ethersproject/logger": "^5.6.0" + } + }, + "@ethersproject/providers": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.2.tgz", + "integrity": "sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==", + "requires": { + "@ethersproject/abstract-provider": "^5.6.0", + "@ethersproject/abstract-signer": "^5.6.0", + "@ethersproject/address": "^5.6.0", + "@ethersproject/basex": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/constants": "^5.6.0", + "@ethersproject/hash": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/networks": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.0", + "@ethersproject/rlp": "^5.6.0", + "@ethersproject/sha2": "^5.6.0", + "@ethersproject/strings": "^5.6.0", + "@ethersproject/transactions": "^5.6.0", + "@ethersproject/web": "^5.6.0", + "bech32": "1.1.4", + "ws": "7.4.6" + } + }, + "@ethersproject/random": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.0.tgz", + "integrity": "sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==", + "requires": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0" + } + }, + "@ethersproject/rlp": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.0.tgz", + "integrity": "sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==", + "requires": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0" + } + }, + "@ethersproject/sha2": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.0.tgz", + "integrity": "sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==", + "requires": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "hash.js": "1.1.7" + } + }, + "@ethersproject/signing-key": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.0.tgz", + "integrity": "sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==", + "requires": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "@ethersproject/solidity": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.0.tgz", + "integrity": "sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==", + "requires": { + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/sha2": "^5.6.0", + "@ethersproject/strings": "^5.6.0" + } + }, + "@ethersproject/strings": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.0.tgz", + "integrity": "sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==", + "requires": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/constants": "^5.6.0", + "@ethersproject/logger": "^5.6.0" + } + }, + "@ethersproject/transactions": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.0.tgz", + "integrity": "sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==", + "requires": { + "@ethersproject/address": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/constants": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/rlp": "^5.6.0", + "@ethersproject/signing-key": "^5.6.0" + } + }, + "@ethersproject/units": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.0.tgz", + "integrity": "sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==", + "requires": { + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/constants": "^5.6.0", + "@ethersproject/logger": "^5.6.0" + } + }, + "@ethersproject/wallet": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.0.tgz", + "integrity": "sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==", + "requires": { + "@ethersproject/abstract-provider": "^5.6.0", + "@ethersproject/abstract-signer": "^5.6.0", + "@ethersproject/address": "^5.6.0", + "@ethersproject/bignumber": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/hash": "^5.6.0", + "@ethersproject/hdnode": "^5.6.0", + "@ethersproject/json-wallets": "^5.6.0", + "@ethersproject/keccak256": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/random": "^5.6.0", + "@ethersproject/signing-key": "^5.6.0", + "@ethersproject/transactions": "^5.6.0", + "@ethersproject/wordlists": "^5.6.0" + } + }, + "@ethersproject/web": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.0.tgz", + "integrity": "sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==", + "requires": { + "@ethersproject/base64": "^5.6.0", + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.0" + } + }, + "@ethersproject/wordlists": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.0.tgz", + "integrity": "sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==", + "requires": { + "@ethersproject/bytes": "^5.6.0", + "@ethersproject/hash": "^5.6.0", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/properties": "^5.6.0", + "@ethersproject/strings": "^5.6.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@metamask/eth-sig-util": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.0.tgz", + "integrity": "sha512-LczOjjxY4A7XYloxzyxJIHONELmUxVZncpOLoClpEcTiebiVdM46KRPYXGuULro9oNNR2xdVx3yoKiQjdfWmoA==", + "dev": true, + "requires": { + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^6.2.1", + "ethjs-util": "^0.1.6", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dev": true, + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "@noble/hashes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.0.0.tgz", + "integrity": "sha512-DZVbtY62kc3kkBtMHqwCOfXrT/hnoORy5BJ4+HU1IR59X0KWAOqsfzQPcUl/lQLlG7qXbe/fZ3r/emxtAl+sqg==", + "dev": true + }, + "@noble/secp256k1": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.5.5.tgz", + "integrity": "sha512-sZ1W6gQzYnu45wPrWx8D3kwI2/U29VYTx9OjbDAd7jwRItJ0cSTMPRL/C8AWZFn9kWFLQGqEXVEE86w4Z8LpIQ==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@nomiclabs/hardhat-ethers": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.5.tgz", + "integrity": "sha512-A2gZAGB6kUvLx+kzM92HKuUF33F1FSe90L0TmkXkT2Hh0OKRpvWZURUSU2nghD2yC4DzfEZ3DftfeHGvZ2JTUw==", + "dev": true, + "requires": {} + }, + "@nomiclabs/hardhat-waffle": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.3.tgz", + "integrity": "sha512-049PHSnI1CZq6+XTbrMbMv5NaL7cednTfPenx02k3cEh8wBMLa6ys++dBETJa6JjfwgA9nBhhHQ173LJv6k2Pg==", + "dev": true, + "requires": { + "@types/sinon-chai": "^3.2.3", + "@types/web3": "1.0.19" + } + }, + "@openzeppelin/contracts": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", + "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==", + "dev": true + }, + "@openzeppelin/contracts-upgradeable": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", + "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==", + "dev": true + }, + "@resolver-engine/core": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", + "integrity": "sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ==", + "dev": true, + "peer": true, + "requires": { + "debug": "^3.1.0", + "is-url": "^1.2.4", + "request": "^2.85.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@resolver-engine/fs": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.3.3.tgz", + "integrity": "sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ==", + "dev": true, + "peer": true, + "requires": { + "@resolver-engine/core": "^0.3.3", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@resolver-engine/imports": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.3.3.tgz", + "integrity": "sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q==", + "dev": true, + "peer": true, + "requires": { + "@resolver-engine/core": "^0.3.3", + "debug": "^3.1.0", + "hosted-git-info": "^2.6.0", + "path-browserify": "^1.0.0", + "url": "^0.11.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@resolver-engine/imports-fs": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz", + "integrity": "sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA==", + "dev": true, + "peer": true, + "requires": { + "@resolver-engine/fs": "^0.3.3", + "@resolver-engine/imports": "^0.3.3", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@scure/base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.0.0.tgz", + "integrity": "sha512-gIVaYhUsy+9s58m/ETjSJVKHhKTBMmcRb9cEV5/5dwvfDlfORjKrFsDeDHWRrm6RjcPvCLZFwGJjAjLj1gg4HA==", + "dev": true + }, + "@scure/bip32": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.0.1.tgz", + "integrity": "sha512-AU88KKTpQ+YpTLoicZ/qhFhRRIo96/tlb+8YmDDHR9yiKVjSsFZiefJO4wjS2PMTkz5/oIcw84uAq/8pleQURA==", + "dev": true, + "requires": { + "@noble/hashes": "~1.0.0", + "@noble/secp256k1": "~1.5.2", + "@scure/base": "~1.0.0" + } + }, + "@scure/bip39": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.0.0.tgz", + "integrity": "sha512-HrtcikLbd58PWOkl02k9V6nXWQyoa7A0+Ek9VF7z17DDk9XZAFUcIdqfh0jJXLypmizc5/8P6OxoUeKliiWv4w==", + "dev": true, + "requires": { + "@noble/hashes": "~1.0.0", + "@scure/base": "~1.0.0" + } + }, + "@sentry/core": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "dev": true, + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/hub": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "dev": true, + "requires": { + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/minimal": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "dev": true, + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/node": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "dev": true, + "requires": { + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" + } + }, + "@sentry/tracing": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "dev": true, + "requires": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sentry/types": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", + "dev": true + }, + "@sentry/utils": { + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "dev": true, + "requires": { + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@solidity-parser/parser": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.1.tgz", + "integrity": "sha512-eLjj2L6AuQjBB6s/ibwCAc0DwrR5Ge+ys+wgWo+bviU7fV2nTMQhU63CGaDKXg9iTmMxwhkyoggdIR7ZGRfMgw==", + "dev": true, + "requires": { + "antlr4ts": "^0.5.0-alpha.4" + } + }, + "@summa-tx/memview-sol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@summa-tx/memview-sol/-/memview-sol-2.0.1.tgz", + "integrity": "sha512-GuaXBYG6/aIjKae3UJSBS61J/IuK/NTuk2IJBpGxytkxN1p3ZdRNIp8HQAIOVoCKZQtvzdPaBWokzCk/LakA/Q==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@truffle/error": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.1.0.tgz", + "integrity": "sha512-RbUfp5VreNhsa2Q4YbBjz18rOQI909pG32bghl1hulO7IpvcqTS+C3Ge5cNbiWQ1WGzy1wIeKLW0tmQtHFB7qg==", + "dev": true + }, + "@truffle/interface-adapter": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.12.tgz", + "integrity": "sha512-Qrc5VARnvSILYqZNsAM0xsUHqGqphLXVdIvDnhUA1Xj1xyNz8iboTr8bXorMd+Uspw+PXmsW44BJ/Wioo/jL2A==", + "dev": true, + "requires": { + "bn.js": "^5.1.3", + "ethers": "^4.0.32", + "web3": "1.5.3" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "dev": true, + "requires": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + }, + "scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", + "dev": true + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", + "dev": true + } + } + }, + "@truffle/provider": { + "version": "0.2.50", + "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.50.tgz", + "integrity": "sha512-GCoyX8SncfgizXYJfordv5kiysQS7S1311D3ewciixaoQpTkbqC3s0wxwHlPxU7m5wJOCw2K8rQtL3oIFfeHwA==", + "dev": true, + "requires": { + "@truffle/error": "^0.1.0", + "@truffle/interface-adapter": "^0.5.12", + "web3": "1.5.3" + } + }, + "@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", + "dev": true + }, + "@typechain/ethers-v5": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-7.0.1.tgz", + "integrity": "sha512-mXEJ7LG0pOYO+MRPkHtbf30Ey9X2KAsU0wkeoVvjQIn7iAY6tB3k3s+82bbmJAUMyENbQ04RDOZit36CgSG6Gg==", + "dev": true, + "requires": {} + }, + "@typechain/hardhat": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-2.3.1.tgz", + "integrity": "sha512-BQV8OKQi0KAzLXCdsPO0pZBNQQ6ra8A2ucC26uFX/kquRBtJu1yEyWnVSmtr07b5hyRoJRpzUeINLnyqz4/MAw==", + "dev": true, + "requires": { + "fs-extra": "^9.1.0" + } + }, + "@types/abstract-leveldown": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", + "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==", + "dev": true + }, + "@types/bn.js": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", + "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/chai": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", + "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", + "dev": true + }, + "@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/level-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", + "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==", + "dev": true + }, + "@types/levelup": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", + "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", + "dev": true, + "requires": { + "@types/abstract-leveldown": "*", + "@types/level-errors": "*", + "@types/node": "*" + } + }, + "@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "@types/mkdirp": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", + "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*" + } + }, + "@types/mocha": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", + "integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==", + "dev": true + }, + "@types/node": { + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==", + "dev": true + }, + "@types/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*", + "form-data": "^3.0.0" + } + }, + "@types/pbkdf2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", + "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/prettier": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz", + "integrity": "sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/resolve": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", + "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*" + } + }, + "@types/secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/sinon": { + "version": "10.0.11", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.11.tgz", + "integrity": "sha512-dmZsHlBsKUtBpHriNjlK0ndlvEh8dcb9uV9Afsbt89QIyydpC7NcR+nWlAhASfy3GHnxTl4FX/aKE7XZUt/B4g==", + "dev": true, + "requires": { + "@types/sinonjs__fake-timers": "*" + } + }, + "@types/sinon-chai": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", + "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", + "dev": true, + "requires": { + "@types/chai": "*", + "@types/sinon": "*" + } + }, + "@types/sinonjs__fake-timers": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", + "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", + "dev": true + }, + "@types/underscore": { + "version": "1.11.4", + "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", + "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==", + "dev": true + }, + "@types/web3": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/@types/web3/-/web3-1.0.19.tgz", + "integrity": "sha512-fhZ9DyvDYDwHZUp5/STa9XW2re0E8GxoioYJ4pEUZ13YHpApSagixj7IAdoYH5uAK+UalGq6Ml8LYzmgRA/q+A==", + "dev": true, + "requires": { + "@types/bn.js": "*", + "@types/underscore": "*" + } + }, + "@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true, + "peer": true + }, + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "requires": { + "event-target-shim": "^5.0.0" + } + }, + "abstract-leveldown": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", + "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "dev": true + }, + "aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "optional": true + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + } + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "antlr4": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.7.1.tgz", + "integrity": "sha512-haHyTW7Y9joE5MVs37P2lNYfU2RWBLfcRDD8OWldcdZm5TiCE91B5Xl1oWSwiDUSd4rlExpt2pu1fksYQjRBYQ==", + "dev": true + }, + "antlr4ts": { + "version": "0.5.0-alpha.4", + "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", + "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", + "dev": true + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "dev": true, + "requires": { + "typical": "^2.6.1" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "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 + }, + "ast-parents": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/ast-parents/-/ast-parents-0.0.1.tgz", + "integrity": "sha1-UI/Q8F0MSHddnszaLhdEIyYejdM=", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-eventemitter": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", + "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", + "dev": true, + "requires": { + "async": "^2.4.0" + } + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "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 + }, + "base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + }, + "dependencies": { + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + } + } + }, + "bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + }, + "bignumber.js": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", + "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "dependencies": { + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + } + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + } + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + } + } + }, + "bs58": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", + "dev": true, + "requires": { + "base-x": "^3.0.2" + } + }, + "bs58check": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "dev": true, + "requires": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "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 + }, + "buffer-to-arraybuffer": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", + "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=", + "dev": true + }, + "buffer-xor": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", + "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "bufferutil": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", + "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", + "devOptional": true, + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chai": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", + "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "dev": true + }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "cids": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", + "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" + }, + "dependencies": { + "multicodec": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", + "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", + "dev": true, + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + } + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-is": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", + "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", + "dev": true + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "dev": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + } + }, + "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 + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true, + "peer": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "dev": true + }, + "command-line-args": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz", + "integrity": "sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==", + "dev": true, + "requires": { + "array-back": "^2.0.0", + "find-replace": "^1.0.3", + "typical": "^2.6.1" + } + }, + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "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, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-hash": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", + "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", + "dev": true, + "requires": { + "cids": "^0.7.1", + "multicodec": "^0.5.5", + "multihashes": "^0.4.15" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "cookiejar": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", + "dev": true + }, + "core-js-pure": { + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", + "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "dev": true + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "death": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", + "integrity": "sha1-AaqcQB7dknUFFEcLgmY5DGbGcxg=", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "requires": { + "type-detect": "^4.0.0" + } + }, + "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 + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "deferred-leveldown": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", + "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", + "dev": true, + "requires": { + "abstract-leveldown": "~6.2.1", + "inherits": "^2.0.3" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + } + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-port": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", + "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", + "dev": true, + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", + "dev": true + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "emoji-regex": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.1.0.tgz", + "integrity": "sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "encoding-down": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", + "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "dev": true, + "requires": { + "abstract-leveldown": "^6.2.1", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0" + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", + "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.59", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.59.tgz", + "integrity": "sha512-cOgyhW0tIJyQY1Kfw6Kr0viu9ZlUctVchRMZ7R0HiH3dxTSp5zJDLecwxUqPUrGKMsgBI1wd1FL+d9Jxfi4cLw==", + "dev": true, + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", + "dev": true, + "requires": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.2.0" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "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" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "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 + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "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, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eth-ens-namehash": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", + "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", + "dev": true, + "requires": { + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + }, + "dependencies": { + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + } + } + }, + "eth-gas-reporter": { + "version": "0.2.25", + "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.25.tgz", + "integrity": "sha512-1fRgyE4xUB8SoqLgN3eDfpDfwEfRxh2Sz1b7wzFbyQA+9TekMmvSjjoRu9SKcSVyK+vLkLIsVbJDsTWjw195OQ==", + "dev": true, + "requires": { + "@ethersproject/abi": "^5.0.0-beta.146", + "@solidity-parser/parser": "^0.14.0", + "cli-table3": "^0.5.0", + "colors": "1.4.0", + "ethereum-cryptography": "^1.0.3", + "ethers": "^4.0.40", + "fs-readdir-recursive": "^1.1.0", + "lodash": "^4.17.14", + "markdown-table": "^1.1.3", + "mocha": "^7.1.1", + "req-cwd": "^2.0.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "sha1": "^1.1.1", + "sync-request": "^6.0.0" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true + }, + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "ethereum-cryptography": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.0.3.tgz", + "integrity": "sha512-NQLTW0x0CosoVb/n79x/TRHtfvS3hgNUPTUSCu0vM+9k6IIhHFFrAOJReneexjZsoZxMjJHnJn4lrE8EbnSyqQ==", + "dev": true, + "requires": { + "@noble/hashes": "1.0.0", + "@noble/secp256k1": "1.5.5", + "@scure/bip32": "1.0.1", + "@scure/bip39": "1.0.0" + } + }, + "ethers": { + "version": "4.0.49", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", + "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", + "dev": true, + "requires": { + "aes-js": "3.0.0", + "bn.js": "^4.11.9", + "elliptic": "6.5.4", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "flat": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "dev": true, + "requires": { + "is-buffer": "~2.0.3" + } + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mocha": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", + "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", + "dev": true, + "requires": { + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "chokidar": "3.3.0", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "3.0.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.5", + "ms": "2.1.1", + "node-environment-flags": "1.0.6", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "requires": { + "picomatch": "^2.0.4" + } + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "requires": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + } + } + } + }, + "eth-lib": { + "version": "0.1.29", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", + "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "nano-json-stream-parser": "^0.1.2", + "servify": "^0.1.12", + "ws": "^3.0.0", + "xhr-request-promise": "^0.1.2" + }, + "dependencies": { + "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 + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + } + } + }, + "ethereum-bloom-filters": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", + "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", + "dev": true, + "requires": { + "js-sha3": "^0.8.0" + } + }, + "ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "dev": true, + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "ethereum-waffle": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-3.4.4.tgz", + "integrity": "sha512-PA9+jCjw4WC3Oc5ocSMBj5sXvueWQeAbvCA+hUlb6oFgwwKyq5ka3bWQ7QZcjzIX+TdFkxP4IbFmoY2D8Dkj9Q==", + "dev": true, + "peer": true, + "requires": { + "@ethereum-waffle/chai": "^3.4.4", + "@ethereum-waffle/compiler": "^3.4.4", + "@ethereum-waffle/mock-contract": "^3.4.4", + "@ethereum-waffle/provider": "^3.4.4", + "ethers": "^5.0.1" + } + }, + "ethereumjs-abi": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", + "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", + "dev": true, + "requires": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "dev": true, + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "ethereumjs-util": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz", + "integrity": "sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A==", + "dev": true, + "requires": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + } + } + }, + "ethers": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.2.tgz", + "integrity": "sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==", + "requires": { + "@ethersproject/abi": "5.6.0", + "@ethersproject/abstract-provider": "5.6.0", + "@ethersproject/abstract-signer": "5.6.0", + "@ethersproject/address": "5.6.0", + "@ethersproject/base64": "5.6.0", + "@ethersproject/basex": "5.6.0", + "@ethersproject/bignumber": "5.6.0", + "@ethersproject/bytes": "5.6.1", + "@ethersproject/constants": "5.6.0", + "@ethersproject/contracts": "5.6.0", + "@ethersproject/hash": "5.6.0", + "@ethersproject/hdnode": "5.6.0", + "@ethersproject/json-wallets": "5.6.0", + "@ethersproject/keccak256": "5.6.0", + "@ethersproject/logger": "5.6.0", + "@ethersproject/networks": "5.6.1", + "@ethersproject/pbkdf2": "5.6.0", + "@ethersproject/properties": "5.6.0", + "@ethersproject/providers": "5.6.2", + "@ethersproject/random": "5.6.0", + "@ethersproject/rlp": "5.6.0", + "@ethersproject/sha2": "5.6.0", + "@ethersproject/signing-key": "5.6.0", + "@ethersproject/solidity": "5.6.0", + "@ethersproject/strings": "5.6.0", + "@ethersproject/transactions": "5.6.0", + "@ethersproject/units": "5.6.0", + "@ethersproject/wallet": "5.6.0", + "@ethersproject/web": "5.6.0", + "@ethersproject/wordlists": "5.6.0" + } + }, + "ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", + "dev": true, + "requires": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", + "dev": true + } + } + }, + "ethjs-util": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", + "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", + "dev": true, + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } + }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "express": { + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", + "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.19.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.4.2", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.9.7", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.9.7", + "raw-body": "2.4.3", + "type-is": "~1.6.18" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", + "dev": true + }, + "raw-body": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", + "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + } + } + }, + "ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "dev": true, + "requires": { + "type": "^2.5.0" + }, + "dependencies": { + "type": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", + "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + } + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + } + } + }, + "find-replace": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", + "integrity": "sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=", + "dev": true, + "requires": { + "array-back": "^1.0.4", + "test-value": "^2.1.0" + }, + "dependencies": { + "array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", + "dev": true, + "requires": { + "typical": "^2.6.0" + } + } + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dev": true, + "peer": true, + "requires": { + "micromatch": "^4.0.2" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "dev": true + }, + "follow-redirects": { + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "dev": true + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "peer": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fp-ts": { + "version": "1.19.3", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "dev": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "ganache-core": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/ganache-core/-/ganache-core-2.13.2.tgz", + "integrity": "sha512-tIF5cR+ANQz0+3pHWxHjIwHqFXcVo0Mb+kcsNhglNFALcYo49aQpnS9dqHartqPfMFjiHh/qFoD3mYK0d/qGgw==", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "3.0.0", + "async": "2.6.2", + "bip39": "2.5.0", + "cachedown": "1.0.0", + "clone": "2.1.2", + "debug": "3.2.6", + "encoding-down": "5.0.4", + "eth-sig-util": "3.0.0", + "ethereumjs-abi": "0.6.8", + "ethereumjs-account": "3.0.0", + "ethereumjs-block": "2.2.2", + "ethereumjs-common": "1.5.0", + "ethereumjs-tx": "2.1.2", + "ethereumjs-util": "6.2.1", + "ethereumjs-vm": "4.2.0", + "ethereumjs-wallet": "0.6.5", + "heap": "0.2.6", + "keccak": "3.0.1", + "level-sublevel": "6.6.4", + "levelup": "3.1.1", + "lodash": "4.17.20", + "lru-cache": "5.1.1", + "merkle-patricia-tree": "3.0.0", + "patch-package": "6.2.2", + "seedrandom": "3.0.1", + "source-map-support": "0.5.12", + "tmp": "0.1.0", + "web3": "1.2.11", + "web3-provider-engine": "14.2.1", + "websocket": "1.0.32" + }, + "dependencies": { + "@ethersproject/abi": { + "version": "5.0.0-beta.153", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/address": ">=5.0.0-beta.128", + "@ethersproject/bignumber": ">=5.0.0-beta.130", + "@ethersproject/bytes": ">=5.0.0-beta.129", + "@ethersproject/constants": ">=5.0.0-beta.128", + "@ethersproject/hash": ">=5.0.0-beta.128", + "@ethersproject/keccak256": ">=5.0.0-beta.127", + "@ethersproject/logger": ">=5.0.0-beta.129", + "@ethersproject/properties": ">=5.0.0-beta.131", + "@ethersproject/strings": ">=5.0.0-beta.130" + } + }, + "@ethersproject/abstract-provider": { + "version": "5.0.8", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/networks": "^5.0.7", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/transactions": "^5.0.9", + "@ethersproject/web": "^5.0.12" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.0.10", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/abstract-provider": "^5.0.8", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7" + } + }, + "@ethersproject/address": { + "version": "5.0.9", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/rlp": "^5.0.7" + } + }, + "@ethersproject/base64": { + "version": "5.0.7", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/bytes": "^5.0.9" + } + }, + "@ethersproject/bignumber": { + "version": "5.0.13", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "bn.js": "^4.4.0" + } + }, + "@ethersproject/bytes": { + "version": "5.0.9", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/logger": "^5.0.8" + } + }, + "@ethersproject/constants": { + "version": "5.0.8", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/bignumber": "^5.0.13" + } + }, + "@ethersproject/hash": { + "version": "5.0.10", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/abstract-signer": "^5.0.10", + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, + "@ethersproject/keccak256": { + "version": "5.0.7", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/bytes": "^5.0.9", + "js-sha3": "0.5.7" + } + }, + "@ethersproject/logger": { + "version": "5.0.8", + "dev": true, + "optional": true, + "peer": true + }, + "@ethersproject/networks": { + "version": "5.0.7", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/logger": "^5.0.8" + } + }, + "@ethersproject/properties": { + "version": "5.0.7", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/logger": "^5.0.8" + } + }, + "@ethersproject/rlp": { + "version": "5.0.7", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8" + } + }, + "@ethersproject/signing-key": { + "version": "5.0.8", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "elliptic": "6.5.3" + } + }, + "@ethersproject/strings": { + "version": "5.0.8", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/logger": "^5.0.8" + } + }, + "@ethersproject/transactions": { + "version": "5.0.9", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/address": "^5.0.9", + "@ethersproject/bignumber": "^5.0.13", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/constants": "^5.0.8", + "@ethersproject/keccak256": "^5.0.7", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/rlp": "^5.0.7", + "@ethersproject/signing-key": "^5.0.8" + } + }, + "@ethersproject/web": { + "version": "5.0.12", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/base64": "^5.0.7", + "@ethersproject/bytes": "^5.0.9", + "@ethersproject/logger": "^5.0.8", + "@ethersproject/properties": "^5.0.7", + "@ethersproject/strings": "^5.0.8" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "dev": true, + "optional": true, + "peer": true + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/bn.js": { + "version": "4.11.6", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "14.14.20", + "dev": true, + "peer": true + }, + "@types/pbkdf2": { + "version": "3.1.0", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*" + } + }, + "@types/secp256k1": { + "version": "4.0.1", + "dev": true, + "peer": true, + "requires": { + "@types/node": "*" + } + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "dev": true, + "peer": true + }, + "abstract-leveldown": { + "version": "3.0.0", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + }, + "accepts": { + "version": "1.3.7", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "aes-js": { + "version": "3.1.2", + "dev": true, + "optional": true, + "peer": true + }, + "ajv": { + "version": "6.12.6", + "dev": true, + "peer": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-styles": { + "version": "3.2.1", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "arr-diff": { + "version": "4.0.0", + "dev": true, + "peer": true + }, + "arr-flatten": { + "version": "1.1.0", + "dev": true, + "peer": true + }, + "arr-union": { + "version": "3.1.0", + "dev": true, + "peer": true + }, + "array-flatten": { + "version": "1.1.1", + "dev": true, + "optional": true, + "peer": true + }, + "array-unique": { + "version": "0.3.2", + "dev": true, + "peer": true + }, + "asn1": { + "version": "0.2.4", + "dev": true, + "peer": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "assign-symbols": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "async": { + "version": "2.6.2", + "dev": true, + "peer": true, + "requires": { + "lodash": "^4.17.11" + } + }, + "async-eventemitter": { + "version": "0.2.4", + "dev": true, + "peer": true, + "requires": { + "async": "^2.4.0" + } + }, + "async-limiter": { + "version": "1.0.1", + "dev": true, + "peer": true + }, + "asynckit": { + "version": "0.4.0", + "dev": true, + "peer": true + }, + "atob": { + "version": "2.1.2", + "dev": true, + "peer": true + }, + "aws-sign2": { + "version": "0.7.0", + "dev": true, + "peer": true + }, + "aws4": { + "version": "1.11.0", + "dev": true, + "peer": true + }, + "babel-code-frame": { + "version": "6.26.0", + "dev": true, + "peer": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "dev": true, + "peer": true + }, + "ansi-styles": { + "version": "2.2.1", + "dev": true, + "peer": true + }, + "chalk": { + "version": "1.1.3", + "dev": true, + "peer": true, + "requires": { + "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" + } + }, + "js-tokens": { + "version": "3.0.2", + "dev": true, + "peer": true + }, + "strip-ansi": { + "version": "3.0.1", + "dev": true, + "peer": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "dev": true, + "peer": true + } + } + }, + "babel-core": { + "version": "6.26.3", + "dev": true, + "peer": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "peer": true, + "requires": { + "ms": "2.0.0" + } + }, + "json5": { + "version": "0.5.1", + "dev": true, + "peer": true + }, + "ms": { + "version": "2.0.0", + "dev": true, + "peer": true + }, + "slash": { + "version": "1.0.0", + "dev": true, + "peer": true + } + } + }, + "babel-generator": { + "version": "6.26.1", + "dev": true, + "peer": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "dev": true, + "peer": true + } + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "dev": true, + "peer": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helpers": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "dev": true, + "peer": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "dev": true, + "peer": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "dev": true, + "peer": true + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "dev": true, + "peer": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "dev": true, + "peer": true, + "requires": { + "regenerator-transform": "^0.10.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-env": { + "version": "1.7.0", + "dev": true, + "peer": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "dev": true, + "peer": true + } + } + }, + "babel-register": { + "version": "6.26.0", + "dev": true, + "peer": true, + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + }, + "dependencies": { + "source-map-support": { + "version": "0.4.18", + "dev": true, + "peer": true, + "requires": { + "source-map": "^0.5.6" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "dev": true, + "peer": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "dev": true, + "peer": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "peer": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "dev": true, + "peer": true + }, + "ms": { + "version": "2.0.0", + "dev": true, + "peer": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "dev": true, + "peer": true + } + } + }, + "babelify": { + "version": "7.3.0", + "dev": true, + "peer": true, + "requires": { + "babel-core": "^6.0.14", + "object-assign": "^4.0.0" + } + }, + "babylon": { + "version": "6.18.0", + "dev": true, + "peer": true + }, + "backoff": { + "version": "2.5.0", + "dev": true, + "peer": true, + "requires": { + "precond": "0.2" + } + }, + "balanced-match": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "base": { + "version": "0.11.2", + "dev": true, + "peer": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base-x": { + "version": "3.0.8", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "base64-js": { + "version": "1.5.1", + "dev": true, + "peer": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "dev": true, + "peer": true, + "requires": { + "tweetnacl": "^0.14.3" + }, + "dependencies": { + "tweetnacl": { + "version": "0.14.5", + "dev": true, + "peer": true + } + } + }, + "bignumber.js": { + "version": "9.0.1", + "dev": true, + "optional": true, + "peer": true + }, + "bip39": { + "version": "2.5.0", + "dev": true, + "peer": true, + "requires": { + "create-hash": "^1.1.0", + "pbkdf2": "^3.0.9", + "randombytes": "^2.0.1", + "safe-buffer": "^5.0.1", + "unorm": "^1.3.3" + } + }, + "blakejs": { + "version": "1.1.0", + "dev": true, + "peer": true + }, + "bluebird": { + "version": "3.7.2", + "dev": true, + "optional": true, + "peer": true + }, + "bn.js": { + "version": "4.11.9", + "dev": true, + "peer": true + }, + "body-parser": { + "version": "1.19.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "dev": true, + "optional": true, + "peer": true + }, + "qs": { + "version": "6.7.0", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "dev": true, + "peer": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "dev": true, + "peer": true + }, + "browserify-aes": { + "version": "1.2.0", + "dev": true, + "peer": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "5.1.3", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "browserify-sign": { + "version": "4.2.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.1.3", + "dev": true, + "optional": true, + "peer": true + }, + "readable-stream": { + "version": "3.6.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "browserslist": { + "version": "3.2.8", + "dev": true, + "peer": true, + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + }, + "bs58": { + "version": "4.0.1", + "dev": true, + "peer": true, + "requires": { + "base-x": "^3.0.2" + } + }, + "bs58check": { + "version": "2.1.2", + "dev": true, + "peer": true, + "requires": { + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" + } + }, + "buffer": { + "version": "5.7.1", + "dev": true, + "peer": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-from": { + "version": "1.1.1", + "dev": true, + "peer": true + }, + "buffer-to-arraybuffer": { + "version": "0.0.5", + "dev": true, + "optional": true, + "peer": true + }, + "buffer-xor": { + "version": "1.0.3", + "dev": true, + "peer": true + }, + "bufferutil": { + "version": "4.0.3", + "dev": true, + "peer": true, + "requires": { + "node-gyp-build": "^4.2.0" + } + }, + "bytes": { + "version": "3.1.0", + "dev": true, + "optional": true, + "peer": true + }, + "bytewise": { + "version": "1.1.0", + "dev": true, + "peer": true, + "requires": { + "bytewise-core": "^1.2.2", + "typewise": "^1.0.3" + } + }, + "bytewise-core": { + "version": "1.2.3", + "dev": true, + "peer": true, + "requires": { + "typewise-core": "^1.2" + } + }, + "cache-base": { + "version": "1.0.1", + "dev": true, + "peer": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cacheable-request": { + "version": "6.1.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "2.0.0", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "cachedown": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "^2.4.1", + "lru-cache": "^3.2.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.7.2", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + }, + "lru-cache": { + "version": "3.2.0", + "dev": true, + "peer": true, + "requires": { + "pseudomap": "^1.0.1" + } + } + } + }, + "call-bind": { + "version": "1.0.2", + "dev": true, + "peer": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caniuse-lite": { + "version": "1.0.30001174", + "dev": true, + "peer": true + }, + "caseless": { + "version": "0.12.0", + "dev": true, + "peer": true + }, + "chalk": { + "version": "2.4.2", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "checkpoint-store": { + "version": "1.1.0", + "dev": true, + "peer": true, + "requires": { + "functional-red-black-tree": "^1.0.1" + } + }, + "chownr": { + "version": "1.1.4", + "dev": true, + "optional": true, + "peer": true + }, + "ci-info": { + "version": "2.0.0", + "dev": true, + "peer": true + }, + "cids": { + "version": "0.7.5", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "buffer": "^5.5.0", + "class-is": "^1.1.0", + "multibase": "~0.6.0", + "multicodec": "^1.0.0", + "multihashes": "~0.4.15" + }, + "dependencies": { + "multicodec": { + "version": "1.0.4", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "buffer": "^5.6.0", + "varint": "^5.0.0" + } + } + } + }, + "cipher-base": { + "version": "1.0.4", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-is": { + "version": "1.1.0", + "dev": true, + "optional": true, + "peer": true + }, + "class-utils": { + "version": "0.3.6", + "dev": true, + "peer": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "dev": true, + "peer": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "dev": true, + "peer": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "dev": true, + "peer": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "dev": true, + "peer": true + } + } + }, + "clone": { + "version": "2.1.2", + "dev": true, + "peer": true + }, + "clone-response": { + "version": "1.0.2", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "dev": true, + "peer": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "dev": true, + "peer": true + }, + "combined-stream": { + "version": "1.0.8", + "dev": true, + "peer": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "component-emitter": { + "version": "1.3.0", + "dev": true, + "peer": true + }, + "concat-map": { + "version": "0.0.1", + "dev": true, + "peer": true + }, + "concat-stream": { + "version": "1.6.2", + "dev": true, + "peer": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "content-disposition": { + "version": "0.5.3", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "content-hash": { + "version": "2.5.2", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "cids": "^0.7.1", + "multicodec": "^0.5.5", + "multihashes": "^0.4.15" + } + }, + "content-type": { + "version": "1.0.4", + "dev": true, + "optional": true, + "peer": true + }, + "convert-source-map": { + "version": "1.7.0", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "dev": true, + "peer": true + } + } + }, + "cookie": { + "version": "0.4.0", + "dev": true, + "optional": true, + "peer": true + }, + "cookie-signature": { + "version": "1.0.6", + "dev": true, + "optional": true, + "peer": true + }, + "cookiejar": { + "version": "2.1.2", + "dev": true, + "optional": true, + "peer": true + }, + "copy-descriptor": { + "version": "0.1.1", + "dev": true, + "peer": true + }, + "core-js": { + "version": "2.6.12", + "dev": true, + "peer": true + }, + "core-js-pure": { + "version": "3.8.2", + "dev": true, + "peer": true + }, + "core-util-is": { + "version": "1.0.2", + "dev": true, + "peer": true + }, + "cors": { + "version": "2.8.5", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "create-ecdh": { + "version": "4.0.4", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "create-hash": { + "version": "1.2.0", + "dev": true, + "peer": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "dev": true, + "peer": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-fetch": { + "version": "2.2.3", + "dev": true, + "peer": true, + "requires": { + "node-fetch": "2.1.2", + "whatwg-fetch": "2.0.4" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "d": { + "version": "1.0.1", + "dev": true, + "peer": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "dev": true, + "peer": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "3.2.6", + "dev": true, + "peer": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decode-uri-component": { + "version": "0.2.0", + "dev": true, + "peer": true + }, + "decompress-response": { + "version": "3.3.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-equal": { + "version": "1.1.1", + "dev": true, + "peer": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "dev": true, + "optional": true, + "peer": true + }, + "deferred-leveldown": { + "version": "4.0.2", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~5.0.0", + "inherits": "^2.0.3" + }, + "dependencies": { + "abstract-leveldown": { + "version": "5.0.0", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + } + } + }, + "define-properties": { + "version": "1.1.3", + "dev": true, + "peer": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "dev": true, + "peer": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "defined": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "delayed-stream": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "depd": { + "version": "1.1.2", + "dev": true, + "optional": true, + "peer": true + }, + "des.js": { + "version": "1.0.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "dev": true, + "optional": true, + "peer": true + }, + "detect-indent": { + "version": "4.0.0", + "dev": true, + "peer": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "diffie-hellman": { + "version": "5.0.3", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dom-walk": { + "version": "0.1.2", + "dev": true, + "peer": true + }, + "dotignore": { + "version": "0.1.2", + "dev": true, + "peer": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "duplexer3": { + "version": "0.1.4", + "dev": true, + "optional": true, + "peer": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "dev": true, + "peer": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "dev": true, + "optional": true, + "peer": true + }, + "electron-to-chromium": { + "version": "1.3.636", + "dev": true, + "peer": true + }, + "elliptic": { + "version": "6.5.3", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "encodeurl": { + "version": "1.0.2", + "dev": true, + "optional": true, + "peer": true + }, + "encoding": { + "version": "0.1.13", + "dev": true, + "peer": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.2", + "dev": true, + "peer": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "encoding-down": { + "version": "5.0.4", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "^5.0.0", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "abstract-leveldown": { + "version": "5.0.0", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + } + } + }, + "end-of-stream": { + "version": "1.4.4", + "dev": true, + "peer": true, + "requires": { + "once": "^1.4.0" + } + }, + "errno": { + "version": "0.1.8", + "dev": true, + "peer": true, + "requires": { + "prr": "~1.0.1" + } + }, + "es-abstract": { + "version": "1.18.0-next.1", + "dev": true, + "peer": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "dev": true, + "peer": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.53", + "dev": true, + "peer": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "dev": true, + "peer": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "dev": true, + "peer": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escape-html": { + "version": "1.0.3", + "dev": true, + "optional": true, + "peer": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "peer": true + }, + "esutils": { + "version": "2.0.3", + "dev": true, + "peer": true + }, + "etag": { + "version": "1.8.1", + "dev": true, + "optional": true, + "peer": true + }, + "eth-block-tracker": { + "version": "3.0.1", + "dev": true, + "peer": true, + "requires": { + "eth-query": "^2.1.0", + "ethereumjs-tx": "^1.3.3", + "ethereumjs-util": "^5.1.3", + "ethjs-util": "^0.1.3", + "json-rpc-engine": "^3.6.0", + "pify": "^2.3.0", + "tape": "^4.6.3" + }, + "dependencies": { + "ethereumjs-tx": { + "version": "1.3.7", + "dev": true, + "peer": true, + "requires": { + "ethereum-common": "^0.0.18", + "ethereumjs-util": "^5.0.0" + } + }, + "ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "pify": { + "version": "2.3.0", + "dev": true, + "peer": true + } + } + }, + "eth-ens-namehash": { + "version": "2.0.8", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "idna-uts46-hx": "^2.3.1", + "js-sha3": "^0.5.7" + } + }, + "eth-json-rpc-infura": { + "version": "3.2.1", + "dev": true, + "peer": true, + "requires": { + "cross-fetch": "^2.1.1", + "eth-json-rpc-middleware": "^1.5.0", + "json-rpc-engine": "^3.4.0", + "json-rpc-error": "^2.0.0" + } + }, + "eth-json-rpc-middleware": { + "version": "1.6.0", + "dev": true, + "peer": true, + "requires": { + "async": "^2.5.0", + "eth-query": "^2.1.2", + "eth-tx-summary": "^3.1.2", + "ethereumjs-block": "^1.6.0", + "ethereumjs-tx": "^1.3.3", + "ethereumjs-util": "^5.1.2", + "ethereumjs-vm": "^2.1.0", + "fetch-ponyfill": "^4.0.0", + "json-rpc-engine": "^3.6.0", + "json-rpc-error": "^2.0.0", + "json-stable-stringify": "^1.0.1", + "promise-to-callback": "^1.0.0", + "tape": "^4.6.3" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.6.3", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + }, + "deferred-leveldown": { + "version": "1.2.2", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~2.6.0" + } + }, + "ethereumjs-account": { + "version": "2.0.5", + "dev": true, + "peer": true, + "requires": { + "ethereumjs-util": "^5.0.0", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "ethereumjs-block": { + "version": "1.7.1", + "dev": true, + "peer": true, + "requires": { + "async": "^2.0.1", + "ethereum-common": "0.2.0", + "ethereumjs-tx": "^1.2.2", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + }, + "dependencies": { + "ethereum-common": { + "version": "0.2.0", + "dev": true, + "peer": true + } + } + }, + "ethereumjs-tx": { + "version": "1.3.7", + "dev": true, + "peer": true, + "requires": { + "ethereum-common": "^0.0.18", + "ethereumjs-util": "^5.0.0" + } + }, + "ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "ethereumjs-vm": { + "version": "2.6.0", + "dev": true, + "peer": true, + "requires": { + "async": "^2.1.2", + "async-eventemitter": "^0.2.2", + "ethereumjs-account": "^2.0.3", + "ethereumjs-block": "~2.2.0", + "ethereumjs-common": "^1.1.0", + "ethereumjs-util": "^6.0.0", + "fake-merkle-patricia-tree": "^1.0.1", + "functional-red-black-tree": "^1.0.1", + "merkle-patricia-tree": "^2.3.2", + "rustbn.js": "~0.2.0", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "ethereumjs-block": { + "version": "2.2.2", + "dev": true, + "peer": true, + "requires": { + "async": "^2.0.1", + "ethereumjs-common": "^1.5.0", + "ethereumjs-tx": "^2.1.1", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + }, + "dependencies": { + "ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + } + } + }, + "ethereumjs-tx": { + "version": "2.1.2", + "dev": true, + "peer": true, + "requires": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "dev": true, + "peer": true, + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "isarray": { + "version": "0.0.1", + "dev": true, + "peer": true + }, + "level-codec": { + "version": "7.0.1", + "dev": true, + "peer": true + }, + "level-errors": { + "version": "1.0.5", + "dev": true, + "peer": true, + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "1.3.1", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "dev": true, + "peer": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "level-ws": { + "version": "0.0.0", + "dev": true, + "peer": true, + "requires": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "dev": true, + "peer": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "xtend": { + "version": "2.1.2", + "dev": true, + "peer": true, + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "levelup": { + "version": "1.3.9", + "dev": true, + "peer": true, + "requires": { + "deferred-leveldown": "~1.2.1", + "level-codec": "~7.0.0", + "level-errors": "~1.0.3", + "level-iterator-stream": "~1.3.0", + "prr": "~1.0.1", + "semver": "~5.4.1", + "xtend": "~4.0.0" + } + }, + "ltgt": { + "version": "2.2.1", + "dev": true, + "peer": true + }, + "memdown": { + "version": "1.4.1", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.7.2", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + } + } + }, + "merkle-patricia-tree": { + "version": "2.3.2", + "dev": true, + "peer": true, + "requires": { + "async": "^1.4.2", + "ethereumjs-util": "^5.0.0", + "level-ws": "0.0.0", + "levelup": "^1.2.1", + "memdown": "^1.0.0", + "readable-stream": "^2.0.0", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "dev": true, + "peer": true + } + } + }, + "object-keys": { + "version": "0.4.0", + "dev": true, + "peer": true + }, + "safe-buffer": { + "version": "5.1.2", + "dev": true, + "peer": true + }, + "semver": { + "version": "5.4.1", + "dev": true, + "peer": true + }, + "string_decoder": { + "version": "0.10.31", + "dev": true, + "peer": true + } + } + }, + "eth-lib": { + "version": "0.1.29", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "nano-json-stream-parser": "^0.1.2", + "servify": "^0.1.12", + "ws": "^3.0.0", + "xhr-request-promise": "^0.1.2" + } + }, + "eth-query": { + "version": "2.1.2", + "dev": true, + "peer": true, + "requires": { + "json-rpc-random-id": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "eth-sig-util": { + "version": "3.0.0", + "dev": true, + "peer": true, + "requires": { + "buffer": "^5.2.1", + "elliptic": "^6.4.0", + "ethereumjs-abi": "0.6.5", + "ethereumjs-util": "^5.1.1", + "tweetnacl": "^1.0.0", + "tweetnacl-util": "^0.15.0" + }, + "dependencies": { + "ethereumjs-abi": { + "version": "0.6.5", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.10.0", + "ethereumjs-util": "^4.3.0" + }, + "dependencies": { + "ethereumjs-util": { + "version": "4.5.1", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.8.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.0.0" + } + } + } + }, + "ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + } + } + }, + "eth-tx-summary": { + "version": "3.2.4", + "dev": true, + "peer": true, + "requires": { + "async": "^2.1.2", + "clone": "^2.0.0", + "concat-stream": "^1.5.1", + "end-of-stream": "^1.1.0", + "eth-query": "^2.0.2", + "ethereumjs-block": "^1.4.1", + "ethereumjs-tx": "^1.1.1", + "ethereumjs-util": "^5.0.1", + "ethereumjs-vm": "^2.6.0", + "through2": "^2.0.3" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.6.3", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + }, + "deferred-leveldown": { + "version": "1.2.2", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~2.6.0" + } + }, + "ethereumjs-account": { + "version": "2.0.5", + "dev": true, + "peer": true, + "requires": { + "ethereumjs-util": "^5.0.0", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "ethereumjs-block": { + "version": "1.7.1", + "dev": true, + "peer": true, + "requires": { + "async": "^2.0.1", + "ethereum-common": "0.2.0", + "ethereumjs-tx": "^1.2.2", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + }, + "dependencies": { + "ethereum-common": { + "version": "0.2.0", + "dev": true, + "peer": true + } + } + }, + "ethereumjs-tx": { + "version": "1.3.7", + "dev": true, + "peer": true, + "requires": { + "ethereum-common": "^0.0.18", + "ethereumjs-util": "^5.0.0" + } + }, + "ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "ethereumjs-vm": { + "version": "2.6.0", + "dev": true, + "peer": true, + "requires": { + "async": "^2.1.2", + "async-eventemitter": "^0.2.2", + "ethereumjs-account": "^2.0.3", + "ethereumjs-block": "~2.2.0", + "ethereumjs-common": "^1.1.0", + "ethereumjs-util": "^6.0.0", + "fake-merkle-patricia-tree": "^1.0.1", + "functional-red-black-tree": "^1.0.1", + "merkle-patricia-tree": "^2.3.2", + "rustbn.js": "~0.2.0", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "ethereumjs-block": { + "version": "2.2.2", + "dev": true, + "peer": true, + "requires": { + "async": "^2.0.1", + "ethereumjs-common": "^1.5.0", + "ethereumjs-tx": "^2.1.1", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + }, + "dependencies": { + "ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + } + } + }, + "ethereumjs-tx": { + "version": "2.1.2", + "dev": true, + "peer": true, + "requires": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "dev": true, + "peer": true, + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "isarray": { + "version": "0.0.1", + "dev": true, + "peer": true + }, + "level-codec": { + "version": "7.0.1", + "dev": true, + "peer": true + }, + "level-errors": { + "version": "1.0.5", + "dev": true, + "peer": true, + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "1.3.1", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "dev": true, + "peer": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "level-ws": { + "version": "0.0.0", + "dev": true, + "peer": true, + "requires": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "dev": true, + "peer": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "xtend": { + "version": "2.1.2", + "dev": true, + "peer": true, + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "levelup": { + "version": "1.3.9", + "dev": true, + "peer": true, + "requires": { + "deferred-leveldown": "~1.2.1", + "level-codec": "~7.0.0", + "level-errors": "~1.0.3", + "level-iterator-stream": "~1.3.0", + "prr": "~1.0.1", + "semver": "~5.4.1", + "xtend": "~4.0.0" + } + }, + "ltgt": { + "version": "2.2.1", + "dev": true, + "peer": true + }, + "memdown": { + "version": "1.4.1", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.7.2", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + } + } + }, + "merkle-patricia-tree": { + "version": "2.3.2", + "dev": true, + "peer": true, + "requires": { + "async": "^1.4.2", + "ethereumjs-util": "^5.0.0", + "level-ws": "0.0.0", + "levelup": "^1.2.1", + "memdown": "^1.0.0", + "readable-stream": "^2.0.0", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "dev": true, + "peer": true + } + } + }, + "object-keys": { + "version": "0.4.0", + "dev": true, + "peer": true + }, + "safe-buffer": { + "version": "5.1.2", + "dev": true, + "peer": true + }, + "semver": { + "version": "5.4.1", + "dev": true, + "peer": true + }, + "string_decoder": { + "version": "0.10.31", + "dev": true, + "peer": true + } + } + }, + "ethashjs": { + "version": "0.0.8", + "dev": true, + "peer": true, + "requires": { + "async": "^2.1.2", + "buffer-xor": "^2.0.1", + "ethereumjs-util": "^7.0.2", + "miller-rabin": "^4.0.0" + }, + "dependencies": { + "bn.js": { + "version": "5.1.3", + "dev": true, + "peer": true + }, + "buffer-xor": { + "version": "2.0.2", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "ethereumjs-util": { + "version": "7.0.7", + "dev": true, + "peer": true, + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.4" + } + } + } + }, + "ethereum-bloom-filters": { + "version": "1.0.7", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "js-sha3": "^0.8.0" + }, + "dependencies": { + "js-sha3": { + "version": "0.8.0", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "ethereum-common": { + "version": "0.0.18", + "dev": true, + "peer": true + }, + "ethereum-cryptography": { + "version": "0.1.3", + "dev": true, + "peer": true, + "requires": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "ethereumjs-abi": { + "version": "0.6.8", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.11.8", + "ethereumjs-util": "^6.0.0" + } + }, + "ethereumjs-account": { + "version": "3.0.0", + "dev": true, + "peer": true, + "requires": { + "ethereumjs-util": "^6.0.0", + "rlp": "^2.2.1", + "safe-buffer": "^5.1.1" + } + }, + "ethereumjs-block": { + "version": "2.2.2", + "dev": true, + "peer": true, + "requires": { + "async": "^2.0.1", + "ethereumjs-common": "^1.5.0", + "ethereumjs-tx": "^2.1.1", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.6.3", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + }, + "deferred-leveldown": { + "version": "1.2.2", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~2.6.0" + } + }, + "ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "isarray": { + "version": "0.0.1", + "dev": true, + "peer": true + }, + "level-codec": { + "version": "7.0.1", + "dev": true, + "peer": true + }, + "level-errors": { + "version": "1.0.5", + "dev": true, + "peer": true, + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "1.3.1", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "dev": true, + "peer": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "level-ws": { + "version": "0.0.0", + "dev": true, + "peer": true, + "requires": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "dev": true, + "peer": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "xtend": { + "version": "2.1.2", + "dev": true, + "peer": true, + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "levelup": { + "version": "1.3.9", + "dev": true, + "peer": true, + "requires": { + "deferred-leveldown": "~1.2.1", + "level-codec": "~7.0.0", + "level-errors": "~1.0.3", + "level-iterator-stream": "~1.3.0", + "prr": "~1.0.1", + "semver": "~5.4.1", + "xtend": "~4.0.0" + } + }, + "ltgt": { + "version": "2.2.1", + "dev": true, + "peer": true + }, + "memdown": { + "version": "1.4.1", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.7.2", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + } + } + }, + "merkle-patricia-tree": { + "version": "2.3.2", + "dev": true, + "peer": true, + "requires": { + "async": "^1.4.2", + "ethereumjs-util": "^5.0.0", + "level-ws": "0.0.0", + "levelup": "^1.2.1", + "memdown": "^1.0.0", + "readable-stream": "^2.0.0", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "dev": true, + "peer": true + } + } + }, + "object-keys": { + "version": "0.4.0", + "dev": true, + "peer": true + }, + "safe-buffer": { + "version": "5.1.2", + "dev": true, + "peer": true + }, + "semver": { + "version": "5.4.1", + "dev": true, + "peer": true + }, + "string_decoder": { + "version": "0.10.31", + "dev": true, + "peer": true + } + } + }, + "ethereumjs-blockchain": { + "version": "4.0.4", + "dev": true, + "peer": true, + "requires": { + "async": "^2.6.1", + "ethashjs": "~0.0.7", + "ethereumjs-block": "~2.2.2", + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.1.0", + "flow-stoplight": "^1.0.0", + "level-mem": "^3.0.1", + "lru-cache": "^5.1.1", + "rlp": "^2.2.2", + "semaphore": "^1.1.0" + } + }, + "ethereumjs-common": { + "version": "1.5.0", + "dev": true, + "peer": true + }, + "ethereumjs-tx": { + "version": "2.1.2", + "dev": true, + "peer": true, + "requires": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "dev": true, + "peer": true, + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "ethereumjs-vm": { + "version": "4.2.0", + "dev": true, + "peer": true, + "requires": { + "async": "^2.1.2", + "async-eventemitter": "^0.2.2", + "core-js-pure": "^3.0.1", + "ethereumjs-account": "^3.0.0", + "ethereumjs-block": "^2.2.2", + "ethereumjs-blockchain": "^4.0.3", + "ethereumjs-common": "^1.5.0", + "ethereumjs-tx": "^2.1.2", + "ethereumjs-util": "^6.2.0", + "fake-merkle-patricia-tree": "^1.0.1", + "functional-red-black-tree": "^1.0.1", + "merkle-patricia-tree": "^2.3.2", + "rustbn.js": "~0.2.0", + "safe-buffer": "^5.1.1", + "util.promisify": "^1.0.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.6.3", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + }, + "deferred-leveldown": { + "version": "1.2.2", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~2.6.0" + } + }, + "isarray": { + "version": "0.0.1", + "dev": true, + "peer": true + }, + "level-codec": { + "version": "7.0.1", + "dev": true, + "peer": true + }, + "level-errors": { + "version": "1.0.5", + "dev": true, + "peer": true, + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "1.3.1", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "dev": true, + "peer": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "level-ws": { + "version": "0.0.0", + "dev": true, + "peer": true, + "requires": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "dev": true, + "peer": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "xtend": { + "version": "2.1.2", + "dev": true, + "peer": true, + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "levelup": { + "version": "1.3.9", + "dev": true, + "peer": true, + "requires": { + "deferred-leveldown": "~1.2.1", + "level-codec": "~7.0.0", + "level-errors": "~1.0.3", + "level-iterator-stream": "~1.3.0", + "prr": "~1.0.1", + "semver": "~5.4.1", + "xtend": "~4.0.0" + } + }, + "ltgt": { + "version": "2.2.1", + "dev": true, + "peer": true + }, + "memdown": { + "version": "1.4.1", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.7.2", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + } + } + }, + "merkle-patricia-tree": { + "version": "2.3.2", + "dev": true, + "peer": true, + "requires": { + "async": "^1.4.2", + "ethereumjs-util": "^5.0.0", + "level-ws": "0.0.0", + "levelup": "^1.2.1", + "memdown": "^1.0.0", + "readable-stream": "^2.0.0", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "dev": true, + "peer": true + }, + "ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + } + } + }, + "object-keys": { + "version": "0.4.0", + "dev": true, + "peer": true + }, + "safe-buffer": { + "version": "5.1.2", + "dev": true, + "peer": true + }, + "semver": { + "version": "5.4.1", + "dev": true, + "peer": true + }, + "string_decoder": { + "version": "0.10.31", + "dev": true, + "peer": true + } + } + }, + "ethereumjs-wallet": { + "version": "0.6.5", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "aes-js": "^3.1.1", + "bs58check": "^2.1.2", + "ethereum-cryptography": "^0.1.3", + "ethereumjs-util": "^6.0.0", + "randombytes": "^2.0.6", + "safe-buffer": "^5.1.2", + "scryptsy": "^1.2.1", + "utf8": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "ethjs-unit": { + "version": "0.1.6", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "ethjs-util": { + "version": "0.1.6", + "dev": true, + "peer": true, + "requires": { + "is-hex-prefixed": "1.0.0", + "strip-hex-prefix": "1.0.0" + } + }, + "eventemitter3": { + "version": "4.0.4", + "dev": true, + "optional": true, + "peer": true + }, + "events": { + "version": "3.2.0", + "dev": true, + "peer": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "dev": true, + "peer": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "dev": true, + "peer": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "peer": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "dev": true, + "peer": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "dev": true, + "peer": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "dev": true, + "peer": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "dev": true, + "peer": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "dev": true, + "peer": true + }, + "kind-of": { + "version": "5.1.0", + "dev": true, + "peer": true + }, + "ms": { + "version": "2.0.0", + "dev": true, + "peer": true + } + } + }, + "express": { + "version": "4.17.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "dev": true, + "optional": true, + "peer": true + }, + "qs": { + "version": "6.7.0", + "dev": true, + "optional": true, + "peer": true + }, + "safe-buffer": { + "version": "5.1.2", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "ext": { + "version": "1.4.0", + "dev": true, + "peer": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.1.0", + "dev": true, + "peer": true + } + } + }, + "extend": { + "version": "3.0.2", + "dev": true, + "peer": true + }, + "extend-shallow": { + "version": "3.0.2", + "dev": true, + "peer": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "extglob": { + "version": "2.0.4", + "dev": true, + "peer": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "dev": true, + "peer": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "dev": true, + "peer": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "dev": true, + "peer": true + }, + "fake-merkle-patricia-tree": { + "version": "1.0.1", + "dev": true, + "peer": true, + "requires": { + "checkpoint-store": "^1.1.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "peer": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "peer": true + }, + "fetch-ponyfill": { + "version": "4.1.0", + "dev": true, + "peer": true, + "requires": { + "node-fetch": "~1.7.1" + }, + "dependencies": { + "is-stream": { + "version": "1.1.0", + "dev": true, + "peer": true + }, + "node-fetch": { + "version": "1.7.3", + "dev": true, + "peer": true, + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "find-yarn-workspace-root": { + "version": "1.2.1", + "dev": true, + "peer": true, + "requires": { + "fs-extra": "^4.0.3", + "micromatch": "^3.1.4" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "dev": true, + "peer": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "dev": true, + "peer": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "dev": true, + "peer": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "dev": true, + "peer": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fs-extra": { + "version": "4.0.3", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "dev": true, + "peer": true + }, + "is-extendable": { + "version": "0.1.1", + "dev": true, + "peer": true + }, + "is-number": { + "version": "3.0.0", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "dev": true, + "peer": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "dev": true, + "peer": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "flow-stoplight": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "for-each": { + "version": "0.3.3", + "dev": true, + "peer": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "dev": true, + "peer": true + }, + "forever-agent": { + "version": "0.6.1", + "dev": true, + "peer": true + }, + "form-data": { + "version": "2.3.3", + "dev": true, + "peer": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "dev": true, + "optional": true, + "peer": true + }, + "fragment-cache": { + "version": "0.2.1", + "dev": true, + "peer": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "dev": true, + "optional": true, + "peer": true + }, + "fs-extra": { + "version": "7.0.1", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "function-bind": { + "version": "1.1.1", + "dev": true, + "peer": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "dev": true, + "peer": true + }, + "get-intrinsic": { + "version": "1.0.2", + "dev": true, + "peer": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stream": { + "version": "5.2.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "dev": true, + "peer": true + }, + "getpass": { + "version": "0.1.7", + "dev": true, + "peer": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.3", + "dev": true, + "peer": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "global": { + "version": "4.4.0", + "dev": true, + "peer": true, + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "got": { + "version": "9.6.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "dependencies": { + "get-stream": { + "version": "4.1.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "graceful-fs": { + "version": "4.2.4", + "dev": true, + "peer": true + }, + "har-schema": { + "version": "2.0.0", + "dev": true, + "peer": true + }, + "har-validator": { + "version": "5.1.5", + "dev": true, + "peer": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "dev": true, + "peer": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "dev": true, + "peer": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "dev": true, + "peer": true + } + } + }, + "has-flag": { + "version": "3.0.0", + "dev": true, + "peer": true + }, + "has-symbol-support-x": { + "version": "1.4.2", + "dev": true, + "optional": true, + "peer": true + }, + "has-symbols": { + "version": "1.0.1", + "dev": true, + "peer": true + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-value": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "dev": true, + "peer": true + }, + "is-number": { + "version": "3.0.0", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "hash.js": { + "version": "1.1.7", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "heap": { + "version": "0.2.6", + "dev": true, + "peer": true + }, + "hmac-drbg": { + "version": "1.0.1", + "dev": true, + "peer": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "dev": true, + "peer": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "dev": true, + "optional": true, + "peer": true + }, + "http-errors": { + "version": "1.7.2", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "http-https": { + "version": "1.0.0", + "dev": true, + "optional": true, + "peer": true + }, + "http-signature": { + "version": "1.2.0", + "dev": true, + "peer": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "idna-uts46-hx": { + "version": "2.3.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "punycode": "2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.0", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "ieee754": { + "version": "1.2.1", + "dev": true, + "peer": true + }, + "immediate": { + "version": "3.2.3", + "dev": true, + "peer": true + }, + "inflight": { + "version": "1.0.6", + "dev": true, + "peer": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "dev": true, + "peer": true + }, + "invariant": { + "version": "2.2.4", + "dev": true, + "peer": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ipaddr.js": { + "version": "1.9.1", + "dev": true, + "optional": true, + "peer": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-arguments": { + "version": "1.1.0", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.2", + "dev": true, + "peer": true + }, + "is-ci": { + "version": "2.0.0", + "dev": true, + "peer": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-date-object": { + "version": "1.0.2", + "dev": true, + "peer": true + }, + "is-descriptor": { + "version": "1.0.2", + "dev": true, + "peer": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extendable": { + "version": "1.0.1", + "dev": true, + "peer": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-finite": { + "version": "1.1.0", + "dev": true, + "peer": true + }, + "is-fn": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "is-function": { + "version": "1.0.2", + "dev": true, + "peer": true + }, + "is-hex-prefixed": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "is-negative-zero": { + "version": "2.0.1", + "dev": true, + "peer": true + }, + "is-object": { + "version": "1.0.2", + "dev": true, + "optional": true, + "peer": true + }, + "is-plain-obj": { + "version": "1.1.0", + "dev": true, + "optional": true, + "peer": true + }, + "is-plain-object": { + "version": "2.0.4", + "dev": true, + "peer": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.1", + "dev": true, + "peer": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "dev": true, + "optional": true, + "peer": true + }, + "is-symbol": { + "version": "1.0.3", + "dev": true, + "peer": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "is-windows": { + "version": "1.0.2", + "dev": true, + "peer": true + }, + "isarray": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "isexe": { + "version": "2.0.0", + "dev": true, + "peer": true + }, + "isobject": { + "version": "3.0.1", + "dev": true, + "peer": true + }, + "isstream": { + "version": "0.1.2", + "dev": true, + "peer": true + }, + "isurl": { + "version": "1.0.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "js-sha3": { + "version": "0.5.7", + "dev": true, + "optional": true, + "peer": true + }, + "js-tokens": { + "version": "4.0.0", + "dev": true, + "peer": true + }, + "jsbn": { + "version": "0.1.1", + "dev": true, + "peer": true + }, + "json-buffer": { + "version": "3.0.0", + "dev": true, + "optional": true, + "peer": true + }, + "json-rpc-engine": { + "version": "3.8.0", + "dev": true, + "peer": true, + "requires": { + "async": "^2.0.1", + "babel-preset-env": "^1.7.0", + "babelify": "^7.3.0", + "json-rpc-error": "^2.0.0", + "promise-to-callback": "^1.0.0", + "safe-event-emitter": "^1.0.1" + } + }, + "json-rpc-error": { + "version": "2.0.0", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.1" + } + }, + "json-rpc-random-id": { + "version": "1.0.1", + "dev": true, + "peer": true + }, + "json-schema": { + "version": "0.2.3", + "dev": true, + "peer": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "peer": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "dev": true, + "peer": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "dev": true, + "peer": true + }, + "jsonfile": { + "version": "4.0.0", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "dev": true, + "peer": true + }, + "jsprim": { + "version": "1.4.1", + "dev": true, + "peer": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "keccak": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "peer": true, + "requires": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + } + }, + "keyv": { + "version": "3.1.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.3", + "dev": true, + "peer": true + }, + "klaw-sync": { + "version": "6.0.0", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.11" + } + }, + "level-codec": { + "version": "9.0.2", + "dev": true, + "peer": true, + "requires": { + "buffer": "^5.6.0" + } + }, + "level-errors": { + "version": "2.0.1", + "dev": true, + "peer": true, + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "2.0.3", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.5", + "xtend": "^4.0.0" + } + }, + "level-mem": { + "version": "3.0.1", + "dev": true, + "peer": true, + "requires": { + "level-packager": "~4.0.0", + "memdown": "~3.0.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "5.0.0", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + }, + "ltgt": { + "version": "2.2.1", + "dev": true, + "peer": true + }, + "memdown": { + "version": "3.0.0", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~5.0.0", + "functional-red-black-tree": "~1.0.1", + "immediate": "~3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "dev": true, + "peer": true + } + } + }, + "level-packager": { + "version": "4.0.1", + "dev": true, + "peer": true, + "requires": { + "encoding-down": "~5.0.0", + "levelup": "^3.0.0" + } + }, + "level-post": { + "version": "1.0.7", + "dev": true, + "peer": true, + "requires": { + "ltgt": "^2.1.2" + } + }, + "level-sublevel": { + "version": "6.6.4", + "dev": true, + "peer": true, + "requires": { + "bytewise": "~1.1.0", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0", + "level-iterator-stream": "^2.0.3", + "ltgt": "~2.1.1", + "pull-defer": "^0.2.2", + "pull-level": "^2.0.3", + "pull-stream": "^3.6.8", + "typewiselite": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "level-ws": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.8", + "xtend": "^4.0.1" + } + }, + "levelup": { + "version": "3.1.1", + "dev": true, + "peer": true, + "requires": { + "deferred-leveldown": "~4.0.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~3.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "level-iterator-stream": { + "version": "3.0.1", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "xtend": "^4.0.0" + } + } + } + }, + "lodash": { + "version": "4.17.20", + "dev": true, + "peer": true + }, + "looper": { + "version": "2.0.0", + "dev": true, + "peer": true + }, + "loose-envify": { + "version": "1.4.0", + "dev": true, + "peer": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "dev": true, + "optional": true, + "peer": true + }, + "lru-cache": { + "version": "5.1.1", + "dev": true, + "peer": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "ltgt": { + "version": "2.1.3", + "dev": true, + "peer": true + }, + "map-cache": { + "version": "0.2.2", + "dev": true, + "peer": true + }, + "map-visit": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "dev": true, + "peer": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "media-typer": { + "version": "0.3.0", + "dev": true, + "optional": true, + "peer": true + }, + "merge-descriptors": { + "version": "1.0.1", + "dev": true, + "optional": true, + "peer": true + }, + "merkle-patricia-tree": { + "version": "3.0.0", + "dev": true, + "peer": true, + "requires": { + "async": "^2.6.1", + "ethereumjs-util": "^5.2.0", + "level-mem": "^3.0.1", + "level-ws": "^1.0.0", + "readable-stream": "^3.0.6", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + }, + "dependencies": { + "ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "methods": { + "version": "1.1.2", + "dev": true, + "optional": true, + "peer": true + }, + "miller-rabin": { + "version": "4.0.1", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.6.0", + "dev": true, + "optional": true, + "peer": true + }, + "mime-db": { + "version": "1.45.0", + "dev": true, + "peer": true + }, + "mime-types": { + "version": "2.1.28", + "dev": true, + "peer": true, + "requires": { + "mime-db": "1.45.0" + } + }, + "mimic-response": { + "version": "1.0.1", + "dev": true, + "optional": true, + "peer": true + }, + "min-document": { + "version": "2.19.0", + "dev": true, + "peer": true, + "requires": { + "dom-walk": "^0.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "dev": true, + "peer": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "dev": true, + "peer": true + }, + "minimatch": { + "version": "3.0.4", + "dev": true, + "peer": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "dev": true, + "peer": true + }, + "minizlib": { + "version": "1.3.3", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "minipass": "^2.9.0" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + } + } + }, + "mixin-deep": { + "version": "1.3.2", + "dev": true, + "peer": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + } + }, + "mkdirp": { + "version": "0.5.5", + "dev": true, + "peer": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mkdirp-promise": { + "version": "5.0.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "mkdirp": "*" + } + }, + "mock-fs": { + "version": "4.13.0", + "dev": true, + "optional": true, + "peer": true + }, + "ms": { + "version": "2.1.3", + "dev": true, + "peer": true + }, + "multibase": { + "version": "0.6.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "multicodec": { + "version": "0.5.7", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "varint": "^5.0.0" + } + }, + "multihashes": { + "version": "0.4.21", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "buffer": "^5.5.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + }, + "dependencies": { + "multibase": { + "version": "0.7.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + }, + "nano-json-stream-parser": { + "version": "0.1.2", + "dev": true, + "optional": true, + "peer": true + }, + "nanomatch": { + "version": "1.2.13", + "dev": true, + "peer": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "negotiator": { + "version": "0.6.2", + "dev": true, + "optional": true, + "peer": true + }, + "next-tick": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "nice-try": { + "version": "1.0.5", + "dev": true, + "peer": true + }, + "node-addon-api": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "peer": true + }, + "node-fetch": { + "version": "2.1.2", + "dev": true, + "peer": true + }, + "node-gyp-build": { + "version": "4.2.3", + "bundled": true, + "dev": true, + "peer": true + }, + "normalize-url": { + "version": "4.5.0", + "dev": true, + "optional": true, + "peer": true + }, + "number-to-bn": { + "version": "1.7.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "oauth-sign": { + "version": "0.9.0", + "dev": true, + "peer": true + }, + "object-assign": { + "version": "4.1.1", + "dev": true, + "peer": true + }, + "object-copy": { + "version": "0.1.0", + "dev": true, + "peer": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "dev": true, + "peer": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-buffer": { + "version": "1.1.6", + "dev": true, + "peer": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "dev": true, + "peer": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "dev": true, + "peer": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.9.0", + "dev": true, + "peer": true + }, + "object-is": { + "version": "1.1.4", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "dev": true, + "peer": true + }, + "object-visit": { + "version": "1.0.1", + "dev": true, + "peer": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.1", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "dev": true, + "peer": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "oboe": { + "version": "2.1.4", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "http-https": "^1.0.0" + } + }, + "on-finished": { + "version": "2.3.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "dev": true, + "peer": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "dev": true, + "peer": true + }, + "os-tmpdir": { + "version": "1.0.2", + "dev": true, + "peer": true + }, + "p-cancelable": { + "version": "1.1.0", + "dev": true, + "optional": true, + "peer": true + }, + "p-timeout": { + "version": "1.2.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "p-finally": "^1.0.0" + }, + "dependencies": { + "p-finally": { + "version": "1.0.0", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "parse-asn1": { + "version": "5.1.6", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-headers": { + "version": "2.0.3", + "dev": true, + "peer": true + }, + "parseurl": { + "version": "1.3.3", + "dev": true, + "optional": true, + "peer": true + }, + "pascalcase": { + "version": "0.1.1", + "dev": true, + "peer": true + }, + "patch-package": { + "version": "6.2.2", + "dev": true, + "peer": true, + "requires": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "find-yarn-workspace-root": "^1.2.1", + "fs-extra": "^7.0.1", + "is-ci": "^2.0.0", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.0", + "rimraf": "^2.6.3", + "semver": "^5.6.0", + "slash": "^2.0.0", + "tmp": "^0.0.33" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "dev": true, + "peer": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "dev": true, + "peer": true + }, + "semver": { + "version": "5.7.1", + "dev": true, + "peer": true + }, + "shebang-command": { + "version": "1.2.0", + "dev": true, + "peer": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "slash": { + "version": "2.0.0", + "dev": true, + "peer": true + }, + "tmp": { + "version": "0.0.33", + "dev": true, + "peer": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "which": { + "version": "1.3.1", + "dev": true, + "peer": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "dev": true, + "peer": true + }, + "path-parse": { + "version": "1.0.6", + "dev": true, + "peer": true + }, + "path-to-regexp": { + "version": "0.1.7", + "dev": true, + "optional": true, + "peer": true + }, + "pbkdf2": { + "version": "3.1.1", + "dev": true, + "peer": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "dev": true, + "peer": true + }, + "posix-character-classes": { + "version": "0.1.1", + "dev": true, + "peer": true + }, + "precond": { + "version": "0.2.3", + "dev": true, + "peer": true + }, + "prepend-http": { + "version": "2.0.0", + "dev": true, + "optional": true, + "peer": true + }, + "private": { + "version": "0.1.8", + "dev": true, + "peer": true + }, + "process": { + "version": "0.11.10", + "dev": true, + "peer": true + }, + "process-nextick-args": { + "version": "2.0.1", + "dev": true, + "peer": true + }, + "promise-to-callback": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "is-fn": "^1.0.0", + "set-immediate-shim": "^1.0.1" + } + }, + "proxy-addr": { + "version": "2.0.6", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "dev": true, + "peer": true + }, + "pseudomap": { + "version": "1.0.2", + "dev": true, + "peer": true + }, + "psl": { + "version": "1.8.0", + "dev": true, + "peer": true + }, + "public-encrypt": { + "version": "4.0.3", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pull-cat": { + "version": "1.1.11", + "dev": true, + "peer": true + }, + "pull-defer": { + "version": "0.2.3", + "dev": true, + "peer": true + }, + "pull-level": { + "version": "2.0.4", + "dev": true, + "peer": true, + "requires": { + "level-post": "^1.0.7", + "pull-cat": "^1.1.9", + "pull-live": "^1.0.1", + "pull-pushable": "^2.0.0", + "pull-stream": "^3.4.0", + "pull-window": "^2.1.4", + "stream-to-pull-stream": "^1.7.1" + } + }, + "pull-live": { + "version": "1.0.1", + "dev": true, + "peer": true, + "requires": { + "pull-cat": "^1.1.9", + "pull-stream": "^3.4.0" + } + }, + "pull-pushable": { + "version": "2.2.0", + "dev": true, + "peer": true + }, + "pull-stream": { + "version": "3.6.14", + "dev": true, + "peer": true + }, + "pull-window": { + "version": "2.1.4", + "dev": true, + "peer": true, + "requires": { + "looper": "^2.0.0" + } + }, + "pump": { + "version": "3.0.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "dev": true, + "peer": true + }, + "qs": { + "version": "6.5.2", + "dev": true, + "peer": true + }, + "query-string": { + "version": "5.1.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "randombytes": { + "version": "2.1.0", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "dev": true, + "optional": true, + "peer": true + }, + "raw-body": { + "version": "2.4.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "dev": true, + "peer": true, + "requires": { + "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" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "dev": true, + "peer": true + } + } + }, + "regenerate": { + "version": "1.4.2", + "dev": true, + "peer": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "dev": true, + "peer": true + }, + "regenerator-transform": { + "version": "0.10.1", + "dev": true, + "peer": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "dev": true, + "peer": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "dev": true, + "peer": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "dev": true, + "peer": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } + } + }, + "regexpu-core": { + "version": "2.0.0", + "dev": true, + "peer": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "dev": true, + "peer": true + }, + "regjsparser": { + "version": "0.1.5", + "dev": true, + "peer": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "dev": true, + "peer": true + } + } + }, + "repeat-element": { + "version": "1.1.3", + "dev": true, + "peer": true + }, + "repeat-string": { + "version": "1.6.1", + "dev": true, + "peer": true + }, + "repeating": { + "version": "2.0.1", + "dev": true, + "peer": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "dev": true, + "peer": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "resolve-url": { + "version": "0.2.1", + "dev": true, + "peer": true + }, + "responselike": { + "version": "1.0.2", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "resumer": { + "version": "0.0.0", + "dev": true, + "peer": true, + "requires": { + "through": "~2.3.4" + } + }, + "ret": { + "version": "0.1.15", + "dev": true, + "peer": true + }, + "rimraf": { + "version": "2.6.3", + "dev": true, + "peer": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "dev": true, + "peer": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rlp": { + "version": "2.2.6", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.11.1" + } + }, + "rustbn.js": { + "version": "0.2.0", + "dev": true, + "peer": true + }, + "safe-buffer": { + "version": "5.2.1", + "dev": true, + "peer": true + }, + "safe-event-emitter": { + "version": "1.0.1", + "dev": true, + "peer": true, + "requires": { + "events": "^3.0.0" + } + }, + "safe-regex": { + "version": "1.1.0", + "dev": true, + "peer": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "dev": true, + "peer": true + }, + "scrypt-js": { + "version": "3.0.1", + "dev": true, + "peer": true + }, + "scryptsy": { + "version": "1.2.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "pbkdf2": "^3.0.3" + } + }, + "secp256k1": { + "version": "4.0.2", + "dev": true, + "peer": true, + "requires": { + "elliptic": "^6.5.2", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + } + }, + "seedrandom": { + "version": "3.0.1", + "dev": true, + "peer": true + }, + "semaphore": { + "version": "1.1.0", + "dev": true, + "peer": true + }, + "send": { + "version": "0.17.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "ms": { + "version": "2.1.1", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "servify": { + "version": "0.1.12", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "body-parser": "^1.16.0", + "cors": "^2.8.1", + "express": "^4.14.0", + "request": "^2.79.0", + "xhr": "^2.3.3" + } + }, + "set-immediate-shim": { + "version": "1.0.1", + "dev": true, + "peer": true + }, + "set-value": { + "version": "2.0.1", + "dev": true, + "peer": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "dev": true, + "peer": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "dev": true, + "peer": true + } + } + }, + "setimmediate": { + "version": "1.0.5", + "dev": true, + "peer": true + }, + "setprototypeof": { + "version": "1.1.1", + "dev": true, + "optional": true, + "peer": true + }, + "sha.js": { + "version": "2.4.11", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "simple-concat": { + "version": "1.0.1", + "dev": true, + "optional": true, + "peer": true + }, + "simple-get": { + "version": "2.8.1", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "dev": true, + "peer": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "peer": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "dev": true, + "peer": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "dev": true, + "peer": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "dev": true, + "peer": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "dev": true, + "peer": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "dev": true, + "peer": true + }, + "kind-of": { + "version": "5.1.0", + "dev": true, + "peer": true + }, + "ms": { + "version": "2.0.0", + "dev": true, + "peer": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "dev": true, + "peer": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "dev": true, + "peer": true + }, + "kind-of": { + "version": "3.2.2", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "dev": true, + "peer": true + }, + "source-map-resolve": { + "version": "0.5.3", + "dev": true, + "peer": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.12", + "dev": true, + "peer": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "dev": true, + "peer": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "dev": true, + "peer": true + }, + "split-string": { + "version": "3.1.0", + "dev": true, + "peer": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sshpk": { + "version": "1.16.1", + "dev": true, + "peer": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "dependencies": { + "tweetnacl": { + "version": "0.14.5", + "dev": true, + "peer": true + } + } + }, + "static-extend": { + "version": "0.1.2", + "dev": true, + "peer": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "dev": true, + "peer": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-buffer": { + "version": "1.1.6", + "dev": true, + "peer": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "dev": true, + "peer": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "dev": true, + "peer": true + } + } + }, + "statuses": { + "version": "1.5.0", + "dev": true, + "optional": true, + "peer": true + }, + "stream-to-pull-stream": { + "version": "1.7.3", + "dev": true, + "peer": true, + "requires": { + "looper": "^3.0.0", + "pull-stream": "^3.2.3" + }, + "dependencies": { + "looper": { + "version": "3.0.0", + "dev": true, + "peer": true + } + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "dev": true, + "optional": true, + "peer": true + }, + "string_decoder": { + "version": "1.1.1", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "dev": true, + "peer": true + } + } + }, + "string.prototype.trim": { + "version": "1.2.3", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.3", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.3", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "strip-hex-prefix": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "swarm-js": { + "version": "0.1.40", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "eth-lib": "^0.1.26", + "fs-extra": "^4.0.2", + "got": "^7.1.0", + "mime-types": "^2.1.16", + "mkdirp-promise": "^5.0.1", + "mock-fs": "^4.1.0", + "setimmediate": "^1.0.5", + "tar": "^4.0.2", + "xhr-request": "^1.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "get-stream": { + "version": "3.0.0", + "dev": true, + "optional": true, + "peer": true + }, + "got": { + "version": "7.1.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "dev": true, + "optional": true, + "peer": true + }, + "p-cancelable": { + "version": "0.3.0", + "dev": true, + "optional": true, + "peer": true + }, + "prepend-http": { + "version": "1.0.4", + "dev": true, + "optional": true, + "peer": true + }, + "url-parse-lax": { + "version": "1.0.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "prepend-http": "^1.0.1" + } + } + } + }, + "tape": { + "version": "4.13.3", + "dev": true, + "peer": true, + "requires": { + "deep-equal": "~1.1.1", + "defined": "~1.0.0", + "dotignore": "~0.1.2", + "for-each": "~0.3.3", + "function-bind": "~1.1.1", + "glob": "~7.1.6", + "has": "~1.0.3", + "inherits": "~2.0.4", + "is-regex": "~1.0.5", + "minimist": "~1.2.5", + "object-inspect": "~1.7.0", + "resolve": "~1.17.0", + "resumer": "~0.0.0", + "string.prototype.trim": "~1.2.1", + "through": "~2.3.8" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "dev": true, + "peer": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "is-regex": { + "version": "1.0.5", + "dev": true, + "peer": true, + "requires": { + "has": "^1.0.3" + } + }, + "object-inspect": { + "version": "1.7.0", + "dev": true, + "peer": true + }, + "resolve": { + "version": "1.17.0", + "dev": true, + "peer": true, + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "tar": { + "version": "4.4.13", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + }, + "dependencies": { + "fs-minipass": { + "version": "1.2.7", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "minipass": { + "version": "2.9.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + } + } + }, + "through": { + "version": "2.3.8", + "dev": true, + "peer": true + }, + "through2": { + "version": "2.0.5", + "dev": true, + "peer": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "timed-out": { + "version": "4.0.1", + "dev": true, + "optional": true, + "peer": true + }, + "tmp": { + "version": "0.1.0", + "dev": true, + "peer": true, + "requires": { + "rimraf": "^2.6.3" + } + }, + "to-object-path": { + "version": "0.3.0", + "dev": true, + "peer": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "1.1.6", + "dev": true, + "peer": true + }, + "kind-of": { + "version": "3.2.2", + "dev": true, + "peer": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-readable-stream": { + "version": "1.0.0", + "dev": true, + "optional": true, + "peer": true + }, + "to-regex": { + "version": "3.0.2", + "dev": true, + "peer": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "dev": true, + "optional": true, + "peer": true + }, + "tough-cookie": { + "version": "2.5.0", + "dev": true, + "peer": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "trim-right": { + "version": "1.0.1", + "dev": true, + "peer": true + }, + "tunnel-agent": { + "version": "0.6.0", + "dev": true, + "peer": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "1.0.3", + "dev": true, + "peer": true + }, + "tweetnacl-util": { + "version": "0.15.1", + "dev": true, + "peer": true + }, + "type": { + "version": "1.2.0", + "dev": true, + "peer": true + }, + "type-is": { + "version": "1.6.18", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "dev": true, + "peer": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "dev": true, + "peer": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typewise": { + "version": "1.0.3", + "dev": true, + "peer": true, + "requires": { + "typewise-core": "^1.2.0" + } + }, + "typewise-core": { + "version": "1.2.0", + "dev": true, + "peer": true + }, + "typewiselite": { + "version": "1.0.0", + "dev": true, + "peer": true + }, + "ultron": { + "version": "1.1.1", + "dev": true, + "optional": true, + "peer": true + }, + "underscore": { + "version": "1.9.1", + "dev": true, + "optional": true, + "peer": true + }, + "union-value": { + "version": "1.0.1", + "dev": true, + "peer": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "dev": true, + "peer": true + } + } + }, + "universalify": { + "version": "0.1.2", + "dev": true, + "peer": true + }, + "unorm": { + "version": "1.6.0", + "dev": true, + "peer": true + }, + "unpipe": { + "version": "1.0.0", + "dev": true, + "optional": true, + "peer": true + }, + "unset-value": { + "version": "1.0.0", + "dev": true, + "peer": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "dev": true, + "peer": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "dev": true, + "peer": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "dev": true, + "peer": true + } + } + }, + "uri-js": { + "version": "4.4.1", + "dev": true, + "peer": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "dev": true, + "peer": true + }, + "url-parse-lax": { + "version": "3.0.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "url-set-query": { + "version": "1.0.0", + "dev": true, + "optional": true, + "peer": true + }, + "url-to-options": { + "version": "1.0.1", + "dev": true, + "optional": true, + "peer": true + }, + "use": { + "version": "3.1.1", + "dev": true, + "peer": true + }, + "utf-8-validate": { + "version": "5.0.4", + "dev": true, + "peer": true, + "requires": { + "node-gyp-build": "^4.2.0" + } + }, + "utf8": { + "version": "3.0.0", + "dev": true, + "optional": true, + "peer": true + }, + "util-deprecate": { + "version": "1.0.2", + "dev": true, + "peer": true + }, + "util.promisify": { + "version": "1.1.1", + "dev": true, + "peer": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + } + }, + "utils-merge": { + "version": "1.0.1", + "dev": true, + "optional": true, + "peer": true + }, + "uuid": { + "version": "3.4.0", + "dev": true, + "peer": true + }, + "varint": { + "version": "5.0.2", + "dev": true, + "optional": true, + "peer": true + }, + "vary": { + "version": "1.1.2", + "dev": true, + "optional": true, + "peer": true + }, + "verror": { + "version": "1.10.0", + "dev": true, + "peer": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "web3": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "web3-bzz": "1.2.11", + "web3-core": "1.2.11", + "web3-eth": "1.2.11", + "web3-eth-personal": "1.2.11", + "web3-net": "1.2.11", + "web3-shh": "1.2.11", + "web3-utils": "1.2.11" + } + }, + "web3-bzz": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/node": "^12.12.6", + "got": "9.6.0", + "swarm-js": "^0.1.40", + "underscore": "1.9.1" + }, + "dependencies": { + "@types/node": { + "version": "12.19.12", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "web3-core": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/bn.js": "^4.11.5", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.2.11", + "web3-core-method": "1.2.11", + "web3-core-requestmanager": "1.2.11", + "web3-utils": "1.2.11" + }, + "dependencies": { + "@types/node": { + "version": "12.19.12", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "web3-core-helpers": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "underscore": "1.9.1", + "web3-eth-iban": "1.2.11", + "web3-utils": "1.2.11" + } + }, + "web3-core-method": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/transactions": "^5.0.0-beta.135", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.11", + "web3-core-promievent": "1.2.11", + "web3-core-subscriptions": "1.2.11", + "web3-utils": "1.2.11" + } + }, + "web3-core-promievent": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "eventemitter3": "4.0.4" + } + }, + "web3-core-requestmanager": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "underscore": "1.9.1", + "web3-core-helpers": "1.2.11", + "web3-providers-http": "1.2.11", + "web3-providers-ipc": "1.2.11", + "web3-providers-ws": "1.2.11" + } + }, + "web3-core-subscriptions": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "eventemitter3": "4.0.4", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.11" + } + }, + "web3-eth": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "underscore": "1.9.1", + "web3-core": "1.2.11", + "web3-core-helpers": "1.2.11", + "web3-core-method": "1.2.11", + "web3-core-subscriptions": "1.2.11", + "web3-eth-abi": "1.2.11", + "web3-eth-accounts": "1.2.11", + "web3-eth-contract": "1.2.11", + "web3-eth-ens": "1.2.11", + "web3-eth-iban": "1.2.11", + "web3-eth-personal": "1.2.11", + "web3-net": "1.2.11", + "web3-utils": "1.2.11" + } + }, + "web3-eth-abi": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@ethersproject/abi": "5.0.0-beta.153", + "underscore": "1.9.1", + "web3-utils": "1.2.11" + } + }, + "web3-eth-accounts": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.8", + "ethereumjs-common": "^1.3.2", + "ethereumjs-tx": "^2.1.1", + "scrypt-js": "^3.0.1", + "underscore": "1.9.1", + "uuid": "3.3.2", + "web3-core": "1.2.11", + "web3-core-helpers": "1.2.11", + "web3-core-method": "1.2.11", + "web3-utils": "1.2.11" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "uuid": { + "version": "3.3.2", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "web3-eth-contract": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/bn.js": "^4.11.5", + "underscore": "1.9.1", + "web3-core": "1.2.11", + "web3-core-helpers": "1.2.11", + "web3-core-method": "1.2.11", + "web3-core-promievent": "1.2.11", + "web3-core-subscriptions": "1.2.11", + "web3-eth-abi": "1.2.11", + "web3-utils": "1.2.11" + } + }, + "web3-eth-ens": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "underscore": "1.9.1", + "web3-core": "1.2.11", + "web3-core-helpers": "1.2.11", + "web3-core-promievent": "1.2.11", + "web3-eth-abi": "1.2.11", + "web3-eth-contract": "1.2.11", + "web3-utils": "1.2.11" + } + }, + "web3-eth-iban": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bn.js": "^4.11.9", + "web3-utils": "1.2.11" + } + }, + "web3-eth-personal": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/node": "^12.12.6", + "web3-core": "1.2.11", + "web3-core-helpers": "1.2.11", + "web3-core-method": "1.2.11", + "web3-net": "1.2.11", + "web3-utils": "1.2.11" + }, + "dependencies": { + "@types/node": { + "version": "12.19.12", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "web3-net": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "web3-core": "1.2.11", + "web3-core-method": "1.2.11", + "web3-utils": "1.2.11" + } + }, + "web3-provider-engine": { + "version": "14.2.1", + "dev": true, + "peer": true, + "requires": { + "async": "^2.5.0", + "backoff": "^2.5.0", + "clone": "^2.0.0", + "cross-fetch": "^2.1.0", + "eth-block-tracker": "^3.0.0", + "eth-json-rpc-infura": "^3.1.0", + "eth-sig-util": "3.0.0", + "ethereumjs-block": "^1.2.2", + "ethereumjs-tx": "^1.2.0", + "ethereumjs-util": "^5.1.5", + "ethereumjs-vm": "^2.3.4", + "json-rpc-error": "^2.0.0", + "json-stable-stringify": "^1.0.1", + "promise-to-callback": "^1.0.0", + "readable-stream": "^2.2.9", + "request": "^2.85.0", + "semaphore": "^1.0.3", + "ws": "^5.1.1", + "xhr": "^2.2.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.6.3", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + }, + "deferred-leveldown": { + "version": "1.2.2", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~2.6.0" + } + }, + "eth-sig-util": { + "version": "1.4.2", + "dev": true, + "peer": true, + "requires": { + "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", + "ethereumjs-util": "^5.1.1" + } + }, + "ethereumjs-account": { + "version": "2.0.5", + "dev": true, + "peer": true, + "requires": { + "ethereumjs-util": "^5.0.0", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "ethereumjs-block": { + "version": "1.7.1", + "dev": true, + "peer": true, + "requires": { + "async": "^2.0.1", + "ethereum-common": "0.2.0", + "ethereumjs-tx": "^1.2.2", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + }, + "dependencies": { + "ethereum-common": { + "version": "0.2.0", + "dev": true, + "peer": true + } + } + }, + "ethereumjs-tx": { + "version": "1.3.7", + "dev": true, + "peer": true, + "requires": { + "ethereum-common": "^0.0.18", + "ethereumjs-util": "^5.0.0" + } + }, + "ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + }, + "ethereumjs-vm": { + "version": "2.6.0", + "dev": true, + "peer": true, + "requires": { + "async": "^2.1.2", + "async-eventemitter": "^0.2.2", + "ethereumjs-account": "^2.0.3", + "ethereumjs-block": "~2.2.0", + "ethereumjs-common": "^1.1.0", + "ethereumjs-util": "^6.0.0", + "fake-merkle-patricia-tree": "^1.0.1", + "functional-red-black-tree": "^1.0.1", + "merkle-patricia-tree": "^2.3.2", + "rustbn.js": "~0.2.0", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "ethereumjs-block": { + "version": "2.2.2", + "dev": true, + "peer": true, + "requires": { + "async": "^2.0.1", + "ethereumjs-common": "^1.5.0", + "ethereumjs-tx": "^2.1.1", + "ethereumjs-util": "^5.0.0", + "merkle-patricia-tree": "^2.1.2" + }, + "dependencies": { + "ethereumjs-util": { + "version": "5.2.1", + "dev": true, + "peer": true, + "requires": { + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "^0.1.3", + "rlp": "^2.0.0", + "safe-buffer": "^5.1.1" + } + } + } + }, + "ethereumjs-tx": { + "version": "2.1.2", + "dev": true, + "peer": true, + "requires": { + "ethereumjs-common": "^1.5.0", + "ethereumjs-util": "^6.0.0" + } + }, + "ethereumjs-util": { + "version": "6.2.1", + "dev": true, + "peer": true, + "requires": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + } + } + }, + "isarray": { + "version": "0.0.1", + "dev": true, + "peer": true + }, + "level-codec": { + "version": "7.0.1", + "dev": true, + "peer": true + }, + "level-errors": { + "version": "1.0.5", + "dev": true, + "peer": true, + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "1.3.1", + "dev": true, + "peer": true, + "requires": { + "inherits": "^2.0.1", + "level-errors": "^1.0.3", + "readable-stream": "^1.0.33", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "dev": true, + "peer": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "level-ws": { + "version": "0.0.0", + "dev": true, + "peer": true, + "requires": { + "readable-stream": "~1.0.15", + "xtend": "~2.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "dev": true, + "peer": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "xtend": { + "version": "2.1.2", + "dev": true, + "peer": true, + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "levelup": { + "version": "1.3.9", + "dev": true, + "peer": true, + "requires": { + "deferred-leveldown": "~1.2.1", + "level-codec": "~7.0.0", + "level-errors": "~1.0.3", + "level-iterator-stream": "~1.3.0", + "prr": "~1.0.1", + "semver": "~5.4.1", + "xtend": "~4.0.0" + } + }, + "ltgt": { + "version": "2.2.1", + "dev": true, + "peer": true + }, + "memdown": { + "version": "1.4.1", + "dev": true, + "peer": true, + "requires": { + "abstract-leveldown": "~2.7.1", + "functional-red-black-tree": "^1.0.1", + "immediate": "^3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "abstract-leveldown": { + "version": "2.7.2", + "dev": true, + "peer": true, + "requires": { + "xtend": "~4.0.0" + } + } + } + }, + "merkle-patricia-tree": { + "version": "2.3.2", + "dev": true, + "peer": true, + "requires": { + "async": "^1.4.2", + "ethereumjs-util": "^5.0.0", + "level-ws": "0.0.0", + "levelup": "^1.2.1", + "memdown": "^1.0.0", + "readable-stream": "^2.0.0", + "rlp": "^2.0.0", + "semaphore": ">=1.0.1" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "dev": true, + "peer": true + } + } + }, + "object-keys": { + "version": "0.4.0", + "dev": true, + "peer": true + }, + "safe-buffer": { + "version": "5.1.2", + "dev": true, + "peer": true + }, + "semver": { + "version": "5.4.1", + "dev": true, + "peer": true + }, + "string_decoder": { + "version": "0.10.31", + "dev": true, + "peer": true + }, + "ws": { + "version": "5.2.2", + "dev": true, + "peer": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "web3-providers-http": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "web3-core-helpers": "1.2.11", + "xhr2-cookies": "1.1.0" + } + }, + "web3-providers-ipc": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "oboe": "2.1.4", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.11" + } + }, + "web3-providers-ws": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "eventemitter3": "4.0.4", + "underscore": "1.9.1", + "web3-core-helpers": "1.2.11", + "websocket": "^1.0.31" + } + }, + "web3-shh": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "web3-core": "1.2.11", + "web3-core-method": "1.2.11", + "web3-core-subscriptions": "1.2.11", + "web3-net": "1.2.11" + } + }, + "web3-utils": { + "version": "1.2.11", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "underscore": "1.9.1", + "utf8": "3.0.0" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + } + } + }, + "websocket": { + "version": "1.0.32", + "dev": true, + "peer": true, + "requires": { + "bufferutil": "^4.0.1", + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "typedarray-to-buffer": "^3.1.5", + "utf-8-validate": "^5.0.2", + "yaeti": "^0.0.6" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "dev": true, + "peer": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "dev": true, + "peer": true + } + } + }, + "whatwg-fetch": { + "version": "2.0.4", + "dev": true, + "peer": true + }, + "wrappy": { + "version": "1.0.2", + "dev": true, + "peer": true + }, + "ws": { + "version": "3.3.3", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "xhr": { + "version": "2.6.0", + "dev": true, + "peer": true, + "requires": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xhr-request": { + "version": "1.1.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "buffer-to-arraybuffer": "^0.0.5", + "object-assign": "^4.1.1", + "query-string": "^5.0.1", + "simple-get": "^2.7.0", + "timed-out": "^4.0.1", + "url-set-query": "^1.0.0", + "xhr": "^2.0.4" + } + }, + "xhr-request-promise": { + "version": "0.1.3", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "xhr-request": "^1.1.0" + } + }, + "xhr2-cookies": { + "version": "1.1.0", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "cookiejar": "^2.1.1" + } + }, + "xtend": { + "version": "4.0.2", + "dev": true, + "peer": true + }, + "yaeti": { + "version": "0.0.6", + "dev": true, + "peer": true + }, + "yallist": { + "version": "3.1.1", + "dev": true, + "peer": true + } + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "ghost-testrpc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", + "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "node-emoji": "^1.10.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true, + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + } + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "hardhat": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.9.3.tgz", + "integrity": "sha512-7Vw99RbYbMZ15UzegOR/nqIYIqddZXvLwJGaX5sX4G5bydILnbjmDU6g3jMKJSiArEixS3vHAEaOs5CW1JQ3hg==", + "dev": true, + "requires": { + "@ethereumjs/block": "^3.6.0", + "@ethereumjs/blockchain": "^5.5.0", + "@ethereumjs/common": "^2.6.0", + "@ethereumjs/tx": "^3.4.0", + "@ethereumjs/vm": "^5.6.0", + "@ethersproject/abi": "^5.1.2", + "@metamask/eth-sig-util": "^4.0.0", + "@sentry/node": "^5.18.1", + "@solidity-parser/parser": "^0.14.1", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "^5.1.0", + "abort-controller": "^3.0.0", + "adm-zip": "^0.4.16", + "aggregate-error": "^3.0.0", + "ansi-escapes": "^4.3.0", + "chalk": "^2.4.2", + "chokidar": "^3.4.0", + "ci-info": "^2.0.0", + "debug": "^4.1.1", + "enquirer": "^2.3.0", + "env-paths": "^2.2.0", + "ethereum-cryptography": "^0.1.2", + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^7.1.3", + "find-up": "^2.1.0", + "fp-ts": "1.19.3", + "fs-extra": "^7.0.1", + "glob": "^7.1.3", + "immutable": "^4.0.0-rc.12", + "io-ts": "1.10.4", + "lodash": "^4.17.11", + "merkle-patricia-tree": "^4.2.2", + "mnemonist": "^0.38.0", + "mocha": "^9.2.0", + "p-map": "^4.0.0", + "qs": "^6.7.0", + "raw-body": "^2.4.1", + "resolve": "1.17.0", + "semver": "^6.3.0", + "slash": "^3.0.0", + "solc": "0.7.3", + "source-map-support": "^0.5.13", + "stacktrace-parser": "^0.1.10", + "true-case-path": "^2.2.1", + "tsort": "0.0.1", + "undici": "^4.14.1", + "uuid": "^8.3.2", + "ws": "^7.4.6" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "solc": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", + "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", + "dev": true, + "requires": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "dependencies": { + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "hardhat-gas-reporter": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.8.tgz", + "integrity": "sha512-1G5thPnnhcwLHsFnl759f2tgElvuwdkzxlI65fC9PwxYMEe9cmjkVAAWTf3/3y8uP6ZSPiUiOW8PgZnykmZe0g==", + "dev": true, + "requires": { + "array-uniq": "1.0.3", + "eth-gas-reporter": "^0.2.24", + "sha1": "^1.1.1" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "peer": true + }, + "http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "dev": true, + "requires": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-https": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", + "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=", + "dev": true + }, + "http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dev": true, + "requires": { + "@types/node": "^10.0.3" + }, + "dependencies": { + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "idna-uts46-hx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", + "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", + "dev": true, + "requires": { + "punycode": "2.1.0" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "immediate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", + "dev": true + }, + "immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true, + "peer": true + }, + "io-ts": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", + "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", + "dev": true, + "requires": { + "fp-ts": "^1.0.0" + } + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "peer": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "peer": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "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": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", + "dev": true + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", + "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.18.5", + "foreach": "^2.0.5", + "has-tostringtag": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true, + "peer": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true, + "peer": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "peer": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonschema": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.0.tgz", + "integrity": "sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw==", + "dev": true + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "keccak": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", + "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", + "dev": true, + "requires": { + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0", + "readable-stream": "^3.6.0" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.11" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "peer": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "level-codec": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", + "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", + "dev": true, + "requires": { + "buffer": "^5.6.0" + } + }, + "level-concat-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", + "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", + "dev": true + }, + "level-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", + "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "dev": true, + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", + "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.4.0", + "xtend": "^4.0.2" + } + }, + "level-mem": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", + "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", + "dev": true, + "requires": { + "level-packager": "^5.0.3", + "memdown": "^5.0.0" + } + }, + "level-packager": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", + "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", + "dev": true, + "requires": { + "encoding-down": "^6.3.0", + "levelup": "^4.3.2" + } + }, + "level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "dev": true, + "requires": { + "xtend": "^4.0.2" + } + }, + "level-ws": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", + "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^3.1.0", + "xtend": "^4.0.1" + } + }, + "levelup": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", + "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", + "dev": true, + "requires": { + "deferred-leveldown": "~5.3.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~4.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "peer": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "peer": true + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true, + "peer": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "loupe": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", + "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "dev": true, + "requires": { + "get-func-name": "^2.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru_map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=", + "dev": true + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", + "dev": true + }, + "mcl-wasm": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", + "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", + "dev": true + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "memdown": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", + "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", + "dev": true, + "requires": { + "abstract-leveldown": "~6.2.1", + "functional-red-black-tree": "~1.0.1", + "immediate": "~3.2.3", + "inherits": "~2.0.1", + "ltgt": "~2.2.0", + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", + "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "immediate": "^3.2.3", + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, + "immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=", + "dev": true + } + } + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "merkle-patricia-tree": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", + "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", + "dev": true, + "requires": { + "@types/levelup": "^4.3.0", + "ethereumjs-util": "^7.1.4", + "level-mem": "^5.0.1", + "level-ws": "^2.0.0", + "readable-stream": "^3.6.0", + "semaphore-async-await": "^1.5.1" + } + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true, + "requires": { + "dom-walk": "^0.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "dev": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "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, + "requires": { + "minimist": "^1.2.6" + } + }, + "mkdirp-promise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", + "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", + "dev": true, + "requires": { + "mkdirp": "*" + } + }, + "mnemonist": { + "version": "0.38.5", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", + "dev": true, + "requires": { + "obliterator": "^2.0.0" + } + }, + "mocha": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", + "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", + "dev": true, + "requires": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.3", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "4.2.1", + "ms": "2.1.3", + "nanoid": "3.3.1", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "workerpool": "6.2.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "minimatch": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", + "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "mock-fs": { + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", + "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "multibase": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", + "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", + "dev": true, + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + }, + "multicodec": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", + "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", + "dev": true, + "requires": { + "varint": "^5.0.0" + } + }, + "multihashes": { + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", + "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "multibase": "^0.7.0", + "varint": "^5.0.0" + }, + "dependencies": { + "multibase": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", + "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", + "dev": true, + "requires": { + "base-x": "^3.0.8", + "buffer": "^5.5.0" + } + } + } + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nano-json-stream-parser": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", + "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=", + "dev": true + }, + "nanoid": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "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 + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-addon-api": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", + "dev": true + }, + "node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "requires": { + "lodash": "^4.17.21" + } + }, + "node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "peer": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-gyp-build": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", + "devOptional": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "peer": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true, + "peer": true + }, + "number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", + "dev": true, + "requires": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", + "dev": true + } + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "dev": true + }, + "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 + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "obliterator": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.2.tgz", + "integrity": "sha512-g0TrA7SbUggROhDPK8cEu/qpItwH2LSKcNl4tlfBNT54XY+nOsqrs0Q68h1V9b3HOSpIWv15jb1lax2hAggdIg==", + "dev": true + }, + "oboe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", + "integrity": "sha1-VVQoTFQ6ImbXo48X4HOCH73jk80=", + "dev": true, + "requires": { + "http-https": "^1.0.0" + } + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "peer": true, + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "peer": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=", + "dev": true + }, + "parse-headers": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "patch-package": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.4.7.tgz", + "integrity": "sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ==", + "dev": true, + "peer": true, + "requires": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^7.0.1", + "is-ci": "^2.0.0", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.0", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "^5.6.0", + "slash": "^2.0.0", + "tmp": "^0.0.33" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "peer": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true, + "peer": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "peer": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "peer": true + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "peer": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "peer": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "peer": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "peer": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "peer": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "peer": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "peer": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "peer": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "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 + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "peer": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "peer": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "postinstall-postinstall": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz", + "integrity": "sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==", + "dev": true, + "peer": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "prettier": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", + "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "prettier-plugin-solidity": { + "version": "1.0.0-beta.19", + "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.19.tgz", + "integrity": "sha512-xxRQ5ZiiZyUoMFLE9h7HnUDXI/daf1tnmL1msEdcKmyh7ZGQ4YklkYLC71bfBpYU2WruTb5/SFLUaEb3RApg5g==", + "dev": true, + "requires": { + "@solidity-parser/parser": "^0.14.0", + "emoji-regex": "^10.0.0", + "escape-string-regexp": "^4.0.0", + "semver": "^7.3.5", + "solidity-comments-extractor": "^0.0.7", + "string-width": "^4.2.3" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + } + } + } + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "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 + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", + "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", + "dev": true, + "requires": { + "asap": "~2.0.6" + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", + "dev": true + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true, + "peer": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "peer": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "dependencies": { + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "peer": true + } + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "peer": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "peer": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "peer": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "dev": true, + "requires": { + "minimatch": "3.0.4" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "req-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", + "integrity": "sha1-1AgrTURZgDZkD7c93qAe1T20nrw=", + "dev": true, + "requires": { + "req-from": "^2.0.0" + } + }, + "req-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", + "integrity": "sha1-10GI5H+TeW9Kpx327jWuaJ8+DnA=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + } + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true, + "peer": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "dev": true, + "requires": { + "bn.js": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + } + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rustbn.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==", + "dev": true + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sc-istanbul": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", + "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", + "dev": true, + "requires": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "secp256k1": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", + "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "dev": true, + "requires": { + "elliptic": "^6.5.4", + "node-addon-api": "^2.0.0", + "node-gyp-build": "^4.2.0" + } + }, + "semaphore-async-await": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", + "integrity": "sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo=", + "dev": true + }, + "semver": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", + "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", + "dev": true, + "requires": { + "lru-cache": "^7.4.0" + }, + "dependencies": { + "lru-cache": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.7.3.tgz", + "integrity": "sha512-WY9wjJNQt9+PZilnLbuFKM+SwDull9+6IAguOrarOMoOHTcJ9GnXSO11+Gw6c7xtDkBkthR57OZMtZKYr+1CEw==", + "dev": true + } + } + }, + "send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "1.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" + } + }, + "servify": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", + "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", + "dev": true, + "requires": { + "body-parser": "^1.16.0", + "cors": "^2.8.1", + "express": "^4.14.0", + "request": "^2.79.0", + "xhr": "^2.3.3" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "sha1": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", + "integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=", + "dev": true, + "requires": { + "charenc": ">= 0.0.1", + "crypt": ">= 0.0.1" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true + }, + "simple-get": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", + "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", + "dev": true, + "requires": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + } + } + }, + "solc": { + "version": "0.6.12", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.12.tgz", + "integrity": "sha512-Lm0Ql2G9Qc7yPP2Ba+WNmzw2jwsrd3u4PobHYlSOxaut3TtUbj9+5ZrT6f4DUpNPEoBaFUOEg9Op9C0mk7ge9g==", + "dev": true, + "peer": true, + "requires": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "dependencies": { + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "peer": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "peer": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "peer": true + } + } + }, + "solhint": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/solhint/-/solhint-3.3.7.tgz", + "integrity": "sha512-NjjjVmXI3ehKkb3aNtRJWw55SUVJ8HMKKodwe0HnejA+k0d2kmhw7jvpa+MCTbcEgt8IWSwx0Hu6aCo/iYOZzQ==", + "dev": true, + "requires": { + "@solidity-parser/parser": "^0.14.1", + "ajv": "^6.6.1", + "antlr4": "4.7.1", + "ast-parents": "0.0.1", + "chalk": "^2.4.2", + "commander": "2.18.0", + "cosmiconfig": "^5.0.7", + "eslint": "^5.6.0", + "fast-diff": "^1.1.2", + "glob": "^7.1.3", + "ignore": "^4.0.6", + "js-yaml": "^3.12.0", + "lodash": "^4.17.11", + "prettier": "^1.14.3", + "semver": "^6.3.0" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "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 + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "commander": { + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", + "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", + "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espree": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", + "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", + "dev": true, + "requires": { + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "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" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "optional": true + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + } + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "solhint-plugin-prettier": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/solhint-plugin-prettier/-/solhint-plugin-prettier-0.0.5.tgz", + "integrity": "sha512-7jmWcnVshIrO2FFinIvDQmhQpfpS2rRRn3RejiYgnjIE68xO2bvrYvjqVNfrio4xH9ghOqn83tKuTzLjEbmGIA==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "solidity-comments-extractor": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz", + "integrity": "sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw==", + "dev": true + }, + "solidity-coverage": { + "version": "0.7.20", + "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.7.20.tgz", + "integrity": "sha512-edOXTugUYdqxrtEnIn4vgrGjLPxdexcL0WD8LzAvVA3d1dwgcfRO3k8xQR02ZQnOnWMBi8Cqs0F+kAQQp3JW8g==", + "dev": true, + "requires": { + "@solidity-parser/parser": "^0.14.0", + "@truffle/provider": "^0.2.24", + "chalk": "^2.4.2", + "death": "^1.1.0", + "detect-port": "^1.3.0", + "fs-extra": "^8.1.0", + "ghost-testrpc": "^0.0.2", + "global-modules": "^2.0.0", + "globby": "^10.0.1", + "jsonschema": "^1.2.4", + "lodash": "^4.17.15", + "node-emoji": "^1.10.0", + "pify": "^4.0.1", + "recursive-readdir": "^2.2.2", + "sc-istanbul": "^0.4.5", + "semver": "^7.3.4", + "shelljs": "^0.8.3", + "web3-utils": "^1.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "peer": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true, + "peer": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "peer": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true, + "peer": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "dependencies": { + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + } + } + }, + "stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "dev": true, + "requires": { + "type-fest": "^0.7.1" + }, + "dependencies": { + "type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "dev": true + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "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 + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "peer": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "dev": true, + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "swarm-js": { + "version": "0.1.40", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", + "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "eth-lib": "^0.1.26", + "fs-extra": "^4.0.2", + "got": "^7.1.0", + "mime-types": "^2.1.16", + "mkdirp-promise": "^5.0.1", + "mock-fs": "^4.1.0", + "setimmediate": "^1.0.5", + "tar": "^4.0.2", + "xhr-request": "^1.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + } + } + }, + "sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dev": true, + "requires": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + } + }, + "sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dev": true, + "requires": { + "get-port": "^3.1.0" + } + }, + "table": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "tar": { + "version": "4.4.19", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", + "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", + "dev": true, + "requires": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + } + }, + "test-value": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", + "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=", + "dev": true, + "requires": { + "array-back": "^1.0.3", + "typical": "^2.6.0" + }, + "dependencies": { + "array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", + "dev": true, + "requires": { + "typical": "^2.6.0" + } + } + } + }, + "testrpc": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", + "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", + "dev": true, + "peer": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dev": true, + "requires": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "dependencies": { + "@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "dev": true + }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + } + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true, + "peer": true + }, + "true-case-path": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", + "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==", + "dev": true + }, + "ts-essentials": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-1.0.4.tgz", + "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==", + "dev": true, + "peer": true + }, + "ts-generator": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ts-generator/-/ts-generator-0.1.1.tgz", + "integrity": "sha512-N+ahhZxTLYu1HNTQetwWcx3so8hcYbkKBHTr4b4/YgObFTIKkOSSsaa+nal12w8mfrJAyzJfETXawbNjSfP2gQ==", + "dev": true, + "peer": true, + "requires": { + "@types/mkdirp": "^0.5.2", + "@types/prettier": "^2.1.1", + "@types/resolve": "^0.0.8", + "chalk": "^2.4.1", + "glob": "^7.1.2", + "mkdirp": "^0.5.1", + "prettier": "^2.1.2", + "resolve": "^1.8.1", + "ts-essentials": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "peer": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true, + "peer": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "ts-node": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", + "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "0.7.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.0", + "yn": "3.1.1" + }, + "dependencies": { + "acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + } + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsort": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", + "dev": true + }, + "tweetnacl-util": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typechain": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typechain/-/typechain-5.2.0.tgz", + "integrity": "sha512-0INirvQ+P+MwJOeMct+WLkUE4zov06QxC96D+i3uGFEHoiSkZN70MKDQsaj8zkL86wQwByJReI2e7fOUwECFuw==", + "dev": true, + "requires": { + "@types/prettier": "^2.1.1", + "command-line-args": "^4.0.7", + "debug": "^4.1.1", + "fs-extra": "^7.0.0", + "glob": "^7.1.6", + "js-sha3": "^0.8.0", + "lodash": "^4.17.15", + "mkdirp": "^1.0.4", + "prettier": "^2.1.2", + "ts-essentials": "^7.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "ts-essentials": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", + "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", + "dev": true, + "requires": {} + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", + "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", + "dev": true + }, + "typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=", + "dev": true + }, + "uglify-js": { + "version": "3.15.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz", + "integrity": "sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==", + "dev": true, + "optional": true + }, + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "undici": { + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-4.16.0.tgz", + "integrity": "sha512-tkZSECUYi+/T1i4u+4+lwZmQgLXd4BLGlrc7KZPcLIW7Jpq99+Xpc30ONv7nS6F5UNOxp/HBZSSL9MafUrvJbw==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "peer": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true, + "peer": true + } + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "url-set-query": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", + "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=", + "dev": true + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true + }, + "utf-8-validate": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", + "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", + "devOptional": true, + "requires": { + "node-gyp-build": "^4.3.0" + } + }, + "utf8": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", + "dev": true + }, + "util": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", + "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "safe-buffer": "^5.1.2", + "which-typed-array": "^1.1.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "v8-compile-cache-lib": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", + "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "peer": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "varint": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", + "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", + "dev": true + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "web3": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", + "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", + "dev": true, + "requires": { + "web3-bzz": "1.5.3", + "web3-core": "1.5.3", + "web3-eth": "1.5.3", + "web3-eth-personal": "1.5.3", + "web3-net": "1.5.3", + "web3-shh": "1.5.3", + "web3-utils": "1.5.3" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-bzz": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.5.3.tgz", + "integrity": "sha512-SlIkAqG0eS6cBS9Q2eBOTI1XFzqh83RqGJWnyrNZMDxUwsTVHL+zNnaPShVPvrWQA1Ub5b0bx1Kc5+qJVxsTJg==", + "dev": true, + "requires": { + "@types/node": "^12.12.6", + "got": "9.6.0", + "swarm-js": "^0.1.40" + }, + "dependencies": { + "@types/node": { + "version": "12.20.47", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", + "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==", + "dev": true + } + } + }, + "web3-core": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.3.tgz", + "integrity": "sha512-ACTbu8COCu+0eUNmd9pG7Q9EVsNkAg2w3Y7SqhDr+zjTgbSHZV01jXKlapm9z+G3AN/BziV3zGwudClJ4u4xXQ==", + "dev": true, + "requires": { + "@types/bn.js": "^4.11.5", + "@types/node": "^12.12.6", + "bignumber.js": "^9.0.0", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-core-requestmanager": "1.5.3", + "web3-utils": "1.5.3" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "12.20.47", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", + "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-core-helpers": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.3.tgz", + "integrity": "sha512-Ip1IjB3S8vN7Kf1PPjK41U5gskmMk6IJQlxIVuS8/1U7n/o0jC8krqtpRwiMfAgYyw3TXwBFtxSRTvJtnLyXZw==", + "dev": true, + "requires": { + "web3-eth-iban": "1.5.3", + "web3-utils": "1.5.3" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-core-method": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.3.tgz", + "integrity": "sha512-8wJrwQ2qD9ibWieF9oHXwrJsUGrv3XAtEkNeyvyNMpktNTIjxJ2jaFGQUuLiyUrMubD18XXgLk4JS6PJU4Loeg==", + "dev": true, + "requires": { + "@ethereumjs/common": "^2.4.0", + "@ethersproject/transactions": "^5.0.0-beta.135", + "web3-core-helpers": "1.5.3", + "web3-core-promievent": "1.5.3", + "web3-core-subscriptions": "1.5.3", + "web3-utils": "1.5.3" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-core-promievent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.3.tgz", + "integrity": "sha512-CFfgqvk3Vk6PIAxtLLuX+pOMozxkKCY+/GdGr7weMh033mDXEPvwyVjoSRO1PqIKj668/hMGQsVoIgbyxkJ9Mg==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4" + } + }, + "web3-core-requestmanager": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.3.tgz", + "integrity": "sha512-9k/Bze2rs8ONix5IZR+hYdMNQv+ark2Ek2kVcrFgWO+LdLgZui/rn8FikPunjE+ub7x7pJaKCgVRbYFXjo3ZWg==", + "dev": true, + "requires": { + "util": "^0.12.0", + "web3-core-helpers": "1.5.3", + "web3-providers-http": "1.5.3", + "web3-providers-ipc": "1.5.3", + "web3-providers-ws": "1.5.3" + } + }, + "web3-core-subscriptions": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.3.tgz", + "integrity": "sha512-L2m9vG1iRN6thvmv/HQwO2YLhOQlmZU8dpLG6GSo9FBN14Uch868Swk0dYVr3rFSYjZ/GETevSXU+O+vhCummA==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.5.3" + } + }, + "web3-eth": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.5.3.tgz", + "integrity": "sha512-saFurA1L23Bd7MEf7cBli6/jRdMhD4X/NaMiO2mdMMCXlPujoudlIJf+VWpRWJpsbDFdu7XJ2WHkmBYT5R3p1Q==", + "dev": true, + "requires": { + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-core-subscriptions": "1.5.3", + "web3-eth-abi": "1.5.3", + "web3-eth-accounts": "1.5.3", + "web3-eth-contract": "1.5.3", + "web3-eth-ens": "1.5.3", + "web3-eth-iban": "1.5.3", + "web3-eth-personal": "1.5.3", + "web3-net": "1.5.3", + "web3-utils": "1.5.3" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-eth-abi": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.3.tgz", + "integrity": "sha512-i/qhuFsoNrnV130CSRYX/z4SlCfSQ4mHntti5yTmmQpt70xZKYZ57BsU0R29ueSQ9/P+aQrL2t2rqkQkAloUxg==", + "dev": true, + "requires": { + "@ethersproject/abi": "5.0.7", + "web3-utils": "1.5.3" + }, + "dependencies": { + "@ethersproject/abi": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", + "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", + "dev": true, + "requires": { + "@ethersproject/address": "^5.0.4", + "@ethersproject/bignumber": "^5.0.7", + "@ethersproject/bytes": "^5.0.4", + "@ethersproject/constants": "^5.0.4", + "@ethersproject/hash": "^5.0.4", + "@ethersproject/keccak256": "^5.0.3", + "@ethersproject/logger": "^5.0.5", + "@ethersproject/properties": "^5.0.3", + "@ethersproject/strings": "^5.0.4" + } + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-eth-accounts": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.5.3.tgz", + "integrity": "sha512-pdGhXgeBaEJENMvRT6W9cmji3Zz/46ugFSvmnLLw79qi5EH7XJhKISNVb41eWCrs4am5GhI67GLx5d2s2a72iw==", + "dev": true, + "requires": { + "@ethereumjs/common": "^2.3.0", + "@ethereumjs/tx": "^3.2.1", + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.8", + "ethereumjs-util": "^7.0.10", + "scrypt-js": "^3.0.1", + "uuid": "3.3.2", + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-utils": "1.5.3" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, + "web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-eth-contract": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.5.3.tgz", + "integrity": "sha512-Gdlt1L6cdHe83k7SdV6xhqCytVtOZkjD0kY/15x441AuuJ4JLubCHuqu69k2Dr3tWifHYVys/vG8QE/W16syGg==", + "dev": true, + "requires": { + "@types/bn.js": "^4.11.5", + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-core-promievent": "1.5.3", + "web3-core-subscriptions": "1.5.3", + "web3-eth-abi": "1.5.3", + "web3-utils": "1.5.3" + }, + "dependencies": { + "@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-eth-ens": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.5.3.tgz", + "integrity": "sha512-QmGFFtTGElg0E+3xfCIFhiUF+1imFi9eg/cdsRMUZU4F1+MZCC/ee+IAelYLfNTGsEslCqfAusliKOT9DdGGnw==", + "dev": true, + "requires": { + "content-hash": "^2.5.2", + "eth-ens-namehash": "2.0.8", + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-promievent": "1.5.3", + "web3-eth-abi": "1.5.3", + "web3-eth-contract": "1.5.3", + "web3-utils": "1.5.3" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-eth-iban": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.3.tgz", + "integrity": "sha512-vMzmGqolYZvRHwP9P4Nf6G8uYM5aTLlQu2a34vz78p0KlDC+eV1th3+90Qeaupa28EG7OO0IT1F0BejiIauOPw==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "web3-utils": "1.5.3" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-eth-personal": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.5.3.tgz", + "integrity": "sha512-JzibJafR7ak/Icas8uvos3BmUNrZw1vShuNR5Cxjo+vteOC8XMqz1Vr7RH65B4bmlfb3bm9xLxetUHO894+Sew==", + "dev": true, + "requires": { + "@types/node": "^12.12.6", + "web3-core": "1.5.3", + "web3-core-helpers": "1.5.3", + "web3-core-method": "1.5.3", + "web3-net": "1.5.3", + "web3-utils": "1.5.3" + }, + "dependencies": { + "@types/node": { + "version": "12.20.47", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", + "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-net": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.5.3.tgz", + "integrity": "sha512-0W/xHIPvgVXPSdLu0iZYnpcrgNnhzHMC888uMlGP5+qMCt8VuflUZHy7tYXae9Mzsg1kxaJAS5lHVNyeNw4CoQ==", + "dev": true, + "requires": { + "web3-core": "1.5.3", + "web3-core-method": "1.5.3", + "web3-utils": "1.5.3" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "web3-utils": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", + "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "eth-lib": "0.2.8", + "ethereum-bloom-filters": "^1.0.6", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + } + } + }, + "web3-providers-http": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.3.tgz", + "integrity": "sha512-5DpUyWGHtDAr2RYmBu34Fu+4gJuBAuNx2POeiJIooUtJ+Mu6pIx4XkONWH6V+Ez87tZAVAsFOkJRTYuzMr3rPw==", + "dev": true, + "requires": { + "web3-core-helpers": "1.5.3", + "xhr2-cookies": "1.1.0" + } + }, + "web3-providers-ipc": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.3.tgz", + "integrity": "sha512-JmeAptugVpmXI39LGxUSAymx0NOFdgpuI1hGQfIhbEAcd4sv7fhfd5D+ZU4oLHbRI8IFr4qfGU0uhR8BXhDzlg==", + "dev": true, + "requires": { + "oboe": "2.1.5", + "web3-core-helpers": "1.5.3" + } + }, + "web3-providers-ws": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.3.tgz", + "integrity": "sha512-6DhTw4Q7nm5CFYEUHOJM0gAb3xFx+9gWpVveg3YxJ/ybR1BUvEWo3bLgIJJtX56cYX0WyY6DS35a7f0LOI1kVg==", + "dev": true, + "requires": { + "eventemitter3": "4.0.4", + "web3-core-helpers": "1.5.3", + "websocket": "^1.0.32" + } + }, + "web3-shh": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.5.3.tgz", + "integrity": "sha512-COfEXfsqoV/BkcsNLRxQqnWc1Teb8/9GxdGag5GtPC5gQC/vsN+7hYVJUwNxY9LtJPKYTij2DHHnx6UkITng+Q==", + "dev": true, + "requires": { + "web3-core": "1.5.3", + "web3-core-method": "1.5.3", + "web3-core-subscriptions": "1.5.3", + "web3-net": "1.5.3" + } + }, + "web3-utils": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.1.tgz", + "integrity": "sha512-fef0EsqMGJUgiHPdX+KN9okVWshbIumyJPmR+btnD1HgvoXijKEkuKBv0OmUqjbeqmLKP2/N9EiXKJel5+E1Dw==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "ethereum-bloom-filters": "^1.0.6", + "ethereumjs-util": "^7.1.0", + "ethjs-unit": "0.1.6", + "number-to-bn": "1.7.0", + "randombytes": "^2.1.0", + "utf8": "3.0.0" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true, + "peer": true + }, + "websocket": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", + "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", + "dev": true, + "requires": { + "bufferutil": "^4.0.1", + "debug": "^2.2.0", + "es5-ext": "^0.10.50", + "typedarray-to-buffer": "^3.1.5", + "utf-8-validate": "^5.0.2", + "yaeti": "^0.0.6" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "peer": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true, + "peer": true + }, + "which-typed-array": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", + "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.18.5", + "foreach": "^2.0.5", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.7" + } + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "window-size": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", + "dev": true, + "peer": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "workerpool": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", + "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "requires": {} + }, + "xhr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", + "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", + "dev": true, + "requires": { + "global": "~4.4.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xhr-request": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", + "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", + "dev": true, + "requires": { + "buffer-to-arraybuffer": "^0.0.5", + "object-assign": "^4.1.1", + "query-string": "^5.0.1", + "simple-get": "^2.7.0", + "timed-out": "^4.0.1", + "url-set-query": "^1.0.0", + "xhr": "^2.0.4" + } + }, + "xhr-request-promise": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", + "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", + "dev": true, + "requires": { + "xhr-request": "^1.1.0" + } + }, + "xhr2-cookies": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", + "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", + "dev": true, + "requires": { + "cookiejar": "^2.1.1" + } + }, + "xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 000000000..4031150ad --- /dev/null +++ b/package.json @@ -0,0 +1,49 @@ +{ + "name": "@abacus-network/erc20-token", + "version": "0.0.0", + "license": "MIT OR Apache-2.0", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "directories": { + "test": "test" + }, + "scripts": { + "build": "hardhat compile && hardhat typechain && npm run prettier && tsc && npm run copy-types", + "test": "hardhat test", + "prettier": "prettier --write ./contracts ./test", + "copy-types": "cp types/*.d.ts dist/", + "coverage": "hardhat coverage" + }, + "dependencies": { + "@abacus-network/core": "file:../abacus-monorepo/solidity/core", + "@abacus-network/sdk": "file:../abacus-monorepo/typescript/sdk", + "@abacus-network/utils": "file:../abacus-monorepo/typescript/utils", + "@abacus-network/apps": "file:../abacus-monorepo/solidity/apps", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "ethers": "^5.4.7" + }, + "devDependencies": { + "@abacus-network/hardhat": "file:../abacus-monorepo/typescript/hardhat", + "@openzeppelin/contracts": "~3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0", + "@nomiclabs/hardhat-ethers": "^2.0.1", + "@nomiclabs/hardhat-waffle": "^2.0.1", + "@typechain/ethers-v5": "~7.0.0", + "@typechain/hardhat": "^2.0.1", + "@types/mocha": "^9.1.0", + "chai": "^4.3.0", + "eslint": "^7.20.0", + "hardhat": "^2.8.3", + "hardhat-gas-reporter": "^1.0.7", + "prettier": "^2.2.1", + "prettier-plugin-solidity": "^1.0.0-beta.5", + "solhint": "^3.3.2", + "solhint-plugin-prettier": "^0.0.5", + "solidity-coverage": "^0.7.14", + "ts-node": "^10.1.0", + "typechain": "^5.0.0", + "typescript": "^4.3.5" + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 000000000..896234150 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "declaration": true, + "declarationMap": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "incremental": false, + "lib": ["es2015", "es5", "dom"], + "module": "commonjs", + "moduleResolution": "node", + "noEmitOnError": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noUnusedLocals": true, + "preserveSymlinks": true, + "preserveWatchOutput": true, + "pretty": false, + "sourceMap": true, + "target": "es6", + "strict": true, + "outDir": "./dist/", + "rootDir": "./src/" + }, +} From a41755e7b9912b0e8714e6c8584dec1cb0f6d5f0 Mon Sep 17 00:00:00 2001 From: yorhodes Date: Wed, 6 Apr 2022 15:26:29 -0700 Subject: [PATCH 02/56] Setup contracts skeleton and typescript build --- contracts/AbcToken.sol | 32 ++++++++++++++++++++++++++++++++ contracts/TransferRouter.sol | 19 +++++++++++++++++++ interfaces/IAbcToken.sol | 24 ++++++++++++++++++++++++ package-lock.json | 15 +++++++++++---- package.json | 15 +++++++++------ tsconfig.json | 11 ++++++++++- 6 files changed, 105 insertions(+), 11 deletions(-) create mode 100644 contracts/AbcToken.sol create mode 100644 contracts/TransferRouter.sol create mode 100644 interfaces/IAbcToken.sol diff --git a/contracts/AbcToken.sol b/contracts/AbcToken.sol new file mode 100644 index 000000000..25b310a65 --- /dev/null +++ b/contracts/AbcToken.sol @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +pragma solidity >=0.6.11; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +import {IAbcToken} from "../interfaces/IAbcToken.sol"; + +contract AbcToken is IAbcToken, ERC20 { + // The TransferRouter responsible for sending messages to mint ABC on remote chains. + TransferRouter public router; + + constructor() ERC20("My ABC", "ABC") { + // TODO: handle initial supply + } + + function transferRemote( + uint32 domain, + address recipient, + uint256 amount + ) external override { + + } + + function transferFromRemote( + uint32 domain, + address sender, + address recipient, + uint256 amount + ) external override {} + + function burnFrom(address sender, uint256 amount) external override {} +} diff --git a/contracts/TransferRouter.sol b/contracts/TransferRouter.sol new file mode 100644 index 000000000..1ecb83d2b --- /dev/null +++ b/contracts/TransferRouter.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +pragma solidity >=0.6.11; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +import {Router} from "@abacus-network/core/contracts/router/Router.sol"; + +import {IAbcToken} from "../interfaces/IAbcToken.sol"; + +contract AbcRouter is Router { + // The address of the token contract. + ERC20Mintable public token; + + // Dispatches a message to a remote router to mint `amount` to `recipient`. + function transferRemote(uint32 domain, address sender, address recipient, uint256 amount) external onlyToken; + + // Mints message.amount to message.recipient. + function handleTransferMessage(bytes memory message) internal; + } \ No newline at end of file diff --git a/interfaces/IAbcToken.sol b/interfaces/IAbcToken.sol new file mode 100644 index 000000000..9dd0b386c --- /dev/null +++ b/interfaces/IAbcToken.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +pragma solidity >=0.6.11; + +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +interface IAbcToken is IERC20 { + // Burns `amount` and calls TransferRouter.transferRemote(domain, recipient, amount) + function transferRemote( + uint32 domain, + address recipient, + uint256 amount + ) external; + + // Burns `amount` and calls TransferRouter.transferRemote(domain, recipient, amount) + function transferFromRemote( + uint32 domain, + address sender, + address recipient, + uint256 amount + ) external; + + // Allows approved addresses to burn `sender`'s tokens. Needed for slashing. + function burnFrom(address sender, uint256 amount) external; +} diff --git a/package-lock.json b/package-lock.json index 400a5ee5f..bb0df8fb3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,14 @@ { - "name": "@abacus-network/erc20-token", + "name": "@abacus-network/token", "version": "0.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "@abacus-network/erc20-token", + "name": "@abacus-network/token", "version": "0.0.0", "license": "MIT OR Apache-2.0", "dependencies": { - "@abacus-network/apps": "file:../abacus-monorepo/solidity/apps", - "@abacus-network/core": "file:../abacus-monorepo/solidity/core", "@abacus-network/sdk": "file:../abacus-monorepo/typescript/sdk", "@abacus-network/utils": "file:../abacus-monorepo/typescript/utils", "@ethersproject/bignumber": "^5.5.0", @@ -18,6 +16,8 @@ "ethers": "^5.4.7" }, "devDependencies": { + "@abacus-network/apps": "file:../abacus-monorepo/solidity/apps", + "@abacus-network/core": "file:../abacus-monorepo/solidity/core", "@abacus-network/hardhat": "file:../abacus-monorepo/typescript/hardhat", "@nomiclabs/hardhat-ethers": "^2.0.1", "@nomiclabs/hardhat-waffle": "^2.0.1", @@ -42,7 +42,9 @@ } }, "../abacus-monorepo/solidity/apps": { + "name": "@abacus-network/apps", "version": "0.0.0", + "dev": true, "license": "MIT OR Apache-2.0", "dependencies": { "@abacus-network/core": "file:../core", @@ -75,7 +77,9 @@ } }, "../abacus-monorepo/solidity/core": { + "name": "@abacus-network/core", "version": "0.0.1", + "dev": true, "license": "MIT OR Apache-2.0", "dependencies": { "@abacus-network/utils": "^0.0.5", @@ -105,6 +109,7 @@ } }, "../abacus-monorepo/typescript/hardhat": { + "name": "@abacus-network/hardhat", "version": "0.0.5", "dev": true, "license": "MIT OR Apache-2.0", @@ -124,6 +129,7 @@ } }, "../abacus-monorepo/typescript/sdk": { + "name": "@abacus-network/sdk", "version": "0.0.1", "license": "MIT OR Apache-2.0", "dependencies": { @@ -148,6 +154,7 @@ } }, "../abacus-monorepo/typescript/utils": { + "name": "@abacus-network/utils", "version": "0.0.5", "license": "MIT OR Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 4031150ad..c51266a38 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@abacus-network/erc20-token", + "name": "@abacus-network/token", "version": "0.0.0", "license": "MIT OR Apache-2.0", "main": "dist/index.js", @@ -8,23 +8,26 @@ "test": "test" }, "scripts": { - "build": "hardhat compile && hardhat typechain && npm run prettier && tsc && npm run copy-types", - "test": "hardhat test", + "build:contracts": "hardhat compile && hardhat typechain", + "build:sdk": "tsc", + "build": "npm run build:contracts && npm run build:sdk", + "test:contracts": "hardhat test", + "test:sdk": "", + "test": "npm run test:contracts && npm run test:sdk", "prettier": "prettier --write ./contracts ./test", - "copy-types": "cp types/*.d.ts dist/", "coverage": "hardhat coverage" }, "dependencies": { - "@abacus-network/core": "file:../abacus-monorepo/solidity/core", "@abacus-network/sdk": "file:../abacus-monorepo/typescript/sdk", "@abacus-network/utils": "file:../abacus-monorepo/typescript/utils", - "@abacus-network/apps": "file:../abacus-monorepo/solidity/apps", "@ethersproject/bignumber": "^5.5.0", "@ethersproject/bytes": "^5.5.0", "ethers": "^5.4.7" }, "devDependencies": { "@abacus-network/hardhat": "file:../abacus-monorepo/typescript/hardhat", + "@abacus-network/core": "file:../abacus-monorepo/solidity/core", + "@abacus-network/apps": "file:../abacus-monorepo/solidity/apps", "@openzeppelin/contracts": "~3.4.2", "@openzeppelin/contracts-upgradeable": "~3.4.2", "@summa-tx/memview-sol": "^2.0.0", diff --git a/tsconfig.json b/tsconfig.json index 896234150..65e2cb6f9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -20,6 +20,15 @@ "target": "es6", "strict": true, "outDir": "./dist/", - "rootDir": "./src/" + "rootDir": "./src/", }, + "exclude": [ + "./node_modules/", + "./dist/", + "./types/hardhat.d.ts" + ], + "include": [ + "./types/*.ts", + "./types/factories/*.ts" + ] } From 4c57fc8715494336d9ba6ab059542d51be7abb44 Mon Sep 17 00:00:00 2001 From: yorhodes Date: Thu, 7 Apr 2022 21:12:58 -0700 Subject: [PATCH 03/56] Upgrade to solidity ^0.8 --- .solhint.json | 2 +- contracts/AbcToken.sol | 1 + contracts/TransferRouter.sol | 50 +++++++++++++++++++++++++++--------- hardhat.config.ts | 25 +++++++++++------- interfaces/IAbcToken.sol | 2 +- package-lock.json | 49 +++++++++++++++-------------------- package.json | 12 ++++----- 7 files changed, 83 insertions(+), 58 deletions(-) diff --git a/.solhint.json b/.solhint.json index 0c60b09bb..0a512e65b 100644 --- a/.solhint.json +++ b/.solhint.json @@ -1,7 +1,7 @@ { "extends": "solhint:recommended", "rules": { - "compiler-version": ["error", "^0.6.11"], + "compiler-version": ["error", ">=0.6.0"], "func-visibility": ["warn", {"ignoreConstructors":true}], "not-rely-on-time": "off" } diff --git a/contracts/AbcToken.sol b/contracts/AbcToken.sol index 25b310a65..71c3d9c41 100644 --- a/contracts/AbcToken.sol +++ b/contracts/AbcToken.sol @@ -3,6 +3,7 @@ pragma solidity >=0.6.11; import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +import {TransferRouter} from "./TransferRouter.sol"; import {IAbcToken} from "../interfaces/IAbcToken.sol"; contract AbcToken is IAbcToken, ERC20 { diff --git a/contracts/TransferRouter.sol b/contracts/TransferRouter.sol index 1ecb83d2b..123ebe624 100644 --- a/contracts/TransferRouter.sol +++ b/contracts/TransferRouter.sol @@ -1,19 +1,45 @@ // SPDX-License-Identifier: MIT OR Apache-2.0 -pragma solidity >=0.6.11; - -import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +pragma solidity ^0.8.13; +// ============ Internal Imports ============ +import {IAbcToken} from "../interfaces/IAbcToken.sol"; +// ============ External Imports ============ import {Router} from "@abacus-network/core/contracts/router/Router.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import {IAbcToken} from "../interfaces/IAbcToken.sol"; +contract TransferRouter is Router { + // The address of the token contract. + IERC20 public token; + + constructor(address _token) { + token = IERC20(_token); + } + + error SenderNotToken(); + + modifier onlyToken() { + if (msg.sender != address(token)) { + revert SenderNotToken(); + } + _; + } + + // Dispatches a message to a remote router to mint `amount` to `recipient`. + function transferRemote( + uint32 domain, + address sender, + address recipient, + uint256 amount + ) external onlyToken {} -contract AbcRouter is Router { - // The address of the token contract. - ERC20Mintable public token; + // Mints message.amount to message.recipient. + function handleTransferMessage(bytes memory message) internal {} - // Dispatches a message to a remote router to mint `amount` to `recipient`. - function transferRemote(uint32 domain, address sender, address recipient, uint256 amount) external onlyToken; + function handle( + uint32 _origin, + bytes32 _sender, + bytes calldata _message + ) external override { - // Mints message.amount to message.recipient. - function handleTransferMessage(bytes memory message) internal; - } \ No newline at end of file + } +} diff --git a/hardhat.config.ts b/hardhat.config.ts index 4e4a112c3..f672a152c 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -1,21 +1,28 @@ -import 'solidity-coverage'; -import '@typechain/hardhat'; +import '@abacus-network/hardhat'; import '@nomiclabs/hardhat-waffle'; +import '@typechain/hardhat'; import 'hardhat-gas-reporter'; -import '@abacus-network/hardhat'; +import 'solidity-coverage'; /** * @type import('hardhat/config').HardhatUserConfig */ module.exports = { solidity: { - version: '0.7.6', - settings: { - optimizer: { - enabled: true, - runs: 999999, + compilers: [ + { + version: '0.8.13', + }, + { + version: '0.7.6', + // settings: { + // optimizer: { + // enabled: true, + // runs: 999999, + // }, + // }, }, - }, + ], }, gasReporter: { currency: 'USD', diff --git a/interfaces/IAbcToken.sol b/interfaces/IAbcToken.sol index 9dd0b386c..1d329ac93 100644 --- a/interfaces/IAbcToken.sol +++ b/interfaces/IAbcToken.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT OR Apache-2.0 -pragma solidity >=0.6.11; +pragma solidity ^0.8.13; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/package-lock.json b/package-lock.json index bb0df8fb3..dbdc6c894 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,21 +9,21 @@ "version": "0.0.0", "license": "MIT OR Apache-2.0", "dependencies": { + "@abacus-network/apps": "file:../abacus-monorepo/solidity/apps", + "@abacus-network/core": "file:../abacus-monorepo/solidity/core", + "@abacus-network/hardhat": "file:../abacus-monorepo/typescript/hardhat", "@abacus-network/sdk": "file:../abacus-monorepo/typescript/sdk", "@abacus-network/utils": "file:../abacus-monorepo/typescript/utils", "@ethersproject/bignumber": "^5.5.0", "@ethersproject/bytes": "^5.5.0", + "@openzeppelin/contracts": "~4.5.0", + "@openzeppelin/contracts-upgradeable": "~4.5.0", + "@summa-tx/memview-sol": "^2.0.0", "ethers": "^5.4.7" }, "devDependencies": { - "@abacus-network/apps": "file:../abacus-monorepo/solidity/apps", - "@abacus-network/core": "file:../abacus-monorepo/solidity/core", - "@abacus-network/hardhat": "file:../abacus-monorepo/typescript/hardhat", "@nomiclabs/hardhat-ethers": "^2.0.1", "@nomiclabs/hardhat-waffle": "^2.0.1", - "@openzeppelin/contracts": "~3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0", "@typechain/ethers-v5": "~7.0.0", "@typechain/hardhat": "^2.0.1", "@types/mocha": "^9.1.0", @@ -44,7 +44,6 @@ "../abacus-monorepo/solidity/apps": { "name": "@abacus-network/apps", "version": "0.0.0", - "dev": true, "license": "MIT OR Apache-2.0", "dependencies": { "@abacus-network/core": "file:../core", @@ -79,7 +78,6 @@ "../abacus-monorepo/solidity/core": { "name": "@abacus-network/core", "version": "0.0.1", - "dev": true, "license": "MIT OR Apache-2.0", "dependencies": { "@abacus-network/utils": "^0.0.5", @@ -111,7 +109,6 @@ "../abacus-monorepo/typescript/hardhat": { "name": "@abacus-network/hardhat", "version": "0.0.5", - "dev": true, "license": "MIT OR Apache-2.0", "dependencies": { "@abacus-network/core": "file:../../solidity/core", @@ -1619,16 +1616,14 @@ } }, "node_modules/@openzeppelin/contracts": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", - "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==", - "dev": true + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.5.0.tgz", + "integrity": "sha512-fdkzKPYMjrRiPK6K4y64e6GzULR7R7RwxSigHS8DDp7aWDeoReqsQI+cxHV1UuhAqX69L1lAaWDxenfP+xiqzA==" }, "node_modules/@openzeppelin/contracts-upgradeable": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", - "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==", - "dev": true + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.5.2.tgz", + "integrity": "sha512-xgWZYaPlrEOQo3cBj97Ufiuv79SPd8Brh4GcFYhPgb6WvAq4ppz8dWKL6h+jLAK01rUqMRp/TS9AdXgAeNvCLA==" }, "node_modules/@resolver-engine/core": { "version": "0.3.3", @@ -1887,8 +1882,7 @@ "node_modules/@summa-tx/memview-sol": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@summa-tx/memview-sol/-/memview-sol-2.0.1.tgz", - "integrity": "sha512-GuaXBYG6/aIjKae3UJSBS61J/IuK/NTuk2IJBpGxytkxN1p3ZdRNIp8HQAIOVoCKZQtvzdPaBWokzCk/LakA/Q==", - "dev": true + "integrity": "sha512-GuaXBYG6/aIjKae3UJSBS61J/IuK/NTuk2IJBpGxytkxN1p3ZdRNIp8HQAIOVoCKZQtvzdPaBWokzCk/LakA/Q==" }, "node_modules/@szmarczak/http-timer": { "version": "1.1.2", @@ -25000,16 +24994,14 @@ } }, "@openzeppelin/contracts": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", - "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==", - "dev": true + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.5.0.tgz", + "integrity": "sha512-fdkzKPYMjrRiPK6K4y64e6GzULR7R7RwxSigHS8DDp7aWDeoReqsQI+cxHV1UuhAqX69L1lAaWDxenfP+xiqzA==" }, "@openzeppelin/contracts-upgradeable": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", - "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==", - "dev": true + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.5.2.tgz", + "integrity": "sha512-xgWZYaPlrEOQo3cBj97Ufiuv79SPd8Brh4GcFYhPgb6WvAq4ppz8dWKL6h+jLAK01rUqMRp/TS9AdXgAeNvCLA==" }, "@resolver-engine/core": { "version": "0.3.3", @@ -25234,8 +25226,7 @@ "@summa-tx/memview-sol": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@summa-tx/memview-sol/-/memview-sol-2.0.1.tgz", - "integrity": "sha512-GuaXBYG6/aIjKae3UJSBS61J/IuK/NTuk2IJBpGxytkxN1p3ZdRNIp8HQAIOVoCKZQtvzdPaBWokzCk/LakA/Q==", - "dev": true + "integrity": "sha512-GuaXBYG6/aIjKae3UJSBS61J/IuK/NTuk2IJBpGxytkxN1p3ZdRNIp8HQAIOVoCKZQtvzdPaBWokzCk/LakA/Q==" }, "@szmarczak/http-timer": { "version": "1.1.2", diff --git a/package.json b/package.json index c51266a38..20ee0acb3 100644 --- a/package.json +++ b/package.json @@ -20,17 +20,17 @@ "dependencies": { "@abacus-network/sdk": "file:../abacus-monorepo/typescript/sdk", "@abacus-network/utils": "file:../abacus-monorepo/typescript/utils", + "@abacus-network/hardhat": "file:../abacus-monorepo/typescript/hardhat", + "@abacus-network/core": "file:../abacus-monorepo/solidity/core", + "@abacus-network/apps": "file:../abacus-monorepo/solidity/apps", + "@summa-tx/memview-sol": "^2.0.0", + "@openzeppelin/contracts": "~4.5.0", + "@openzeppelin/contracts-upgradeable": "~4.5.0", "@ethersproject/bignumber": "^5.5.0", "@ethersproject/bytes": "^5.5.0", "ethers": "^5.4.7" }, "devDependencies": { - "@abacus-network/hardhat": "file:../abacus-monorepo/typescript/hardhat", - "@abacus-network/core": "file:../abacus-monorepo/solidity/core", - "@abacus-network/apps": "file:../abacus-monorepo/solidity/apps", - "@openzeppelin/contracts": "~3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0", "@nomiclabs/hardhat-ethers": "^2.0.1", "@nomiclabs/hardhat-waffle": "^2.0.1", "@typechain/ethers-v5": "~7.0.0", From e0a6f88ecde616976c00a497a4ef02334ba57253 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Wed, 13 Apr 2022 11:11:01 -0700 Subject: [PATCH 04/56] Add contracts and tests (#1) --- README.md | 33 + contracts/AbcToken.sol | 104 +- contracts/TransferRouter.sol | 45 - hardhat.config.ts | 15 +- interfaces/IAbcToken.sol | 24 - package-lock.json | 8012 +++++++--------------------------- package.json | 18 +- test/TokenDeploy.ts | 32 + test/token.test.ts | 90 + 9 files changed, 1942 insertions(+), 6431 deletions(-) create mode 100644 README.md delete mode 100644 contracts/TransferRouter.sol delete mode 100644 interfaces/IAbcToken.sol create mode 100644 test/TokenDeploy.ts create mode 100644 test/token.test.ts diff --git a/README.md b/README.md new file mode 100644 index 000000000..359ef4a07 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ + + +## ABC + +`AbcToken` showcases an Abacus Token that extends the ERC20 token with an additional `transferRemote` function. + +```mermaid +%%{init: {'theme':'base'}}%% +graph TB + Alice((Alice)) + Operator((Operator)) + + subgraph "Ethereum" + ABC_E[(ABC)] + O_E[/Outbox\] + end + + subgraph "Polygon" + ABC_P[(ABC)] + EthereumInbox[\EthereumInbox/] + end + + Bob((Bob)) + + Alice -- "transferRemote(Polygon, Bob, 5)" --> ABC_E + ABC_E -- "dispatch(Polygon, (Bob, 5))" --> O_E + Operator -- "checkpoint()" --> O_E + O_E-.->EthereumInbox + Operator -- "relay()" --> EthereumInbox + Operator -- "process(Ethereum, (Bob, 5))" --> EthereumInbox + EthereumInbox-->|"handle(Ethereum, (Bob, 5))"|ABC_P + ABC_P-.->Bob +``` diff --git a/contracts/AbcToken.sol b/contracts/AbcToken.sol index 71c3d9c41..7d68107ec 100644 --- a/contracts/AbcToken.sol +++ b/contracts/AbcToken.sol @@ -1,33 +1,93 @@ // SPDX-License-Identifier: MIT OR Apache-2.0 -pragma solidity >=0.6.11; +pragma solidity ^0.8.13; -import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +import {Router} from "@abacus-network/app/contracts/Router.sol"; -import {TransferRouter} from "./TransferRouter.sol"; -import {IAbcToken} from "../interfaces/IAbcToken.sol"; +import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol"; -contract AbcToken is IAbcToken, ERC20 { - // The TransferRouter responsible for sending messages to mint ABC on remote chains. - TransferRouter public router; - - constructor() ERC20("My ABC", "ABC") { - // TODO: handle initial supply - } +/** + * @title Abacus Token that extends the ERC20 token standard to enable native interchain transfers. + * @author Abacus Works + * @dev Supply on each chain is not constant but the aggregate supply across all chains is. + */ +contract AbcToken is Router, ERC20Upgradeable { + /** + * @dev Emitted on `transferRemote` when a transfer message is dispatched. + * @param destination The identifier of the destination chain. + * @param recipient The address of the recipient on the destination chain. + * @param amount The amount of tokens burnt on the origin chain. + */ + event SentTransferRemote( + uint32 indexed destination, + address indexed recipient, + uint256 amount + ); - function transferRemote( - uint32 domain, - address recipient, + /** + * @dev Emitted on `_handle` when a transfer message is processed. + * @param origin The identifier of the origin chain. + * @param recipient The address of the recipient on the destination chain. + * @param amount The amount of tokens minted on the destination chain. + */ + event ReceivedTransferRemote( + uint32 indexed origin, + address indexed recipient, uint256 amount - ) external override { + ); + /** + * @notice Initializes the Abacus router, ERC20 metadata, and mints initial supply to deployer. + * @param _xAppConnectionManager The address of the XAppConnectionManager contract. + * @param _totalSupply The initial supply of the token. + * @param _name The name of the token. + * @param _symbol The symbol of the token. + */ + function initialize( + address _xAppConnectionManager, + uint256 _totalSupply, + string memory _name, + string memory _symbol + ) external initializer { + __Router_initialize(_xAppConnectionManager); + __ERC20_init(_name, _symbol); + _mint(msg.sender, _totalSupply); } - function transferFromRemote( - uint32 domain, - address sender, - address recipient, - uint256 amount - ) external override {} + /** + * @notice Transfers `_amount` of tokens from `msg.sender` to `_recipient` on the `_destination` chain. + * @dev Burns `_amount` of tokens from `msg.sender` on the origin chain and dispatches + * message to the `destination` chain to mint `_amount` of tokens to `recipient`. + * @dev Emits `SentTransferRemote` event on the origin chain. + * @param _destination The identifier of the destination chain. + * @param _recipient The address of the recipient on the destination chain. + * @param _amount The amount of tokens to be sent to the remote recipient. + */ + function transferRemote( + uint32 _destination, + address _recipient, + uint256 _amount + ) external { + _burn(msg.sender, _amount); + _dispatchToRemoteRouter(_destination, abi.encode(_recipient, _amount)); + emit SentTransferRemote(_destination, _recipient, _amount); + } - function burnFrom(address sender, uint256 amount) external override {} + /** + * @dev Mints tokens to recipient when router receives transfer message. + * @dev Emits `ReceivedTransferRemote` event on the destination chain. + * @param _origin The identifier of the origin chain. + * @param _message The encoded remote transfer message containing the recipient address and amount. + */ + function _handle( + uint32 _origin, + bytes32, + bytes memory _message + ) internal override { + (address recipient, uint256 amount) = abi.decode( + _message, + (address, uint256) + ); + _mint(recipient, amount); + emit ReceivedTransferRemote(_origin, recipient, amount); + } } diff --git a/contracts/TransferRouter.sol b/contracts/TransferRouter.sol deleted file mode 100644 index 123ebe624..000000000 --- a/contracts/TransferRouter.sol +++ /dev/null @@ -1,45 +0,0 @@ -// SPDX-License-Identifier: MIT OR Apache-2.0 -pragma solidity ^0.8.13; - -// ============ Internal Imports ============ -import {IAbcToken} from "../interfaces/IAbcToken.sol"; -// ============ External Imports ============ -import {Router} from "@abacus-network/core/contracts/router/Router.sol"; -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; - -contract TransferRouter is Router { - // The address of the token contract. - IERC20 public token; - - constructor(address _token) { - token = IERC20(_token); - } - - error SenderNotToken(); - - modifier onlyToken() { - if (msg.sender != address(token)) { - revert SenderNotToken(); - } - _; - } - - // Dispatches a message to a remote router to mint `amount` to `recipient`. - function transferRemote( - uint32 domain, - address sender, - address recipient, - uint256 amount - ) external onlyToken {} - - // Mints message.amount to message.recipient. - function handleTransferMessage(bytes memory message) internal {} - - function handle( - uint32 _origin, - bytes32 _sender, - bytes calldata _message - ) external override { - - } -} diff --git a/hardhat.config.ts b/hardhat.config.ts index f672a152c..993c6f47d 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -9,20 +9,7 @@ import 'solidity-coverage'; */ module.exports = { solidity: { - compilers: [ - { - version: '0.8.13', - }, - { - version: '0.7.6', - // settings: { - // optimizer: { - // enabled: true, - // runs: 999999, - // }, - // }, - }, - ], + version: '0.8.13', }, gasReporter: { currency: 'USD', diff --git a/interfaces/IAbcToken.sol b/interfaces/IAbcToken.sol deleted file mode 100644 index 1d329ac93..000000000 --- a/interfaces/IAbcToken.sol +++ /dev/null @@ -1,24 +0,0 @@ -// SPDX-License-Identifier: MIT OR Apache-2.0 -pragma solidity ^0.8.13; - -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; - -interface IAbcToken is IERC20 { - // Burns `amount` and calls TransferRouter.transferRemote(domain, recipient, amount) - function transferRemote( - uint32 domain, - address recipient, - uint256 amount - ) external; - - // Burns `amount` and calls TransferRouter.transferRemote(domain, recipient, amount) - function transferFromRemote( - uint32 domain, - address sender, - address recipient, - uint256 amount - ) external; - - // Allows approved addresses to burn `sender`'s tokens. Needed for slashing. - function burnFrom(address sender, uint256 amount) external; -} diff --git a/package-lock.json b/package-lock.json index dbdc6c894..304f66a8e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,19 +9,17 @@ "version": "0.0.0", "license": "MIT OR Apache-2.0", "dependencies": { - "@abacus-network/apps": "file:../abacus-monorepo/solidity/apps", - "@abacus-network/core": "file:../abacus-monorepo/solidity/core", - "@abacus-network/hardhat": "file:../abacus-monorepo/typescript/hardhat", - "@abacus-network/sdk": "file:../abacus-monorepo/typescript/sdk", - "@abacus-network/utils": "file:../abacus-monorepo/typescript/utils", + "@abacus-network/app": "^0.0.3", + "@abacus-network/core": "^0.0.6", + "@abacus-network/sdk": "^0.0.4", + "@abacus-network/utils": "^0.0.8", "@ethersproject/bignumber": "^5.5.0", "@ethersproject/bytes": "^5.5.0", - "@openzeppelin/contracts": "~4.5.0", "@openzeppelin/contracts-upgradeable": "~4.5.0", - "@summa-tx/memview-sol": "^2.0.0", "ethers": "^5.4.7" }, "devDependencies": { + "@abacus-network/hardhat": "^0.0.18", "@nomiclabs/hardhat-ethers": "^2.0.1", "@nomiclabs/hardhat-waffle": "^2.0.1", "@typechain/ethers-v5": "~7.0.0", @@ -41,78 +39,134 @@ "typescript": "^4.3.5" } }, - "../abacus-monorepo/solidity/apps": { - "name": "@abacus-network/apps", - "version": "0.0.0", - "license": "MIT OR Apache-2.0", + "node_modules/@abacus-network/app": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@abacus-network/app/-/app-0.0.3.tgz", + "integrity": "sha512-FHir15S9tB0TcpuwzW4iGGgpDpEl5RNUUKPpnM5x5ZvbMeuBOzBcOzFeYXo/33WesNeXfH3FhW1hjS+w8pFY+g==", + "dependencies": { + "@abacus-network/core": "^0.0.5", + "@abacus-network/utils": "^0.0.5", + "@openzeppelin/contracts-upgradeable": "^4.5.0" + } + }, + "node_modules/@abacus-network/app/node_modules/@abacus-network/core": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.5.tgz", + "integrity": "sha512-DKDqnGGfsgKrNzZvc9ewD8DS+4yVs+ugpGZtlAjlOzwpZ97Rk61RjrSBO0p4g85UtVg5GI0CLqfzgYdWSS81eQ==", "dependencies": { - "@abacus-network/core": "file:../core", - "@abacus-network/hardhat": "^0.0.5", "@abacus-network/utils": "^0.0.5", + "@openzeppelin/contracts": "^3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0", + "ts-generator": "^0.1.1" + } + }, + "node_modules/@abacus-network/app/node_modules/@abacus-network/core/node_modules/@openzeppelin/contracts-upgradeable": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", + "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" + }, + "node_modules/@abacus-network/app/node_modules/@abacus-network/utils": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.5.tgz", + "integrity": "sha512-B8zS1RlKh8Pu7hifeenbAtPg2PRubgcPx3MyJz0TE8ryyDDOd54Xl9g96Xx9mrF7xeLRXBkACsi8S6DkgK+GOw==", + "dependencies": { + "chai": "^4.3.0", + "ethers": "^5.4.7" + } + }, + "node_modules/@abacus-network/apps": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@abacus-network/apps/-/apps-0.0.1.tgz", + "integrity": "sha512-vOHO2ubIrqwsuHSnxEQH4C2BP1AnqGeEqvEPNR/gTYi0nRuyKUg5fpIHUruK4W+zy4ZHyq5rSTYsR6mu945LEg==", + "dependencies": { + "@abacus-network/core": "^0.0.3", + "@abacus-network/hardhat": "^0.0.8", + "@abacus-network/utils": "^0.0.7", "@openzeppelin/contracts": "~3.4.2", "@openzeppelin/contracts-upgradeable": "~3.4.2", "@summa-tx/memview-sol": "^2.0.0" - }, - "devDependencies": { - "@nomiclabs/hardhat-ethers": "^2.0.1", - "@nomiclabs/hardhat-waffle": "^2.0.1", - "@typechain/ethers-v5": "~7.0.0", + } + }, + "node_modules/@abacus-network/apps/node_modules/@abacus-network/core": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.3.tgz", + "integrity": "sha512-GkiNbn79xKQm6AHQbBqjXrLUVzjFriGegjYhYnkZPobs1LKb4D6OUvrAty7bnO1qAPYkJHUhyRlVjsZxTqhqLA==", + "dependencies": { + "@abacus-network/utils": "^0.0.7", + "@openzeppelin/contracts": "^3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0", + "ts-generator": "^0.1.1" + } + }, + "node_modules/@abacus-network/apps/node_modules/@abacus-network/hardhat": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@abacus-network/hardhat/-/hardhat-0.0.8.tgz", + "integrity": "sha512-b67pCrW0lBZBbAlhvegMEas4yCXQQqQTqNAfY+AWoaZV2RJCeWLKW29Ws0rjlOD7jmMVoWNIqjO8juUpPWPZvQ==", + "dependencies": { + "@abacus-network/core": "^0.0.3", + "@abacus-network/utils": "^0.0.7", + "@nomiclabs/hardhat-ethers": "^2.0.5", + "@nomiclabs/hardhat-waffle": "^2.0.2", "@typechain/hardhat": "^2.0.1", - "@types/mocha": "^9.1.0", - "chai": "^4.3.0", - "eslint": "^7.20.0", "ethereum-waffle": "^3.2.2", - "ethers": "^5.4.4", - "hardhat": "^2.8.3", - "hardhat-gas-reporter": "^1.0.7", - "prettier": "^2.2.1", - "prettier-plugin-solidity": "^1.0.0-beta.5", - "solhint": "^3.3.2", - "solhint-plugin-prettier": "^0.0.5", - "solidity-coverage": "^0.7.14", + "ethers": "^5.4.7", + "hardhat": "^2.8.4", + "prettier": "^2.3.1", "ts-node": "^10.1.0", "typechain": "^5.0.0", - "typescript": "^4.3.5" + "typescript": "^4.3.2" } }, - "../abacus-monorepo/solidity/core": { - "name": "@abacus-network/core", - "version": "0.0.1", - "license": "MIT OR Apache-2.0", + "node_modules/@abacus-network/apps/node_modules/@abacus-network/utils": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", + "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", "dependencies": { - "@abacus-network/utils": "^0.0.5", + "chai": "^4.3.0", + "ethers": "^5.4.7" + } + }, + "node_modules/@abacus-network/apps/node_modules/@openzeppelin/contracts-upgradeable": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", + "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" + }, + "node_modules/@abacus-network/core": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.6.tgz", + "integrity": "sha512-3Aa1kmROmUksTjutm+uA13VvBmvycIwKIXb6cz6+0mZsyJ1Vg9Him46oiqI7QuSIbmEqSpa+GGvBll46aexX9g==", + "dependencies": { + "@abacus-network/utils": "^0.0.7", "@openzeppelin/contracts": "^3.4.2", "@openzeppelin/contracts-upgradeable": "~3.4.2", "@summa-tx/memview-sol": "^2.0.0", "ts-generator": "^0.1.1" - }, - "devDependencies": { - "@nomiclabs/hardhat-ethers": "^2.0.1", - "@nomiclabs/hardhat-waffle": "^2.0.1", - "@typechain/ethers-v5": "~7.0.0", - "@typechain/hardhat": "^2.0.1", + } + }, + "node_modules/@abacus-network/core/node_modules/@abacus-network/utils": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", + "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", + "dependencies": { "chai": "^4.3.0", - "eslint": "^7.20.0", - "ethereum-waffle": "^3.2.2", - "ethers": "^5.4.4", - "hardhat": "^2.8.3", - "hardhat-gas-reporter": "^1.0.7", - "prettier": "^2.2.1", - "prettier-plugin-solidity": "^1.0.0-beta.5", - "solhint": "^3.3.2", - "solhint-plugin-prettier": "^0.0.5", - "solidity-coverage": "^0.7.14", - "ts-node": "^10.1.0", - "typechain": "^5.0.0" + "ethers": "^5.4.7" } }, - "../abacus-monorepo/typescript/hardhat": { - "name": "@abacus-network/hardhat", - "version": "0.0.5", - "license": "MIT OR Apache-2.0", + "node_modules/@abacus-network/core/node_modules/@openzeppelin/contracts-upgradeable": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", + "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" + }, + "node_modules/@abacus-network/hardhat": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@abacus-network/hardhat/-/hardhat-0.0.18.tgz", + "integrity": "sha512-TZgcsYd27s1L2CRxC8HznmAji/Ackspo52bQImz/eZR4WnWXdgc/3sjF9z89ovgRcFl8fDVAyu2suiOv9mWUyQ==", + "dev": true, "dependencies": { - "@abacus-network/core": "file:../../solidity/core", - "@abacus-network/utils": "^0.0.5", + "@abacus-network/core": "^0.0.5", + "@abacus-network/utils": "^0.0.7", "@nomiclabs/hardhat-ethers": "^2.0.5", "@nomiclabs/hardhat-waffle": "^2.0.2", "@typechain/hardhat": "^2.0.1", @@ -125,59 +179,93 @@ "typescript": "^4.3.2" } }, - "../abacus-monorepo/typescript/sdk": { - "name": "@abacus-network/sdk", - "version": "0.0.1", - "license": "MIT OR Apache-2.0", + "node_modules/@abacus-network/hardhat/node_modules/@abacus-network/core": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.5.tgz", + "integrity": "sha512-DKDqnGGfsgKrNzZvc9ewD8DS+4yVs+ugpGZtlAjlOzwpZ97Rk61RjrSBO0p4g85UtVg5GI0CLqfzgYdWSS81eQ==", + "dev": true, "dependencies": { - "@abacus-network/apps": "file:../../solidity/apps", - "@abacus-network/core": "file:../../solidity/core", - "@abacus-network/utils": "file:../utils", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "celo-ethers-provider": "0.0.0", - "ethers": "^5.4.7" - }, - "devDependencies": { - "@types/node": "^16.9.1", - "@typescript-eslint/eslint-plugin": "^4.33.0", - "@typescript-eslint/parser": "^4.33.0", - "dotenv": "^10.0.0", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.3.0", - "fs": "0.0.1-security", - "prettier": "^2.4.1", - "typescript": "^4.4.3" - } - }, - "../abacus-monorepo/typescript/utils": { - "name": "@abacus-network/utils", + "@abacus-network/utils": "^0.0.5", + "@openzeppelin/contracts": "^3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0", + "ts-generator": "^0.1.1" + } + }, + "node_modules/@abacus-network/hardhat/node_modules/@abacus-network/core/node_modules/@abacus-network/utils": { "version": "0.0.5", - "license": "MIT OR Apache-2.0", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.5.tgz", + "integrity": "sha512-B8zS1RlKh8Pu7hifeenbAtPg2PRubgcPx3MyJz0TE8ryyDDOd54Xl9g96Xx9mrF7xeLRXBkACsi8S6DkgK+GOw==", + "dev": true, "dependencies": { "chai": "^4.3.0", "ethers": "^5.4.7" } }, - "node_modules/@abacus-network/apps": { - "resolved": "../abacus-monorepo/solidity/apps", - "link": true - }, - "node_modules/@abacus-network/core": { - "resolved": "../abacus-monorepo/solidity/core", - "link": true + "node_modules/@abacus-network/hardhat/node_modules/@abacus-network/utils": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", + "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", + "dev": true, + "dependencies": { + "chai": "^4.3.0", + "ethers": "^5.4.7" + } }, - "node_modules/@abacus-network/hardhat": { - "resolved": "../abacus-monorepo/typescript/hardhat", - "link": true + "node_modules/@abacus-network/hardhat/node_modules/@openzeppelin/contracts-upgradeable": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", + "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==", + "dev": true }, "node_modules/@abacus-network/sdk": { - "resolved": "../abacus-monorepo/typescript/sdk", - "link": true + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@abacus-network/sdk/-/sdk-0.0.4.tgz", + "integrity": "sha512-+PjERzE3IuzPemYUbz3ED4l1HZ5prA7nr2mHnGPsdD4BY8PPcOQ/xNIQHzqUjAevdkcLD7cthn5s0k34rnOItA==", + "dependencies": { + "@abacus-network/apps": "^0.0.1", + "@abacus-network/core": "^0.0.3", + "@abacus-network/utils": "^0.0.7", + "@ethersproject/bignumber": "^5.5.0", + "@ethersproject/bytes": "^5.5.0", + "celo-ethers-provider": "0.0.0", + "ethers": "^5.4.7" + } + }, + "node_modules/@abacus-network/sdk/node_modules/@abacus-network/core": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.3.tgz", + "integrity": "sha512-GkiNbn79xKQm6AHQbBqjXrLUVzjFriGegjYhYnkZPobs1LKb4D6OUvrAty7bnO1qAPYkJHUhyRlVjsZxTqhqLA==", + "dependencies": { + "@abacus-network/utils": "^0.0.7", + "@openzeppelin/contracts": "^3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0", + "ts-generator": "^0.1.1" + } + }, + "node_modules/@abacus-network/sdk/node_modules/@abacus-network/utils": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", + "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", + "dependencies": { + "chai": "^4.3.0", + "ethers": "^5.4.7" + } + }, + "node_modules/@abacus-network/sdk/node_modules/@openzeppelin/contracts-upgradeable": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", + "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" }, "node_modules/@abacus-network/utils": { - "resolved": "../abacus-monorepo/typescript/utils", - "link": true + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.8.tgz", + "integrity": "sha512-fuQ+H6HC/d2/SjaxZnSJqKjkOCgQmJalDIMQNkDFtMpkvsxdndlZITLCj328Chee/BngpZ7sZyGS8u64w+mF4Q==", + "dependencies": { + "chai": "^4.3.0", + "ethers": "^5.4.7" + } }, "node_modules/@babel/code-frame": { "version": "7.12.11", @@ -286,7 +374,6 @@ "version": "0.8.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true, "engines": { "node": ">= 12" } @@ -295,7 +382,6 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", - "dev": true, "dependencies": { "@cspotcode/source-map-consumer": "0.8.0" }, @@ -308,8 +394,6 @@ "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", "deprecated": "Please use @ensdomains/ens-contracts", - "dev": true, - "peer": true, "dependencies": { "bluebird": "^3.5.2", "eth-ens-namehash": "^2.0.8", @@ -322,8 +406,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -332,8 +414,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -342,8 +422,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "peer": true, "dependencies": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1", @@ -354,8 +432,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -364,8 +440,6 @@ "version": "0.30.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dev": true, - "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^2.1.0", @@ -377,16 +451,12 @@ "node_modules/@ensdomains/ens/node_modules/get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true, - "peer": true + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, "node_modules/@ensdomains/ens/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": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "peer": true, "dependencies": { "number-is-nan": "^1.0.0" }, @@ -398,8 +468,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "peer": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -408,8 +476,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -418,8 +484,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -431,8 +495,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true, "bin": { "semver": "bin/semver" } @@ -441,8 +503,6 @@ "version": "0.4.26", "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", - "dev": true, - "peer": true, "dependencies": { "fs-extra": "^0.30.0", "memorystream": "^0.3.1", @@ -458,8 +518,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "peer": true, "dependencies": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -473,8 +531,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "peer": true, "dependencies": { "ansi-regex": "^2.0.0" }, @@ -486,8 +542,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "peer": true, "dependencies": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" @@ -499,16 +553,12 @@ "node_modules/@ensdomains/ens/node_modules/y18n": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true, - "peer": true + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" }, "node_modules/@ensdomains/ens/node_modules/yargs": { "version": "4.8.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "dev": true, - "peer": true, "dependencies": { "cliui": "^3.2.0", "decamelize": "^1.1.1", @@ -530,8 +580,6 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", - "dev": true, - "peer": true, "dependencies": { "camelcase": "^3.0.0", "lodash.assign": "^4.0.6" @@ -541,9 +589,7 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", - "deprecated": "Please use @ensdomains/ens-contracts", - "dev": true, - "peer": true + "deprecated": "Please use @ensdomains/ens-contracts" }, "node_modules/@eslint/eslintrc": { "version": "0.4.3", @@ -569,8 +615,6 @@ "version": "3.4.4", "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-3.4.4.tgz", "integrity": "sha512-/K8czydBtXXkcM9X6q29EqEkc5dN3oYenyH2a9hF7rGAApAJUpH8QBtojxOY/xQ2up5W332jqgxwp0yPiYug1g==", - "dev": true, - "peer": true, "dependencies": { "@ethereum-waffle/provider": "^3.4.4", "ethers": "^5.5.2" @@ -583,8 +627,6 @@ "version": "3.4.4", "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-3.4.4.tgz", "integrity": "sha512-RUK3axJ8IkD5xpWjWoJgyHclOeEzDLQFga6gKpeGxiS/zBu+HB0W2FvsrrLalTFIaPw/CGYACRBSIxqiCqwqTQ==", - "dev": true, - "peer": true, "dependencies": { "@resolver-engine/imports": "^0.3.3", "@resolver-engine/imports-fs": "^0.3.3", @@ -606,8 +648,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-2.0.0.tgz", "integrity": "sha512-0xdCkyGOzdqh4h5JSf+zoWx85IusEjDcPIwNEHP8mrWSnCae4rvrqB+/gtpdNfX7zjlFlZiMeePn2r63EI3Lrw==", - "dev": true, - "peer": true, "dependencies": { "ethers": "^5.0.2" }, @@ -620,8 +660,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -635,8 +673,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "peer": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -645,8 +681,6 @@ "version": "6.0.7", "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-6.0.7.tgz", "integrity": "sha512-2E4HIIj4tQJlIHuATRHayv0EfMGK3ris/GRk1E3CFnsZzeNV+hUmelbaTZHLtXaZppM5oLhHRtO04gINC4Jusw==", - "dev": true, - "peer": true, "peerDependencies": { "typescript": ">=3.7.0" } @@ -655,8 +689,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/typechain/-/typechain-3.0.0.tgz", "integrity": "sha512-ft4KVmiN3zH4JUFu2WJBrwfHeDf772Tt2d8bssDTo/YcckKW2D+OwFrHXRC6hJvO3mHjFQTihoMV6fJOi0Hngg==", - "dev": true, - "peer": true, "dependencies": { "command-line-args": "^4.0.7", "debug": "^4.1.1", @@ -674,8 +706,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "peer": true, "engines": { "node": ">= 4.0.0" } @@ -684,8 +714,6 @@ "version": "3.4.4", "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-3.4.4.tgz", "integrity": "sha512-0m4NdwWxliy3heBYva1Wr4WbJKLnwXizmy5FfSSr5PMbjI7SIGCdCB59U7/ZzY773/hY3bLnzLwvG5mggVjJWg==", - "dev": true, - "peer": true, "dependencies": { "@ensdomains/ens": "^0.4.4", "@ensdomains/resolver": "^0.2.4", @@ -699,8 +727,6 @@ "version": "3.4.4", "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-3.4.4.tgz", "integrity": "sha512-Mp0iB2YNWYGUV+VMl5tjPsaXKbKo8MDH9wSJ702l9EBjdxFf/vBvnMBAC1Fub1lLtmD0JHtp1pq+mWzg/xlLnA==", - "dev": true, - "peer": true, "dependencies": { "@ethersproject/abi": "^5.5.0", "ethers": "^5.5.2" @@ -713,8 +739,6 @@ "version": "3.4.4", "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-3.4.4.tgz", "integrity": "sha512-GK8oKJAM8+PKy2nK08yDgl4A80mFuI8zBkE0C9GqTRYQqvuxIyXoLmJ5NZU9lIwyWVv5/KsoA11BgAv2jXE82g==", - "dev": true, - "peer": true, "dependencies": { "@ethereum-waffle/ens": "^3.4.4", "ethers": "^5.5.2", @@ -730,7 +754,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.2.tgz", "integrity": "sha512-mOqYWwMlAZpYUEOEqt7EfMFuVL2eyLqWWIzcf4odn6QgXY8jBI2NhVuJncrMCKeMZrsJAe7/auaRRB6YcdH+Qw==", - "dev": true, "dependencies": { "@ethereumjs/common": "^2.6.3", "@ethereumjs/tx": "^3.5.1", @@ -742,7 +765,6 @@ "version": "5.5.2", "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.2.tgz", "integrity": "sha512-Jz26iJmmsQtngerW6r5BDFaew/f2mObLrRZo3rskLOx1lmtMZ8+TX/vJexmivrnWgmAsTdNWhlKUYY4thPhPig==", - "dev": true, "dependencies": { "@ethereumjs/block": "^3.6.2", "@ethereumjs/common": "^2.6.3", @@ -758,7 +780,6 @@ "version": "2.6.3", "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.3.tgz", "integrity": "sha512-mQwPucDL7FDYIg9XQ8DL31CnIYZwGhU5hyOO5E+BMmT71G0+RHvIT5rIkLBirJEKxV6+Rcf9aEIY0kXInxUWpQ==", - "dev": true, "dependencies": { "crc-32": "^1.2.0", "ethereumjs-util": "^7.1.4" @@ -768,7 +789,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", - "dev": true, "dependencies": { "@ethereumjs/block": "^3.5.0", "@types/levelup": "^4.3.0", @@ -781,7 +801,6 @@ "version": "3.5.1", "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.1.tgz", "integrity": "sha512-xzDrTiu4sqZXUcaBxJ4n4W5FrppwxLxZB4ZDGVLtxSQR4lVuOnFR6RcUHdg1mpUhAPVrmnzLJpxaeXnPxIyhWA==", - "dev": true, "dependencies": { "@ethereumjs/common": "^2.6.3", "ethereumjs-util": "^7.1.4" @@ -791,7 +810,6 @@ "version": "5.8.0", "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.8.0.tgz", "integrity": "sha512-mn2G2SX79QY4ckVvZUfxlNUpzwT2AEIkvgJI8aHoQaNYEHhH8rmdVDIaVVgz6//PjK52BZsK23afz+WvSR0Qqw==", - "dev": true, "dependencies": { "@ethereumjs/block": "^3.6.2", "@ethereumjs/blockchain": "^5.5.2", @@ -808,9 +826,9 @@ } }, "node_modules/@ethersproject/abi": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.0.tgz", - "integrity": "sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.1.tgz", + "integrity": "sha512-0cqssYh6FXjlwKWBmLm3+zH2BNARoS5u/hxbz+LpQmcDB3w0W553h2btWui1/uZp2GBM/SI3KniTuMcYyHpA5w==", "funding": [ { "type": "individual", @@ -1140,9 +1158,9 @@ ] }, "node_modules/@ethersproject/networks": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.1.tgz", - "integrity": "sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.2.tgz", + "integrity": "sha512-9uEzaJY7j5wpYGTojGp8U89mSsgQLc40PCMJLMCnFXTs7nhBveZ0t7dbqWUNrepWTszDbFkYD6WlL8DKx5huHA==", "funding": [ { "type": "individual", @@ -1195,9 +1213,9 @@ } }, "node_modules/@ethersproject/providers": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.2.tgz", - "integrity": "sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.3.tgz", + "integrity": "sha512-PKTEZXjdAhGK/+hUwRLQqlGrwTRrK4D0FHEP2V9klUF8C6+AWfHkA3AoLI+a8oq5CUZoRAH0nMecYGkKxUjeSw==", "funding": [ { "type": "individual", @@ -1500,7 +1518,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.0.tgz", "integrity": "sha512-LczOjjxY4A7XYloxzyxJIHONELmUxVZncpOLoClpEcTiebiVdM46KRPYXGuULro9oNNR2xdVx3yoKiQjdfWmoA==", - "dev": true, "dependencies": { "ethereumjs-abi": "^0.6.8", "ethereumjs-util": "^6.2.1", @@ -1516,7 +1533,6 @@ "version": "4.11.6", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, "dependencies": { "@types/node": "*" } @@ -1525,7 +1541,6 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -1593,7 +1608,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.5.tgz", "integrity": "sha512-A2gZAGB6kUvLx+kzM92HKuUF33F1FSe90L0TmkXkT2Hh0OKRpvWZURUSU2nghD2yC4DzfEZ3DftfeHGvZ2JTUw==", - "dev": true, "peerDependencies": { "ethers": "^5.0.0", "hardhat": "^2.0.0" @@ -1603,7 +1617,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.3.tgz", "integrity": "sha512-049PHSnI1CZq6+XTbrMbMv5NaL7cednTfPenx02k3cEh8wBMLa6ys++dBETJa6JjfwgA9nBhhHQ173LJv6k2Pg==", - "dev": true, "dependencies": { "@types/sinon-chai": "^3.2.3", "@types/web3": "1.0.19" @@ -1616,9 +1629,9 @@ } }, "node_modules/@openzeppelin/contracts": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.5.0.tgz", - "integrity": "sha512-fdkzKPYMjrRiPK6K4y64e6GzULR7R7RwxSigHS8DDp7aWDeoReqsQI+cxHV1UuhAqX69L1lAaWDxenfP+xiqzA==" + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", + "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==" }, "node_modules/@openzeppelin/contracts-upgradeable": { "version": "4.5.2", @@ -1629,8 +1642,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", "integrity": "sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ==", - "dev": true, - "peer": true, "dependencies": { "debug": "^3.1.0", "is-url": "^1.2.4", @@ -1641,8 +1652,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, "dependencies": { "ms": "^2.1.1" } @@ -1651,8 +1660,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.3.3.tgz", "integrity": "sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ==", - "dev": true, - "peer": true, "dependencies": { "@resolver-engine/core": "^0.3.3", "debug": "^3.1.0" @@ -1662,8 +1669,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, "dependencies": { "ms": "^2.1.1" } @@ -1672,8 +1677,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.3.3.tgz", "integrity": "sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q==", - "dev": true, - "peer": true, "dependencies": { "@resolver-engine/core": "^0.3.3", "debug": "^3.1.0", @@ -1686,8 +1689,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz", "integrity": "sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA==", - "dev": true, - "peer": true, "dependencies": { "@resolver-engine/fs": "^0.3.3", "@resolver-engine/imports": "^0.3.3", @@ -1698,8 +1699,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, "dependencies": { "ms": "^2.1.1" } @@ -1708,8 +1707,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, "dependencies": { "ms": "^2.1.1" } @@ -1763,7 +1760,6 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", - "dev": true, "dependencies": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", @@ -1779,7 +1775,6 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", - "dev": true, "dependencies": { "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", @@ -1793,7 +1788,6 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", - "dev": true, "dependencies": { "@sentry/hub": "5.30.0", "@sentry/types": "5.30.0", @@ -1807,7 +1801,6 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", - "dev": true, "dependencies": { "@sentry/core": "5.30.0", "@sentry/hub": "5.30.0", @@ -1827,7 +1820,6 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", - "dev": true, "dependencies": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", @@ -1843,7 +1835,6 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", - "dev": true, "engines": { "node": ">=6" } @@ -1852,7 +1843,6 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", - "dev": true, "dependencies": { "@sentry/types": "5.30.0", "tslib": "^1.9.3" @@ -1874,7 +1864,6 @@ "version": "0.14.1", "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.1.tgz", "integrity": "sha512-eLjj2L6AuQjBB6s/ibwCAc0DwrR5Ge+ys+wgWo+bviU7fV2nTMQhU63CGaDKXg9iTmMxwhkyoggdIR7ZGRfMgw==", - "dev": true, "dependencies": { "antlr4ts": "^0.5.0-alpha.4" } @@ -1903,9 +1892,9 @@ "dev": true }, "node_modules/@truffle/interface-adapter": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.12.tgz", - "integrity": "sha512-Qrc5VARnvSILYqZNsAM0xsUHqGqphLXVdIvDnhUA1Xj1xyNz8iboTr8bXorMd+Uspw+PXmsW44BJ/Wioo/jL2A==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.13.tgz", + "integrity": "sha512-XuxSGq3IvTihiXaBzxuFKjIZTETuwyk79vGPsZTjgddhW1Ao9/CX8c2kcqKGYLf6nuDBcBSynLn4NCamsfSNuA==", "dev": true, "dependencies": { "bn.js": "^5.1.3", @@ -1978,39 +1967,35 @@ "dev": true }, "node_modules/@truffle/provider": { - "version": "0.2.50", - "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.50.tgz", - "integrity": "sha512-GCoyX8SncfgizXYJfordv5kiysQS7S1311D3ewciixaoQpTkbqC3s0wxwHlPxU7m5wJOCw2K8rQtL3oIFfeHwA==", + "version": "0.2.51", + "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.51.tgz", + "integrity": "sha512-7N6pBECypJN8GwpzeR18RQeazn5KEmSTvxfhLd1LwFsga5CkU0fF+WB7rc0+ET6IeqPy5op3QWEwsvAz4MxMlw==", "dev": true, "dependencies": { "@truffle/error": "^0.1.0", - "@truffle/interface-adapter": "^0.5.12", + "@truffle/interface-adapter": "^0.5.13", "web3": "1.5.3" } }, "node_modules/@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", - "dev": true + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" }, "node_modules/@tsconfig/node12": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", - "dev": true + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" }, "node_modules/@tsconfig/node14": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", - "dev": true + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" }, "node_modules/@tsconfig/node16": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", - "dev": true + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" }, "node_modules/@typechain/ethers-v5": { "version": "7.0.1", @@ -2030,7 +2015,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-2.3.1.tgz", "integrity": "sha512-BQV8OKQi0KAzLXCdsPO0pZBNQQ6ra8A2ucC26uFX/kquRBtJu1yEyWnVSmtr07b5hyRoJRpzUeINLnyqz4/MAw==", - "dev": true, "dependencies": { "fs-extra": "^9.1.0" }, @@ -2043,14 +2027,12 @@ "node_modules/@types/abstract-leveldown": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", - "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==", - "dev": true + "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==" }, "node_modules/@types/bn.js": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "dev": true, "dependencies": { "@types/node": "*" } @@ -2058,8 +2040,7 @@ "node_modules/@types/chai": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", - "dev": true + "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==" }, "node_modules/@types/concat-stream": { "version": "1.6.1", @@ -2092,14 +2073,12 @@ "node_modules/@types/level-errors": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", - "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==", - "dev": true + "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==" }, "node_modules/@types/levelup": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", - "dev": true, "dependencies": { "@types/abstract-leveldown": "*", "@types/level-errors": "*", @@ -2109,8 +2088,7 @@ "node_modules/@types/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", - "dev": true + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" }, "node_modules/@types/minimatch": { "version": "3.0.5", @@ -2122,8 +2100,6 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", - "dev": true, - "peer": true, "dependencies": { "@types/node": "*" } @@ -2137,15 +2113,12 @@ "node_modules/@types/node": { "version": "17.0.23", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", - "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==", - "dev": true + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" }, "node_modules/@types/node-fetch": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz", "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==", - "dev": true, - "peer": true, "dependencies": { "@types/node": "*", "form-data": "^3.0.0" @@ -2155,16 +2128,14 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/prettier": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz", - "integrity": "sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==", - "dev": true + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz", + "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==" }, "node_modules/@types/qs": { "version": "6.9.7", @@ -2176,8 +2147,6 @@ "version": "0.0.8", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", - "dev": true, - "peer": true, "dependencies": { "@types/node": "*" } @@ -2186,7 +2155,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "dev": true, "dependencies": { "@types/node": "*" } @@ -2195,7 +2163,6 @@ "version": "10.0.11", "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.11.tgz", "integrity": "sha512-dmZsHlBsKUtBpHriNjlK0ndlvEh8dcb9uV9Afsbt89QIyydpC7NcR+nWlAhASfy3GHnxTl4FX/aKE7XZUt/B4g==", - "dev": true, "dependencies": { "@types/sinonjs__fake-timers": "*" } @@ -2204,7 +2171,6 @@ "version": "3.2.8", "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", - "dev": true, "dependencies": { "@types/chai": "*", "@types/sinon": "*" @@ -2213,20 +2179,17 @@ "node_modules/@types/sinonjs__fake-timers": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", - "dev": true + "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==" }, "node_modules/@types/underscore": { "version": "1.11.4", "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", - "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==", - "dev": true + "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==" }, "node_modules/@types/web3": { "version": "1.0.19", "resolved": "https://registry.npmjs.org/@types/web3/-/web3-1.0.19.tgz", "integrity": "sha512-fhZ9DyvDYDwHZUp5/STa9XW2re0E8GxoioYJ4pEUZ13YHpApSagixj7IAdoYH5uAK+UalGq6Ml8LYzmgRA/q+A==", - "dev": true, "dependencies": { "@types/bn.js": "*", "@types/underscore": "*" @@ -2235,15 +2198,12 @@ "node_modules/@ungap/promise-all-settled": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true, - "peer": true + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" }, "node_modules/abbrev": { "version": "1.0.9", @@ -2255,7 +2215,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dev": true, "dependencies": { "event-target-shim": "^5.0.0" }, @@ -2267,7 +2226,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", - "dev": true, "dependencies": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -2317,7 +2275,6 @@ "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, "engines": { "node": ">=0.4.0" } @@ -2335,7 +2292,6 @@ "version": "0.4.16", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", - "dev": true, "engines": { "node": ">=0.3.0" } @@ -2349,7 +2305,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, "dependencies": { "debug": "4" }, @@ -2361,7 +2316,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -2374,7 +2328,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2400,7 +2353,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, "engines": { "node": ">=6" } @@ -2409,7 +2361,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, "dependencies": { "type-fest": "^0.21.3" }, @@ -2424,7 +2375,6 @@ "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, "engines": { "node": ">=10" }, @@ -2436,7 +2386,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -2445,7 +2394,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -2465,14 +2413,12 @@ "node_modules/antlr4ts": { "version": "0.5.0-alpha.4", "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", - "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", - "dev": true + "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==" }, "node_modules/anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -2484,8 +2430,7 @@ "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "node_modules/argparse": { "version": "1.0.10", @@ -2500,7 +2445,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", - "dev": true, "dependencies": { "typical": "^2.6.1" }, @@ -2542,7 +2486,6 @@ "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, "dependencies": { "safer-buffer": "~2.1.0" } @@ -2563,7 +2506,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, "engines": { "node": ">=0.8" } @@ -2572,7 +2514,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, "engines": { "node": "*" } @@ -2596,7 +2537,6 @@ "version": "2.6.3", "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, "dependencies": { "lodash": "^4.17.14" } @@ -2605,7 +2545,6 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", - "dev": true, "dependencies": { "async": "^2.4.0" } @@ -2619,14 +2558,12 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, "engines": { "node": ">= 4.0.0" } @@ -2647,7 +2584,6 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, "engines": { "node": "*" } @@ -2655,20 +2591,17 @@ "node_modules/aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "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 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base-x": { "version": "3.0.9", "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dev": true, "dependencies": { "safe-buffer": "^5.0.1" } @@ -2677,7 +2610,6 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, "funding": [ { "type": "github", @@ -2697,7 +2629,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, "dependencies": { "tweetnacl": "^0.14.3" } @@ -2705,8 +2636,7 @@ "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "node_modules/bech32": { "version": "1.1.4", @@ -2726,7 +2656,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, "engines": { "node": ">=8" } @@ -2734,14 +2663,12 @@ "node_modules/blakejs": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", - "dev": true + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "node_modules/bn.js": { "version": "4.12.0", @@ -2791,7 +2718,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2801,7 +2727,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -2817,14 +2742,12 @@ "node_modules/browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" }, "node_modules/browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -2837,8 +2760,7 @@ "node_modules/browserify-aes/node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, "node_modules/browserify-cipher": { "version": "1.0.1", @@ -2906,7 +2828,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", - "dev": true, "dependencies": { "base-x": "^3.0.2" } @@ -2915,7 +2836,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dev": true, "dependencies": { "bs58": "^4.0.0", "create-hash": "^1.1.0", @@ -2926,7 +2846,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, "funding": [ { "type": "github", @@ -2949,8 +2868,7 @@ "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 + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/buffer-to-arraybuffer": { "version": "0.0.5", @@ -2962,7 +2880,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", - "dev": true, "dependencies": { "safe-buffer": "^5.1.1" } @@ -2984,7 +2901,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, "engines": { "node": ">= 0.8" } @@ -3035,7 +2951,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -3090,7 +3005,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, "engines": { "node": ">=10" }, @@ -3101,14 +3015,20 @@ "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "node_modules/celo-ethers-provider": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/celo-ethers-provider/-/celo-ethers-provider-0.0.0.tgz", + "integrity": "sha512-fKm4DXyngvjafyFCwjh8WKDrWsC+fJTDDRZEIduC/IiZcp8W5KrrwNoIbi3arv1B8Yd4D4E3nxhmIudfOczVEw==", + "dependencies": { + "ethers": "^5.4.7" + } }, "node_modules/chai": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", - "dev": true, "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", @@ -3126,7 +3046,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3157,7 +3076,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true, "engines": { "node": "*" } @@ -3166,7 +3084,6 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "funding": [ { "type": "individual", @@ -3198,8 +3115,7 @@ "node_modules/ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" }, "node_modules/cids": { "version": "0.7.5", @@ -3234,7 +3150,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -3250,7 +3165,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, "engines": { "node": ">=6" } @@ -3293,7 +3207,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -3303,14 +3216,12 @@ "node_modules/cliui/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/cliui/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -3319,7 +3230,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -3342,8 +3252,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -3352,7 +3260,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -3363,8 +3270,7 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/colors": { "version": "1.4.0", @@ -3379,7 +3285,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -3390,14 +3295,12 @@ "node_modules/command-exists": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", - "dev": true + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" }, "node_modules/command-line-args": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz", "integrity": "sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==", - "dev": true, "dependencies": { "array-back": "^2.0.0", "find-replace": "^1.0.3", @@ -3410,14 +3313,12 @@ "node_modules/commander": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", - "dev": true + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "node_modules/concat-stream": { "version": "1.6.2", @@ -3500,7 +3401,6 @@ "version": "0.4.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -3521,7 +3421,6 @@ "version": "3.21.1", "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==", - "dev": true, "hasInstallScript": true, "funding": { "type": "opencollective", @@ -3531,8 +3430,7 @@ "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "node_modules/cors": { "version": "2.8.5", @@ -3588,7 +3486,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "dev": true, "bin": { "crc32": "bin/crc32.njs" }, @@ -3610,7 +3507,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -3623,7 +3519,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -3636,8 +3531,7 @@ "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "node_modules/cross-spawn": { "version": "7.0.3", @@ -3698,7 +3592,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, "dependencies": { "assert-plus": "^1.0.0" }, @@ -3716,7 +3609,6 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -3733,7 +3625,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, "engines": { "node": ">=10" }, @@ -3766,7 +3657,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, "dependencies": { "type-detect": "^4.0.0" }, @@ -3790,7 +3680,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", - "dev": true, "dependencies": { "abstract-leveldown": "~6.2.1", "inherits": "^2.0.3" @@ -3803,7 +3692,6 @@ "version": "6.2.3", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "dev": true, "dependencies": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -3831,7 +3719,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, "engines": { "node": ">=0.4.0" } @@ -3840,7 +3727,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, "engines": { "node": ">= 0.8" } @@ -3901,7 +3787,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, "engines": { "node": ">=0.3.1" } @@ -3957,7 +3842,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -4002,7 +3886,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", - "dev": true, "dependencies": { "abstract-leveldown": "^6.2.1", "inherits": "^2.0.3", @@ -4026,7 +3909,6 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, "dependencies": { "ansi-colors": "^4.1.1" }, @@ -4038,7 +3920,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, "engines": { "node": ">=6" } @@ -4047,7 +3928,6 @@ "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, "dependencies": { "prr": "~1.0.1" }, @@ -4059,15 +3939,14 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", - "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.4.tgz", + "integrity": "sha512-flV8e5g9/xulChMG48Fygk1ptpo4lQRJ0eJYtxJFgi7pklLx7EFcOJ34jnvr8pbWlaFN/AT1cZpe0hiFel9Hqg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", @@ -4081,7 +3960,7 @@ "is-callable": "^1.2.4", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", + "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", "is-weakref": "^1.0.2", "object-inspect": "^1.12.0", @@ -4116,9 +3995,9 @@ } }, "node_modules/es5-ext": { - "version": "0.10.59", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.59.tgz", - "integrity": "sha512-cOgyhW0tIJyQY1Kfw6Kr0viu9ZlUctVchRMZ7R0HiH3dxTSp5zJDLecwxUqPUrGKMsgBI1wd1FL+d9Jxfi4cLw==", + "version": "0.10.60", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.60.tgz", + "integrity": "sha512-jpKNXIt60htYG59/9FGf2PYT3pwMpnEbNKysU+k/4FGwyGtMotOvcZOuW+EmXXYASRqYSXQfGL5cVIthOTgbkg==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -4155,7 +4034,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, "engines": { "node": ">=6" } @@ -4170,7 +4048,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, "engines": { "node": ">=10" }, @@ -4485,7 +4362,6 @@ "version": "2.0.8", "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", - "dev": true, "dependencies": { "idna-uts46-hx": "^2.3.1", "js-sha3": "^0.5.7" @@ -4494,8 +4370,7 @@ "node_modules/eth-ens-namehash/node_modules/js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" }, "node_modules/eth-gas-reporter": { "version": "0.2.25", @@ -5154,7 +5029,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "dev": true, "dependencies": { "js-sha3": "^0.8.0" } @@ -5163,7 +5037,6 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dev": true, "dependencies": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -5186,8 +5059,6 @@ "version": "3.4.4", "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-3.4.4.tgz", "integrity": "sha512-PA9+jCjw4WC3Oc5ocSMBj5sXvueWQeAbvCA+hUlb6oFgwwKyq5ka3bWQ7QZcjzIX+TdFkxP4IbFmoY2D8Dkj9Q==", - "dev": true, - "peer": true, "dependencies": { "@ethereum-waffle/chai": "^3.4.4", "@ethereum-waffle/compiler": "^3.4.4", @@ -5206,7 +5077,6 @@ "version": "0.6.8", "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "dev": true, "dependencies": { "bn.js": "^4.11.8", "ethereumjs-util": "^6.0.0" @@ -5216,7 +5086,6 @@ "version": "4.11.6", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, "dependencies": { "@types/node": "*" } @@ -5225,7 +5094,6 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -5240,7 +5108,6 @@ "version": "7.1.4", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz", "integrity": "sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A==", - "dev": true, "dependencies": { "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", @@ -5255,13 +5122,12 @@ "node_modules/ethereumjs-util/node_modules/bn.js": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" }, "node_modules/ethers": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.2.tgz", - "integrity": "sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.3.tgz", + "integrity": "sha512-TkZAYGtbnzsGzEzqonLEMpOkmD5JIKCoWlAlj9ShAJlJszEkgKh3jVSeX1edLkYmqnpvJvGlBDK2y/HVe84LNg==", "funding": [ { "type": "individual", @@ -5273,7 +5139,7 @@ } ], "dependencies": { - "@ethersproject/abi": "5.6.0", + "@ethersproject/abi": "5.6.1", "@ethersproject/abstract-provider": "5.6.0", "@ethersproject/abstract-signer": "5.6.0", "@ethersproject/address": "5.6.0", @@ -5288,10 +5154,10 @@ "@ethersproject/json-wallets": "5.6.0", "@ethersproject/keccak256": "5.6.0", "@ethersproject/logger": "5.6.0", - "@ethersproject/networks": "5.6.1", + "@ethersproject/networks": "5.6.2", "@ethersproject/pbkdf2": "5.6.0", "@ethersproject/properties": "5.6.0", - "@ethersproject/providers": "5.6.2", + "@ethersproject/providers": "5.6.3", "@ethersproject/random": "5.6.0", "@ethersproject/rlp": "5.6.0", "@ethersproject/sha2": "5.6.0", @@ -5309,7 +5175,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", - "dev": true, "dependencies": { "bn.js": "4.11.6", "number-to-bn": "1.7.0" @@ -5322,14 +5187,12 @@ "node_modules/ethjs-unit/node_modules/bn.js": { "version": "4.11.6", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", - "dev": true + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" }, "node_modules/ethjs-util": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "dev": true, "dependencies": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" @@ -5343,7 +5206,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "dev": true, "engines": { "node": ">=6" } @@ -5358,7 +5220,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -5532,8 +5393,7 @@ "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "node_modules/external-editor": { "version": "3.1.0", @@ -5553,7 +5413,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, "engines": [ "node >=0.6.0" ] @@ -5561,8 +5420,7 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-diff": { "version": "1.2.0", @@ -5589,8 +5447,7 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -5644,7 +5501,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -5710,7 +5566,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", "integrity": "sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=", - "dev": true, "dependencies": { "array-back": "^1.0.4", "test-value": "^2.1.0" @@ -5723,7 +5578,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", - "dev": true, "dependencies": { "typical": "^2.6.0" }, @@ -5735,7 +5589,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, "dependencies": { "locate-path": "^2.0.0" }, @@ -5747,8 +5600,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", - "dev": true, - "peer": true, "dependencies": { "micromatch": "^4.0.2" } @@ -5757,7 +5608,6 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, "bin": { "flat": "cli.js" } @@ -5785,7 +5635,6 @@ "version": "1.14.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", - "dev": true, "funding": [ { "type": "individual", @@ -5811,7 +5660,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, "engines": { "node": "*" } @@ -5820,8 +5668,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "peer": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -5843,8 +5689,7 @@ "node_modules/fp-ts": { "version": "1.19.3", "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==", - "dev": true + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" }, "node_modules/fresh": { "version": "0.5.2", @@ -5859,7 +5704,6 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, "dependencies": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -5888,14 +5732,12 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -5908,14 +5750,12 @@ "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "node_modules/functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "node_modules/ganache-core": { "version": "2.13.2", @@ -5925,9 +5765,7 @@ "keccak" ], "deprecated": "ganache-core is now ganache; visit https://trfl.io/g7 for details", - "dev": true, "hasShrinkwrap": true, - "peer": true, "dependencies": { "abstract-leveldown": "3.0.0", "async": "2.6.2", @@ -5968,10 +5806,8 @@ }, "node_modules/ganache-core/node_modules/@ethersproject/abi": { "version": "5.0.0-beta.153", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/address": ">=5.0.0-beta.128", "@ethersproject/bignumber": ">=5.0.0-beta.130", @@ -5986,7 +5822,6 @@ }, "node_modules/ganache-core/node_modules/@ethersproject/abstract-provider": { "version": "5.0.8", - "dev": true, "funding": [ { "type": "individual", @@ -5999,7 +5834,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/bignumber": "^5.0.13", "@ethersproject/bytes": "^5.0.9", @@ -6012,7 +5846,6 @@ }, "node_modules/ganache-core/node_modules/@ethersproject/abstract-signer": { "version": "5.0.10", - "dev": true, "funding": [ { "type": "individual", @@ -6025,7 +5858,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/abstract-provider": "^5.0.8", "@ethersproject/bignumber": "^5.0.13", @@ -6036,7 +5868,6 @@ }, "node_modules/ganache-core/node_modules/@ethersproject/address": { "version": "5.0.9", - "dev": true, "funding": [ { "type": "individual", @@ -6049,7 +5880,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/bignumber": "^5.0.13", "@ethersproject/bytes": "^5.0.9", @@ -6060,7 +5890,6 @@ }, "node_modules/ganache-core/node_modules/@ethersproject/base64": { "version": "5.0.7", - "dev": true, "funding": [ { "type": "individual", @@ -6073,14 +5902,12 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/bytes": "^5.0.9" } }, "node_modules/ganache-core/node_modules/@ethersproject/bignumber": { "version": "5.0.13", - "dev": true, "funding": [ { "type": "individual", @@ -6093,7 +5920,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/bytes": "^5.0.9", "@ethersproject/logger": "^5.0.8", @@ -6102,7 +5928,6 @@ }, "node_modules/ganache-core/node_modules/@ethersproject/bytes": { "version": "5.0.9", - "dev": true, "funding": [ { "type": "individual", @@ -6115,14 +5940,12 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/logger": "^5.0.8" } }, "node_modules/ganache-core/node_modules/@ethersproject/constants": { "version": "5.0.8", - "dev": true, "funding": [ { "type": "individual", @@ -6135,14 +5958,12 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/bignumber": "^5.0.13" } }, "node_modules/ganache-core/node_modules/@ethersproject/hash": { "version": "5.0.10", - "dev": true, "funding": [ { "type": "individual", @@ -6155,7 +5976,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/abstract-signer": "^5.0.10", "@ethersproject/address": "^5.0.9", @@ -6169,7 +5989,6 @@ }, "node_modules/ganache-core/node_modules/@ethersproject/keccak256": { "version": "5.0.7", - "dev": true, "funding": [ { "type": "individual", @@ -6182,7 +6001,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/bytes": "^5.0.9", "js-sha3": "0.5.7" @@ -6190,7 +6008,6 @@ }, "node_modules/ganache-core/node_modules/@ethersproject/logger": { "version": "5.0.8", - "dev": true, "funding": [ { "type": "individual", @@ -6202,12 +6019,10 @@ } ], "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/@ethersproject/networks": { "version": "5.0.7", - "dev": true, "funding": [ { "type": "individual", @@ -6220,14 +6035,12 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/logger": "^5.0.8" } }, "node_modules/ganache-core/node_modules/@ethersproject/properties": { "version": "5.0.7", - "dev": true, "funding": [ { "type": "individual", @@ -6240,14 +6053,12 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/logger": "^5.0.8" } }, "node_modules/ganache-core/node_modules/@ethersproject/rlp": { "version": "5.0.7", - "dev": true, "funding": [ { "type": "individual", @@ -6260,7 +6071,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/bytes": "^5.0.9", "@ethersproject/logger": "^5.0.8" @@ -6268,7 +6078,6 @@ }, "node_modules/ganache-core/node_modules/@ethersproject/signing-key": { "version": "5.0.8", - "dev": true, "funding": [ { "type": "individual", @@ -6281,7 +6090,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/bytes": "^5.0.9", "@ethersproject/logger": "^5.0.8", @@ -6291,7 +6099,6 @@ }, "node_modules/ganache-core/node_modules/@ethersproject/strings": { "version": "5.0.8", - "dev": true, "funding": [ { "type": "individual", @@ -6304,7 +6111,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/bytes": "^5.0.9", "@ethersproject/constants": "^5.0.8", @@ -6313,7 +6119,6 @@ }, "node_modules/ganache-core/node_modules/@ethersproject/transactions": { "version": "5.0.9", - "dev": true, "funding": [ { "type": "individual", @@ -6326,7 +6131,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/address": "^5.0.9", "@ethersproject/bignumber": "^5.0.13", @@ -6341,7 +6145,6 @@ }, "node_modules/ganache-core/node_modules/@ethersproject/web": { "version": "5.0.12", - "dev": true, "funding": [ { "type": "individual", @@ -6354,7 +6157,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@ethersproject/base64": "^5.0.7", "@ethersproject/bytes": "^5.0.9", @@ -6365,20 +6167,16 @@ }, "node_modules/ganache-core/node_modules/@sindresorhus/is": { "version": "0.14.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=6" } }, "node_modules/ganache-core/node_modules/@szmarczak/http-timer": { "version": "1.1.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "defer-to-connect": "^1.0.1" }, @@ -6388,48 +6186,36 @@ }, "node_modules/ganache-core/node_modules/@types/bn.js": { "version": "4.11.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/node": "*" } }, "node_modules/ganache-core/node_modules/@types/node": { "version": "14.14.20", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/@types/pbkdf2": { "version": "3.1.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/node": "*" } }, "node_modules/ganache-core/node_modules/@types/secp256k1": { "version": "4.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/node": "*" } }, "node_modules/ganache-core/node_modules/@yarnpkg/lockfile": { "version": "1.1.0", - "dev": true, - "license": "BSD-2-Clause", - "peer": true + "license": "BSD-2-Clause" }, "node_modules/ganache-core/node_modules/abstract-leveldown": { "version": "3.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" }, @@ -6439,10 +6225,8 @@ }, "node_modules/ganache-core/node_modules/accepts": { "version": "1.3.7", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "mime-types": "~2.1.24", "negotiator": "0.6.2" @@ -6453,16 +6237,12 @@ }, "node_modules/ganache-core/node_modules/aes-js": { "version": "3.1.2", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/ajv": { "version": "6.12.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -6476,9 +6256,7 @@ }, "node_modules/ganache-core/node_modules/ansi-styles": { "version": "3.2.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -6488,62 +6266,48 @@ }, "node_modules/ganache-core/node_modules/arr-diff": { "version": "4.0.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/arr-flatten": { "version": "1.1.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/arr-union": { "version": "3.1.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/array-flatten": { "version": "1.1.1", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/array-unique": { "version": "0.3.2", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/asn1": { "version": "0.2.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "safer-buffer": "~2.1.0" } }, "node_modules/ganache-core/node_modules/asn1.js": { "version": "5.4.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -6553,57 +6317,43 @@ }, "node_modules/ganache-core/node_modules/assert-plus": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.8" } }, "node_modules/ganache-core/node_modules/assign-symbols": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/async": { "version": "2.6.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "lodash": "^4.17.11" } }, "node_modules/ganache-core/node_modules/async-eventemitter": { "version": "0.2.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "async": "^2.4.0" } }, "node_modules/ganache-core/node_modules/async-limiter": { "version": "1.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/asynckit": { "version": "0.4.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/atob": { "version": "2.1.2", - "dev": true, "license": "(MIT OR Apache-2.0)", - "peer": true, "bin": { "atob": "bin/atob.js" }, @@ -6613,24 +6363,18 @@ }, "node_modules/ganache-core/node_modules/aws-sign2": { "version": "0.7.0", - "dev": true, "license": "Apache-2.0", - "peer": true, "engines": { "node": "*" } }, "node_modules/ganache-core/node_modules/aws4": { "version": "1.11.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/babel-code-frame": { "version": "6.26.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "chalk": "^1.1.3", "esutils": "^2.0.2", @@ -6639,27 +6383,21 @@ }, "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/ansi-regex": { "version": "2.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/ansi-styles": { "version": "2.2.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/chalk": { "version": "1.1.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -6673,15 +6411,11 @@ }, "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/js-tokens": { "version": "3.0.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/strip-ansi": { "version": "3.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-regex": "^2.0.0" }, @@ -6691,18 +6425,14 @@ }, "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/supports-color": { "version": "2.0.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.8.0" } }, "node_modules/ganache-core/node_modules/babel-core": { "version": "6.26.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-code-frame": "^6.26.0", "babel-generator": "^6.26.0", @@ -6727,42 +6457,32 @@ }, "node_modules/ganache-core/node_modules/babel-core/node_modules/debug": { "version": "2.6.9", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/ganache-core/node_modules/babel-core/node_modules/json5": { "version": "0.5.1", - "dev": true, "license": "MIT", - "peer": true, "bin": { "json5": "lib/cli.js" } }, "node_modules/ganache-core/node_modules/babel-core/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/babel-core/node_modules/slash": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/babel-generator": { "version": "6.26.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-messages": "^6.23.0", "babel-runtime": "^6.26.0", @@ -6776,18 +6496,14 @@ }, "node_modules/ganache-core/node_modules/babel-generator/node_modules/jsesc": { "version": "1.3.0", - "dev": true, "license": "MIT", - "peer": true, "bin": { "jsesc": "bin/jsesc" } }, "node_modules/ganache-core/node_modules/babel-helper-builder-binary-assignment-operator-visitor": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-explode-assignable-expression": "^6.24.1", "babel-runtime": "^6.22.0", @@ -6796,9 +6512,7 @@ }, "node_modules/ganache-core/node_modules/babel-helper-call-delegate": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-hoist-variables": "^6.24.1", "babel-runtime": "^6.22.0", @@ -6808,9 +6522,7 @@ }, "node_modules/ganache-core/node_modules/babel-helper-define-map": { "version": "6.26.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.26.0", @@ -6820,9 +6532,7 @@ }, "node_modules/ganache-core/node_modules/babel-helper-explode-assignable-expression": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0", "babel-traverse": "^6.24.1", @@ -6831,9 +6541,7 @@ }, "node_modules/ganache-core/node_modules/babel-helper-function-name": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-get-function-arity": "^6.24.1", "babel-runtime": "^6.22.0", @@ -6844,9 +6552,7 @@ }, "node_modules/ganache-core/node_modules/babel-helper-get-function-arity": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -6854,9 +6560,7 @@ }, "node_modules/ganache-core/node_modules/babel-helper-hoist-variables": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -6864,9 +6568,7 @@ }, "node_modules/ganache-core/node_modules/babel-helper-optimise-call-expression": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -6874,9 +6576,7 @@ }, "node_modules/ganache-core/node_modules/babel-helper-regex": { "version": "6.26.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", @@ -6885,9 +6585,7 @@ }, "node_modules/ganache-core/node_modules/babel-helper-remap-async-to-generator": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.22.0", @@ -6898,9 +6596,7 @@ }, "node_modules/ganache-core/node_modules/babel-helper-replace-supers": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-optimise-call-expression": "^6.24.1", "babel-messages": "^6.23.0", @@ -6912,9 +6608,7 @@ }, "node_modules/ganache-core/node_modules/babel-helpers": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0", "babel-template": "^6.24.1" @@ -6922,45 +6616,33 @@ }, "node_modules/ganache-core/node_modules/babel-messages": { "version": "6.23.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0" } }, "node_modules/ganache-core/node_modules/babel-plugin-check-es2015-constants": { "version": "6.22.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0" } }, "node_modules/ganache-core/node_modules/babel-plugin-syntax-async-functions": { "version": "6.13.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/babel-plugin-syntax-trailing-function-commas": { "version": "6.22.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/babel-plugin-transform-async-to-generator": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-remap-async-to-generator": "^6.24.1", "babel-plugin-syntax-async-functions": "^6.8.0", @@ -6969,27 +6651,21 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0" } }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-block-scoped-functions": { "version": "6.22.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0" } }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-block-scoping": { "version": "6.26.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.26.0", "babel-template": "^6.26.0", @@ -7000,9 +6676,7 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-classes": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-define-map": "^6.24.1", "babel-helper-function-name": "^6.24.1", @@ -7017,9 +6691,7 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-computed-properties": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0", "babel-template": "^6.24.1" @@ -7027,18 +6699,14 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-destructuring": { "version": "6.23.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0" } }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-duplicate-keys": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -7046,18 +6714,14 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-for-of": { "version": "6.23.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0" } }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-function-name": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.22.0", @@ -7066,18 +6730,14 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-literals": { "version": "6.22.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0" } }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-amd": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", "babel-runtime": "^6.22.0", @@ -7086,9 +6746,7 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-commonjs": { "version": "6.26.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-plugin-transform-strict-mode": "^6.24.1", "babel-runtime": "^6.26.0", @@ -7098,9 +6756,7 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-systemjs": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-hoist-variables": "^6.24.1", "babel-runtime": "^6.22.0", @@ -7109,9 +6765,7 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-umd": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-plugin-transform-es2015-modules-amd": "^6.24.1", "babel-runtime": "^6.22.0", @@ -7120,9 +6774,7 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-object-super": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-replace-supers": "^6.24.1", "babel-runtime": "^6.22.0" @@ -7130,9 +6782,7 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-parameters": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-call-delegate": "^6.24.1", "babel-helper-get-function-arity": "^6.24.1", @@ -7144,9 +6794,7 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-shorthand-properties": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -7154,18 +6802,14 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-spread": { "version": "6.22.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0" } }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-sticky-regex": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-regex": "^6.24.1", "babel-runtime": "^6.22.0", @@ -7174,27 +6818,21 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-template-literals": { "version": "6.22.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0" } }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-typeof-symbol": { "version": "6.23.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0" } }, "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-unicode-regex": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-regex": "^6.24.1", "babel-runtime": "^6.22.0", @@ -7203,9 +6841,7 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-exponentiation-operator": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", "babel-plugin-syntax-exponentiation-operator": "^6.8.0", @@ -7214,18 +6850,14 @@ }, "node_modules/ganache-core/node_modules/babel-plugin-transform-regenerator": { "version": "6.26.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "regenerator-transform": "^0.10.0" } }, "node_modules/ganache-core/node_modules/babel-plugin-transform-strict-mode": { "version": "6.24.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -7233,9 +6865,7 @@ }, "node_modules/ganache-core/node_modules/babel-preset-env": { "version": "1.7.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-plugin-check-es2015-constants": "^6.22.0", "babel-plugin-syntax-trailing-function-commas": "^6.22.0", @@ -7271,18 +6901,14 @@ }, "node_modules/ganache-core/node_modules/babel-preset-env/node_modules/semver": { "version": "5.7.1", - "dev": true, "license": "ISC", - "peer": true, "bin": { "semver": "bin/semver" } }, "node_modules/ganache-core/node_modules/babel-register": { "version": "6.26.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-core": "^6.26.0", "babel-runtime": "^6.26.0", @@ -7295,18 +6921,14 @@ }, "node_modules/ganache-core/node_modules/babel-register/node_modules/source-map-support": { "version": "0.4.18", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "source-map": "^0.5.6" } }, "node_modules/ganache-core/node_modules/babel-runtime": { "version": "6.26.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" @@ -7314,9 +6936,7 @@ }, "node_modules/ganache-core/node_modules/babel-template": { "version": "6.26.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", @@ -7327,9 +6947,7 @@ }, "node_modules/ganache-core/node_modules/babel-traverse": { "version": "6.26.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", @@ -7344,33 +6962,25 @@ }, "node_modules/ganache-core/node_modules/babel-traverse/node_modules/debug": { "version": "2.6.9", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/ganache-core/node_modules/babel-traverse/node_modules/globals": { "version": "9.18.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/babel-traverse/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/babel-types": { "version": "6.26.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", @@ -7380,18 +6990,14 @@ }, "node_modules/ganache-core/node_modules/babel-types/node_modules/to-fast-properties": { "version": "1.0.3", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/babelify": { "version": "7.3.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "babel-core": "^6.0.14", "object-assign": "^4.0.0" @@ -7399,18 +7005,14 @@ }, "node_modules/ganache-core/node_modules/babylon": { "version": "6.18.0", - "dev": true, "license": "MIT", - "peer": true, "bin": { "babylon": "bin/babylon.js" } }, "node_modules/ganache-core/node_modules/backoff": { "version": "2.5.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "precond": "0.2" }, @@ -7420,15 +7022,11 @@ }, "node_modules/ganache-core/node_modules/balanced-match": { "version": "1.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/base": { "version": "0.11.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -7444,18 +7042,14 @@ }, "node_modules/ganache-core/node_modules/base-x": { "version": "3.0.8", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "safe-buffer": "^5.0.1" } }, "node_modules/ganache-core/node_modules/base/node_modules/define-property": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-descriptor": "^1.0.0" }, @@ -7465,7 +7059,6 @@ }, "node_modules/ganache-core/node_modules/base64-js": { "version": "1.5.1", - "dev": true, "funding": [ { "type": "github", @@ -7480,39 +7073,30 @@ "url": "https://feross.org/support" } ], - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/bcrypt-pbkdf": { "version": "1.0.2", - "dev": true, "license": "BSD-3-Clause", - "peer": true, "dependencies": { "tweetnacl": "^0.14.3" } }, "node_modules/ganache-core/node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { "version": "0.14.5", - "dev": true, - "license": "Unlicense", - "peer": true + "license": "Unlicense" }, "node_modules/ganache-core/node_modules/bignumber.js": { "version": "9.0.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": "*" } }, "node_modules/ganache-core/node_modules/bip39": { "version": "2.5.0", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "create-hash": "^1.1.0", "pbkdf2": "^3.0.9", @@ -7523,29 +7107,21 @@ }, "node_modules/ganache-core/node_modules/blakejs": { "version": "1.1.0", - "dev": true, - "license": "CC0-1.0", - "peer": true + "license": "CC0-1.0" }, "node_modules/ganache-core/node_modules/bluebird": { "version": "3.7.2", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/bn.js": { "version": "4.11.9", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/body-parser": { "version": "1.19.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "bytes": "3.1.0", "content-type": "~1.0.4", @@ -7564,36 +7140,28 @@ }, "node_modules/ganache-core/node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/ganache-core/node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/body-parser/node_modules/qs": { "version": "6.7.0", - "dev": true, "license": "BSD-3-Clause", "optional": true, - "peer": true, "engines": { "node": ">=0.6" } }, "node_modules/ganache-core/node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7601,15 +7169,11 @@ }, "node_modules/ganache-core/node_modules/brorand": { "version": "1.1.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/browserify-aes": { "version": "1.2.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -7621,10 +7185,8 @@ }, "node_modules/ganache-core/node_modules/browserify-cipher": { "version": "1.0.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -7633,10 +7195,8 @@ }, "node_modules/ganache-core/node_modules/browserify-des": { "version": "1.0.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -7646,10 +7206,8 @@ }, "node_modules/ganache-core/node_modules/browserify-rsa": { "version": "4.1.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" @@ -7657,17 +7215,13 @@ }, "node_modules/ganache-core/node_modules/browserify-rsa/node_modules/bn.js": { "version": "5.1.3", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/browserify-sign": { "version": "4.2.1", - "dev": true, "license": "ISC", "optional": true, - "peer": true, "dependencies": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", @@ -7682,17 +7236,13 @@ }, "node_modules/ganache-core/node_modules/browserify-sign/node_modules/bn.js": { "version": "5.1.3", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/browserify-sign/node_modules/readable-stream": { "version": "3.6.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -7704,9 +7254,7 @@ }, "node_modules/ganache-core/node_modules/browserslist": { "version": "3.2.8", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30000844", "electron-to-chromium": "^1.3.47" @@ -7717,18 +7265,14 @@ }, "node_modules/ganache-core/node_modules/bs58": { "version": "4.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "base-x": "^3.0.2" } }, "node_modules/ganache-core/node_modules/bs58check": { "version": "2.1.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "bs58": "^4.0.0", "create-hash": "^1.1.0", @@ -7737,7 +7281,6 @@ }, "node_modules/ganache-core/node_modules/buffer": { "version": "5.7.1", - "dev": true, "funding": [ { "type": "github", @@ -7753,7 +7296,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -7761,48 +7303,36 @@ }, "node_modules/ganache-core/node_modules/buffer-from": { "version": "1.1.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/buffer-to-arraybuffer": { "version": "0.0.5", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/buffer-xor": { "version": "1.0.3", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/bufferutil": { "version": "4.0.3", - "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "dependencies": { "node-gyp-build": "^4.2.0" } }, "node_modules/ganache-core/node_modules/bytes": { "version": "3.1.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.8" } }, "node_modules/ganache-core/node_modules/bytewise": { "version": "1.1.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "bytewise-core": "^1.2.2", "typewise": "^1.0.3" @@ -7810,18 +7340,14 @@ }, "node_modules/ganache-core/node_modules/bytewise-core": { "version": "1.2.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "typewise-core": "^1.2" } }, "node_modules/ganache-core/node_modules/cache-base": { "version": "1.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -7839,10 +7365,8 @@ }, "node_modules/ganache-core/node_modules/cacheable-request": { "version": "6.1.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", @@ -7858,19 +7382,15 @@ }, "node_modules/ganache-core/node_modules/cacheable-request/node_modules/lowercase-keys": { "version": "2.0.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=8" } }, "node_modules/ganache-core/node_modules/cachedown": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "^2.4.1", "lru-cache": "^3.2.0" @@ -7878,27 +7398,21 @@ }, "node_modules/ganache-core/node_modules/cachedown/node_modules/abstract-leveldown": { "version": "2.7.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" } }, "node_modules/ganache-core/node_modules/cachedown/node_modules/lru-cache": { "version": "3.2.0", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "pseudomap": "^1.0.1" } }, "node_modules/ganache-core/node_modules/call-bind": { "version": "1.0.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -7909,21 +7423,15 @@ }, "node_modules/ganache-core/node_modules/caniuse-lite": { "version": "1.0.30001174", - "dev": true, - "license": "CC-BY-4.0", - "peer": true + "license": "CC-BY-4.0" }, "node_modules/ganache-core/node_modules/caseless": { "version": "0.12.0", - "dev": true, - "license": "Apache-2.0", - "peer": true + "license": "Apache-2.0" }, "node_modules/ganache-core/node_modules/chalk": { "version": "2.4.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -7935,32 +7443,24 @@ }, "node_modules/ganache-core/node_modules/checkpoint-store": { "version": "1.1.0", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "functional-red-black-tree": "^1.0.1" } }, "node_modules/ganache-core/node_modules/chownr": { "version": "1.1.4", - "dev": true, "license": "ISC", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/ci-info": { "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/cids": { "version": "0.7.5", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "buffer": "^5.5.0", "class-is": "^1.1.0", @@ -7975,10 +7475,8 @@ }, "node_modules/ganache-core/node_modules/cids/node_modules/multicodec": { "version": "1.0.4", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "buffer": "^5.6.0", "varint": "^5.0.0" @@ -7986,9 +7484,7 @@ }, "node_modules/ganache-core/node_modules/cipher-base": { "version": "1.0.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -7996,16 +7492,12 @@ }, "node_modules/ganache-core/node_modules/class-is": { "version": "1.1.0", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/class-utils": { "version": "0.3.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -8018,9 +7510,7 @@ }, "node_modules/ganache-core/node_modules/class-utils/node_modules/define-property": { "version": "0.2.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -8030,9 +7520,7 @@ }, "node_modules/ganache-core/node_modules/class-utils/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -8042,9 +7530,7 @@ }, "node_modules/ganache-core/node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -8054,15 +7540,11 @@ }, "node_modules/ganache-core/node_modules/class-utils/node_modules/is-buffer": { "version": "1.1.6", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/class-utils/node_modules/is-data-descriptor": { "version": "0.1.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -8072,9 +7554,7 @@ }, "node_modules/ganache-core/node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -8084,9 +7564,7 @@ }, "node_modules/ganache-core/node_modules/class-utils/node_modules/is-descriptor": { "version": "0.1.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -8098,37 +7576,29 @@ }, "node_modules/ganache-core/node_modules/class-utils/node_modules/kind-of": { "version": "5.1.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/clone": { "version": "2.1.2", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.8" } }, "node_modules/ganache-core/node_modules/clone-response": { "version": "1.0.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "mimic-response": "^1.0.0" } }, "node_modules/ganache-core/node_modules/collection-visit": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -8139,24 +7609,18 @@ }, "node_modules/ganache-core/node_modules/color-convert": { "version": "1.9.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "color-name": "1.1.3" } }, "node_modules/ganache-core/node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/combined-stream": { "version": "1.0.8", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -8166,24 +7630,18 @@ }, "node_modules/ganache-core/node_modules/component-emitter": { "version": "1.3.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/concat-map": { "version": "0.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/concat-stream": { "version": "1.6.2", - "dev": true, "engines": [ "node >= 0.8" ], "license": "MIT", - "peer": true, "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -8193,10 +7651,8 @@ }, "node_modules/ganache-core/node_modules/content-disposition": { "version": "0.5.3", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "safe-buffer": "5.1.2" }, @@ -8206,17 +7662,13 @@ }, "node_modules/ganache-core/node_modules/content-disposition/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/content-hash": { "version": "2.5.2", - "dev": true, "license": "ISC", "optional": true, - "peer": true, "dependencies": { "cids": "^0.7.1", "multicodec": "^0.5.5", @@ -8225,75 +7677,57 @@ }, "node_modules/ganache-core/node_modules/content-type": { "version": "1.0.4", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/convert-source-map": { "version": "1.7.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "safe-buffer": "~5.1.1" } }, "node_modules/ganache-core/node_modules/convert-source-map/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/cookie": { "version": "0.4.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/cookie-signature": { "version": "1.0.6", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/cookiejar": { "version": "2.1.2", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/copy-descriptor": { "version": "0.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/core-js": { "version": "2.6.12", - "dev": true, "hasInstallScript": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/core-js-pure": { "version": "3.8.2", - "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -8301,16 +7735,12 @@ }, "node_modules/ganache-core/node_modules/core-util-is": { "version": "1.0.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/cors": { "version": "2.8.5", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "object-assign": "^4", "vary": "^1" @@ -8321,10 +7751,8 @@ }, "node_modules/ganache-core/node_modules/create-ecdh": { "version": "4.0.4", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -8332,9 +7760,7 @@ }, "node_modules/ganache-core/node_modules/create-hash": { "version": "1.2.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -8345,9 +7771,7 @@ }, "node_modules/ganache-core/node_modules/create-hmac": { "version": "1.1.7", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -8359,9 +7783,7 @@ }, "node_modules/ganache-core/node_modules/cross-fetch": { "version": "2.2.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "node-fetch": "2.1.2", "whatwg-fetch": "2.0.4" @@ -8369,10 +7791,8 @@ }, "node_modules/ganache-core/node_modules/crypto-browserify": { "version": "3.12.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -8392,9 +7812,7 @@ }, "node_modules/ganache-core/node_modules/d": { "version": "1.0.1", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "es5-ext": "^0.10.50", "type": "^1.0.1" @@ -8402,9 +7820,7 @@ }, "node_modules/ganache-core/node_modules/dashdash": { "version": "1.14.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "assert-plus": "^1.0.0" }, @@ -8414,28 +7830,22 @@ }, "node_modules/ganache-core/node_modules/debug": { "version": "3.2.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/ganache-core/node_modules/decode-uri-component": { "version": "0.2.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10" } }, "node_modules/ganache-core/node_modules/decompress-response": { "version": "3.3.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "mimic-response": "^1.0.0" }, @@ -8445,9 +7855,7 @@ }, "node_modules/ganache-core/node_modules/deep-equal": { "version": "1.1.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-arguments": "^1.0.4", "is-date-object": "^1.0.1", @@ -8462,16 +7870,12 @@ }, "node_modules/ganache-core/node_modules/defer-to-connect": { "version": "1.1.3", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/deferred-leveldown": { "version": "4.0.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "~5.0.0", "inherits": "^2.0.3" @@ -8482,9 +7886,7 @@ }, "node_modules/ganache-core/node_modules/deferred-leveldown/node_modules/abstract-leveldown": { "version": "5.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" }, @@ -8494,9 +7896,7 @@ }, "node_modules/ganache-core/node_modules/define-properties": { "version": "1.1.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "object-keys": "^1.0.12" }, @@ -8506,9 +7906,7 @@ }, "node_modules/ganache-core/node_modules/define-property": { "version": "2.0.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -8519,35 +7917,27 @@ }, "node_modules/ganache-core/node_modules/defined": { "version": "1.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/delayed-stream": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.4.0" } }, "node_modules/ganache-core/node_modules/depd": { "version": "1.1.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/des.js": { "version": "1.0.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -8555,16 +7945,12 @@ }, "node_modules/ganache-core/node_modules/destroy": { "version": "1.0.4", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/detect-indent": { "version": "4.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "repeating": "^2.0.0" }, @@ -8574,10 +7960,8 @@ }, "node_modules/ganache-core/node_modules/diffie-hellman": { "version": "5.0.3", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -8585,15 +7969,11 @@ } }, "node_modules/ganache-core/node_modules/dom-walk": { - "version": "0.1.2", - "dev": true, - "peer": true + "version": "0.1.2" }, "node_modules/ganache-core/node_modules/dotignore": { "version": "0.1.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "minimatch": "^3.0.4" }, @@ -8603,16 +7983,12 @@ }, "node_modules/ganache-core/node_modules/duplexer3": { "version": "0.1.4", - "dev": true, "license": "BSD-3-Clause", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/ecc-jsbn": { "version": "0.1.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -8620,22 +7996,16 @@ }, "node_modules/ganache-core/node_modules/ee-first": { "version": "1.1.1", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/electron-to-chromium": { "version": "1.3.636", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/ganache-core/node_modules/elliptic": { "version": "6.5.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "bn.js": "^4.4.0", "brorand": "^1.0.1", @@ -8648,28 +8018,22 @@ }, "node_modules/ganache-core/node_modules/encodeurl": { "version": "1.0.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.8" } }, "node_modules/ganache-core/node_modules/encoding": { "version": "0.1.13", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "iconv-lite": "^0.6.2" } }, "node_modules/ganache-core/node_modules/encoding-down": { "version": "5.0.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "^5.0.0", "inherits": "^2.0.3", @@ -8683,9 +8047,7 @@ }, "node_modules/ganache-core/node_modules/encoding-down/node_modules/abstract-leveldown": { "version": "5.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" }, @@ -8695,9 +8057,7 @@ }, "node_modules/ganache-core/node_modules/encoding/node_modules/iconv-lite": { "version": "0.6.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -8707,18 +8067,14 @@ }, "node_modules/ganache-core/node_modules/end-of-stream": { "version": "1.4.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "once": "^1.4.0" } }, "node_modules/ganache-core/node_modules/errno": { "version": "0.1.8", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "prr": "~1.0.1" }, @@ -8728,9 +8084,7 @@ }, "node_modules/ganache-core/node_modules/es-abstract": { "version": "1.18.0-next.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", @@ -8754,9 +8108,7 @@ }, "node_modules/ganache-core/node_modules/es-to-primitive": { "version": "1.2.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -8771,9 +8123,7 @@ }, "node_modules/ganache-core/node_modules/es5-ext": { "version": "0.10.53", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "es6-iterator": "~2.0.3", "es6-symbol": "~3.1.3", @@ -8782,9 +8132,7 @@ }, "node_modules/ganache-core/node_modules/es6-iterator": { "version": "2.0.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "d": "1", "es5-ext": "^0.10.35", @@ -8793,9 +8141,7 @@ }, "node_modules/ganache-core/node_modules/es6-symbol": { "version": "3.1.3", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "d": "^1.0.1", "ext": "^1.1.2" @@ -8803,44 +8149,34 @@ }, "node_modules/ganache-core/node_modules/escape-html": { "version": "1.0.3", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/escape-string-regexp": { "version": "1.0.5", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.8.0" } }, "node_modules/ganache-core/node_modules/esutils": { "version": "2.0.3", - "dev": true, "license": "BSD-2-Clause", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/etag": { "version": "1.8.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/eth-block-tracker": { "version": "3.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "eth-query": "^2.1.0", "ethereumjs-tx": "^1.3.3", @@ -8853,9 +8189,7 @@ }, "node_modules/ganache-core/node_modules/eth-block-tracker/node_modules/ethereumjs-tx": { "version": "1.3.7", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" @@ -8863,9 +8197,7 @@ }, "node_modules/ganache-core/node_modules/eth-block-tracker/node_modules/ethereumjs-util": { "version": "5.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -8878,19 +8210,15 @@ }, "node_modules/ganache-core/node_modules/eth-block-tracker/node_modules/pify": { "version": "2.3.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/eth-ens-namehash": { "version": "2.0.8", - "dev": true, "license": "ISC", "optional": true, - "peer": true, "dependencies": { "idna-uts46-hx": "^2.3.1", "js-sha3": "^0.5.7" @@ -8898,9 +8226,7 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-infura": { "version": "3.2.1", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "cross-fetch": "^2.1.1", "eth-json-rpc-middleware": "^1.5.0", @@ -8910,9 +8236,7 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware": { "version": "1.6.0", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "async": "^2.5.0", "eth-query": "^2.1.2", @@ -8931,27 +8255,21 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/abstract-leveldown": { "version": "2.6.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" } }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/deferred-leveldown": { "version": "1.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "~2.6.0" } }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-account": { "version": "2.0.5", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "ethereumjs-util": "^5.0.0", "rlp": "^2.0.0", @@ -8960,9 +8278,7 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-block": { "version": "1.7.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.0.1", "ethereum-common": "0.2.0", @@ -8973,15 +8289,11 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-block/node_modules/ethereum-common": { "version": "0.2.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-tx": { "version": "1.3.7", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" @@ -8989,9 +8301,7 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-util": { "version": "5.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -9004,9 +8314,7 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm": { "version": "2.6.0", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.1.2", "async-eventemitter": "^0.2.2", @@ -9023,9 +8331,7 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { "version": "2.2.2", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.0.1", "ethereumjs-common": "^1.5.0", @@ -9036,9 +8342,7 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { "version": "5.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -9051,9 +8355,7 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { "version": "2.1.2", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "ethereumjs-common": "^1.5.0", "ethereumjs-util": "^6.0.0" @@ -9061,9 +8363,7 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { "version": "6.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -9076,30 +8376,22 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/isarray": { "version": "0.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-codec": { "version": "7.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-errors": { "version": "1.0.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "errno": "~0.1.1" } }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-iterator-stream": { "version": "1.3.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.1", "level-errors": "^1.0.3", @@ -9109,9 +8401,7 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-iterator-stream/node_modules/readable-stream": { "version": "1.1.14", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -9121,9 +8411,7 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-ws": { "version": "0.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "readable-stream": "~1.0.15", "xtend": "~2.1.1" @@ -9131,9 +8419,7 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-ws/node_modules/readable-stream": { "version": "1.0.34", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -9143,8 +8429,6 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-ws/node_modules/xtend": { "version": "2.1.2", - "dev": true, - "peer": true, "dependencies": { "object-keys": "~0.4.0" }, @@ -9154,9 +8438,7 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/levelup": { "version": "1.3.9", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "deferred-leveldown": "~1.2.1", "level-codec": "~7.0.0", @@ -9169,15 +8451,11 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ltgt": { "version": "2.2.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/memdown": { "version": "1.4.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "~2.7.1", "functional-red-black-tree": "^1.0.1", @@ -9189,18 +8467,14 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/memdown/node_modules/abstract-leveldown": { "version": "2.7.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" } }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/merkle-patricia-tree": { "version": "2.3.2", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^1.4.2", "ethereumjs-util": "^5.0.0", @@ -9214,43 +8488,31 @@ }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/merkle-patricia-tree/node_modules/async": { "version": "1.5.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/object-keys": { "version": "0.4.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/semver": { "version": "5.4.1", - "dev": true, "license": "ISC", - "peer": true, "bin": { "semver": "bin/semver" } }, "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/string_decoder": { "version": "0.10.31", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-lib": { "version": "0.1.29", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -9262,9 +8524,7 @@ }, "node_modules/ganache-core/node_modules/eth-query": { "version": "2.1.2", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "json-rpc-random-id": "^1.0.0", "xtend": "^4.0.1" @@ -9272,9 +8532,7 @@ }, "node_modules/ganache-core/node_modules/eth-sig-util": { "version": "3.0.0", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "buffer": "^5.2.1", "elliptic": "^6.4.0", @@ -9286,9 +8544,7 @@ }, "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-abi": { "version": "0.6.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "bn.js": "^4.10.0", "ethereumjs-util": "^4.3.0" @@ -9296,9 +8552,7 @@ }, "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { "version": "4.5.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "bn.js": "^4.8.0", "create-hash": "^1.1.2", @@ -9309,9 +8563,7 @@ }, "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-util": { "version": "5.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -9324,9 +8576,7 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary": { "version": "3.2.4", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "async": "^2.1.2", "clone": "^2.0.0", @@ -9342,27 +8592,21 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/abstract-leveldown": { "version": "2.6.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" } }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/deferred-leveldown": { "version": "1.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "~2.6.0" } }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-account": { "version": "2.0.5", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "ethereumjs-util": "^5.0.0", "rlp": "^2.0.0", @@ -9371,9 +8615,7 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-block": { "version": "1.7.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.0.1", "ethereum-common": "0.2.0", @@ -9384,15 +8626,11 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-block/node_modules/ethereum-common": { "version": "0.2.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-tx": { "version": "1.3.7", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" @@ -9400,9 +8638,7 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-util": { "version": "5.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -9415,9 +8651,7 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm": { "version": "2.6.0", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.1.2", "async-eventemitter": "^0.2.2", @@ -9434,9 +8668,7 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { "version": "2.2.2", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.0.1", "ethereumjs-common": "^1.5.0", @@ -9447,9 +8679,7 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { "version": "5.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -9462,9 +8692,7 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { "version": "2.1.2", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "ethereumjs-common": "^1.5.0", "ethereumjs-util": "^6.0.0" @@ -9472,9 +8700,7 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { "version": "6.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -9487,30 +8713,22 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/isarray": { "version": "0.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-codec": { "version": "7.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-errors": { "version": "1.0.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "errno": "~0.1.1" } }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-iterator-stream": { "version": "1.3.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.1", "level-errors": "^1.0.3", @@ -9520,9 +8738,7 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-iterator-stream/node_modules/readable-stream": { "version": "1.1.14", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -9532,9 +8748,7 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-ws": { "version": "0.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "readable-stream": "~1.0.15", "xtend": "~2.1.1" @@ -9542,9 +8756,7 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-ws/node_modules/readable-stream": { "version": "1.0.34", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -9554,8 +8766,6 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-ws/node_modules/xtend": { "version": "2.1.2", - "dev": true, - "peer": true, "dependencies": { "object-keys": "~0.4.0" }, @@ -9565,9 +8775,7 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/levelup": { "version": "1.3.9", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "deferred-leveldown": "~1.2.1", "level-codec": "~7.0.0", @@ -9580,15 +8788,11 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ltgt": { "version": "2.2.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/memdown": { "version": "1.4.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "~2.7.1", "functional-red-black-tree": "^1.0.1", @@ -9600,18 +8804,14 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/memdown/node_modules/abstract-leveldown": { "version": "2.7.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" } }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/merkle-patricia-tree": { "version": "2.3.2", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^1.4.2", "ethereumjs-util": "^5.0.0", @@ -9625,42 +8825,30 @@ }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/merkle-patricia-tree/node_modules/async": { "version": "1.5.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/object-keys": { "version": "0.4.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/semver": { "version": "5.4.1", - "dev": true, "license": "ISC", - "peer": true, "bin": { "semver": "bin/semver" } }, "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/string_decoder": { "version": "0.10.31", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethashjs": { "version": "0.0.8", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.1.2", "buffer-xor": "^2.0.1", @@ -9670,24 +8858,18 @@ }, "node_modules/ganache-core/node_modules/ethashjs/node_modules/bn.js": { "version": "5.1.3", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethashjs/node_modules/buffer-xor": { "version": "2.0.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "safe-buffer": "^5.1.1" } }, "node_modules/ganache-core/node_modules/ethashjs/node_modules/ethereumjs-util": { "version": "7.0.7", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^5.1.2", @@ -9702,32 +8884,24 @@ }, "node_modules/ganache-core/node_modules/ethereum-bloom-filters": { "version": "1.0.7", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "js-sha3": "^0.8.0" } }, "node_modules/ganache-core/node_modules/ethereum-bloom-filters/node_modules/js-sha3": { "version": "0.8.0", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/ethereum-common": { "version": "0.0.18", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereum-cryptography": { "version": "0.1.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -9748,9 +8922,7 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-abi": { "version": "0.6.8", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "bn.js": "^4.11.8", "ethereumjs-util": "^6.0.0" @@ -9758,9 +8930,7 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-account": { "version": "3.0.0", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "ethereumjs-util": "^6.0.0", "rlp": "^2.2.1", @@ -9769,9 +8939,7 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-block": { "version": "2.2.2", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.0.1", "ethereumjs-common": "^1.5.0", @@ -9782,27 +8950,21 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/abstract-leveldown": { "version": "2.6.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" } }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/deferred-leveldown": { "version": "1.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "~2.6.0" } }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { "version": "5.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -9815,30 +8977,22 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/isarray": { "version": "0.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-codec": { "version": "7.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-errors": { "version": "1.0.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "errno": "~0.1.1" } }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-iterator-stream": { "version": "1.3.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.1", "level-errors": "^1.0.3", @@ -9848,9 +9002,7 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-iterator-stream/node_modules/readable-stream": { "version": "1.1.14", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -9860,9 +9012,7 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-ws": { "version": "0.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "readable-stream": "~1.0.15", "xtend": "~2.1.1" @@ -9870,9 +9020,7 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-ws/node_modules/readable-stream": { "version": "1.0.34", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -9882,8 +9030,6 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-ws/node_modules/xtend": { "version": "2.1.2", - "dev": true, - "peer": true, "dependencies": { "object-keys": "~0.4.0" }, @@ -9893,9 +9039,7 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/levelup": { "version": "1.3.9", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "deferred-leveldown": "~1.2.1", "level-codec": "~7.0.0", @@ -9908,15 +9052,11 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/ltgt": { "version": "2.2.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/memdown": { "version": "1.4.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "~2.7.1", "functional-red-black-tree": "^1.0.1", @@ -9928,18 +9068,14 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/memdown/node_modules/abstract-leveldown": { "version": "2.7.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" } }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/merkle-patricia-tree": { "version": "2.3.2", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^1.4.2", "ethereumjs-util": "^5.0.0", @@ -9953,42 +9089,30 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/merkle-patricia-tree/node_modules/async": { "version": "1.5.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/object-keys": { "version": "0.4.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/semver": { "version": "5.4.1", - "dev": true, "license": "ISC", - "peer": true, "bin": { "semver": "bin/semver" } }, "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/string_decoder": { "version": "0.10.31", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-blockchain": { "version": "4.0.4", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.6.1", "ethashjs": "~0.0.7", @@ -10004,15 +9128,11 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-common": { "version": "1.5.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-tx": { "version": "2.1.2", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "ethereumjs-common": "^1.5.0", "ethereumjs-util": "^6.0.0" @@ -10020,9 +9140,7 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-util": { "version": "6.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -10035,9 +9153,7 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-vm": { "version": "4.2.0", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.1.2", "async-eventemitter": "^0.2.2", @@ -10058,48 +9174,36 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/abstract-leveldown": { "version": "2.6.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" } }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/deferred-leveldown": { "version": "1.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "~2.6.0" } }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/isarray": { "version": "0.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-codec": { "version": "7.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-errors": { "version": "1.0.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "errno": "~0.1.1" } }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-iterator-stream": { "version": "1.3.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.1", "level-errors": "^1.0.3", @@ -10109,9 +9213,7 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-iterator-stream/node_modules/readable-stream": { "version": "1.1.14", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -10121,9 +9223,7 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-ws": { "version": "0.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "readable-stream": "~1.0.15", "xtend": "~2.1.1" @@ -10131,9 +9231,7 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-ws/node_modules/readable-stream": { "version": "1.0.34", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -10143,8 +9241,6 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-ws/node_modules/xtend": { "version": "2.1.2", - "dev": true, - "peer": true, "dependencies": { "object-keys": "~0.4.0" }, @@ -10154,9 +9250,7 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/levelup": { "version": "1.3.9", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "deferred-leveldown": "~1.2.1", "level-codec": "~7.0.0", @@ -10169,15 +9263,11 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/ltgt": { "version": "2.2.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/memdown": { "version": "1.4.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "~2.7.1", "functional-red-black-tree": "^1.0.1", @@ -10189,18 +9279,14 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/memdown/node_modules/abstract-leveldown": { "version": "2.7.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" } }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/merkle-patricia-tree": { "version": "2.3.2", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^1.4.2", "ethereumjs-util": "^5.0.0", @@ -10214,15 +9300,11 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/merkle-patricia-tree/node_modules/async": { "version": "1.5.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/merkle-patricia-tree/node_modules/ethereumjs-util": { "version": "5.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -10235,37 +9317,27 @@ }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/object-keys": { "version": "0.4.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/semver": { "version": "5.4.1", - "dev": true, "license": "ISC", - "peer": true, "bin": { "semver": "bin/semver" } }, "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/string_decoder": { "version": "0.10.31", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ethereumjs-wallet": { "version": "0.6.5", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "aes-js": "^3.1.1", "bs58check": "^2.1.2", @@ -10280,10 +9352,8 @@ }, "node_modules/ganache-core/node_modules/ethjs-unit": { "version": "0.1.6", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "bn.js": "4.11.6", "number-to-bn": "1.7.0" @@ -10295,16 +9365,12 @@ }, "node_modules/ganache-core/node_modules/ethjs-unit/node_modules/bn.js": { "version": "4.11.6", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/ethjs-util": { "version": "0.1.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" @@ -10316,25 +9382,19 @@ }, "node_modules/ganache-core/node_modules/eventemitter3": { "version": "4.0.4", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/events": { "version": "3.2.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.8.x" } }, "node_modules/ganache-core/node_modules/evp_bytestokey": { "version": "1.0.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -10342,9 +9402,7 @@ }, "node_modules/ganache-core/node_modules/expand-brackets": { "version": "2.1.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -10360,18 +9418,14 @@ }, "node_modules/ganache-core/node_modules/expand-brackets/node_modules/debug": { "version": "2.6.9", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/ganache-core/node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -10381,9 +9435,7 @@ }, "node_modules/ganache-core/node_modules/expand-brackets/node_modules/extend-shallow": { "version": "2.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -10393,9 +9445,7 @@ }, "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -10405,9 +9455,7 @@ }, "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -10417,15 +9465,11 @@ }, "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-buffer": { "version": "1.1.6", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-data-descriptor": { "version": "0.1.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -10435,9 +9479,7 @@ }, "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -10447,9 +9489,7 @@ }, "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-descriptor": { "version": "0.1.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -10461,34 +9501,26 @@ }, "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-extendable": { "version": "0.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/expand-brackets/node_modules/kind-of": { "version": "5.1.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/expand-brackets/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/express": { "version": "4.17.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "accepts": "~1.3.7", "array-flatten": "1.1.1", @@ -10527,64 +9559,48 @@ }, "node_modules/ganache-core/node_modules/express/node_modules/debug": { "version": "2.6.9", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/ganache-core/node_modules/express/node_modules/ms": { "version": "2.0.0", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/express/node_modules/qs": { "version": "6.7.0", - "dev": true, "license": "BSD-3-Clause", "optional": true, - "peer": true, "engines": { "node": ">=0.6" } }, "node_modules/ganache-core/node_modules/express/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/ext": { "version": "1.4.0", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "type": "^2.0.0" } }, "node_modules/ganache-core/node_modules/ext/node_modules/type": { "version": "2.1.0", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/ganache-core/node_modules/extend": { "version": "3.0.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/extend-shallow": { "version": "3.0.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -10595,9 +9611,7 @@ }, "node_modules/ganache-core/node_modules/extglob": { "version": "2.0.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -10614,9 +9628,7 @@ }, "node_modules/ganache-core/node_modules/extglob/node_modules/define-property": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-descriptor": "^1.0.0" }, @@ -10626,9 +9638,7 @@ }, "node_modules/ganache-core/node_modules/extglob/node_modules/extend-shallow": { "version": "2.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -10638,66 +9648,50 @@ }, "node_modules/ganache-core/node_modules/extglob/node_modules/is-extendable": { "version": "0.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/extsprintf": { "version": "1.3.0", - "dev": true, "engines": [ "node >=0.6.0" ], - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/fake-merkle-patricia-tree": { "version": "1.0.1", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "checkpoint-store": "^1.1.0" } }, "node_modules/ganache-core/node_modules/fast-deep-equal": { "version": "3.1.3", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/fetch-ponyfill": { "version": "4.1.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "node-fetch": "~1.7.1" } }, "node_modules/ganache-core/node_modules/fetch-ponyfill/node_modules/is-stream": { "version": "1.1.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/fetch-ponyfill/node_modules/node-fetch": { "version": "1.7.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "encoding": "^0.1.11", "is-stream": "^1.0.1" @@ -10705,10 +9699,8 @@ }, "node_modules/ganache-core/node_modules/finalhandler": { "version": "1.1.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -10724,26 +9716,20 @@ }, "node_modules/ganache-core/node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/ganache-core/node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/find-yarn-workspace-root": { "version": "1.2.1", - "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "fs-extra": "^4.0.3", "micromatch": "^3.1.4" @@ -10751,9 +9737,7 @@ }, "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/braces": { "version": "2.3.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -10772,9 +9756,7 @@ }, "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -10784,9 +9766,7 @@ }, "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/fill-range": { "version": "4.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -10799,9 +9779,7 @@ }, "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -10811,9 +9789,7 @@ }, "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/fs-extra": { "version": "4.0.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -10822,24 +9798,18 @@ }, "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-buffer": { "version": "1.1.6", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-extendable": { "version": "0.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-number": { "version": "3.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -10849,9 +9819,7 @@ }, "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -10861,9 +9829,7 @@ }, "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/micromatch": { "version": "3.1.10", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -10885,9 +9851,7 @@ }, "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/to-regex-range": { "version": "2.1.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -10898,42 +9862,32 @@ }, "node_modules/ganache-core/node_modules/flow-stoplight": { "version": "1.0.0", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/ganache-core/node_modules/for-each": { "version": "0.3.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-callable": "^1.1.3" } }, "node_modules/ganache-core/node_modules/for-in": { "version": "1.0.2", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/forever-agent": { "version": "0.6.1", - "dev": true, "license": "Apache-2.0", - "peer": true, "engines": { "node": "*" } }, "node_modules/ganache-core/node_modules/form-data": { "version": "2.3.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -10945,19 +9899,15 @@ }, "node_modules/ganache-core/node_modules/forwarded": { "version": "0.1.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/fragment-cache": { "version": "0.2.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "map-cache": "^0.2.2" }, @@ -10967,19 +9917,15 @@ }, "node_modules/ganache-core/node_modules/fresh": { "version": "0.5.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/fs-extra": { "version": "7.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -10991,27 +9937,19 @@ }, "node_modules/ganache-core/node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/ganache-core/node_modules/function-bind": { "version": "1.1.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/functional-red-black-tree": { "version": "1.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/get-intrinsic": { "version": "1.0.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -11023,10 +9961,8 @@ }, "node_modules/ganache-core/node_modules/get-stream": { "version": "5.2.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "pump": "^3.0.0" }, @@ -11039,27 +9975,21 @@ }, "node_modules/ganache-core/node_modules/get-value": { "version": "2.0.6", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/getpass": { "version": "0.1.7", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "assert-plus": "^1.0.0" } }, "node_modules/ganache-core/node_modules/glob": { "version": "7.1.3", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -11074,9 +10004,7 @@ }, "node_modules/ganache-core/node_modules/global": { "version": "4.4.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "min-document": "^2.19.0", "process": "^0.11.10" @@ -11084,10 +10012,8 @@ }, "node_modules/ganache-core/node_modules/got": { "version": "9.6.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "@sindresorhus/is": "^0.14.0", "@szmarczak/http-timer": "^1.1.2", @@ -11107,10 +10033,8 @@ }, "node_modules/ganache-core/node_modules/got/node_modules/get-stream": { "version": "4.1.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "pump": "^3.0.0" }, @@ -11120,24 +10044,18 @@ }, "node_modules/ganache-core/node_modules/graceful-fs": { "version": "4.2.4", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/ganache-core/node_modules/har-schema": { "version": "2.0.0", - "dev": true, "license": "ISC", - "peer": true, "engines": { "node": ">=4" } }, "node_modules/ganache-core/node_modules/har-validator": { "version": "5.1.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -11148,9 +10066,7 @@ }, "node_modules/ganache-core/node_modules/has": { "version": "1.0.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -11160,9 +10076,7 @@ }, "node_modules/ganache-core/node_modules/has-ansi": { "version": "2.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-regex": "^2.0.0" }, @@ -11172,37 +10086,29 @@ }, "node_modules/ganache-core/node_modules/has-ansi/node_modules/ansi-regex": { "version": "2.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/has-flag": { "version": "3.0.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=4" } }, "node_modules/ganache-core/node_modules/has-symbol-support-x": { "version": "1.4.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": "*" } }, "node_modules/ganache-core/node_modules/has-symbols": { "version": "1.0.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 0.4" }, @@ -11212,10 +10118,8 @@ }, "node_modules/ganache-core/node_modules/has-to-string-tag-x": { "version": "1.4.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "has-symbol-support-x": "^1.4.1" }, @@ -11225,9 +10129,7 @@ }, "node_modules/ganache-core/node_modules/has-value": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -11239,9 +10141,7 @@ }, "node_modules/ganache-core/node_modules/has-values": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -11252,15 +10152,11 @@ }, "node_modules/ganache-core/node_modules/has-values/node_modules/is-buffer": { "version": "1.1.6", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/has-values/node_modules/is-number": { "version": "3.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -11270,9 +10166,7 @@ }, "node_modules/ganache-core/node_modules/has-values/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -11282,9 +10176,7 @@ }, "node_modules/ganache-core/node_modules/has-values/node_modules/kind-of": { "version": "4.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -11294,9 +10186,7 @@ }, "node_modules/ganache-core/node_modules/hash-base": { "version": "3.1.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -11308,9 +10198,7 @@ }, "node_modules/ganache-core/node_modules/hash-base/node_modules/readable-stream": { "version": "3.6.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -11322,24 +10210,18 @@ }, "node_modules/ganache-core/node_modules/hash.js": { "version": "1.1.7", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, "node_modules/ganache-core/node_modules/heap": { - "version": "0.2.6", - "dev": true, - "peer": true + "version": "0.2.6" }, "node_modules/ganache-core/node_modules/hmac-drbg": { "version": "1.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -11348,9 +10230,7 @@ }, "node_modules/ganache-core/node_modules/home-or-tmp": { "version": "2.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.1" @@ -11361,17 +10241,13 @@ }, "node_modules/ganache-core/node_modules/http-cache-semantics": { "version": "4.1.0", - "dev": true, "license": "BSD-2-Clause", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/http-errors": { "version": "1.7.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -11385,23 +10261,17 @@ }, "node_modules/ganache-core/node_modules/http-errors/node_modules/inherits": { "version": "2.0.3", - "dev": true, "license": "ISC", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/http-https": { "version": "1.0.0", - "dev": true, "license": "ISC", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/http-signature": { "version": "1.2.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -11414,10 +10284,8 @@ }, "node_modules/ganache-core/node_modules/iconv-lite": { "version": "0.4.24", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -11427,10 +10295,8 @@ }, "node_modules/ganache-core/node_modules/idna-uts46-hx": { "version": "2.3.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "punycode": "2.1.0" }, @@ -11440,17 +10306,14 @@ }, "node_modules/ganache-core/node_modules/idna-uts46-hx/node_modules/punycode": { "version": "2.1.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=6" } }, "node_modules/ganache-core/node_modules/ieee754": { "version": "1.2.1", - "dev": true, "funding": [ { "type": "github", @@ -11465,20 +10328,15 @@ "url": "https://feross.org/support" } ], - "license": "BSD-3-Clause", - "peer": true + "license": "BSD-3-Clause" }, "node_modules/ganache-core/node_modules/immediate": { "version": "3.2.3", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/inflight": { "version": "1.0.6", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -11486,34 +10344,26 @@ }, "node_modules/ganache-core/node_modules/inherits": { "version": "2.0.4", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/ganache-core/node_modules/invariant": { "version": "2.2.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.0.0" } }, "node_modules/ganache-core/node_modules/ipaddr.js": { "version": "1.9.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.10" } }, "node_modules/ganache-core/node_modules/is-accessor-descriptor": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^6.0.0" }, @@ -11523,9 +10373,7 @@ }, "node_modules/ganache-core/node_modules/is-arguments": { "version": "1.1.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "call-bind": "^1.0.0" }, @@ -11538,9 +10386,7 @@ }, "node_modules/ganache-core/node_modules/is-callable": { "version": "1.2.2", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 0.4" }, @@ -11550,9 +10396,7 @@ }, "node_modules/ganache-core/node_modules/is-ci": { "version": "2.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ci-info": "^2.0.0" }, @@ -11562,9 +10406,7 @@ }, "node_modules/ganache-core/node_modules/is-data-descriptor": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^6.0.0" }, @@ -11574,9 +10416,7 @@ }, "node_modules/ganache-core/node_modules/is-date-object": { "version": "1.0.2", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 0.4" }, @@ -11586,9 +10426,7 @@ }, "node_modules/ganache-core/node_modules/is-descriptor": { "version": "1.0.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -11600,9 +10438,7 @@ }, "node_modules/ganache-core/node_modules/is-extendable": { "version": "1.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-plain-object": "^2.0.4" }, @@ -11612,9 +10448,7 @@ }, "node_modules/ganache-core/node_modules/is-finite": { "version": "1.1.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" }, @@ -11624,24 +10458,18 @@ }, "node_modules/ganache-core/node_modules/is-fn": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/is-function": { "version": "1.0.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/is-hex-prefixed": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=6.5.0", "npm": ">=3" @@ -11649,9 +10477,7 @@ }, "node_modules/ganache-core/node_modules/is-negative-zero": { "version": "2.0.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 0.4" }, @@ -11661,29 +10487,23 @@ }, "node_modules/ganache-core/node_modules/is-object": { "version": "1.0.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/ganache-core/node_modules/is-plain-obj": { "version": "1.1.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/is-plain-object": { "version": "2.0.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "isobject": "^3.0.1" }, @@ -11693,9 +10513,7 @@ }, "node_modules/ganache-core/node_modules/is-regex": { "version": "1.1.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "has-symbols": "^1.0.1" }, @@ -11708,19 +10526,15 @@ }, "node_modules/ganache-core/node_modules/is-retry-allowed": { "version": "1.2.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/is-symbol": { "version": "1.0.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "has-symbols": "^1.0.1" }, @@ -11733,52 +10547,38 @@ }, "node_modules/ganache-core/node_modules/is-typedarray": { "version": "1.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/is-windows": { "version": "1.0.2", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/isarray": { "version": "1.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/isexe": { "version": "2.0.0", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/ganache-core/node_modules/isobject": { "version": "3.0.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/isstream": { "version": "0.1.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/isurl": { "version": "1.0.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "has-to-string-tag-x": "^1.2.0", "is-object": "^1.0.1" @@ -11789,35 +10589,25 @@ }, "node_modules/ganache-core/node_modules/js-sha3": { "version": "0.5.7", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/js-tokens": { "version": "4.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/jsbn": { "version": "0.1.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/json-buffer": { "version": "3.0.0", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/json-rpc-engine": { "version": "3.8.0", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "async": "^2.0.1", "babel-preset-env": "^1.7.0", @@ -11829,68 +10619,50 @@ }, "node_modules/ganache-core/node_modules/json-rpc-error": { "version": "2.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.1" } }, "node_modules/ganache-core/node_modules/json-rpc-random-id": { "version": "1.0.1", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/ganache-core/node_modules/json-schema": { - "version": "0.2.3", - "dev": true, - "peer": true + "version": "0.2.3" }, "node_modules/ganache-core/node_modules/json-schema-traverse": { "version": "0.4.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/json-stable-stringify": { "version": "1.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "jsonify": "~0.0.0" } }, "node_modules/ganache-core/node_modules/json-stringify-safe": { "version": "5.0.1", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/ganache-core/node_modules/jsonfile": { "version": "4.0.0", - "dev": true, "license": "MIT", - "peer": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/ganache-core/node_modules/jsonify": { "version": "0.0.0", - "dev": true, - "license": "Public Domain", - "peer": true + "license": "Public Domain" }, "node_modules/ganache-core/node_modules/jsprim": { "version": "1.4.1", - "dev": true, "engines": [ "node >=0.6.0" ], "license": "MIT", - "peer": true, "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -11900,11 +10672,9 @@ }, "node_modules/ganache-core/node_modules/keccak": { "version": "3.0.1", - "dev": true, "hasInstallScript": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0" @@ -11915,37 +10685,29 @@ }, "node_modules/ganache-core/node_modules/keyv": { "version": "3.1.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "json-buffer": "3.0.0" } }, "node_modules/ganache-core/node_modules/kind-of": { "version": "6.0.3", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/klaw-sync": { "version": "6.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "graceful-fs": "^4.1.11" } }, "node_modules/ganache-core/node_modules/level-codec": { "version": "9.0.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "buffer": "^5.6.0" }, @@ -11955,9 +10717,7 @@ }, "node_modules/ganache-core/node_modules/level-errors": { "version": "2.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "errno": "~0.1.1" }, @@ -11967,9 +10727,7 @@ }, "node_modules/ganache-core/node_modules/level-iterator-stream": { "version": "2.0.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.0.5", @@ -11981,9 +10739,7 @@ }, "node_modules/ganache-core/node_modules/level-mem": { "version": "3.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "level-packager": "~4.0.0", "memdown": "~3.0.0" @@ -11994,9 +10750,7 @@ }, "node_modules/ganache-core/node_modules/level-mem/node_modules/abstract-leveldown": { "version": "5.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" }, @@ -12006,15 +10760,11 @@ }, "node_modules/ganache-core/node_modules/level-mem/node_modules/ltgt": { "version": "2.2.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/level-mem/node_modules/memdown": { "version": "3.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "~5.0.0", "functional-red-black-tree": "~1.0.1", @@ -12029,15 +10779,11 @@ }, "node_modules/ganache-core/node_modules/level-mem/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/level-packager": { "version": "4.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "encoding-down": "~5.0.0", "levelup": "^3.0.0" @@ -12048,18 +10794,14 @@ }, "node_modules/ganache-core/node_modules/level-post": { "version": "1.0.7", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ltgt": "^2.1.2" } }, "node_modules/ganache-core/node_modules/level-sublevel": { "version": "6.6.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "bytewise": "~1.1.0", "level-codec": "^9.0.0", @@ -12075,9 +10817,7 @@ }, "node_modules/ganache-core/node_modules/level-ws": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.3", "readable-stream": "^2.2.8", @@ -12089,9 +10829,7 @@ }, "node_modules/ganache-core/node_modules/levelup": { "version": "3.1.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "deferred-leveldown": "~4.0.0", "level-errors": "~2.0.0", @@ -12104,9 +10842,7 @@ }, "node_modules/ganache-core/node_modules/levelup/node_modules/level-iterator-stream": { "version": "3.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.1", "readable-stream": "^2.3.6", @@ -12118,21 +10854,15 @@ }, "node_modules/ganache-core/node_modules/lodash": { "version": "4.17.20", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/looper": { "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/loose-envify": { "version": "1.4.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -12142,43 +10872,33 @@ }, "node_modules/ganache-core/node_modules/lowercase-keys": { "version": "1.0.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/lru-cache": { "version": "5.1.1", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "yallist": "^3.0.2" } }, "node_modules/ganache-core/node_modules/ltgt": { "version": "2.1.3", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/map-cache": { "version": "0.2.2", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/map-visit": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "object-visit": "^1.0.0" }, @@ -12188,9 +10908,7 @@ }, "node_modules/ganache-core/node_modules/md5.js": { "version": "1.3.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -12199,26 +10917,20 @@ }, "node_modules/ganache-core/node_modules/media-typer": { "version": "0.3.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/merge-descriptors": { "version": "1.0.1", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/merkle-patricia-tree": { "version": "3.0.0", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.6.1", "ethereumjs-util": "^5.2.0", @@ -12231,9 +10943,7 @@ }, "node_modules/ganache-core/node_modules/merkle-patricia-tree/node_modules/ethereumjs-util": { "version": "5.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -12246,9 +10956,7 @@ }, "node_modules/ganache-core/node_modules/merkle-patricia-tree/node_modules/readable-stream": { "version": "3.6.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -12260,19 +10968,15 @@ }, "node_modules/ganache-core/node_modules/methods": { "version": "1.1.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/miller-rabin": { "version": "4.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -12283,10 +10987,8 @@ }, "node_modules/ganache-core/node_modules/mime": { "version": "1.6.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "bin": { "mime": "cli.js" }, @@ -12296,18 +10998,14 @@ }, "node_modules/ganache-core/node_modules/mime-db": { "version": "1.45.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/mime-types": { "version": "2.1.28", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "mime-db": "1.45.0" }, @@ -12317,39 +11015,29 @@ }, "node_modules/ganache-core/node_modules/mimic-response": { "version": "1.0.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=4" } }, "node_modules/ganache-core/node_modules/min-document": { "version": "2.19.0", - "dev": true, - "peer": true, "dependencies": { "dom-walk": "^0.1.0" } }, "node_modules/ganache-core/node_modules/minimalistic-assert": { "version": "1.0.1", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/ganache-core/node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/minimatch": { "version": "3.0.4", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -12359,26 +11047,20 @@ }, "node_modules/ganache-core/node_modules/minimist": { "version": "1.2.5", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/minizlib": { "version": "1.3.3", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "minipass": "^2.9.0" } }, "node_modules/ganache-core/node_modules/minizlib/node_modules/minipass": { "version": "2.9.0", - "dev": true, "license": "ISC", "optional": true, - "peer": true, "dependencies": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -12386,9 +11068,7 @@ }, "node_modules/ganache-core/node_modules/mixin-deep": { "version": "1.3.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -12399,9 +11079,7 @@ }, "node_modules/ganache-core/node_modules/mkdirp": { "version": "0.5.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "minimist": "^1.2.5" }, @@ -12411,10 +11089,8 @@ }, "node_modules/ganache-core/node_modules/mkdirp-promise": { "version": "5.0.1", - "dev": true, "license": "ISC", "optional": true, - "peer": true, "dependencies": { "mkdirp": "*" }, @@ -12424,23 +11100,17 @@ }, "node_modules/ganache-core/node_modules/mock-fs": { "version": "4.13.0", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/ms": { "version": "2.1.3", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/multibase": { "version": "0.6.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "base-x": "^3.0.8", "buffer": "^5.5.0" @@ -12448,20 +11118,16 @@ }, "node_modules/ganache-core/node_modules/multicodec": { "version": "0.5.7", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "varint": "^5.0.0" } }, "node_modules/ganache-core/node_modules/multihashes": { "version": "0.4.21", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "buffer": "^5.5.0", "multibase": "^0.7.0", @@ -12470,10 +11136,8 @@ }, "node_modules/ganache-core/node_modules/multihashes/node_modules/multibase": { "version": "0.7.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "base-x": "^3.0.8", "buffer": "^5.5.0" @@ -12481,16 +11145,12 @@ }, "node_modules/ganache-core/node_modules/nano-json-stream-parser": { "version": "0.1.2", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/nanomatch": { "version": "1.2.13", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -12510,48 +11170,36 @@ }, "node_modules/ganache-core/node_modules/negotiator": { "version": "0.6.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/next-tick": { "version": "1.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/nice-try": { "version": "1.0.5", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/node-addon-api": { "version": "2.0.2", - "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/node-fetch": { "version": "2.1.2", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": "4.x || >=6.0.0" } }, "node_modules/ganache-core/node_modules/node-gyp-build": { "version": "4.2.3", - "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -12560,20 +11208,16 @@ }, "node_modules/ganache-core/node_modules/normalize-url": { "version": "4.5.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=8" } }, "node_modules/ganache-core/node_modules/number-to-bn": { "version": "1.7.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "bn.js": "4.11.6", "strip-hex-prefix": "1.0.0" @@ -12585,34 +11229,26 @@ }, "node_modules/ganache-core/node_modules/number-to-bn/node_modules/bn.js": { "version": "4.11.6", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/oauth-sign": { "version": "0.9.0", - "dev": true, "license": "Apache-2.0", - "peer": true, "engines": { "node": "*" } }, "node_modules/ganache-core/node_modules/object-assign": { "version": "4.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/object-copy": { "version": "0.1.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -12624,9 +11260,7 @@ }, "node_modules/ganache-core/node_modules/object-copy/node_modules/define-property": { "version": "0.2.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -12636,9 +11270,7 @@ }, "node_modules/ganache-core/node_modules/object-copy/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -12648,15 +11280,11 @@ }, "node_modules/ganache-core/node_modules/object-copy/node_modules/is-buffer": { "version": "1.1.6", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/object-copy/node_modules/is-data-descriptor": { "version": "0.1.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -12666,9 +11294,7 @@ }, "node_modules/ganache-core/node_modules/object-copy/node_modules/is-descriptor": { "version": "0.1.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -12680,18 +11306,14 @@ }, "node_modules/ganache-core/node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { "version": "5.1.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/object-copy/node_modules/kind-of": { "version": "3.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -12701,18 +11323,14 @@ }, "node_modules/ganache-core/node_modules/object-inspect": { "version": "1.9.0", - "dev": true, "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/ganache-core/node_modules/object-is": { "version": "1.1.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" @@ -12726,18 +11344,14 @@ }, "node_modules/ganache-core/node_modules/object-keys": { "version": "1.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 0.4" } }, "node_modules/ganache-core/node_modules/object-visit": { "version": "1.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "isobject": "^3.0.0" }, @@ -12747,9 +11361,7 @@ }, "node_modules/ganache-core/node_modules/object.assign": { "version": "4.1.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -12765,9 +11377,7 @@ }, "node_modules/ganache-core/node_modules/object.getownpropertydescriptors": { "version": "2.1.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -12782,9 +11392,7 @@ }, "node_modules/ganache-core/node_modules/object.pick": { "version": "1.3.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "isobject": "^3.0.1" }, @@ -12794,20 +11402,16 @@ }, "node_modules/ganache-core/node_modules/oboe": { "version": "2.1.4", - "dev": true, "license": "BSD", "optional": true, - "peer": true, "dependencies": { "http-https": "^1.0.0" } }, "node_modules/ganache-core/node_modules/on-finished": { "version": "2.3.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "ee-first": "1.1.1" }, @@ -12817,47 +11421,37 @@ }, "node_modules/ganache-core/node_modules/once": { "version": "1.4.0", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "wrappy": "1" } }, "node_modules/ganache-core/node_modules/os-homedir": { "version": "1.0.2", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/os-tmpdir": { "version": "1.0.2", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/p-cancelable": { "version": "1.1.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=6" } }, "node_modules/ganache-core/node_modules/p-timeout": { "version": "1.2.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "p-finally": "^1.0.0" }, @@ -12867,20 +11461,16 @@ }, "node_modules/ganache-core/node_modules/p-timeout/node_modules/p-finally": { "version": "1.0.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=4" } }, "node_modules/ganache-core/node_modules/parse-asn1": { "version": "5.1.6", - "dev": true, "license": "ISC", "optional": true, - "peer": true, "dependencies": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", @@ -12891,34 +11481,26 @@ }, "node_modules/ganache-core/node_modules/parse-headers": { "version": "2.0.3", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/parseurl": { "version": "1.3.3", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.8" } }, "node_modules/ganache-core/node_modules/pascalcase": { "version": "0.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/patch-package": { "version": "6.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@yarnpkg/lockfile": "^1.1.0", "chalk": "^2.4.2", @@ -12942,9 +11524,7 @@ }, "node_modules/ganache-core/node_modules/patch-package/node_modules/cross-spawn": { "version": "6.0.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -12958,27 +11538,21 @@ }, "node_modules/ganache-core/node_modules/patch-package/node_modules/path-key": { "version": "2.0.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=4" } }, "node_modules/ganache-core/node_modules/patch-package/node_modules/semver": { "version": "5.7.1", - "dev": true, "license": "ISC", - "peer": true, "bin": { "semver": "bin/semver" } }, "node_modules/ganache-core/node_modules/patch-package/node_modules/shebang-command": { "version": "1.2.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "shebang-regex": "^1.0.0" }, @@ -12988,27 +11562,21 @@ }, "node_modules/ganache-core/node_modules/patch-package/node_modules/shebang-regex": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/patch-package/node_modules/slash": { "version": "2.0.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=6" } }, "node_modules/ganache-core/node_modules/patch-package/node_modules/tmp": { "version": "0.0.33", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -13018,9 +11586,7 @@ }, "node_modules/ganache-core/node_modules/patch-package/node_modules/which": { "version": "1.3.1", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "isexe": "^2.0.0" }, @@ -13030,31 +11596,23 @@ }, "node_modules/ganache-core/node_modules/path-is-absolute": { "version": "1.0.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/path-parse": { "version": "1.0.6", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/path-to-regexp": { "version": "0.1.7", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/pbkdf2": { "version": "3.1.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -13068,66 +11626,50 @@ }, "node_modules/ganache-core/node_modules/performance-now": { "version": "2.1.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/posix-character-classes": { "version": "0.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/precond": { "version": "0.2.3", - "dev": true, - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/prepend-http": { "version": "2.0.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=4" } }, "node_modules/ganache-core/node_modules/private": { "version": "0.1.8", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/process": { "version": "0.11.10", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 0.6.0" } }, "node_modules/ganache-core/node_modules/process-nextick-args": { "version": "2.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/promise-to-callback": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-fn": "^1.0.0", "set-immediate-shim": "^1.0.1" @@ -13138,10 +11680,8 @@ }, "node_modules/ganache-core/node_modules/proxy-addr": { "version": "2.0.6", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "forwarded": "~0.1.2", "ipaddr.js": "1.9.1" @@ -13152,28 +11692,20 @@ }, "node_modules/ganache-core/node_modules/prr": { "version": "1.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/pseudomap": { "version": "1.0.2", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/ganache-core/node_modules/psl": { "version": "1.8.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/public-encrypt": { "version": "4.0.3", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -13185,21 +11717,15 @@ }, "node_modules/ganache-core/node_modules/pull-cat": { "version": "1.1.11", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/pull-defer": { "version": "0.2.3", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/pull-level": { "version": "2.0.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "level-post": "^1.0.7", "pull-cat": "^1.1.9", @@ -13212,9 +11738,7 @@ }, "node_modules/ganache-core/node_modules/pull-live": { "version": "1.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "pull-cat": "^1.1.9", "pull-stream": "^3.4.0" @@ -13222,31 +11746,23 @@ }, "node_modules/ganache-core/node_modules/pull-pushable": { "version": "2.2.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/pull-stream": { "version": "3.6.14", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/pull-window": { "version": "2.1.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "looper": "^2.0.0" } }, "node_modules/ganache-core/node_modules/pump": { "version": "3.0.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -13254,28 +11770,22 @@ }, "node_modules/ganache-core/node_modules/punycode": { "version": "2.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=6" } }, "node_modules/ganache-core/node_modules/qs": { "version": "6.5.2", - "dev": true, "license": "BSD-3-Clause", - "peer": true, "engines": { "node": ">=0.6" } }, "node_modules/ganache-core/node_modules/query-string": { "version": "5.1.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "decode-uri-component": "^0.2.0", "object-assign": "^4.1.0", @@ -13287,19 +11797,15 @@ }, "node_modules/ganache-core/node_modules/randombytes": { "version": "2.1.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/ganache-core/node_modules/randomfill": { "version": "1.0.4", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -13307,20 +11813,16 @@ }, "node_modules/ganache-core/node_modules/range-parser": { "version": "1.2.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/raw-body": { "version": "2.4.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "bytes": "3.1.0", "http-errors": "1.7.2", @@ -13333,9 +11835,7 @@ }, "node_modules/ganache-core/node_modules/readable-stream": { "version": "2.3.7", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -13348,27 +11848,19 @@ }, "node_modules/ganache-core/node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/regenerate": { "version": "1.4.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/regenerator-runtime": { "version": "0.11.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/regenerator-transform": { "version": "0.10.1", - "dev": true, "license": "BSD", - "peer": true, "dependencies": { "babel-runtime": "^6.18.0", "babel-types": "^6.19.0", @@ -13377,9 +11869,7 @@ }, "node_modules/ganache-core/node_modules/regex-not": { "version": "1.0.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -13390,9 +11880,7 @@ }, "node_modules/ganache-core/node_modules/regexp.prototype.flags": { "version": "1.3.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.17.0-next.1" @@ -13406,9 +11894,7 @@ }, "node_modules/ganache-core/node_modules/regexp.prototype.flags/node_modules/es-abstract": { "version": "1.17.7", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", @@ -13431,9 +11917,7 @@ }, "node_modules/ganache-core/node_modules/regexpu-core": { "version": "2.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "regenerate": "^1.2.1", "regjsgen": "^0.2.0", @@ -13442,15 +11926,11 @@ }, "node_modules/ganache-core/node_modules/regjsgen": { "version": "0.2.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/regjsparser": { "version": "0.1.5", - "dev": true, "license": "BSD", - "peer": true, "dependencies": { "jsesc": "~0.5.0" }, @@ -13460,35 +11940,27 @@ }, "node_modules/ganache-core/node_modules/regjsparser/node_modules/jsesc": { "version": "0.5.0", - "dev": true, - "peer": true, "bin": { "jsesc": "bin/jsesc" } }, "node_modules/ganache-core/node_modules/repeat-element": { "version": "1.1.3", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/repeat-string": { "version": "1.6.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10" } }, "node_modules/ganache-core/node_modules/repeating": { "version": "2.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-finite": "^1.0.0" }, @@ -13498,9 +11970,7 @@ }, "node_modules/ganache-core/node_modules/request": { "version": "2.88.2", - "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -13529,43 +11999,33 @@ }, "node_modules/ganache-core/node_modules/resolve-url": { "version": "0.2.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/responselike": { "version": "1.0.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "lowercase-keys": "^1.0.0" } }, "node_modules/ganache-core/node_modules/resumer": { "version": "0.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "through": "~2.3.4" } }, "node_modules/ganache-core/node_modules/ret": { "version": "0.1.15", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.12" } }, "node_modules/ganache-core/node_modules/rimraf": { "version": "2.6.3", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -13575,9 +12035,7 @@ }, "node_modules/ganache-core/node_modules/ripemd160": { "version": "2.0.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -13585,9 +12043,7 @@ }, "node_modules/ganache-core/node_modules/rlp": { "version": "2.2.6", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "bn.js": "^4.11.1" }, @@ -13597,13 +12053,10 @@ }, "node_modules/ganache-core/node_modules/rustbn.js": { "version": "0.2.0", - "dev": true, - "license": "(MIT OR Apache-2.0)", - "peer": true + "license": "(MIT OR Apache-2.0)" }, "node_modules/ganache-core/node_modules/safe-buffer": { "version": "5.2.1", - "dev": true, "funding": [ { "type": "github", @@ -13618,55 +12071,42 @@ "url": "https://feross.org/support" } ], - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/safe-event-emitter": { "version": "1.0.1", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "events": "^3.0.0" } }, "node_modules/ganache-core/node_modules/safe-regex": { "version": "1.1.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ret": "~0.1.10" } }, "node_modules/ganache-core/node_modules/safer-buffer": { "version": "2.1.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/scrypt-js": { "version": "3.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/scryptsy": { "version": "1.2.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "pbkdf2": "^3.0.3" } }, "node_modules/ganache-core/node_modules/secp256k1": { "version": "4.0.2", - "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "dependencies": { "elliptic": "^6.5.2", "node-addon-api": "^2.0.0", @@ -13678,24 +12118,18 @@ }, "node_modules/ganache-core/node_modules/seedrandom": { "version": "3.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/semaphore": { "version": "1.1.0", - "dev": true, - "peer": true, "engines": { "node": ">=0.8.0" } }, "node_modules/ganache-core/node_modules/send": { "version": "0.17.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "debug": "2.6.9", "depd": "~1.1.2", @@ -13717,34 +12151,26 @@ }, "node_modules/ganache-core/node_modules/send/node_modules/debug": { "version": "2.6.9", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/ganache-core/node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/send/node_modules/ms": { "version": "2.1.1", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/serve-static": { "version": "1.14.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -13757,10 +12183,8 @@ }, "node_modules/ganache-core/node_modules/servify": { "version": "0.1.12", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "body-parser": "^1.16.0", "cors": "^2.8.1", @@ -13774,18 +12198,14 @@ }, "node_modules/ganache-core/node_modules/set-immediate-shim": { "version": "1.0.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/set-value": { "version": "2.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -13798,9 +12218,7 @@ }, "node_modules/ganache-core/node_modules/set-value/node_modules/extend-shallow": { "version": "2.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -13810,31 +12228,23 @@ }, "node_modules/ganache-core/node_modules/set-value/node_modules/is-extendable": { "version": "0.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/setimmediate": { "version": "1.0.5", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/setprototypeof": { "version": "1.1.1", - "dev": true, "license": "ISC", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/sha.js": { "version": "2.4.11", - "dev": true, "license": "(MIT AND BSD-3-Clause)", - "peer": true, "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -13845,7 +12255,6 @@ }, "node_modules/ganache-core/node_modules/simple-concat": { "version": "1.0.1", - "dev": true, "funding": [ { "type": "github", @@ -13861,15 +12270,12 @@ } ], "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/simple-get": { "version": "2.8.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "decompress-response": "^3.3.0", "once": "^1.3.1", @@ -13878,9 +12284,7 @@ }, "node_modules/ganache-core/node_modules/snapdragon": { "version": "0.8.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", @@ -13897,9 +12301,7 @@ }, "node_modules/ganache-core/node_modules/snapdragon-node": { "version": "2.1.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -13911,9 +12313,7 @@ }, "node_modules/ganache-core/node_modules/snapdragon-node/node_modules/define-property": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-descriptor": "^1.0.0" }, @@ -13923,9 +12323,7 @@ }, "node_modules/ganache-core/node_modules/snapdragon-util": { "version": "3.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.2.0" }, @@ -13935,15 +12333,11 @@ }, "node_modules/ganache-core/node_modules/snapdragon-util/node_modules/is-buffer": { "version": "1.1.6", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/snapdragon-util/node_modules/kind-of": { "version": "3.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -13953,18 +12347,14 @@ }, "node_modules/ganache-core/node_modules/snapdragon/node_modules/debug": { "version": "2.6.9", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/ganache-core/node_modules/snapdragon/node_modules/define-property": { "version": "0.2.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -13974,9 +12364,7 @@ }, "node_modules/ganache-core/node_modules/snapdragon/node_modules/extend-shallow": { "version": "2.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -13986,9 +12374,7 @@ }, "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -13998,9 +12384,7 @@ }, "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -14010,15 +12394,11 @@ }, "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-buffer": { "version": "1.1.6", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-data-descriptor": { "version": "0.1.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -14028,9 +12408,7 @@ }, "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -14040,9 +12418,7 @@ }, "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-descriptor": { "version": "0.1.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -14054,42 +12430,32 @@ }, "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-extendable": { "version": "0.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/snapdragon/node_modules/kind-of": { "version": "5.1.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/snapdragon/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/source-map": { "version": "0.5.7", - "dev": true, "license": "BSD-3-Clause", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/source-map-resolve": { "version": "0.5.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -14100,9 +12466,7 @@ }, "node_modules/ganache-core/node_modules/source-map-support": { "version": "0.5.12", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -14110,24 +12474,18 @@ }, "node_modules/ganache-core/node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", - "dev": true, "license": "BSD-3-Clause", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/source-map-url": { "version": "0.4.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/split-string": { "version": "3.1.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "extend-shallow": "^3.0.0" }, @@ -14137,9 +12495,7 @@ }, "node_modules/ganache-core/node_modules/sshpk": { "version": "1.16.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -14157,15 +12513,11 @@ }, "node_modules/ganache-core/node_modules/sshpk/node_modules/tweetnacl": { "version": "0.14.5", - "dev": true, - "license": "Unlicense", - "peer": true + "license": "Unlicense" }, "node_modules/ganache-core/node_modules/static-extend": { "version": "0.1.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -14176,9 +12528,7 @@ }, "node_modules/ganache-core/node_modules/static-extend/node_modules/define-property": { "version": "0.2.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -14188,9 +12538,7 @@ }, "node_modules/ganache-core/node_modules/static-extend/node_modules/is-accessor-descriptor": { "version": "0.1.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -14200,9 +12548,7 @@ }, "node_modules/ganache-core/node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { "version": "3.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -14212,15 +12558,11 @@ }, "node_modules/ganache-core/node_modules/static-extend/node_modules/is-buffer": { "version": "1.1.6", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/static-extend/node_modules/is-data-descriptor": { "version": "0.1.4", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -14230,9 +12572,7 @@ }, "node_modules/ganache-core/node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { "version": "3.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -14242,9 +12582,7 @@ }, "node_modules/ganache-core/node_modules/static-extend/node_modules/is-descriptor": { "version": "0.1.6", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -14256,28 +12594,22 @@ }, "node_modules/ganache-core/node_modules/static-extend/node_modules/kind-of": { "version": "5.1.0", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/statuses": { "version": "1.5.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.6" } }, "node_modules/ganache-core/node_modules/stream-to-pull-stream": { "version": "1.7.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "looper": "^3.0.0", "pull-stream": "^3.2.3" @@ -14285,40 +12617,30 @@ }, "node_modules/ganache-core/node_modules/stream-to-pull-stream/node_modules/looper": { "version": "3.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/strict-uri-encode": { "version": "1.1.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/string_decoder": { "version": "1.1.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/ganache-core/node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/string.prototype.trim": { "version": "1.2.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -14333,9 +12655,7 @@ }, "node_modules/ganache-core/node_modules/string.prototype.trimend": { "version": "1.0.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" @@ -14346,9 +12666,7 @@ }, "node_modules/ganache-core/node_modules/string.prototype.trimstart": { "version": "1.0.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" @@ -14359,9 +12677,7 @@ }, "node_modules/ganache-core/node_modules/strip-hex-prefix": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-hex-prefixed": "1.0.0" }, @@ -14372,9 +12688,7 @@ }, "node_modules/ganache-core/node_modules/supports-color": { "version": "5.5.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -14384,10 +12698,8 @@ }, "node_modules/ganache-core/node_modules/swarm-js": { "version": "0.1.40", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "bluebird": "^3.5.0", "buffer": "^5.0.5", @@ -14404,10 +12716,8 @@ }, "node_modules/ganache-core/node_modules/swarm-js/node_modules/fs-extra": { "version": "4.0.3", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -14416,20 +12726,16 @@ }, "node_modules/ganache-core/node_modules/swarm-js/node_modules/get-stream": { "version": "3.0.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=4" } }, "node_modules/ganache-core/node_modules/swarm-js/node_modules/got": { "version": "7.1.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "decompress-response": "^3.2.0", "duplexer3": "^0.1.4", @@ -14452,40 +12758,32 @@ }, "node_modules/ganache-core/node_modules/swarm-js/node_modules/is-stream": { "version": "1.1.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/swarm-js/node_modules/p-cancelable": { "version": "0.3.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=4" } }, "node_modules/ganache-core/node_modules/swarm-js/node_modules/prepend-http": { "version": "1.0.4", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/swarm-js/node_modules/url-parse-lax": { "version": "1.0.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "prepend-http": "^1.0.1" }, @@ -14495,9 +12793,7 @@ }, "node_modules/ganache-core/node_modules/tape": { "version": "4.13.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "deep-equal": "~1.1.1", "defined": "~1.0.0", @@ -14521,9 +12817,7 @@ }, "node_modules/ganache-core/node_modules/tape/node_modules/glob": { "version": "7.1.6", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -14541,9 +12835,7 @@ }, "node_modules/ganache-core/node_modules/tape/node_modules/is-regex": { "version": "1.0.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "has": "^1.0.3" }, @@ -14556,18 +12848,14 @@ }, "node_modules/ganache-core/node_modules/tape/node_modules/object-inspect": { "version": "1.7.0", - "dev": true, "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/ganache-core/node_modules/tape/node_modules/resolve": { "version": "1.17.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "path-parse": "^1.0.6" }, @@ -14577,10 +12865,8 @@ }, "node_modules/ganache-core/node_modules/tar": { "version": "4.4.13", - "dev": true, "license": "ISC", "optional": true, - "peer": true, "dependencies": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -14596,20 +12882,16 @@ }, "node_modules/ganache-core/node_modules/tar/node_modules/fs-minipass": { "version": "1.2.7", - "dev": true, "license": "ISC", "optional": true, - "peer": true, "dependencies": { "minipass": "^2.6.0" } }, "node_modules/ganache-core/node_modules/tar/node_modules/minipass": { "version": "2.9.0", - "dev": true, "license": "ISC", "optional": true, - "peer": true, "dependencies": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -14617,15 +12899,11 @@ }, "node_modules/ganache-core/node_modules/through": { "version": "2.3.8", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/through2": { "version": "2.0.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -14633,19 +12911,15 @@ }, "node_modules/ganache-core/node_modules/timed-out": { "version": "4.0.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/tmp": { "version": "0.1.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "rimraf": "^2.6.3" }, @@ -14655,9 +12929,7 @@ }, "node_modules/ganache-core/node_modules/to-object-path": { "version": "0.3.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -14667,15 +12939,11 @@ }, "node_modules/ganache-core/node_modules/to-object-path/node_modules/is-buffer": { "version": "1.1.6", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/to-object-path/node_modules/kind-of": { "version": "3.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -14685,19 +12953,15 @@ }, "node_modules/ganache-core/node_modules/to-readable-stream": { "version": "1.0.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=6" } }, "node_modules/ganache-core/node_modules/to-regex": { "version": "3.0.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -14710,19 +12974,15 @@ }, "node_modules/ganache-core/node_modules/toidentifier": { "version": "1.0.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=0.6" } }, "node_modules/ganache-core/node_modules/tough-cookie": { "version": "2.5.0", - "dev": true, "license": "BSD-3-Clause", - "peer": true, "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" @@ -14733,18 +12993,14 @@ }, "node_modules/ganache-core/node_modules/trim-right": { "version": "1.0.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/tunnel-agent": { "version": "0.6.0", - "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "safe-buffer": "^5.0.1" }, @@ -14754,28 +13010,20 @@ }, "node_modules/ganache-core/node_modules/tweetnacl": { "version": "1.0.3", - "dev": true, - "license": "Unlicense", - "peer": true + "license": "Unlicense" }, "node_modules/ganache-core/node_modules/tweetnacl-util": { "version": "0.15.1", - "dev": true, - "license": "Unlicense", - "peer": true + "license": "Unlicense" }, "node_modules/ganache-core/node_modules/type": { "version": "1.2.0", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/ganache-core/node_modules/type-is": { "version": "1.6.18", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -14786,59 +13034,43 @@ }, "node_modules/ganache-core/node_modules/typedarray": { "version": "0.0.6", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/typedarray-to-buffer": { "version": "3.1.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "is-typedarray": "^1.0.0" } }, "node_modules/ganache-core/node_modules/typewise": { "version": "1.0.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "typewise-core": "^1.2.0" } }, "node_modules/ganache-core/node_modules/typewise-core": { "version": "1.2.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/typewiselite": { "version": "1.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/ultron": { "version": "1.1.1", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/underscore": { "version": "1.9.1", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/union-value": { "version": "1.0.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -14851,46 +13083,36 @@ }, "node_modules/ganache-core/node_modules/union-value/node_modules/is-extendable": { "version": "0.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/universalify": { "version": "0.1.2", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 4.0.0" } }, "node_modules/ganache-core/node_modules/unorm": { "version": "1.6.0", - "dev": true, "license": "MIT or GPL-2.0", - "peer": true, "engines": { "node": ">= 0.4.0" } }, "node_modules/ganache-core/node_modules/unpipe": { "version": "1.0.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.8" } }, "node_modules/ganache-core/node_modules/unset-value": { "version": "1.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -14901,9 +13123,7 @@ }, "node_modules/ganache-core/node_modules/unset-value/node_modules/has-value": { "version": "0.3.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -14915,9 +13135,7 @@ }, "node_modules/ganache-core/node_modules/unset-value/node_modules/has-value/node_modules/isobject": { "version": "2.1.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "isarray": "1.0.0" }, @@ -14927,34 +13145,26 @@ }, "node_modules/ganache-core/node_modules/unset-value/node_modules/has-values": { "version": "0.1.4", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/uri-js": { "version": "4.4.1", - "dev": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { "punycode": "^2.1.0" } }, "node_modules/ganache-core/node_modules/urix": { "version": "0.1.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/url-parse-lax": { "version": "3.0.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "prepend-http": "^2.0.0" }, @@ -14964,58 +13174,44 @@ }, "node_modules/ganache-core/node_modules/url-set-query": { "version": "1.0.0", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/url-to-options": { "version": "1.0.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 4" } }, "node_modules/ganache-core/node_modules/use": { "version": "3.1.1", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/ganache-core/node_modules/utf-8-validate": { "version": "5.0.4", - "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "dependencies": { "node-gyp-build": "^4.2.0" } }, "node_modules/ganache-core/node_modules/utf8": { "version": "3.0.0", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/util.promisify": { "version": "1.1.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -15029,48 +13225,38 @@ }, "node_modules/ganache-core/node_modules/utils-merge": { "version": "1.0.1", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.4.0" } }, "node_modules/ganache-core/node_modules/uuid": { "version": "3.4.0", - "dev": true, "license": "MIT", - "peer": true, "bin": { "uuid": "bin/uuid" } }, "node_modules/ganache-core/node_modules/varint": { "version": "5.0.2", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/vary": { "version": "1.1.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 0.8" } }, "node_modules/ganache-core/node_modules/verror": { "version": "1.10.0", - "dev": true, "engines": [ "node >=0.6.0" ], "license": "MIT", - "peer": true, "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -15079,11 +13265,9 @@ }, "node_modules/ganache-core/node_modules/web3": { "version": "1.2.11", - "dev": true, "hasInstallScript": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "web3-bzz": "1.2.11", "web3-core": "1.2.11", @@ -15099,10 +13283,8 @@ }, "node_modules/ganache-core/node_modules/web3-bzz": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "@types/node": "^12.12.6", "got": "9.6.0", @@ -15115,17 +13297,13 @@ }, "node_modules/ganache-core/node_modules/web3-bzz/node_modules/@types/node": { "version": "12.19.12", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/web3-core": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "@types/bn.js": "^4.11.5", "@types/node": "^12.12.6", @@ -15141,10 +13319,8 @@ }, "node_modules/ganache-core/node_modules/web3-core-helpers": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "underscore": "1.9.1", "web3-eth-iban": "1.2.11", @@ -15156,10 +13332,8 @@ }, "node_modules/ganache-core/node_modules/web3-core-method": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "@ethersproject/transactions": "^5.0.0-beta.135", "underscore": "1.9.1", @@ -15174,10 +13348,8 @@ }, "node_modules/ganache-core/node_modules/web3-core-promievent": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "eventemitter3": "4.0.4" }, @@ -15187,10 +13359,8 @@ }, "node_modules/ganache-core/node_modules/web3-core-requestmanager": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "underscore": "1.9.1", "web3-core-helpers": "1.2.11", @@ -15204,10 +13374,8 @@ }, "node_modules/ganache-core/node_modules/web3-core-subscriptions": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "eventemitter3": "4.0.4", "underscore": "1.9.1", @@ -15219,17 +13387,13 @@ }, "node_modules/ganache-core/node_modules/web3-core/node_modules/@types/node": { "version": "12.19.12", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/web3-eth": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "underscore": "1.9.1", "web3-core": "1.2.11", @@ -15251,10 +13415,8 @@ }, "node_modules/ganache-core/node_modules/web3-eth-abi": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "@ethersproject/abi": "5.0.0-beta.153", "underscore": "1.9.1", @@ -15266,10 +13428,8 @@ }, "node_modules/ganache-core/node_modules/web3-eth-accounts": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "crypto-browserify": "3.12.0", "eth-lib": "0.2.8", @@ -15289,10 +13449,8 @@ }, "node_modules/ganache-core/node_modules/web3-eth-accounts/node_modules/eth-lib": { "version": "0.2.8", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -15301,20 +13459,16 @@ }, "node_modules/ganache-core/node_modules/web3-eth-accounts/node_modules/uuid": { "version": "3.3.2", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "bin": { "uuid": "bin/uuid" } }, "node_modules/ganache-core/node_modules/web3-eth-contract": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "@types/bn.js": "^4.11.5", "underscore": "1.9.1", @@ -15332,10 +13486,8 @@ }, "node_modules/ganache-core/node_modules/web3-eth-ens": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "content-hash": "^2.5.2", "eth-ens-namehash": "2.0.8", @@ -15353,10 +13505,8 @@ }, "node_modules/ganache-core/node_modules/web3-eth-iban": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "bn.js": "^4.11.9", "web3-utils": "1.2.11" @@ -15367,10 +13517,8 @@ }, "node_modules/ganache-core/node_modules/web3-eth-personal": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "@types/node": "^12.12.6", "web3-core": "1.2.11", @@ -15385,17 +13533,13 @@ }, "node_modules/ganache-core/node_modules/web3-eth-personal/node_modules/@types/node": { "version": "12.19.12", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/web3-net": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "web3-core": "1.2.11", "web3-core-method": "1.2.11", @@ -15407,9 +13551,7 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine": { "version": "14.2.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "async": "^2.5.0", "backoff": "^2.5.0", @@ -15435,27 +13577,21 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/abstract-leveldown": { "version": "2.6.3", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" } }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/deferred-leveldown": { "version": "1.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "~2.6.0" } }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/eth-sig-util": { "version": "1.4.2", - "dev": true, "license": "ISC", - "peer": true, "dependencies": { "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", "ethereumjs-util": "^5.1.1" @@ -15463,9 +13599,7 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-account": { "version": "2.0.5", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "ethereumjs-util": "^5.0.0", "rlp": "^2.0.0", @@ -15474,9 +13608,7 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-block": { "version": "1.7.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.0.1", "ethereum-common": "0.2.0", @@ -15487,15 +13619,11 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-block/node_modules/ethereum-common": { "version": "0.2.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-tx": { "version": "1.3.7", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" @@ -15503,9 +13631,7 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-util": { "version": "5.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -15518,9 +13644,7 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm": { "version": "2.6.0", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.1.2", "async-eventemitter": "^0.2.2", @@ -15537,9 +13661,7 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { "version": "2.2.2", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^2.0.1", "ethereumjs-common": "^1.5.0", @@ -15550,9 +13672,7 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { "version": "5.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -15565,9 +13685,7 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { "version": "2.1.2", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "ethereumjs-common": "^1.5.0", "ethereumjs-util": "^6.0.0" @@ -15575,9 +13693,7 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { "version": "6.2.1", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -15590,30 +13706,22 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/isarray": { "version": "0.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-codec": { "version": "7.0.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-errors": { "version": "1.0.5", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "errno": "~0.1.1" } }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-iterator-stream": { "version": "1.3.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "inherits": "^2.0.1", "level-errors": "^1.0.3", @@ -15623,9 +13731,7 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-iterator-stream/node_modules/readable-stream": { "version": "1.1.14", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -15635,9 +13741,7 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-ws": { "version": "0.0.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "readable-stream": "~1.0.15", "xtend": "~2.1.1" @@ -15645,9 +13749,7 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-ws/node_modules/readable-stream": { "version": "1.0.34", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -15657,8 +13759,6 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-ws/node_modules/xtend": { "version": "2.1.2", - "dev": true, - "peer": true, "dependencies": { "object-keys": "~0.4.0" }, @@ -15668,9 +13768,7 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/levelup": { "version": "1.3.9", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "deferred-leveldown": "~1.2.1", "level-codec": "~7.0.0", @@ -15683,15 +13781,11 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ltgt": { "version": "2.2.1", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/memdown": { "version": "1.4.1", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "abstract-leveldown": "~2.7.1", "functional-red-black-tree": "^1.0.1", @@ -15703,18 +13797,14 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/memdown/node_modules/abstract-leveldown": { "version": "2.7.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "xtend": "~4.0.0" } }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/merkle-patricia-tree": { "version": "2.3.2", - "dev": true, "license": "MPL-2.0", - "peer": true, "dependencies": { "async": "^1.4.2", "ethereumjs-util": "^5.0.0", @@ -15728,52 +13818,38 @@ }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/merkle-patricia-tree/node_modules/async": { "version": "1.5.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/object-keys": { "version": "0.4.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/semver": { "version": "5.4.1", - "dev": true, "license": "ISC", - "peer": true, "bin": { "semver": "bin/semver" } }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/string_decoder": { "version": "0.10.31", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ws": { "version": "5.2.2", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "async-limiter": "~1.0.0" } }, "node_modules/ganache-core/node_modules/web3-providers-http": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "web3-core-helpers": "1.2.11", "xhr2-cookies": "1.1.0" @@ -15784,10 +13860,8 @@ }, "node_modules/ganache-core/node_modules/web3-providers-ipc": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "oboe": "2.1.4", "underscore": "1.9.1", @@ -15799,10 +13873,8 @@ }, "node_modules/ganache-core/node_modules/web3-providers-ws": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "eventemitter3": "4.0.4", "underscore": "1.9.1", @@ -15815,10 +13887,8 @@ }, "node_modules/ganache-core/node_modules/web3-shh": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "web3-core": "1.2.11", "web3-core-method": "1.2.11", @@ -15831,10 +13901,8 @@ }, "node_modules/ganache-core/node_modules/web3-utils": { "version": "1.2.11", - "dev": true, "license": "LGPL-3.0", "optional": true, - "peer": true, "dependencies": { "bn.js": "^4.11.9", "eth-lib": "0.2.8", @@ -15851,10 +13919,8 @@ }, "node_modules/ganache-core/node_modules/web3-utils/node_modules/eth-lib": { "version": "0.2.8", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -15863,9 +13929,7 @@ }, "node_modules/ganache-core/node_modules/websocket": { "version": "1.0.32", - "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "bufferutil": "^4.0.1", "debug": "^2.2.0", @@ -15880,37 +13944,27 @@ }, "node_modules/ganache-core/node_modules/websocket/node_modules/debug": { "version": "2.6.9", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ms": "2.0.0" } }, "node_modules/ganache-core/node_modules/websocket/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/whatwg-fetch": { "version": "2.0.4", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ganache-core/node_modules/wrappy": { "version": "1.0.2", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/ganache-core/node_modules/ws": { "version": "3.3.3", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "async-limiter": "~1.0.0", "safe-buffer": "~5.1.0", @@ -15919,16 +13973,12 @@ }, "node_modules/ganache-core/node_modules/ws/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/ganache-core/node_modules/xhr": { "version": "2.6.0", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "global": "~4.4.0", "is-function": "^1.0.1", @@ -15938,10 +13988,8 @@ }, "node_modules/ganache-core/node_modules/xhr-request": { "version": "1.1.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "buffer-to-arraybuffer": "^0.0.5", "object-assign": "^4.1.1", @@ -15954,53 +14002,42 @@ }, "node_modules/ganache-core/node_modules/xhr-request-promise": { "version": "0.1.3", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "xhr-request": "^1.1.0" } }, "node_modules/ganache-core/node_modules/xhr2-cookies": { "version": "1.1.0", - "dev": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "cookiejar": "^2.1.1" } }, "node_modules/ganache-core/node_modules/xtend": { "version": "4.0.2", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.4" } }, "node_modules/ganache-core/node_modules/yaeti": { "version": "0.0.6", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.32" } }, "node_modules/ganache-core/node_modules/yallist": { "version": "3.1.1", - "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -16009,7 +14046,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true, "engines": { "node": "*" } @@ -16018,7 +14054,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -16069,7 +14104,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, "dependencies": { "assert-plus": "^1.0.0" } @@ -16162,7 +14196,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -16182,7 +14215,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -16306,14 +14338,12 @@ "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "node_modules/growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true, "engines": { "node": ">=4.x" } @@ -16352,7 +14382,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, "engines": { "node": ">=4" } @@ -16362,7 +14391,6 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "deprecated": "this library is no longer supported", - "dev": true, "dependencies": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -16375,7 +14403,6 @@ "version": "2.9.3", "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.9.3.tgz", "integrity": "sha512-7Vw99RbYbMZ15UzegOR/nqIYIqddZXvLwJGaX5sX4G5bydILnbjmDU6g3jMKJSiArEixS3vHAEaOs5CW1JQ3hg==", - "dev": true, "dependencies": { "@ethereumjs/block": "^3.6.0", "@ethereumjs/blockchain": "^5.5.0", @@ -16451,7 +14478,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -16463,7 +14489,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -16477,7 +14502,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -16485,14 +14509,12 @@ "node_modules/hardhat/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "node_modules/hardhat/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -16501,7 +14523,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -16515,7 +14536,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, "engines": { "node": ">=4" } @@ -16524,7 +14544,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -16533,7 +14552,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "dependencies": { "glob": "^7.1.3" }, @@ -16545,7 +14563,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, "bin": { "semver": "bin/semver.js" } @@ -16554,7 +14571,6 @@ "version": "0.7.3", "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", - "dev": true, "dependencies": { "command-exists": "^1.2.8", "commander": "3.0.2", @@ -16577,7 +14593,6 @@ "version": "0.30.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^2.1.0", @@ -16590,7 +14605,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -16599,7 +14613,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, "bin": { "semver": "bin/semver" } @@ -16608,7 +14621,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -16620,7 +14632,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, "engines": { "node": ">= 4.0.0" } @@ -16629,7 +14640,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -16650,7 +14660,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -16668,7 +14677,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -16707,7 +14715,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -16730,7 +14737,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, "bin": { "he": "bin/he" } @@ -16748,9 +14754,7 @@ "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true, - "peer": true + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, "node_modules/http-basic": { "version": "8.1.3", @@ -16777,7 +14781,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -16814,7 +14817,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -16829,7 +14831,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, "dependencies": { "agent-base": "6", "debug": "4" @@ -16842,7 +14843,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -16854,7 +14854,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "dev": true, "dependencies": { "punycode": "2.1.0" }, @@ -16866,7 +14865,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, "funding": [ { "type": "github", @@ -16894,14 +14892,12 @@ "node_modules/immediate": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", - "dev": true + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" }, "node_modules/immutable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", - "dev": true + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" }, "node_modules/import-fresh": { "version": "3.3.0", @@ -16932,7 +14928,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, "engines": { "node": ">=8" } @@ -16941,7 +14936,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -17110,8 +15104,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -17120,7 +15112,6 @@ "version": "1.10.4", "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", - "dev": true, "dependencies": { "fp-ts": "^1.0.0" } @@ -17153,8 +15144,7 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "node_modules/is-bigint": { "version": "1.0.4", @@ -17172,7 +15162,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -17235,8 +15224,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "peer": true, "dependencies": { "ci-info": "^2.0.0" }, @@ -17272,8 +15259,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "peer": true, "bin": { "is-docker": "cli.js" }, @@ -17288,7 +15273,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -17327,7 +15311,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -17339,7 +15322,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=", - "dev": true, "engines": { "node": ">=6.5.0", "npm": ">=3" @@ -17361,7 +15343,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "engines": { "node": ">=0.12.0" } @@ -17394,7 +15375,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, "engines": { "node": ">=8" } @@ -17497,14 +15477,12 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, "engines": { "node": ">=10" }, @@ -17515,16 +15493,12 @@ "node_modules/is-url": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "dev": true, - "peer": true + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" }, "node_modules/is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true, - "peer": true + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" }, "node_modules/is-weakref": { "version": "1.0.2", @@ -17542,8 +15516,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "peer": true, "dependencies": { "is-docker": "^2.0.0" }, @@ -17560,14 +15532,12 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "node_modules/isurl": { "version": "1.0.0", @@ -17609,8 +15579,7 @@ "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "node_modules/json-buffer": { "version": "3.0.0", @@ -17627,14 +15596,12 @@ "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -17645,14 +15612,12 @@ "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, "dependencies": { "universalify": "^2.0.0" }, @@ -17673,7 +15638,6 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -17688,7 +15652,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "dev": true, "hasInstallScript": true, "dependencies": { "node-addon-api": "^2.0.0", @@ -17721,7 +15684,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "dev": true, "optionalDependencies": { "graceful-fs": "^4.1.9" } @@ -17730,8 +15692,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", - "dev": true, - "peer": true, "dependencies": { "graceful-fs": "^4.1.11" } @@ -17740,8 +15700,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "peer": true, "dependencies": { "invert-kv": "^1.0.0" }, @@ -17753,7 +15711,6 @@ "version": "9.0.2", "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", - "dev": true, "dependencies": { "buffer": "^5.6.0" }, @@ -17765,7 +15722,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", - "dev": true, "engines": { "node": ">=6" } @@ -17774,7 +15730,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "dev": true, "dependencies": { "errno": "~0.1.1" }, @@ -17786,7 +15741,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", - "dev": true, "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.4.0", @@ -17800,7 +15754,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", - "dev": true, "dependencies": { "level-packager": "^5.0.3", "memdown": "^5.0.0" @@ -17813,7 +15766,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", - "dev": true, "dependencies": { "encoding-down": "^6.3.0", "levelup": "^4.3.2" @@ -17826,7 +15778,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "dev": true, "dependencies": { "xtend": "^4.0.2" }, @@ -17838,7 +15789,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", - "dev": true, "dependencies": { "inherits": "^2.0.3", "readable-stream": "^3.1.0", @@ -17852,7 +15802,6 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", - "dev": true, "dependencies": { "deferred-leveldown": "~5.3.0", "level-errors": "~2.0.0", @@ -17881,8 +15830,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -17898,8 +15845,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "peer": true, "dependencies": { "error-ex": "^1.2.0" }, @@ -17911,8 +15856,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -17921,7 +15864,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -17933,15 +15875,12 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash.assign": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true, - "peer": true + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -17959,7 +15898,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -17975,7 +15913,6 @@ "version": "2.3.4", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", - "dev": true, "dependencies": { "get-func-name": "^2.0.0" } @@ -17992,14 +15929,12 @@ "node_modules/lru_map": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=", - "dev": true + "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "dependencies": { "yallist": "^3.0.2" } @@ -18007,14 +15942,12 @@ "node_modules/ltgt": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=", - "dev": true + "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "node_modules/markdown-table": { "version": "1.1.3", @@ -18026,7 +15959,6 @@ "version": "0.7.9", "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", - "dev": true, "engines": { "node": ">=8.9.0" } @@ -18035,7 +15967,6 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -18055,7 +15986,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", - "dev": true, "dependencies": { "abstract-leveldown": "~6.2.1", "functional-red-black-tree": "~1.0.1", @@ -18072,7 +16002,6 @@ "version": "6.2.3", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "dev": true, "dependencies": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -18087,14 +16016,12 @@ "node_modules/memdown/node_modules/immediate": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=", - "dev": true + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" }, "node_modules/memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", - "dev": true, "engines": { "node": ">= 0.10.0" } @@ -18118,7 +16045,6 @@ "version": "4.2.4", "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", - "dev": true, "dependencies": { "@types/levelup": "^4.3.0", "ethereumjs-util": "^7.1.4", @@ -18141,7 +16067,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -18154,7 +16079,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -18179,7 +16103,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -18188,7 +16111,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -18237,7 +16159,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -18248,8 +16169,7 @@ "node_modules/minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, "node_modules/minipass": { "version": "2.9.0", @@ -18274,7 +16194,6 @@ "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, "dependencies": { "minimist": "^1.2.6" }, @@ -18299,7 +16218,6 @@ "version": "0.38.5", "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", - "dev": true, "dependencies": { "obliterator": "^2.0.0" } @@ -18308,7 +16226,6 @@ "version": "9.2.2", "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", - "dev": true, "dependencies": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", @@ -18350,14 +16267,12 @@ "node_modules/mocha/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/mocha/node_modules/debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -18373,14 +16288,12 @@ "node_modules/mocha/node_modules/debug/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/mocha/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -18396,7 +16309,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, "dependencies": { "argparse": "^2.0.1" }, @@ -18408,7 +16320,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, "dependencies": { "p-locate": "^5.0.0" }, @@ -18423,7 +16334,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -18434,14 +16344,12 @@ "node_modules/mocha/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/mocha/node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, "dependencies": { "yocto-queue": "^0.1.0" }, @@ -18456,7 +16364,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, "dependencies": { "p-limit": "^3.0.2" }, @@ -18471,7 +16378,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, "engines": { "node": ">=8" } @@ -18480,7 +16386,6 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -18500,8 +16405,7 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/multibase": { "version": "0.6.1", @@ -18562,7 +16466,6 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", - "dev": true, "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -18600,14 +16503,12 @@ "node_modules/nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "node_modules/node-addon-api": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", - "dev": true + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" }, "node_modules/node-emoji": { "version": "1.11.0", @@ -18641,8 +16542,6 @@ "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "peer": true, "dependencies": { "whatwg-url": "^5.0.0" }, @@ -18662,7 +16561,6 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", - "devOptional": true, "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -18685,8 +16583,6 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "peer": true, "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -18698,8 +16594,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true, "bin": { "semver": "bin/semver" } @@ -18708,7 +16602,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -18726,8 +16619,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -18736,7 +16627,6 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", - "dev": true, "dependencies": { "bn.js": "4.11.6", "strip-hex-prefix": "1.0.0" @@ -18749,14 +16639,12 @@ "node_modules/number-to-bn/node_modules/bn.js": { "version": "4.11.6", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", - "dev": true + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" }, "node_modules/oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, "engines": { "node": "*" } @@ -18774,7 +16662,6 @@ "version": "1.12.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -18826,8 +16713,7 @@ "node_modules/obliterator": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.2.tgz", - "integrity": "sha512-g0TrA7SbUggROhDPK8cEu/qpItwH2LSKcNl4tlfBNT54XY+nOsqrs0Q68h1V9b3HOSpIWv15jb1lax2hAggdIg==", - "dev": true + "integrity": "sha512-g0TrA7SbUggROhDPK8cEu/qpItwH2LSKcNl4tlfBNT54XY+nOsqrs0Q68h1V9b3HOSpIWv15jb1lax2hAggdIg==" }, "node_modules/oboe": { "version": "2.1.5", @@ -18854,7 +16740,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "dependencies": { "wrappy": "1" } @@ -18875,8 +16760,6 @@ "version": "7.4.2", "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dev": true, - "peer": true, "dependencies": { "is-docker": "^2.0.0", "is-wsl": "^2.1.1" @@ -18909,8 +16792,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "peer": true, "dependencies": { "lcid": "^1.0.0" }, @@ -18922,7 +16803,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -18949,7 +16829,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, "dependencies": { "p-try": "^1.0.0" }, @@ -18961,7 +16840,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, "dependencies": { "p-limit": "^1.1.0" }, @@ -18973,7 +16851,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, "dependencies": { "aggregate-error": "^3.0.0" }, @@ -19000,7 +16877,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, "engines": { "node": ">=4" } @@ -19068,8 +16944,6 @@ "version": "6.4.7", "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.4.7.tgz", "integrity": "sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ==", - "dev": true, - "peer": true, "dependencies": { "@yarnpkg/lockfile": "^1.1.0", "chalk": "^2.4.2", @@ -19096,8 +16970,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "peer": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -19109,8 +16981,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "peer": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -19124,8 +16994,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "peer": true, "dependencies": { "color-name": "1.1.3" } @@ -19133,16 +17001,12 @@ "node_modules/patch-package/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true, - "peer": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "node_modules/patch-package/node_modules/cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "peer": true, "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -19158,8 +17022,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "peer": true, "engines": { "node": ">=0.8.0" } @@ -19168,8 +17030,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -19183,8 +17043,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "peer": true, "engines": { "node": ">=4" } @@ -19193,8 +17051,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "peer": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -19203,8 +17059,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "peer": true, "engines": { "node": ">=4" } @@ -19213,8 +17067,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -19226,8 +17078,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true, "bin": { "semver": "bin/semver" } @@ -19236,8 +17086,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "peer": true, "dependencies": { "shebang-regex": "^1.0.0" }, @@ -19249,8 +17097,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -19259,8 +17105,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true, - "peer": true, "engines": { "node": ">=6" } @@ -19269,8 +17113,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "peer": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -19282,8 +17124,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "peer": true, "engines": { "node": ">= 4.0.0" } @@ -19292,8 +17132,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "peer": true, "dependencies": { "isexe": "^2.0.0" }, @@ -19304,15 +17142,12 @@ "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true, - "peer": true + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" }, "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, "engines": { "node": ">=4" } @@ -19321,7 +17156,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -19344,8 +17178,7 @@ "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 + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-to-regexp": { "version": "0.1.7", @@ -19366,7 +17199,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, "engines": { "node": "*" } @@ -19375,7 +17207,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -19390,14 +17221,12 @@ "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "engines": { "node": ">=8.6" }, @@ -19418,8 +17247,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -19428,8 +17255,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "peer": true, "dependencies": { "pinkie": "^2.0.0" }, @@ -19441,9 +17266,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz", "integrity": "sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==", - "dev": true, - "hasInstallScript": true, - "peer": true + "hasInstallScript": true }, "node_modules/prelude-ls": { "version": "1.2.1", @@ -19467,7 +17290,6 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", - "dev": true, "bin": { "prettier": "bin-prettier.js" }, @@ -19588,14 +17410,12 @@ "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" }, "node_modules/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, "node_modules/public-encrypt": { "version": "4.0.3", @@ -19625,7 +17445,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", - "dev": true, "engines": { "node": ">=6" } @@ -19634,7 +17453,6 @@ "version": "6.10.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, "dependencies": { "side-channel": "^1.0.4" }, @@ -19664,8 +17482,6 @@ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "peer": true, "engines": { "node": ">=0.4.x" } @@ -19694,7 +17510,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } @@ -19722,7 +17537,6 @@ "version": "2.5.1", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dev": true, "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -19737,8 +17551,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "peer": true, "dependencies": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", @@ -19752,8 +17564,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "peer": true, "dependencies": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" @@ -19766,8 +17576,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "peer": true, "dependencies": { "path-exists": "^2.0.0", "pinkie-promise": "^2.0.0" @@ -19780,8 +17588,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "peer": true, "dependencies": { "pinkie-promise": "^2.0.0" }, @@ -19793,8 +17599,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -19808,8 +17612,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "peer": true, "engines": { "node": ">=0.10.0" } @@ -19818,7 +17620,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -19832,7 +17633,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -19926,7 +17726,6 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -19990,7 +17789,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -20004,7 +17802,6 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true, "engines": { "node": ">=0.6" } @@ -20014,7 +17811,6 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, "bin": { "uuid": "bin/uuid" } @@ -20023,7 +17819,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -20032,7 +17827,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -20040,15 +17834,12 @@ "node_modules/require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true, - "peer": true + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "node_modules/resolve": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, "dependencies": { "path-parse": "^1.0.6" }, @@ -20116,7 +17907,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -20126,7 +17916,6 @@ "version": "2.2.7", "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "dev": true, "dependencies": { "bn.js": "^5.2.0" }, @@ -20137,8 +17926,7 @@ "node_modules/rlp/node_modules/bn.js": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" }, "node_modules/run-async": { "version": "2.4.1", @@ -20175,8 +17963,7 @@ "node_modules/rustbn.js": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==", - "dev": true + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" }, "node_modules/rxjs": { "version": "6.6.7", @@ -20194,7 +17981,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, "funding": [ { "type": "github", @@ -20213,8 +17999,7 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sc-istanbul": { "version": "0.4.6", @@ -20324,7 +18109,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "dev": true, "hasInstallScript": true, "dependencies": { "elliptic": "^6.5.4", @@ -20339,35 +18123,43 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", "integrity": "sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo=", - "dev": true, "engines": { "node": ">=4.1" } }, "node_modules/semver": { - "version": "7.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", - "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "dependencies": { - "lru-cache": "^7.4.0" + "lru-cache": "^6.0.0" }, "bin": { "semver": "bin/semver.js" }, "engines": { - "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=10" } }, "node_modules/semver/node_modules/lru-cache": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.7.3.tgz", - "integrity": "sha512-WY9wjJNQt9+PZilnLbuFKM+SwDull9+6IAguOrarOMoOHTcJ9GnXSO11+Gw6c7xtDkBkthR57OZMtZKYr+1CEw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=10" } }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/send": { "version": "0.17.2", "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", @@ -20469,7 +18261,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, "dependencies": { "randombytes": "^2.1.0" } @@ -20508,26 +18299,22 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -20591,7 +18378,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -20642,7 +18428,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, "engines": { "node": ">=8" } @@ -20677,8 +18462,6 @@ "version": "0.6.12", "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.12.tgz", "integrity": "sha512-Lm0Ql2G9Qc7yPP2Ba+WNmzw2jwsrd3u4PobHYlSOxaut3TtUbj9+5ZrT6f4DUpNPEoBaFUOEg9Op9C0mk7ge9g==", - "dev": true, - "peer": true, "dependencies": { "command-exists": "^1.2.8", "commander": "3.0.2", @@ -20700,8 +18483,6 @@ "version": "0.30.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dev": true, - "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^2.1.0", @@ -20714,8 +18495,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "peer": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -20724,8 +18503,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -20737,8 +18514,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true, "bin": { "semver": "bin/semver" } @@ -21446,7 +19221,6 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -21456,7 +19230,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -21465,8 +19238,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "peer": true, "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -21475,16 +19246,12 @@ "node_modules/spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true, - "peer": true + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "peer": true, "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -21493,9 +19260,7 @@ "node_modules/spdx-license-ids": { "version": "3.0.11", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true, - "peer": true + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" }, "node_modules/sprintf-js": { "version": "1.0.3", @@ -21507,7 +19272,6 @@ "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -21531,14 +19295,12 @@ "node_modules/sshpk/node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, "node_modules/stacktrace-parser": { "version": "0.1.10", "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "dev": true, "dependencies": { "type-fest": "^0.7.1" }, @@ -21550,7 +19312,6 @@ "version": "0.7.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "dev": true, "engines": { "node": ">=8" } @@ -21559,7 +19320,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, "engines": { "node": ">= 0.8" } @@ -21586,7 +19346,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, "dependencies": { "safe-buffer": "~5.2.0" } @@ -21655,7 +19414,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -21667,8 +19425,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "peer": true, "dependencies": { "is-utf8": "^0.2.0" }, @@ -21680,7 +19436,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "dev": true, "dependencies": { "is-hex-prefixed": "1.0.0" }, @@ -21693,7 +19448,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, "engines": { "node": ">=8" }, @@ -21705,7 +19459,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -21946,7 +19699,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=", - "dev": true, "dependencies": { "array-back": "^1.0.3", "typical": "^2.6.0" @@ -21959,7 +19711,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", - "dev": true, "dependencies": { "typical": "^2.6.0" }, @@ -21971,9 +19722,7 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", - "deprecated": "testrpc has been renamed to ganache-cli, please use this package from now on.", - "dev": true, - "peer": true + "deprecated": "testrpc has been renamed to ganache-cli, please use this package from now on." }, "node_modules/text-table": { "version": "0.2.0", @@ -22042,7 +19791,6 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -22063,7 +19811,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -22075,7 +19822,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, "engines": { "node": ">=0.6" } @@ -22084,7 +19830,6 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" @@ -22097,7 +19842,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, "engines": { "node": ">=6" } @@ -22105,29 +19849,22 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true, - "peer": true + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" }, "node_modules/true-case-path": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", - "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==", - "dev": true + "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" }, "node_modules/ts-essentials": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-1.0.4.tgz", - "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==", - "dev": true, - "peer": true + "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==" }, "node_modules/ts-generator": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ts-generator/-/ts-generator-0.1.1.tgz", "integrity": "sha512-N+ahhZxTLYu1HNTQetwWcx3so8hcYbkKBHTr4b4/YgObFTIKkOSSsaa+nal12w8mfrJAyzJfETXawbNjSfP2gQ==", - "dev": true, - "peer": true, "dependencies": { "@types/mkdirp": "^0.5.2", "@types/prettier": "^2.1.1", @@ -22147,8 +19884,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "peer": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -22160,8 +19895,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "peer": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -22175,8 +19908,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "peer": true, "dependencies": { "color-name": "1.1.3" } @@ -22184,16 +19915,12 @@ "node_modules/ts-generator/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true, - "peer": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "node_modules/ts-generator/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "peer": true, "engines": { "node": ">=0.8.0" } @@ -22202,8 +19929,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "peer": true, "engines": { "node": ">=4" } @@ -22212,8 +19937,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "peer": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -22225,7 +19948,6 @@ "version": "10.7.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", - "dev": true, "dependencies": { "@cspotcode/source-map-support": "0.7.0", "@tsconfig/node10": "^1.0.7", @@ -22268,7 +19990,6 @@ "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -22280,7 +20001,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, "engines": { "node": ">=0.3.1" } @@ -22288,20 +20008,17 @@ "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/tsort": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=", - "dev": true + "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=" }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, "dependencies": { "safe-buffer": "^5.0.1" }, @@ -22312,14 +20029,12 @@ "node_modules/tweetnacl": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", - "dev": true + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" }, "node_modules/tweetnacl-util": { "version": "0.15.1", "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==", - "dev": true + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" }, "node_modules/type": { "version": "1.2.0", @@ -22343,7 +20058,6 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, "engines": { "node": ">=4" } @@ -22377,7 +20091,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/typechain/-/typechain-5.2.0.tgz", "integrity": "sha512-0INirvQ+P+MwJOeMct+WLkUE4zov06QxC96D+i3uGFEHoiSkZN70MKDQsaj8zkL86wQwByJReI2e7fOUwECFuw==", - "dev": true, "dependencies": { "@types/prettier": "^2.1.1", "command-line-args": "^4.0.7", @@ -22401,7 +20114,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -22415,7 +20127,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -22424,7 +20135,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -22436,7 +20146,6 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", - "dev": true, "peerDependencies": { "typescript": ">=3.7.0" } @@ -22445,7 +20154,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, "engines": { "node": ">= 4.0.0" } @@ -22469,7 +20177,6 @@ "version": "4.6.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", - "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -22481,13 +20188,12 @@ "node_modules/typical": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=", - "dev": true + "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=" }, "node_modules/uglify-js": { - "version": "3.15.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz", - "integrity": "sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==", + "version": "3.15.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.4.tgz", + "integrity": "sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==", "dev": true, "optional": true, "bin": { @@ -22522,7 +20228,6 @@ "version": "4.16.0", "resolved": "https://registry.npmjs.org/undici/-/undici-4.16.0.tgz", "integrity": "sha512-tkZSECUYi+/T1i4u+4+lwZmQgLXd4BLGlrc7KZPcLIW7Jpq99+Xpc30ONv7nS6F5UNOxp/HBZSSL9MafUrvJbw==", - "dev": true, "engines": { "node": ">=12.18" } @@ -22531,7 +20236,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, "engines": { "node": ">= 10.0.0" } @@ -22540,7 +20244,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true, "engines": { "node": ">= 0.8" } @@ -22549,7 +20252,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -22558,8 +20260,6 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "peer": true, "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -22595,9 +20295,7 @@ "node_modules/url/node_modules/punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true, - "peer": true + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" }, "node_modules/utf-8-validate": { "version": "5.0.9", @@ -22615,8 +20313,7 @@ "node_modules/utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", - "dev": true + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" }, "node_modules/util": { "version": "0.12.4", @@ -22635,8 +20332,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "node_modules/utils-merge": { "version": "1.0.1", @@ -22651,7 +20347,6 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, "bin": { "uuid": "dist/bin/uuid" } @@ -22665,15 +20360,12 @@ "node_modules/v8-compile-cache-lib": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", - "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", - "dev": true + "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==" }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "peer": true, "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -22698,7 +20390,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, "engines": [ "node >=0.6.0" ], @@ -23410,10 +21101,9 @@ } }, "node_modules/web3-utils": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.1.tgz", - "integrity": "sha512-fef0EsqMGJUgiHPdX+KN9okVWshbIumyJPmR+btnD1HgvoXijKEkuKBv0OmUqjbeqmLKP2/N9EiXKJel5+E1Dw==", - "dev": true, + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.3.tgz", + "integrity": "sha512-g6nQgvb/bUpVUIxJE+ezVN+rYwYmlFyMvMIRSuqpi1dk6ApDD00YNArrk7sPcZnjvxOJ76813Xs2vIN2rgh4lg==", "dependencies": { "bn.js": "^4.11.9", "ethereum-bloom-filters": "^1.0.6", @@ -23459,9 +21149,7 @@ "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", - "dev": true, - "peer": true + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" }, "node_modules/websocket": { "version": "1.0.34", @@ -23499,8 +21187,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dev": true, - "peer": true, "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -23510,7 +21196,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "dependencies": { "isexe": "^2.0.0" }, @@ -23540,9 +21225,7 @@ "node_modules/which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true, - "peer": true + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, "node_modules/which-typed-array": { "version": "1.1.7", @@ -23577,8 +21260,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", - "dev": true, - "peer": true, "bin": { "window-size": "cli.js" }, @@ -23604,14 +21285,12 @@ "node_modules/workerpool": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", - "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", - "dev": true + "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==" }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -23627,14 +21306,12 @@ "node_modules/wrap-ansi/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -23643,7 +21320,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -23656,8 +21332,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/write": { "version": "1.0.3", @@ -23749,7 +21424,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, "engines": { "node": ">=0.4" } @@ -23758,7 +21432,6 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "engines": { "node": ">=10" } @@ -23775,14 +21448,12 @@ "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -23800,7 +21471,6 @@ "version": "20.2.4", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true, "engines": { "node": ">=10" } @@ -23809,7 +21479,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -23823,14 +21492,12 @@ "node_modules/yargs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/yargs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -23839,7 +21506,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -23853,7 +21519,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, "engines": { "node": ">=6" } @@ -23862,7 +21527,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, "engines": { "node": ">=10" }, @@ -23872,68 +21536,142 @@ } }, "dependencies": { - "@abacus-network/apps": { - "version": "file:../abacus-monorepo/solidity/apps", + "@abacus-network/app": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@abacus-network/app/-/app-0.0.3.tgz", + "integrity": "sha512-FHir15S9tB0TcpuwzW4iGGgpDpEl5RNUUKPpnM5x5ZvbMeuBOzBcOzFeYXo/33WesNeXfH3FhW1hjS+w8pFY+g==", "requires": { - "@abacus-network/core": "file:../core", - "@abacus-network/hardhat": "^0.0.5", + "@abacus-network/core": "^0.0.5", "@abacus-network/utils": "^0.0.5", - "@nomiclabs/hardhat-ethers": "^2.0.1", - "@nomiclabs/hardhat-waffle": "^2.0.1", + "@openzeppelin/contracts-upgradeable": "^4.5.0" + }, + "dependencies": { + "@abacus-network/core": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.5.tgz", + "integrity": "sha512-DKDqnGGfsgKrNzZvc9ewD8DS+4yVs+ugpGZtlAjlOzwpZ97Rk61RjrSBO0p4g85UtVg5GI0CLqfzgYdWSS81eQ==", + "requires": { + "@abacus-network/utils": "^0.0.5", + "@openzeppelin/contracts": "^3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0", + "ts-generator": "^0.1.1" + }, + "dependencies": { + "@openzeppelin/contracts-upgradeable": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", + "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" + } + } + }, + "@abacus-network/utils": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.5.tgz", + "integrity": "sha512-B8zS1RlKh8Pu7hifeenbAtPg2PRubgcPx3MyJz0TE8ryyDDOd54Xl9g96Xx9mrF7xeLRXBkACsi8S6DkgK+GOw==", + "requires": { + "chai": "^4.3.0", + "ethers": "^5.4.7" + } + } + } + }, + "@abacus-network/apps": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@abacus-network/apps/-/apps-0.0.1.tgz", + "integrity": "sha512-vOHO2ubIrqwsuHSnxEQH4C2BP1AnqGeEqvEPNR/gTYi0nRuyKUg5fpIHUruK4W+zy4ZHyq5rSTYsR6mu945LEg==", + "requires": { + "@abacus-network/core": "^0.0.3", + "@abacus-network/hardhat": "^0.0.8", + "@abacus-network/utils": "^0.0.7", "@openzeppelin/contracts": "~3.4.2", "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0", - "@typechain/ethers-v5": "~7.0.0", - "@typechain/hardhat": "^2.0.1", - "@types/mocha": "^9.1.0", - "chai": "^4.3.0", - "eslint": "^7.20.0", - "ethereum-waffle": "^3.2.2", - "ethers": "^5.4.4", - "hardhat": "^2.8.3", - "hardhat-gas-reporter": "^1.0.7", - "prettier": "^2.2.1", - "prettier-plugin-solidity": "^1.0.0-beta.5", - "solhint": "^3.3.2", - "solhint-plugin-prettier": "^0.0.5", - "solidity-coverage": "^0.7.14", - "ts-node": "^10.1.0", - "typechain": "^5.0.0", - "typescript": "^4.3.5" + "@summa-tx/memview-sol": "^2.0.0" + }, + "dependencies": { + "@abacus-network/core": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.3.tgz", + "integrity": "sha512-GkiNbn79xKQm6AHQbBqjXrLUVzjFriGegjYhYnkZPobs1LKb4D6OUvrAty7bnO1qAPYkJHUhyRlVjsZxTqhqLA==", + "requires": { + "@abacus-network/utils": "^0.0.7", + "@openzeppelin/contracts": "^3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0", + "ts-generator": "^0.1.1" + } + }, + "@abacus-network/hardhat": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@abacus-network/hardhat/-/hardhat-0.0.8.tgz", + "integrity": "sha512-b67pCrW0lBZBbAlhvegMEas4yCXQQqQTqNAfY+AWoaZV2RJCeWLKW29Ws0rjlOD7jmMVoWNIqjO8juUpPWPZvQ==", + "requires": { + "@abacus-network/core": "^0.0.3", + "@abacus-network/utils": "^0.0.7", + "@nomiclabs/hardhat-ethers": "^2.0.5", + "@nomiclabs/hardhat-waffle": "^2.0.2", + "@typechain/hardhat": "^2.0.1", + "ethereum-waffle": "^3.2.2", + "ethers": "^5.4.7", + "hardhat": "^2.8.4", + "prettier": "^2.3.1", + "ts-node": "^10.1.0", + "typechain": "^5.0.0", + "typescript": "^4.3.2" + } + }, + "@abacus-network/utils": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", + "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", + "requires": { + "chai": "^4.3.0", + "ethers": "^5.4.7" + } + }, + "@openzeppelin/contracts-upgradeable": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", + "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" + } } }, "@abacus-network/core": { - "version": "file:../abacus-monorepo/solidity/core", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.6.tgz", + "integrity": "sha512-3Aa1kmROmUksTjutm+uA13VvBmvycIwKIXb6cz6+0mZsyJ1Vg9Him46oiqI7QuSIbmEqSpa+GGvBll46aexX9g==", "requires": { - "@abacus-network/utils": "^0.0.5", - "@nomiclabs/hardhat-ethers": "^2.0.1", - "@nomiclabs/hardhat-waffle": "^2.0.1", + "@abacus-network/utils": "^0.0.7", "@openzeppelin/contracts": "^3.4.2", "@openzeppelin/contracts-upgradeable": "~3.4.2", "@summa-tx/memview-sol": "^2.0.0", - "@typechain/ethers-v5": "~7.0.0", - "@typechain/hardhat": "^2.0.1", - "chai": "^4.3.0", - "eslint": "^7.20.0", - "ethereum-waffle": "^3.2.2", - "ethers": "^5.4.4", - "hardhat": "^2.8.3", - "hardhat-gas-reporter": "^1.0.7", - "prettier": "^2.2.1", - "prettier-plugin-solidity": "^1.0.0-beta.5", - "solhint": "^3.3.2", - "solhint-plugin-prettier": "^0.0.5", - "solidity-coverage": "^0.7.14", - "ts-generator": "^0.1.1", - "ts-node": "^10.1.0", - "typechain": "^5.0.0" + "ts-generator": "^0.1.1" + }, + "dependencies": { + "@abacus-network/utils": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", + "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", + "requires": { + "chai": "^4.3.0", + "ethers": "^5.4.7" + } + }, + "@openzeppelin/contracts-upgradeable": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", + "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" + } } }, "@abacus-network/hardhat": { - "version": "file:../abacus-monorepo/typescript/hardhat", + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@abacus-network/hardhat/-/hardhat-0.0.18.tgz", + "integrity": "sha512-TZgcsYd27s1L2CRxC8HznmAji/Ackspo52bQImz/eZR4WnWXdgc/3sjF9z89ovgRcFl8fDVAyu2suiOv9mWUyQ==", + "dev": true, "requires": { - "@abacus-network/core": "file:../../solidity/core", - "@abacus-network/utils": "^0.0.5", + "@abacus-network/core": "^0.0.5", + "@abacus-network/utils": "^0.0.7", "@nomiclabs/hardhat-ethers": "^2.0.5", "@nomiclabs/hardhat-waffle": "^2.0.2", "@typechain/hardhat": "^2.0.1", @@ -23944,31 +21682,97 @@ "ts-node": "^10.1.0", "typechain": "^5.0.0", "typescript": "^4.3.2" + }, + "dependencies": { + "@abacus-network/core": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.5.tgz", + "integrity": "sha512-DKDqnGGfsgKrNzZvc9ewD8DS+4yVs+ugpGZtlAjlOzwpZ97Rk61RjrSBO0p4g85UtVg5GI0CLqfzgYdWSS81eQ==", + "dev": true, + "requires": { + "@abacus-network/utils": "^0.0.5", + "@openzeppelin/contracts": "^3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0", + "ts-generator": "^0.1.1" + }, + "dependencies": { + "@abacus-network/utils": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.5.tgz", + "integrity": "sha512-B8zS1RlKh8Pu7hifeenbAtPg2PRubgcPx3MyJz0TE8ryyDDOd54Xl9g96Xx9mrF7xeLRXBkACsi8S6DkgK+GOw==", + "dev": true, + "requires": { + "chai": "^4.3.0", + "ethers": "^5.4.7" + } + } + } + }, + "@abacus-network/utils": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", + "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", + "dev": true, + "requires": { + "chai": "^4.3.0", + "ethers": "^5.4.7" + } + }, + "@openzeppelin/contracts-upgradeable": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", + "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==", + "dev": true + } } }, "@abacus-network/sdk": { - "version": "file:../abacus-monorepo/typescript/sdk", + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@abacus-network/sdk/-/sdk-0.0.4.tgz", + "integrity": "sha512-+PjERzE3IuzPemYUbz3ED4l1HZ5prA7nr2mHnGPsdD4BY8PPcOQ/xNIQHzqUjAevdkcLD7cthn5s0k34rnOItA==", "requires": { - "@abacus-network/apps": "file:../../solidity/apps", - "@abacus-network/core": "file:../../solidity/core", - "@abacus-network/utils": "file:../utils", + "@abacus-network/apps": "^0.0.1", + "@abacus-network/core": "^0.0.3", + "@abacus-network/utils": "^0.0.7", "@ethersproject/bignumber": "^5.5.0", "@ethersproject/bytes": "^5.5.0", - "@types/node": "^16.9.1", - "@typescript-eslint/eslint-plugin": "^4.33.0", - "@typescript-eslint/parser": "^4.33.0", "celo-ethers-provider": "0.0.0", - "dotenv": "^10.0.0", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.3.0", - "ethers": "^5.4.7", - "fs": "0.0.1-security", - "prettier": "^2.4.1", - "typescript": "^4.4.3" + "ethers": "^5.4.7" + }, + "dependencies": { + "@abacus-network/core": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.3.tgz", + "integrity": "sha512-GkiNbn79xKQm6AHQbBqjXrLUVzjFriGegjYhYnkZPobs1LKb4D6OUvrAty7bnO1qAPYkJHUhyRlVjsZxTqhqLA==", + "requires": { + "@abacus-network/utils": "^0.0.7", + "@openzeppelin/contracts": "^3.4.2", + "@openzeppelin/contracts-upgradeable": "~3.4.2", + "@summa-tx/memview-sol": "^2.0.0", + "ts-generator": "^0.1.1" + } + }, + "@abacus-network/utils": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", + "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", + "requires": { + "chai": "^4.3.0", + "ethers": "^5.4.7" + } + }, + "@openzeppelin/contracts-upgradeable": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", + "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" + } } }, "@abacus-network/utils": { - "version": "file:../abacus-monorepo/typescript/utils", + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.8.tgz", + "integrity": "sha512-fuQ+H6HC/d2/SjaxZnSJqKjkOCgQmJalDIMQNkDFtMpkvsxdndlZITLCj328Chee/BngpZ7sZyGS8u64w+mF4Q==", "requires": { "chai": "^4.3.0", "ethers": "^5.4.7" @@ -24061,14 +21865,12 @@ "@cspotcode/source-map-consumer": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==" }, "@cspotcode/source-map-support": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", - "dev": true, "requires": { "@cspotcode/source-map-consumer": "0.8.0" } @@ -24077,8 +21879,6 @@ "version": "0.4.5", "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", - "dev": true, - "peer": true, "requires": { "bluebird": "^3.5.2", "eth-ens-namehash": "^2.0.8", @@ -24090,23 +21890,17 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "peer": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true, - "peer": true + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "peer": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1", @@ -24116,16 +21910,12 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "peer": true + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, "fs-extra": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^2.1.0", @@ -24137,16 +21927,12 @@ "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true, - "peer": true + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, "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": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "peer": true, "requires": { "number-is-nan": "^1.0.0" } @@ -24155,8 +21941,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.6" } @@ -24164,16 +21948,12 @@ "require-from-string": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", - "dev": true, - "peer": true + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "peer": true, "requires": { "glob": "^7.1.3" } @@ -24181,16 +21961,12 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "solc": { "version": "0.4.26", "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", - "dev": true, - "peer": true, "requires": { "fs-extra": "^0.30.0", "memorystream": "^0.3.1", @@ -24203,8 +21979,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "peer": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -24215,8 +21989,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "peer": true, "requires": { "ansi-regex": "^2.0.0" } @@ -24225,8 +21997,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "peer": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" @@ -24235,16 +22005,12 @@ "y18n": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true, - "peer": true + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" }, "yargs": { "version": "4.8.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "dev": true, - "peer": true, "requires": { "cliui": "^3.2.0", "decamelize": "^1.1.1", @@ -24266,8 +22032,6 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", - "dev": true, - "peer": true, "requires": { "camelcase": "^3.0.0", "lodash.assign": "^4.0.6" @@ -24278,9 +22042,7 @@ "@ensdomains/resolver": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", - "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", - "dev": true, - "peer": true + "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==" }, "@eslint/eslintrc": { "version": "0.4.3", @@ -24303,8 +22065,6 @@ "version": "3.4.4", "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-3.4.4.tgz", "integrity": "sha512-/K8czydBtXXkcM9X6q29EqEkc5dN3oYenyH2a9hF7rGAApAJUpH8QBtojxOY/xQ2up5W332jqgxwp0yPiYug1g==", - "dev": true, - "peer": true, "requires": { "@ethereum-waffle/provider": "^3.4.4", "ethers": "^5.5.2" @@ -24314,8 +22074,6 @@ "version": "3.4.4", "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-3.4.4.tgz", "integrity": "sha512-RUK3axJ8IkD5xpWjWoJgyHclOeEzDLQFga6gKpeGxiS/zBu+HB0W2FvsrrLalTFIaPw/CGYACRBSIxqiCqwqTQ==", - "dev": true, - "peer": true, "requires": { "@resolver-engine/imports": "^0.3.3", "@resolver-engine/imports-fs": "^0.3.3", @@ -24334,8 +22092,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-2.0.0.tgz", "integrity": "sha512-0xdCkyGOzdqh4h5JSf+zoWx85IusEjDcPIwNEHP8mrWSnCae4rvrqB+/gtpdNfX7zjlFlZiMeePn2r63EI3Lrw==", - "dev": true, - "peer": true, "requires": { "ethers": "^5.0.2" } @@ -24344,8 +22100,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -24356,8 +22110,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.6" } @@ -24366,16 +22118,12 @@ "version": "6.0.7", "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-6.0.7.tgz", "integrity": "sha512-2E4HIIj4tQJlIHuATRHayv0EfMGK3ris/GRk1E3CFnsZzeNV+hUmelbaTZHLtXaZppM5oLhHRtO04gINC4Jusw==", - "dev": true, - "peer": true, "requires": {} }, "typechain": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/typechain/-/typechain-3.0.0.tgz", "integrity": "sha512-ft4KVmiN3zH4JUFu2WJBrwfHeDf772Tt2d8bssDTo/YcckKW2D+OwFrHXRC6hJvO3mHjFQTihoMV6fJOi0Hngg==", - "dev": true, - "peer": true, "requires": { "command-line-args": "^4.0.7", "debug": "^4.1.1", @@ -24389,9 +22137,7 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "peer": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" } } }, @@ -24399,8 +22145,6 @@ "version": "3.4.4", "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-3.4.4.tgz", "integrity": "sha512-0m4NdwWxliy3heBYva1Wr4WbJKLnwXizmy5FfSSr5PMbjI7SIGCdCB59U7/ZzY773/hY3bLnzLwvG5mggVjJWg==", - "dev": true, - "peer": true, "requires": { "@ensdomains/ens": "^0.4.4", "@ensdomains/resolver": "^0.2.4", @@ -24411,8 +22155,6 @@ "version": "3.4.4", "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-3.4.4.tgz", "integrity": "sha512-Mp0iB2YNWYGUV+VMl5tjPsaXKbKo8MDH9wSJ702l9EBjdxFf/vBvnMBAC1Fub1lLtmD0JHtp1pq+mWzg/xlLnA==", - "dev": true, - "peer": true, "requires": { "@ethersproject/abi": "^5.5.0", "ethers": "^5.5.2" @@ -24422,8 +22164,6 @@ "version": "3.4.4", "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-3.4.4.tgz", "integrity": "sha512-GK8oKJAM8+PKy2nK08yDgl4A80mFuI8zBkE0C9GqTRYQqvuxIyXoLmJ5NZU9lIwyWVv5/KsoA11BgAv2jXE82g==", - "dev": true, - "peer": true, "requires": { "@ethereum-waffle/ens": "^3.4.4", "ethers": "^5.5.2", @@ -24436,7 +22176,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.2.tgz", "integrity": "sha512-mOqYWwMlAZpYUEOEqt7EfMFuVL2eyLqWWIzcf4odn6QgXY8jBI2NhVuJncrMCKeMZrsJAe7/auaRRB6YcdH+Qw==", - "dev": true, "requires": { "@ethereumjs/common": "^2.6.3", "@ethereumjs/tx": "^3.5.1", @@ -24448,7 +22187,6 @@ "version": "5.5.2", "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.2.tgz", "integrity": "sha512-Jz26iJmmsQtngerW6r5BDFaew/f2mObLrRZo3rskLOx1lmtMZ8+TX/vJexmivrnWgmAsTdNWhlKUYY4thPhPig==", - "dev": true, "requires": { "@ethereumjs/block": "^3.6.2", "@ethereumjs/common": "^2.6.3", @@ -24464,7 +22202,6 @@ "version": "2.6.3", "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.3.tgz", "integrity": "sha512-mQwPucDL7FDYIg9XQ8DL31CnIYZwGhU5hyOO5E+BMmT71G0+RHvIT5rIkLBirJEKxV6+Rcf9aEIY0kXInxUWpQ==", - "dev": true, "requires": { "crc-32": "^1.2.0", "ethereumjs-util": "^7.1.4" @@ -24474,7 +22211,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", - "dev": true, "requires": { "@ethereumjs/block": "^3.5.0", "@types/levelup": "^4.3.0", @@ -24487,7 +22223,6 @@ "version": "3.5.1", "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.1.tgz", "integrity": "sha512-xzDrTiu4sqZXUcaBxJ4n4W5FrppwxLxZB4ZDGVLtxSQR4lVuOnFR6RcUHdg1mpUhAPVrmnzLJpxaeXnPxIyhWA==", - "dev": true, "requires": { "@ethereumjs/common": "^2.6.3", "ethereumjs-util": "^7.1.4" @@ -24497,7 +22232,6 @@ "version": "5.8.0", "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.8.0.tgz", "integrity": "sha512-mn2G2SX79QY4ckVvZUfxlNUpzwT2AEIkvgJI8aHoQaNYEHhH8rmdVDIaVVgz6//PjK52BZsK23afz+WvSR0Qqw==", - "dev": true, "requires": { "@ethereumjs/block": "^3.6.2", "@ethereumjs/blockchain": "^5.5.2", @@ -24514,9 +22248,9 @@ } }, "@ethersproject/abi": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.0.tgz", - "integrity": "sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.1.tgz", + "integrity": "sha512-0cqssYh6FXjlwKWBmLm3+zH2BNARoS5u/hxbz+LpQmcDB3w0W553h2btWui1/uZp2GBM/SI3KniTuMcYyHpA5w==", "requires": { "@ethersproject/address": "^5.6.0", "@ethersproject/bignumber": "^5.6.0", @@ -24696,9 +22430,9 @@ "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==" }, "@ethersproject/networks": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.1.tgz", - "integrity": "sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.2.tgz", + "integrity": "sha512-9uEzaJY7j5wpYGTojGp8U89mSsgQLc40PCMJLMCnFXTs7nhBveZ0t7dbqWUNrepWTszDbFkYD6WlL8DKx5huHA==", "requires": { "@ethersproject/logger": "^5.6.0" } @@ -24721,9 +22455,9 @@ } }, "@ethersproject/providers": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.2.tgz", - "integrity": "sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.3.tgz", + "integrity": "sha512-PKTEZXjdAhGK/+hUwRLQqlGrwTRrK4D0FHEP2V9klUF8C6+AWfHkA3AoLI+a8oq5CUZoRAH0nMecYGkKxUjeSw==", "requires": { "@ethersproject/abstract-provider": "^5.6.0", "@ethersproject/abstract-signer": "^5.6.0", @@ -24903,7 +22637,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.0.tgz", "integrity": "sha512-LczOjjxY4A7XYloxzyxJIHONELmUxVZncpOLoClpEcTiebiVdM46KRPYXGuULro9oNNR2xdVx3yoKiQjdfWmoA==", - "dev": true, "requires": { "ethereumjs-abi": "^0.6.8", "ethereumjs-util": "^6.2.1", @@ -24916,7 +22649,6 @@ "version": "4.11.6", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, "requires": { "@types/node": "*" } @@ -24925,7 +22657,6 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, "requires": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -24980,23 +22711,21 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.5.tgz", "integrity": "sha512-A2gZAGB6kUvLx+kzM92HKuUF33F1FSe90L0TmkXkT2Hh0OKRpvWZURUSU2nghD2yC4DzfEZ3DftfeHGvZ2JTUw==", - "dev": true, "requires": {} }, "@nomiclabs/hardhat-waffle": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.3.tgz", "integrity": "sha512-049PHSnI1CZq6+XTbrMbMv5NaL7cednTfPenx02k3cEh8wBMLa6ys++dBETJa6JjfwgA9nBhhHQ173LJv6k2Pg==", - "dev": true, "requires": { "@types/sinon-chai": "^3.2.3", "@types/web3": "1.0.19" } }, "@openzeppelin/contracts": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.5.0.tgz", - "integrity": "sha512-fdkzKPYMjrRiPK6K4y64e6GzULR7R7RwxSigHS8DDp7aWDeoReqsQI+cxHV1UuhAqX69L1lAaWDxenfP+xiqzA==" + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", + "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==" }, "@openzeppelin/contracts-upgradeable": { "version": "4.5.2", @@ -25007,8 +22736,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", "integrity": "sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ==", - "dev": true, - "peer": true, "requires": { "debug": "^3.1.0", "is-url": "^1.2.4", @@ -25019,8 +22746,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, "requires": { "ms": "^2.1.1" } @@ -25031,8 +22756,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.3.3.tgz", "integrity": "sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ==", - "dev": true, - "peer": true, "requires": { "@resolver-engine/core": "^0.3.3", "debug": "^3.1.0" @@ -25042,8 +22765,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, "requires": { "ms": "^2.1.1" } @@ -25054,8 +22775,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.3.3.tgz", "integrity": "sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q==", - "dev": true, - "peer": true, "requires": { "@resolver-engine/core": "^0.3.3", "debug": "^3.1.0", @@ -25068,8 +22787,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, "requires": { "ms": "^2.1.1" } @@ -25080,8 +22797,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz", "integrity": "sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA==", - "dev": true, - "peer": true, "requires": { "@resolver-engine/fs": "^0.3.3", "@resolver-engine/imports": "^0.3.3", @@ -25092,8 +22807,6 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, "requires": { "ms": "^2.1.1" } @@ -25131,7 +22844,6 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", - "dev": true, "requires": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", @@ -25144,7 +22856,6 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", - "dev": true, "requires": { "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", @@ -25155,7 +22866,6 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", - "dev": true, "requires": { "@sentry/hub": "5.30.0", "@sentry/types": "5.30.0", @@ -25166,7 +22876,6 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", - "dev": true, "requires": { "@sentry/core": "5.30.0", "@sentry/hub": "5.30.0", @@ -25183,7 +22892,6 @@ "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", - "dev": true, "requires": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", @@ -25195,14 +22903,12 @@ "@sentry/types": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", - "dev": true + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==" }, "@sentry/utils": { "version": "5.30.0", "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", - "dev": true, "requires": { "@sentry/types": "5.30.0", "tslib": "^1.9.3" @@ -25218,7 +22924,6 @@ "version": "0.14.1", "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.1.tgz", "integrity": "sha512-eLjj2L6AuQjBB6s/ibwCAc0DwrR5Ge+ys+wgWo+bviU7fV2nTMQhU63CGaDKXg9iTmMxwhkyoggdIR7ZGRfMgw==", - "dev": true, "requires": { "antlr4ts": "^0.5.0-alpha.4" } @@ -25244,9 +22949,9 @@ "dev": true }, "@truffle/interface-adapter": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.12.tgz", - "integrity": "sha512-Qrc5VARnvSILYqZNsAM0xsUHqGqphLXVdIvDnhUA1Xj1xyNz8iboTr8bXorMd+Uspw+PXmsW44BJ/Wioo/jL2A==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.13.tgz", + "integrity": "sha512-XuxSGq3IvTihiXaBzxuFKjIZTETuwyk79vGPsZTjgddhW1Ao9/CX8c2kcqKGYLf6nuDBcBSynLn4NCamsfSNuA==", "dev": true, "requires": { "bn.js": "^5.1.3", @@ -25322,39 +23027,35 @@ } }, "@truffle/provider": { - "version": "0.2.50", - "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.50.tgz", - "integrity": "sha512-GCoyX8SncfgizXYJfordv5kiysQS7S1311D3ewciixaoQpTkbqC3s0wxwHlPxU7m5wJOCw2K8rQtL3oIFfeHwA==", + "version": "0.2.51", + "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.51.tgz", + "integrity": "sha512-7N6pBECypJN8GwpzeR18RQeazn5KEmSTvxfhLd1LwFsga5CkU0fF+WB7rc0+ET6IeqPy5op3QWEwsvAz4MxMlw==", "dev": true, "requires": { "@truffle/error": "^0.1.0", - "@truffle/interface-adapter": "^0.5.12", + "@truffle/interface-adapter": "^0.5.13", "web3": "1.5.3" } }, "@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", - "dev": true + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" }, "@tsconfig/node12": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", - "dev": true + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" }, "@tsconfig/node14": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", - "dev": true + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" }, "@tsconfig/node16": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", - "dev": true + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" }, "@typechain/ethers-v5": { "version": "7.0.1", @@ -25367,7 +23068,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-2.3.1.tgz", "integrity": "sha512-BQV8OKQi0KAzLXCdsPO0pZBNQQ6ra8A2ucC26uFX/kquRBtJu1yEyWnVSmtr07b5hyRoJRpzUeINLnyqz4/MAw==", - "dev": true, "requires": { "fs-extra": "^9.1.0" } @@ -25375,14 +23075,12 @@ "@types/abstract-leveldown": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", - "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==", - "dev": true + "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==" }, "@types/bn.js": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "dev": true, "requires": { "@types/node": "*" } @@ -25390,8 +23088,7 @@ "@types/chai": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", - "dev": true + "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==" }, "@types/concat-stream": { "version": "1.6.1", @@ -25424,14 +23121,12 @@ "@types/level-errors": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", - "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==", - "dev": true + "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==" }, "@types/levelup": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", - "dev": true, "requires": { "@types/abstract-leveldown": "*", "@types/level-errors": "*", @@ -25441,8 +23136,7 @@ "@types/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", - "dev": true + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" }, "@types/minimatch": { "version": "3.0.5", @@ -25454,8 +23148,6 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", - "dev": true, - "peer": true, "requires": { "@types/node": "*" } @@ -25469,15 +23161,12 @@ "@types/node": { "version": "17.0.23", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", - "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==", - "dev": true + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" }, "@types/node-fetch": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz", "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==", - "dev": true, - "peer": true, "requires": { "@types/node": "*", "form-data": "^3.0.0" @@ -25487,16 +23176,14 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "dev": true, "requires": { "@types/node": "*" } }, "@types/prettier": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz", - "integrity": "sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==", - "dev": true + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz", + "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==" }, "@types/qs": { "version": "6.9.7", @@ -25508,8 +23195,6 @@ "version": "0.0.8", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", - "dev": true, - "peer": true, "requires": { "@types/node": "*" } @@ -25518,7 +23203,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "dev": true, "requires": { "@types/node": "*" } @@ -25527,7 +23211,6 @@ "version": "10.0.11", "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.11.tgz", "integrity": "sha512-dmZsHlBsKUtBpHriNjlK0ndlvEh8dcb9uV9Afsbt89QIyydpC7NcR+nWlAhASfy3GHnxTl4FX/aKE7XZUt/B4g==", - "dev": true, "requires": { "@types/sinonjs__fake-timers": "*" } @@ -25536,7 +23219,6 @@ "version": "3.2.8", "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", - "dev": true, "requires": { "@types/chai": "*", "@types/sinon": "*" @@ -25545,20 +23227,17 @@ "@types/sinonjs__fake-timers": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", - "dev": true + "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==" }, "@types/underscore": { "version": "1.11.4", "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", - "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==", - "dev": true + "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==" }, "@types/web3": { "version": "1.0.19", "resolved": "https://registry.npmjs.org/@types/web3/-/web3-1.0.19.tgz", "integrity": "sha512-fhZ9DyvDYDwHZUp5/STa9XW2re0E8GxoioYJ4pEUZ13YHpApSagixj7IAdoYH5uAK+UalGq6Ml8LYzmgRA/q+A==", - "dev": true, "requires": { "@types/bn.js": "*", "@types/underscore": "*" @@ -25567,15 +23246,12 @@ "@ungap/promise-all-settled": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" }, "@yarnpkg/lockfile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true, - "peer": true + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" }, "abbrev": { "version": "1.0.9", @@ -25587,7 +23263,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dev": true, "requires": { "event-target-shim": "^5.0.0" } @@ -25596,7 +23271,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", - "dev": true, "requires": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -25631,8 +23305,7 @@ "acorn-walk": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" }, "address": { "version": "1.1.2", @@ -25643,8 +23316,7 @@ "adm-zip": { "version": "0.4.16", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", - "dev": true + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" }, "aes-js": { "version": "3.0.0", @@ -25655,7 +23327,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, "requires": { "debug": "4" } @@ -25664,7 +23335,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, "requires": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -25674,7 +23344,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -25692,14 +23361,12 @@ "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" }, "ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, "requires": { "type-fest": "^0.21.3" }, @@ -25707,22 +23374,19 @@ "type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" } } }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -25736,14 +23400,12 @@ "antlr4ts": { "version": "0.5.0-alpha.4", "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", - "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", - "dev": true + "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==" }, "anymatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -25752,8 +23414,7 @@ "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "argparse": { "version": "1.0.10", @@ -25768,7 +23429,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", - "dev": true, "requires": { "typical": "^2.6.1" } @@ -25801,7 +23461,6 @@ "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, "requires": { "safer-buffer": "~2.1.0" } @@ -25821,14 +23480,12 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "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 + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" }, "ast-parents": { "version": "0.0.1", @@ -25846,7 +23503,6 @@ "version": "2.6.3", "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, "requires": { "lodash": "^4.17.14" } @@ -25855,7 +23511,6 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", - "dev": true, "requires": { "async": "^2.4.0" } @@ -25869,14 +23524,12 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" }, "available-typed-arrays": { "version": "1.0.5", @@ -25887,26 +23540,22 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "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 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base-x": { "version": "3.0.9", "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -25914,14 +23563,12 @@ "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, "requires": { "tweetnacl": "^0.14.3" }, @@ -25929,8 +23576,7 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" } } }, @@ -25948,20 +23594,17 @@ "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "blakejs": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", - "dev": true + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "bn.js": { "version": "4.12.0", @@ -26009,7 +23652,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -26019,7 +23661,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -26032,14 +23673,12 @@ "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" }, "browserify-aes": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, "requires": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -26052,8 +23691,7 @@ "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" } } }, @@ -26127,7 +23765,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", - "dev": true, "requires": { "base-x": "^3.0.2" } @@ -26136,7 +23773,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dev": true, "requires": { "bs58": "^4.0.0", "create-hash": "^1.1.0", @@ -26147,7 +23783,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -26156,8 +23791,7 @@ "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 + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "buffer-to-arraybuffer": { "version": "0.0.5", @@ -26169,7 +23803,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", - "dev": true, "requires": { "safe-buffer": "^5.1.1" } @@ -26186,8 +23819,7 @@ "bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" }, "cacheable-request": { "version": "6.1.0", @@ -26225,7 +23857,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -26266,20 +23897,25 @@ "camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "celo-ethers-provider": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/celo-ethers-provider/-/celo-ethers-provider-0.0.0.tgz", + "integrity": "sha512-fKm4DXyngvjafyFCwjh8WKDrWsC+fJTDDRZEIduC/IiZcp8W5KrrwNoIbi3arv1B8Yd4D4E3nxhmIudfOczVEw==", + "requires": { + "ethers": "^5.4.7" + } }, "chai": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", - "dev": true, "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", @@ -26294,7 +23930,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -26315,14 +23950,12 @@ "check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" }, "chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -26343,8 +23976,7 @@ "ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" }, "cids": { "version": "0.7.5", @@ -26375,7 +24007,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -26390,8 +24021,7 @@ "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" }, "cli-cursor": { "version": "2.1.0", @@ -26423,7 +24053,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -26433,20 +24062,17 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -26467,15 +24093,12 @@ "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "peer": true + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -26483,8 +24106,7 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "colors": { "version": "1.4.0", @@ -26496,7 +24118,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -26504,14 +24125,12 @@ "command-exists": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", - "dev": true + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" }, "command-line-args": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz", "integrity": "sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==", - "dev": true, "requires": { "array-back": "^2.0.0", "find-replace": "^1.0.3", @@ -26521,14 +24140,12 @@ "commander": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", - "dev": true + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.2", @@ -26603,8 +24220,7 @@ "cookie": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "dev": true + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" }, "cookie-signature": { "version": "1.0.6", @@ -26621,14 +24237,12 @@ "core-js-pure": { "version": "3.21.1", "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", - "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==", - "dev": true + "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==" }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cors": { "version": "2.8.5", @@ -26673,8 +24287,7 @@ "crc-32": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "dev": true + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" }, "create-ecdh": { "version": "4.0.4", @@ -26690,7 +24303,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, "requires": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -26703,7 +24315,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, "requires": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -26716,8 +24327,7 @@ "create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "cross-spawn": { "version": "7.0.3", @@ -26769,7 +24379,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -26784,7 +24393,6 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -26792,8 +24400,7 @@ "decamelize": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" }, "decode-uri-component": { "version": "0.2.0", @@ -26814,7 +24421,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, "requires": { "type-detect": "^4.0.0" } @@ -26835,7 +24441,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", - "dev": true, "requires": { "abstract-leveldown": "~6.2.1", "inherits": "^2.0.3" @@ -26845,7 +24450,6 @@ "version": "6.2.3", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "dev": true, "requires": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -26868,14 +24472,12 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" }, "des.js": { "version": "1.0.1", @@ -26923,8 +24525,7 @@ "diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" }, "diffie-hellman": { "version": "5.0.3", @@ -26971,7 +24572,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -27013,7 +24613,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", - "dev": true, "requires": { "abstract-leveldown": "^6.2.1", "inherits": "^2.0.3", @@ -27034,7 +24633,6 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, "requires": { "ansi-colors": "^4.1.1" } @@ -27042,14 +24640,12 @@ "env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" }, "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, "requires": { "prr": "~1.0.1" } @@ -27058,15 +24654,14 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, "es-abstract": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", - "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.4.tgz", + "integrity": "sha512-flV8e5g9/xulChMG48Fygk1ptpo4lQRJ0eJYtxJFgi7pklLx7EFcOJ34jnvr8pbWlaFN/AT1cZpe0hiFel9Hqg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -27080,7 +24675,7 @@ "is-callable": "^1.2.4", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", + "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", "is-weakref": "^1.0.2", "object-inspect": "^1.12.0", @@ -27103,9 +24698,9 @@ } }, "es5-ext": { - "version": "0.10.59", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.59.tgz", - "integrity": "sha512-cOgyhW0tIJyQY1Kfw6Kr0viu9ZlUctVchRMZ7R0HiH3dxTSp5zJDLecwxUqPUrGKMsgBI1wd1FL+d9Jxfi4cLw==", + "version": "0.10.60", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.60.tgz", + "integrity": "sha512-jpKNXIt60htYG59/9FGf2PYT3pwMpnEbNKysU+k/4FGwyGtMotOvcZOuW+EmXXYASRqYSXQfGL5cVIthOTgbkg==", "dev": true, "requires": { "es6-iterator": "^2.0.3", @@ -27137,8 +24732,7 @@ "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "escape-html": { "version": "1.0.3", @@ -27149,8 +24743,7 @@ "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "escodegen": { "version": "1.8.1", @@ -27380,7 +24973,6 @@ "version": "2.0.8", "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", - "dev": true, "requires": { "idna-uts46-hx": "^2.3.1", "js-sha3": "^0.5.7" @@ -27389,8 +24981,7 @@ "js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" } } }, @@ -27930,7 +25521,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "dev": true, "requires": { "js-sha3": "^0.8.0" } @@ -27939,7 +25529,6 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dev": true, "requires": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -27962,8 +25551,6 @@ "version": "3.4.4", "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-3.4.4.tgz", "integrity": "sha512-PA9+jCjw4WC3Oc5ocSMBj5sXvueWQeAbvCA+hUlb6oFgwwKyq5ka3bWQ7QZcjzIX+TdFkxP4IbFmoY2D8Dkj9Q==", - "dev": true, - "peer": true, "requires": { "@ethereum-waffle/chai": "^3.4.4", "@ethereum-waffle/compiler": "^3.4.4", @@ -27976,7 +25563,6 @@ "version": "0.6.8", "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "dev": true, "requires": { "bn.js": "^4.11.8", "ethereumjs-util": "^6.0.0" @@ -27986,7 +25572,6 @@ "version": "4.11.6", "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, "requires": { "@types/node": "*" } @@ -27995,7 +25580,6 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, "requires": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -28012,7 +25596,6 @@ "version": "7.1.4", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz", "integrity": "sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A==", - "dev": true, "requires": { "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", @@ -28024,17 +25607,16 @@ "bn.js": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" } } }, "ethers": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.2.tgz", - "integrity": "sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.3.tgz", + "integrity": "sha512-TkZAYGtbnzsGzEzqonLEMpOkmD5JIKCoWlAlj9ShAJlJszEkgKh3jVSeX1edLkYmqnpvJvGlBDK2y/HVe84LNg==", "requires": { - "@ethersproject/abi": "5.6.0", + "@ethersproject/abi": "5.6.1", "@ethersproject/abstract-provider": "5.6.0", "@ethersproject/abstract-signer": "5.6.0", "@ethersproject/address": "5.6.0", @@ -28049,10 +25631,10 @@ "@ethersproject/json-wallets": "5.6.0", "@ethersproject/keccak256": "5.6.0", "@ethersproject/logger": "5.6.0", - "@ethersproject/networks": "5.6.1", + "@ethersproject/networks": "5.6.2", "@ethersproject/pbkdf2": "5.6.0", "@ethersproject/properties": "5.6.0", - "@ethersproject/providers": "5.6.2", + "@ethersproject/providers": "5.6.3", "@ethersproject/random": "5.6.0", "@ethersproject/rlp": "5.6.0", "@ethersproject/sha2": "5.6.0", @@ -28070,7 +25652,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", - "dev": true, "requires": { "bn.js": "4.11.6", "number-to-bn": "1.7.0" @@ -28079,8 +25660,7 @@ "bn.js": { "version": "4.11.6", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", - "dev": true + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" } } }, @@ -28088,7 +25668,6 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "dev": true, "requires": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" @@ -28097,8 +25676,7 @@ "event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "dev": true + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" }, "eventemitter3": { "version": "4.0.4", @@ -28110,7 +25688,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, "requires": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -28261,8 +25838,7 @@ "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "external-editor": { "version": "3.1.0", @@ -28278,14 +25854,12 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-diff": { "version": "1.2.0", @@ -28309,8 +25883,7 @@ "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { "version": "2.0.6", @@ -28357,7 +25930,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -28413,7 +25985,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", "integrity": "sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=", - "dev": true, "requires": { "array-back": "^1.0.4", "test-value": "^2.1.0" @@ -28423,7 +25994,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", - "dev": true, "requires": { "typical": "^2.6.0" } @@ -28434,7 +26004,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, "requires": { "locate-path": "^2.0.0" } @@ -28443,8 +26012,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", - "dev": true, - "peer": true, "requires": { "micromatch": "^4.0.2" } @@ -28452,8 +26019,7 @@ "flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" }, "flat-cache": { "version": "3.0.4", @@ -28474,8 +26040,7 @@ "follow-redirects": { "version": "1.14.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", - "dev": true + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" }, "foreach": { "version": "2.0.5", @@ -28486,15 +26051,12 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "peer": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -28510,8 +26072,7 @@ "fp-ts": { "version": "1.19.3", "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==", - "dev": true + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" }, "fresh": { "version": "0.5.2", @@ -28523,7 +26084,6 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", @@ -28549,34 +26109,28 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "optional": true }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "ganache-core": { "version": "2.13.2", "resolved": "https://registry.npmjs.org/ganache-core/-/ganache-core-2.13.2.tgz", "integrity": "sha512-tIF5cR+ANQz0+3pHWxHjIwHqFXcVo0Mb+kcsNhglNFALcYo49aQpnS9dqHartqPfMFjiHh/qFoD3mYK0d/qGgw==", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "3.0.0", "async": "2.6.2", @@ -28612,9 +26166,7 @@ "dependencies": { "@ethersproject/abi": { "version": "5.0.0-beta.153", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/address": ">=5.0.0-beta.128", "@ethersproject/bignumber": ">=5.0.0-beta.130", @@ -28629,9 +26181,7 @@ }, "@ethersproject/abstract-provider": { "version": "5.0.8", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/bignumber": "^5.0.13", "@ethersproject/bytes": "^5.0.9", @@ -28644,9 +26194,7 @@ }, "@ethersproject/abstract-signer": { "version": "5.0.10", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/abstract-provider": "^5.0.8", "@ethersproject/bignumber": "^5.0.13", @@ -28657,9 +26205,7 @@ }, "@ethersproject/address": { "version": "5.0.9", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/bignumber": "^5.0.13", "@ethersproject/bytes": "^5.0.9", @@ -28670,18 +26216,14 @@ }, "@ethersproject/base64": { "version": "5.0.7", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/bytes": "^5.0.9" } }, "@ethersproject/bignumber": { "version": "5.0.13", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/bytes": "^5.0.9", "@ethersproject/logger": "^5.0.8", @@ -28690,27 +26232,21 @@ }, "@ethersproject/bytes": { "version": "5.0.9", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/logger": "^5.0.8" } }, "@ethersproject/constants": { "version": "5.0.8", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/bignumber": "^5.0.13" } }, "@ethersproject/hash": { "version": "5.0.10", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/abstract-signer": "^5.0.10", "@ethersproject/address": "^5.0.9", @@ -28724,9 +26260,7 @@ }, "@ethersproject/keccak256": { "version": "5.0.7", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/bytes": "^5.0.9", "js-sha3": "0.5.7" @@ -28734,33 +26268,25 @@ }, "@ethersproject/logger": { "version": "5.0.8", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "@ethersproject/networks": { "version": "5.0.7", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/logger": "^5.0.8" } }, "@ethersproject/properties": { "version": "5.0.7", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/logger": "^5.0.8" } }, "@ethersproject/rlp": { "version": "5.0.7", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/bytes": "^5.0.9", "@ethersproject/logger": "^5.0.8" @@ -28768,9 +26294,7 @@ }, "@ethersproject/signing-key": { "version": "5.0.8", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/bytes": "^5.0.9", "@ethersproject/logger": "^5.0.8", @@ -28780,9 +26304,7 @@ }, "@ethersproject/strings": { "version": "5.0.8", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/bytes": "^5.0.9", "@ethersproject/constants": "^5.0.8", @@ -28791,9 +26313,7 @@ }, "@ethersproject/transactions": { "version": "5.0.9", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/address": "^5.0.9", "@ethersproject/bignumber": "^5.0.13", @@ -28808,9 +26328,7 @@ }, "@ethersproject/web": { "version": "5.0.12", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/base64": "^5.0.7", "@ethersproject/bytes": "^5.0.9", @@ -28821,66 +26339,48 @@ }, "@sindresorhus/is": { "version": "0.14.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "@szmarczak/http-timer": { "version": "1.1.2", - "dev": true, "optional": true, - "peer": true, "requires": { "defer-to-connect": "^1.0.1" } }, "@types/bn.js": { "version": "4.11.6", - "dev": true, - "peer": true, "requires": { "@types/node": "*" } }, "@types/node": { - "version": "14.14.20", - "dev": true, - "peer": true + "version": "14.14.20" }, "@types/pbkdf2": { "version": "3.1.0", - "dev": true, - "peer": true, "requires": { "@types/node": "*" } }, "@types/secp256k1": { "version": "4.0.1", - "dev": true, - "peer": true, "requires": { "@types/node": "*" } }, "@yarnpkg/lockfile": { - "version": "1.1.0", - "dev": true, - "peer": true + "version": "1.1.0" }, "abstract-leveldown": { "version": "3.0.0", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } }, "accepts": { "version": "1.3.7", - "dev": true, "optional": true, - "peer": true, "requires": { "mime-types": "~2.1.24", "negotiator": "0.6.2" @@ -28888,14 +26388,10 @@ }, "aes-js": { "version": "3.1.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "ajv": { "version": "6.12.6", - "dev": true, - "peer": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -28905,51 +26401,35 @@ }, "ansi-styles": { "version": "3.2.1", - "dev": true, - "peer": true, "requires": { "color-convert": "^1.9.0" } }, "arr-diff": { - "version": "4.0.0", - "dev": true, - "peer": true + "version": "4.0.0" }, "arr-flatten": { - "version": "1.1.0", - "dev": true, - "peer": true + "version": "1.1.0" }, "arr-union": { - "version": "3.1.0", - "dev": true, - "peer": true + "version": "3.1.0" }, "array-flatten": { "version": "1.1.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "array-unique": { - "version": "0.3.2", - "dev": true, - "peer": true + "version": "0.3.2" }, "asn1": { "version": "0.2.4", - "dev": true, - "peer": true, "requires": { "safer-buffer": "~2.1.0" } }, "asn1.js": { "version": "5.4.1", - "dev": true, "optional": true, - "peer": true, "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", @@ -28958,60 +26438,40 @@ } }, "assert-plus": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "assign-symbols": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "async": { "version": "2.6.2", - "dev": true, - "peer": true, "requires": { "lodash": "^4.17.11" } }, "async-eventemitter": { "version": "0.2.4", - "dev": true, - "peer": true, "requires": { "async": "^2.4.0" } }, "async-limiter": { - "version": "1.0.1", - "dev": true, - "peer": true + "version": "1.0.1" }, "asynckit": { - "version": "0.4.0", - "dev": true, - "peer": true + "version": "0.4.0" }, "atob": { - "version": "2.1.2", - "dev": true, - "peer": true + "version": "2.1.2" }, "aws-sign2": { - "version": "0.7.0", - "dev": true, - "peer": true + "version": "0.7.0" }, "aws4": { - "version": "1.11.0", - "dev": true, - "peer": true + "version": "1.11.0" }, "babel-code-frame": { "version": "6.26.0", - "dev": true, - "peer": true, "requires": { "chalk": "^1.1.3", "esutils": "^2.0.2", @@ -29019,19 +26479,13 @@ }, "dependencies": { "ansi-regex": { - "version": "2.1.1", - "dev": true, - "peer": true + "version": "2.1.1" }, "ansi-styles": { - "version": "2.2.1", - "dev": true, - "peer": true + "version": "2.2.1" }, "chalk": { "version": "1.1.3", - "dev": true, - "peer": true, "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -29041,29 +26495,21 @@ } }, "js-tokens": { - "version": "3.0.2", - "dev": true, - "peer": true + "version": "3.0.2" }, "strip-ansi": { "version": "3.0.1", - "dev": true, - "peer": true, "requires": { "ansi-regex": "^2.0.0" } }, "supports-color": { - "version": "2.0.0", - "dev": true, - "peer": true + "version": "2.0.0" } } }, "babel-core": { "version": "6.26.3", - "dev": true, - "peer": true, "requires": { "babel-code-frame": "^6.26.0", "babel-generator": "^6.26.0", @@ -29088,33 +26534,23 @@ "dependencies": { "debug": { "version": "2.6.9", - "dev": true, - "peer": true, "requires": { "ms": "2.0.0" } }, "json5": { - "version": "0.5.1", - "dev": true, - "peer": true + "version": "0.5.1" }, "ms": { - "version": "2.0.0", - "dev": true, - "peer": true + "version": "2.0.0" }, "slash": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" } } }, "babel-generator": { "version": "6.26.1", - "dev": true, - "peer": true, "requires": { "babel-messages": "^6.23.0", "babel-runtime": "^6.26.0", @@ -29127,16 +26563,12 @@ }, "dependencies": { "jsesc": { - "version": "1.3.0", - "dev": true, - "peer": true + "version": "1.3.0" } } }, "babel-helper-builder-binary-assignment-operator-visitor": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-explode-assignable-expression": "^6.24.1", "babel-runtime": "^6.22.0", @@ -29145,8 +26577,6 @@ }, "babel-helper-call-delegate": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-hoist-variables": "^6.24.1", "babel-runtime": "^6.22.0", @@ -29156,8 +26586,6 @@ }, "babel-helper-define-map": { "version": "6.26.0", - "dev": true, - "peer": true, "requires": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.26.0", @@ -29167,8 +26595,6 @@ }, "babel-helper-explode-assignable-expression": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0", "babel-traverse": "^6.24.1", @@ -29177,8 +26603,6 @@ }, "babel-helper-function-name": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-get-function-arity": "^6.24.1", "babel-runtime": "^6.22.0", @@ -29189,8 +26613,6 @@ }, "babel-helper-get-function-arity": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -29198,8 +26620,6 @@ }, "babel-helper-hoist-variables": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -29207,8 +26627,6 @@ }, "babel-helper-optimise-call-expression": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -29216,8 +26634,6 @@ }, "babel-helper-regex": { "version": "6.26.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", @@ -29226,8 +26642,6 @@ }, "babel-helper-remap-async-to-generator": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.22.0", @@ -29238,8 +26652,6 @@ }, "babel-helper-replace-supers": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-optimise-call-expression": "^6.24.1", "babel-messages": "^6.23.0", @@ -29251,8 +26663,6 @@ }, "babel-helpers": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0", "babel-template": "^6.24.1" @@ -29260,39 +26670,27 @@ }, "babel-messages": { "version": "6.23.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { "version": "6.22.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0" } }, "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "dev": true, - "peer": true + "version": "6.13.0" }, "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "dev": true, - "peer": true + "version": "6.13.0" }, "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "dev": true, - "peer": true + "version": "6.22.0" }, "babel-plugin-transform-async-to-generator": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-remap-async-to-generator": "^6.24.1", "babel-plugin-syntax-async-functions": "^6.8.0", @@ -29301,24 +26699,18 @@ }, "babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoped-functions": { "version": "6.22.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoping": { "version": "6.26.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.26.0", "babel-template": "^6.26.0", @@ -29329,8 +26721,6 @@ }, "babel-plugin-transform-es2015-classes": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-define-map": "^6.24.1", "babel-helper-function-name": "^6.24.1", @@ -29345,8 +26735,6 @@ }, "babel-plugin-transform-es2015-computed-properties": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0", "babel-template": "^6.24.1" @@ -29354,16 +26742,12 @@ }, "babel-plugin-transform-es2015-destructuring": { "version": "6.23.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-duplicate-keys": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -29371,16 +26755,12 @@ }, "babel-plugin-transform-es2015-for-of": { "version": "6.23.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.22.0", @@ -29389,16 +26769,12 @@ }, "babel-plugin-transform-es2015-literals": { "version": "6.22.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-modules-amd": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", "babel-runtime": "^6.22.0", @@ -29407,8 +26783,6 @@ }, "babel-plugin-transform-es2015-modules-commonjs": { "version": "6.26.2", - "dev": true, - "peer": true, "requires": { "babel-plugin-transform-strict-mode": "^6.24.1", "babel-runtime": "^6.26.0", @@ -29418,8 +26792,6 @@ }, "babel-plugin-transform-es2015-modules-systemjs": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-hoist-variables": "^6.24.1", "babel-runtime": "^6.22.0", @@ -29428,8 +26800,6 @@ }, "babel-plugin-transform-es2015-modules-umd": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-plugin-transform-es2015-modules-amd": "^6.24.1", "babel-runtime": "^6.22.0", @@ -29438,8 +26808,6 @@ }, "babel-plugin-transform-es2015-object-super": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-replace-supers": "^6.24.1", "babel-runtime": "^6.22.0" @@ -29447,8 +26815,6 @@ }, "babel-plugin-transform-es2015-parameters": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-call-delegate": "^6.24.1", "babel-helper-get-function-arity": "^6.24.1", @@ -29460,8 +26826,6 @@ }, "babel-plugin-transform-es2015-shorthand-properties": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -29469,16 +26833,12 @@ }, "babel-plugin-transform-es2015-spread": { "version": "6.22.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-regex": "^6.24.1", "babel-runtime": "^6.22.0", @@ -29487,24 +26847,18 @@ }, "babel-plugin-transform-es2015-template-literals": { "version": "6.22.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-typeof-symbol": { "version": "6.23.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-unicode-regex": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-regex": "^6.24.1", "babel-runtime": "^6.22.0", @@ -29513,8 +26867,6 @@ }, "babel-plugin-transform-exponentiation-operator": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", "babel-plugin-syntax-exponentiation-operator": "^6.8.0", @@ -29523,16 +26875,12 @@ }, "babel-plugin-transform-regenerator": { "version": "6.26.0", - "dev": true, - "peer": true, "requires": { "regenerator-transform": "^0.10.0" } }, "babel-plugin-transform-strict-mode": { "version": "6.24.1", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -29540,8 +26888,6 @@ }, "babel-preset-env": { "version": "1.7.0", - "dev": true, - "peer": true, "requires": { "babel-plugin-check-es2015-constants": "^6.22.0", "babel-plugin-syntax-trailing-function-commas": "^6.22.0", @@ -29576,16 +26922,12 @@ }, "dependencies": { "semver": { - "version": "5.7.1", - "dev": true, - "peer": true + "version": "5.7.1" } } }, "babel-register": { "version": "6.26.0", - "dev": true, - "peer": true, "requires": { "babel-core": "^6.26.0", "babel-runtime": "^6.26.0", @@ -29598,8 +26940,6 @@ "dependencies": { "source-map-support": { "version": "0.4.18", - "dev": true, - "peer": true, "requires": { "source-map": "^0.5.6" } @@ -29608,8 +26948,6 @@ }, "babel-runtime": { "version": "6.26.0", - "dev": true, - "peer": true, "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" @@ -29617,8 +26955,6 @@ }, "babel-template": { "version": "6.26.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", @@ -29629,8 +26965,6 @@ }, "babel-traverse": { "version": "6.26.0", - "dev": true, - "peer": true, "requires": { "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", @@ -29645,28 +26979,20 @@ "dependencies": { "debug": { "version": "2.6.9", - "dev": true, - "peer": true, "requires": { "ms": "2.0.0" } }, "globals": { - "version": "9.18.0", - "dev": true, - "peer": true + "version": "9.18.0" }, "ms": { - "version": "2.0.0", - "dev": true, - "peer": true + "version": "2.0.0" } } }, "babel-types": { "version": "6.26.0", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", @@ -29675,43 +27001,31 @@ }, "dependencies": { "to-fast-properties": { - "version": "1.0.3", - "dev": true, - "peer": true + "version": "1.0.3" } } }, "babelify": { "version": "7.3.0", - "dev": true, - "peer": true, "requires": { "babel-core": "^6.0.14", "object-assign": "^4.0.0" } }, "babylon": { - "version": "6.18.0", - "dev": true, - "peer": true + "version": "6.18.0" }, "backoff": { "version": "2.5.0", - "dev": true, - "peer": true, "requires": { "precond": "0.2" } }, "balanced-match": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "base": { "version": "0.11.2", - "dev": true, - "peer": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -29724,8 +27038,6 @@ "dependencies": { "define-property": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "is-descriptor": "^1.0.0" } @@ -29734,42 +27046,30 @@ }, "base-x": { "version": "3.0.8", - "dev": true, - "peer": true, "requires": { "safe-buffer": "^5.0.1" } }, "base64-js": { - "version": "1.5.1", - "dev": true, - "peer": true + "version": "1.5.1" }, "bcrypt-pbkdf": { "version": "1.0.2", - "dev": true, - "peer": true, "requires": { "tweetnacl": "^0.14.3" }, "dependencies": { "tweetnacl": { - "version": "0.14.5", - "dev": true, - "peer": true + "version": "0.14.5" } } }, "bignumber.js": { "version": "9.0.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "bip39": { "version": "2.5.0", - "dev": true, - "peer": true, "requires": { "create-hash": "^1.1.0", "pbkdf2": "^3.0.9", @@ -29779,26 +27079,18 @@ } }, "blakejs": { - "version": "1.1.0", - "dev": true, - "peer": true + "version": "1.1.0" }, "bluebird": { "version": "3.7.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "bn.js": { - "version": "4.11.9", - "dev": true, - "peer": true + "version": "4.11.9" }, "body-parser": { "version": "1.19.0", - "dev": true, "optional": true, - "peer": true, "requires": { "bytes": "3.1.0", "content-type": "~1.0.4", @@ -29814,45 +27106,33 @@ "dependencies": { "debug": { "version": "2.6.9", - "dev": true, "optional": true, - "peer": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "qs": { "version": "6.7.0", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "brace-expansion": { "version": "1.1.11", - "dev": true, - "peer": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "brorand": { - "version": "1.1.0", - "dev": true, - "peer": true + "version": "1.1.0" }, "browserify-aes": { "version": "1.2.0", - "dev": true, - "peer": true, "requires": { "buffer-xor": "^1.0.3", "cipher-base": "^1.0.0", @@ -29864,9 +27144,7 @@ }, "browserify-cipher": { "version": "1.0.1", - "dev": true, "optional": true, - "peer": true, "requires": { "browserify-aes": "^1.0.4", "browserify-des": "^1.0.0", @@ -29875,9 +27153,7 @@ }, "browserify-des": { "version": "1.0.2", - "dev": true, "optional": true, - "peer": true, "requires": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", @@ -29887,9 +27163,7 @@ }, "browserify-rsa": { "version": "4.1.0", - "dev": true, "optional": true, - "peer": true, "requires": { "bn.js": "^5.0.0", "randombytes": "^2.0.1" @@ -29897,17 +27171,13 @@ "dependencies": { "bn.js": { "version": "5.1.3", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "browserify-sign": { "version": "4.2.1", - "dev": true, "optional": true, - "peer": true, "requires": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", @@ -29922,15 +27192,11 @@ "dependencies": { "bn.js": { "version": "5.1.3", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "readable-stream": { "version": "3.6.0", - "dev": true, "optional": true, - "peer": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -29941,8 +27207,6 @@ }, "browserslist": { "version": "3.2.8", - "dev": true, - "peer": true, "requires": { "caniuse-lite": "^1.0.30000844", "electron-to-chromium": "^1.3.47" @@ -29950,16 +27214,12 @@ }, "bs58": { "version": "4.0.1", - "dev": true, - "peer": true, "requires": { "base-x": "^3.0.2" } }, "bs58check": { "version": "2.1.2", - "dev": true, - "peer": true, "requires": { "bs58": "^4.0.0", "create-hash": "^1.1.0", @@ -29968,47 +27228,33 @@ }, "buffer": { "version": "5.7.1", - "dev": true, - "peer": true, "requires": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "buffer-from": { - "version": "1.1.1", - "dev": true, - "peer": true + "version": "1.1.1" }, "buffer-to-arraybuffer": { "version": "0.0.5", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "buffer-xor": { - "version": "1.0.3", - "dev": true, - "peer": true + "version": "1.0.3" }, "bufferutil": { "version": "4.0.3", - "dev": true, - "peer": true, "requires": { "node-gyp-build": "^4.2.0" } }, "bytes": { "version": "3.1.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "bytewise": { "version": "1.1.0", - "dev": true, - "peer": true, "requires": { "bytewise-core": "^1.2.2", "typewise": "^1.0.3" @@ -30016,16 +27262,12 @@ }, "bytewise-core": { "version": "1.2.3", - "dev": true, - "peer": true, "requires": { "typewise-core": "^1.2" } }, "cache-base": { "version": "1.0.1", - "dev": true, - "peer": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -30040,9 +27282,7 @@ }, "cacheable-request": { "version": "6.1.0", - "dev": true, "optional": true, - "peer": true, "requires": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", @@ -30055,16 +27295,12 @@ "dependencies": { "lowercase-keys": { "version": "2.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "cachedown": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "^2.4.1", "lru-cache": "^3.2.0" @@ -30072,16 +27308,12 @@ "dependencies": { "abstract-leveldown": { "version": "2.7.2", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } }, "lru-cache": { "version": "3.2.0", - "dev": true, - "peer": true, "requires": { "pseudomap": "^1.0.1" } @@ -30090,27 +27322,19 @@ }, "call-bind": { "version": "1.0.2", - "dev": true, - "peer": true, "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" } }, "caniuse-lite": { - "version": "1.0.30001174", - "dev": true, - "peer": true + "version": "1.0.30001174" }, "caseless": { - "version": "0.12.0", - "dev": true, - "peer": true + "version": "0.12.0" }, "chalk": { "version": "2.4.2", - "dev": true, - "peer": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -30119,28 +27343,20 @@ }, "checkpoint-store": { "version": "1.1.0", - "dev": true, - "peer": true, "requires": { "functional-red-black-tree": "^1.0.1" } }, "chownr": { "version": "1.1.4", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "ci-info": { - "version": "2.0.0", - "dev": true, - "peer": true + "version": "2.0.0" }, "cids": { "version": "0.7.5", - "dev": true, "optional": true, - "peer": true, "requires": { "buffer": "^5.5.0", "class-is": "^1.1.0", @@ -30151,9 +27367,7 @@ "dependencies": { "multicodec": { "version": "1.0.4", - "dev": true, "optional": true, - "peer": true, "requires": { "buffer": "^5.6.0", "varint": "^5.0.0" @@ -30163,8 +27377,6 @@ }, "cipher-base": { "version": "1.0.4", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -30172,14 +27384,10 @@ }, "class-is": { "version": "1.1.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "class-utils": { "version": "0.3.6", - "dev": true, - "peer": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -30189,24 +27397,18 @@ "dependencies": { "define-property": { "version": "0.2.5", - "dev": true, - "peer": true, "requires": { "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { "version": "0.1.6", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -30214,22 +27416,16 @@ } }, "is-buffer": { - "version": "1.1.6", - "dev": true, - "peer": true + "version": "1.1.6" }, "is-data-descriptor": { "version": "0.1.4", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -30238,8 +27434,6 @@ }, "is-descriptor": { "version": "0.1.6", - "dev": true, - "peer": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -30247,30 +27441,22 @@ } }, "kind-of": { - "version": "5.1.0", - "dev": true, - "peer": true + "version": "5.1.0" } } }, "clone": { - "version": "2.1.2", - "dev": true, - "peer": true + "version": "2.1.2" }, "clone-response": { "version": "1.0.2", - "dev": true, "optional": true, - "peer": true, "requires": { "mimic-response": "^1.0.0" } }, "collection-visit": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -30278,39 +27464,27 @@ }, "color-convert": { "version": "1.9.3", - "dev": true, - "peer": true, "requires": { "color-name": "1.1.3" } }, "color-name": { - "version": "1.1.3", - "dev": true, - "peer": true + "version": "1.1.3" }, "combined-stream": { "version": "1.0.8", - "dev": true, - "peer": true, "requires": { "delayed-stream": "~1.0.0" } }, "component-emitter": { - "version": "1.3.0", - "dev": true, - "peer": true + "version": "1.3.0" }, "concat-map": { - "version": "0.0.1", - "dev": true, - "peer": true + "version": "0.0.1" }, "concat-stream": { "version": "1.6.2", - "dev": true, - "peer": true, "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -30320,26 +27494,20 @@ }, "content-disposition": { "version": "0.5.3", - "dev": true, "optional": true, - "peer": true, "requires": { "safe-buffer": "5.1.2" }, "dependencies": { "safe-buffer": { "version": "5.1.2", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "content-hash": { "version": "2.5.2", - "dev": true, "optional": true, - "peer": true, "requires": { "cids": "^0.7.1", "multicodec": "^0.5.5", @@ -30348,68 +27516,46 @@ }, "content-type": { "version": "1.0.4", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "convert-source-map": { "version": "1.7.0", - "dev": true, - "peer": true, "requires": { "safe-buffer": "~5.1.1" }, "dependencies": { "safe-buffer": { - "version": "5.1.2", - "dev": true, - "peer": true + "version": "5.1.2" } } }, "cookie": { "version": "0.4.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "cookie-signature": { "version": "1.0.6", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "cookiejar": { "version": "2.1.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "copy-descriptor": { - "version": "0.1.1", - "dev": true, - "peer": true + "version": "0.1.1" }, "core-js": { - "version": "2.6.12", - "dev": true, - "peer": true + "version": "2.6.12" }, "core-js-pure": { - "version": "3.8.2", - "dev": true, - "peer": true + "version": "3.8.2" }, "core-util-is": { - "version": "1.0.2", - "dev": true, - "peer": true + "version": "1.0.2" }, "cors": { "version": "2.8.5", - "dev": true, "optional": true, - "peer": true, "requires": { "object-assign": "^4", "vary": "^1" @@ -30417,9 +27563,7 @@ }, "create-ecdh": { "version": "4.0.4", - "dev": true, "optional": true, - "peer": true, "requires": { "bn.js": "^4.1.0", "elliptic": "^6.5.3" @@ -30427,8 +27571,6 @@ }, "create-hash": { "version": "1.2.0", - "dev": true, - "peer": true, "requires": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -30439,8 +27581,6 @@ }, "create-hmac": { "version": "1.1.7", - "dev": true, - "peer": true, "requires": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -30452,8 +27592,6 @@ }, "cross-fetch": { "version": "2.2.3", - "dev": true, - "peer": true, "requires": { "node-fetch": "2.1.2", "whatwg-fetch": "2.0.4" @@ -30461,9 +27599,7 @@ }, "crypto-browserify": { "version": "3.12.0", - "dev": true, "optional": true, - "peer": true, "requires": { "browserify-cipher": "^1.0.0", "browserify-sign": "^4.0.0", @@ -30480,8 +27616,6 @@ }, "d": { "version": "1.0.1", - "dev": true, - "peer": true, "requires": { "es5-ext": "^0.10.50", "type": "^1.0.1" @@ -30489,38 +27623,28 @@ }, "dashdash": { "version": "1.14.1", - "dev": true, - "peer": true, "requires": { "assert-plus": "^1.0.0" } }, "debug": { "version": "3.2.6", - "dev": true, - "peer": true, "requires": { "ms": "^2.1.1" } }, "decode-uri-component": { - "version": "0.2.0", - "dev": true, - "peer": true + "version": "0.2.0" }, "decompress-response": { "version": "3.3.0", - "dev": true, "optional": true, - "peer": true, "requires": { "mimic-response": "^1.0.0" } }, "deep-equal": { "version": "1.1.1", - "dev": true, - "peer": true, "requires": { "is-arguments": "^1.0.4", "is-date-object": "^1.0.1", @@ -30532,14 +27656,10 @@ }, "defer-to-connect": { "version": "1.1.3", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "deferred-leveldown": { "version": "4.0.2", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "~5.0.0", "inherits": "^2.0.3" @@ -30547,8 +27667,6 @@ "dependencies": { "abstract-leveldown": { "version": "5.0.0", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } @@ -30557,42 +27675,30 @@ }, "define-properties": { "version": "1.1.3", - "dev": true, - "peer": true, "requires": { "object-keys": "^1.0.12" } }, "define-property": { "version": "2.0.2", - "dev": true, - "peer": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" } }, "defined": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "delayed-stream": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "depd": { "version": "1.1.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "des.js": { "version": "1.0.1", - "dev": true, "optional": true, - "peer": true, "requires": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" @@ -30600,23 +27706,17 @@ }, "destroy": { "version": "1.0.4", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "detect-indent": { "version": "4.0.0", - "dev": true, - "peer": true, "requires": { "repeating": "^2.0.0" } }, "diffie-hellman": { "version": "5.0.3", - "dev": true, "optional": true, - "peer": true, "requires": { "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", @@ -30624,28 +27724,20 @@ } }, "dom-walk": { - "version": "0.1.2", - "dev": true, - "peer": true + "version": "0.1.2" }, "dotignore": { "version": "0.1.2", - "dev": true, - "peer": true, "requires": { "minimatch": "^3.0.4" } }, "duplexer3": { "version": "0.1.4", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "ecc-jsbn": { "version": "0.1.2", - "dev": true, - "peer": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -30653,19 +27745,13 @@ }, "ee-first": { "version": "1.1.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "electron-to-chromium": { - "version": "1.3.636", - "dev": true, - "peer": true + "version": "1.3.636" }, "elliptic": { "version": "6.5.3", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.4.0", "brorand": "^1.0.1", @@ -30678,22 +27764,16 @@ }, "encodeurl": { "version": "1.0.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "encoding": { "version": "0.1.13", - "dev": true, - "peer": true, "requires": { "iconv-lite": "^0.6.2" }, "dependencies": { "iconv-lite": { "version": "0.6.2", - "dev": true, - "peer": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } @@ -30702,8 +27782,6 @@ }, "encoding-down": { "version": "5.0.4", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "^5.0.0", "inherits": "^2.0.3", @@ -30714,8 +27792,6 @@ "dependencies": { "abstract-leveldown": { "version": "5.0.0", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } @@ -30724,24 +27800,18 @@ }, "end-of-stream": { "version": "1.4.4", - "dev": true, - "peer": true, "requires": { "once": "^1.4.0" } }, "errno": { "version": "0.1.8", - "dev": true, - "peer": true, "requires": { "prr": "~1.0.1" } }, "es-abstract": { "version": "1.18.0-next.1", - "dev": true, - "peer": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", @@ -30759,8 +27829,6 @@ }, "es-to-primitive": { "version": "1.2.1", - "dev": true, - "peer": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -30769,8 +27837,6 @@ }, "es5-ext": { "version": "0.10.53", - "dev": true, - "peer": true, "requires": { "es6-iterator": "~2.0.3", "es6-symbol": "~3.1.3", @@ -30779,8 +27845,6 @@ }, "es6-iterator": { "version": "2.0.3", - "dev": true, - "peer": true, "requires": { "d": "1", "es5-ext": "^0.10.35", @@ -30789,8 +27853,6 @@ }, "es6-symbol": { "version": "3.1.3", - "dev": true, - "peer": true, "requires": { "d": "^1.0.1", "ext": "^1.1.2" @@ -30798,30 +27860,20 @@ }, "escape-html": { "version": "1.0.3", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "peer": true + "version": "1.0.5" }, "esutils": { - "version": "2.0.3", - "dev": true, - "peer": true + "version": "2.0.3" }, "etag": { "version": "1.8.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "eth-block-tracker": { "version": "3.0.1", - "dev": true, - "peer": true, "requires": { "eth-query": "^2.1.0", "ethereumjs-tx": "^1.3.3", @@ -30834,8 +27886,6 @@ "dependencies": { "ethereumjs-tx": { "version": "1.3.7", - "dev": true, - "peer": true, "requires": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" @@ -30843,8 +27893,6 @@ }, "ethereumjs-util": { "version": "5.2.1", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -30856,17 +27904,13 @@ } }, "pify": { - "version": "2.3.0", - "dev": true, - "peer": true + "version": "2.3.0" } } }, "eth-ens-namehash": { "version": "2.0.8", - "dev": true, "optional": true, - "peer": true, "requires": { "idna-uts46-hx": "^2.3.1", "js-sha3": "^0.5.7" @@ -30874,8 +27918,6 @@ }, "eth-json-rpc-infura": { "version": "3.2.1", - "dev": true, - "peer": true, "requires": { "cross-fetch": "^2.1.1", "eth-json-rpc-middleware": "^1.5.0", @@ -30885,8 +27927,6 @@ }, "eth-json-rpc-middleware": { "version": "1.6.0", - "dev": true, - "peer": true, "requires": { "async": "^2.5.0", "eth-query": "^2.1.2", @@ -30905,24 +27945,18 @@ "dependencies": { "abstract-leveldown": { "version": "2.6.3", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } }, "deferred-leveldown": { "version": "1.2.2", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "~2.6.0" } }, "ethereumjs-account": { "version": "2.0.5", - "dev": true, - "peer": true, "requires": { "ethereumjs-util": "^5.0.0", "rlp": "^2.0.0", @@ -30931,8 +27965,6 @@ }, "ethereumjs-block": { "version": "1.7.1", - "dev": true, - "peer": true, "requires": { "async": "^2.0.1", "ethereum-common": "0.2.0", @@ -30942,16 +27974,12 @@ }, "dependencies": { "ethereum-common": { - "version": "0.2.0", - "dev": true, - "peer": true + "version": "0.2.0" } } }, "ethereumjs-tx": { "version": "1.3.7", - "dev": true, - "peer": true, "requires": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" @@ -30959,8 +27987,6 @@ }, "ethereumjs-util": { "version": "5.2.1", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -30973,8 +27999,6 @@ }, "ethereumjs-vm": { "version": "2.6.0", - "dev": true, - "peer": true, "requires": { "async": "^2.1.2", "async-eventemitter": "^0.2.2", @@ -30991,8 +28015,6 @@ "dependencies": { "ethereumjs-block": { "version": "2.2.2", - "dev": true, - "peer": true, "requires": { "async": "^2.0.1", "ethereumjs-common": "^1.5.0", @@ -31003,8 +28025,6 @@ "dependencies": { "ethereumjs-util": { "version": "5.2.1", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -31019,8 +28039,6 @@ }, "ethereumjs-tx": { "version": "2.1.2", - "dev": true, - "peer": true, "requires": { "ethereumjs-common": "^1.5.0", "ethereumjs-util": "^6.0.0" @@ -31028,8 +28046,6 @@ }, "ethereumjs-util": { "version": "6.2.1", - "dev": true, - "peer": true, "requires": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -31043,27 +28059,19 @@ } }, "isarray": { - "version": "0.0.1", - "dev": true, - "peer": true + "version": "0.0.1" }, "level-codec": { - "version": "7.0.1", - "dev": true, - "peer": true + "version": "7.0.1" }, "level-errors": { "version": "1.0.5", - "dev": true, - "peer": true, "requires": { "errno": "~0.1.1" } }, "level-iterator-stream": { "version": "1.3.1", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.1", "level-errors": "^1.0.3", @@ -31073,8 +28081,6 @@ "dependencies": { "readable-stream": { "version": "1.1.14", - "dev": true, - "peer": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -31086,8 +28092,6 @@ }, "level-ws": { "version": "0.0.0", - "dev": true, - "peer": true, "requires": { "readable-stream": "~1.0.15", "xtend": "~2.1.1" @@ -31095,8 +28099,6 @@ "dependencies": { "readable-stream": { "version": "1.0.34", - "dev": true, - "peer": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -31106,8 +28108,6 @@ }, "xtend": { "version": "2.1.2", - "dev": true, - "peer": true, "requires": { "object-keys": "~0.4.0" } @@ -31116,8 +28116,6 @@ }, "levelup": { "version": "1.3.9", - "dev": true, - "peer": true, "requires": { "deferred-leveldown": "~1.2.1", "level-codec": "~7.0.0", @@ -31129,14 +28127,10 @@ } }, "ltgt": { - "version": "2.2.1", - "dev": true, - "peer": true + "version": "2.2.1" }, "memdown": { "version": "1.4.1", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "~2.7.1", "functional-red-black-tree": "^1.0.1", @@ -31148,8 +28142,6 @@ "dependencies": { "abstract-leveldown": { "version": "2.7.2", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } @@ -31158,8 +28150,6 @@ }, "merkle-patricia-tree": { "version": "2.3.2", - "dev": true, - "peer": true, "requires": { "async": "^1.4.2", "ethereumjs-util": "^5.0.0", @@ -31172,39 +28162,27 @@ }, "dependencies": { "async": { - "version": "1.5.2", - "dev": true, - "peer": true + "version": "1.5.2" } } }, "object-keys": { - "version": "0.4.0", - "dev": true, - "peer": true + "version": "0.4.0" }, "safe-buffer": { - "version": "5.1.2", - "dev": true, - "peer": true + "version": "5.1.2" }, "semver": { - "version": "5.4.1", - "dev": true, - "peer": true + "version": "5.4.1" }, "string_decoder": { - "version": "0.10.31", - "dev": true, - "peer": true + "version": "0.10.31" } } }, "eth-lib": { "version": "0.1.29", - "dev": true, "optional": true, - "peer": true, "requires": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -31216,8 +28194,6 @@ }, "eth-query": { "version": "2.1.2", - "dev": true, - "peer": true, "requires": { "json-rpc-random-id": "^1.0.0", "xtend": "^4.0.1" @@ -31225,8 +28201,6 @@ }, "eth-sig-util": { "version": "3.0.0", - "dev": true, - "peer": true, "requires": { "buffer": "^5.2.1", "elliptic": "^6.4.0", @@ -31238,8 +28212,6 @@ "dependencies": { "ethereumjs-abi": { "version": "0.6.5", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.10.0", "ethereumjs-util": "^4.3.0" @@ -31247,8 +28219,6 @@ "dependencies": { "ethereumjs-util": { "version": "4.5.1", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.8.0", "create-hash": "^1.1.2", @@ -31261,8 +28231,6 @@ }, "ethereumjs-util": { "version": "5.2.1", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -31277,8 +28245,6 @@ }, "eth-tx-summary": { "version": "3.2.4", - "dev": true, - "peer": true, "requires": { "async": "^2.1.2", "clone": "^2.0.0", @@ -31294,24 +28260,18 @@ "dependencies": { "abstract-leveldown": { "version": "2.6.3", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } }, "deferred-leveldown": { "version": "1.2.2", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "~2.6.0" } }, "ethereumjs-account": { "version": "2.0.5", - "dev": true, - "peer": true, "requires": { "ethereumjs-util": "^5.0.0", "rlp": "^2.0.0", @@ -31320,8 +28280,6 @@ }, "ethereumjs-block": { "version": "1.7.1", - "dev": true, - "peer": true, "requires": { "async": "^2.0.1", "ethereum-common": "0.2.0", @@ -31331,16 +28289,12 @@ }, "dependencies": { "ethereum-common": { - "version": "0.2.0", - "dev": true, - "peer": true + "version": "0.2.0" } } }, "ethereumjs-tx": { "version": "1.3.7", - "dev": true, - "peer": true, "requires": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" @@ -31348,8 +28302,6 @@ }, "ethereumjs-util": { "version": "5.2.1", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -31362,8 +28314,6 @@ }, "ethereumjs-vm": { "version": "2.6.0", - "dev": true, - "peer": true, "requires": { "async": "^2.1.2", "async-eventemitter": "^0.2.2", @@ -31380,8 +28330,6 @@ "dependencies": { "ethereumjs-block": { "version": "2.2.2", - "dev": true, - "peer": true, "requires": { "async": "^2.0.1", "ethereumjs-common": "^1.5.0", @@ -31392,8 +28340,6 @@ "dependencies": { "ethereumjs-util": { "version": "5.2.1", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -31408,8 +28354,6 @@ }, "ethereumjs-tx": { "version": "2.1.2", - "dev": true, - "peer": true, "requires": { "ethereumjs-common": "^1.5.0", "ethereumjs-util": "^6.0.0" @@ -31417,8 +28361,6 @@ }, "ethereumjs-util": { "version": "6.2.1", - "dev": true, - "peer": true, "requires": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -31432,27 +28374,19 @@ } }, "isarray": { - "version": "0.0.1", - "dev": true, - "peer": true + "version": "0.0.1" }, "level-codec": { - "version": "7.0.1", - "dev": true, - "peer": true + "version": "7.0.1" }, "level-errors": { "version": "1.0.5", - "dev": true, - "peer": true, "requires": { "errno": "~0.1.1" } }, "level-iterator-stream": { "version": "1.3.1", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.1", "level-errors": "^1.0.3", @@ -31462,8 +28396,6 @@ "dependencies": { "readable-stream": { "version": "1.1.14", - "dev": true, - "peer": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -31475,8 +28407,6 @@ }, "level-ws": { "version": "0.0.0", - "dev": true, - "peer": true, "requires": { "readable-stream": "~1.0.15", "xtend": "~2.1.1" @@ -31484,8 +28414,6 @@ "dependencies": { "readable-stream": { "version": "1.0.34", - "dev": true, - "peer": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -31495,8 +28423,6 @@ }, "xtend": { "version": "2.1.2", - "dev": true, - "peer": true, "requires": { "object-keys": "~0.4.0" } @@ -31505,8 +28431,6 @@ }, "levelup": { "version": "1.3.9", - "dev": true, - "peer": true, "requires": { "deferred-leveldown": "~1.2.1", "level-codec": "~7.0.0", @@ -31518,14 +28442,10 @@ } }, "ltgt": { - "version": "2.2.1", - "dev": true, - "peer": true + "version": "2.2.1" }, "memdown": { "version": "1.4.1", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "~2.7.1", "functional-red-black-tree": "^1.0.1", @@ -31537,8 +28457,6 @@ "dependencies": { "abstract-leveldown": { "version": "2.7.2", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } @@ -31547,8 +28465,6 @@ }, "merkle-patricia-tree": { "version": "2.3.2", - "dev": true, - "peer": true, "requires": { "async": "^1.4.2", "ethereumjs-util": "^5.0.0", @@ -31561,38 +28477,26 @@ }, "dependencies": { "async": { - "version": "1.5.2", - "dev": true, - "peer": true + "version": "1.5.2" } } }, "object-keys": { - "version": "0.4.0", - "dev": true, - "peer": true + "version": "0.4.0" }, "safe-buffer": { - "version": "5.1.2", - "dev": true, - "peer": true + "version": "5.1.2" }, "semver": { - "version": "5.4.1", - "dev": true, - "peer": true + "version": "5.4.1" }, "string_decoder": { - "version": "0.10.31", - "dev": true, - "peer": true + "version": "0.10.31" } } }, "ethashjs": { "version": "0.0.8", - "dev": true, - "peer": true, "requires": { "async": "^2.1.2", "buffer-xor": "^2.0.1", @@ -31601,22 +28505,16 @@ }, "dependencies": { "bn.js": { - "version": "5.1.3", - "dev": true, - "peer": true + "version": "5.1.3" }, "buffer-xor": { "version": "2.0.2", - "dev": true, - "peer": true, "requires": { "safe-buffer": "^5.1.1" } }, "ethereumjs-util": { "version": "7.0.7", - "dev": true, - "peer": true, "requires": { "@types/bn.js": "^4.11.3", "bn.js": "^5.1.2", @@ -31630,30 +28528,22 @@ }, "ethereum-bloom-filters": { "version": "1.0.7", - "dev": true, "optional": true, - "peer": true, "requires": { "js-sha3": "^0.8.0" }, "dependencies": { "js-sha3": { "version": "0.8.0", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "ethereum-common": { - "version": "0.0.18", - "dev": true, - "peer": true + "version": "0.0.18" }, "ethereum-cryptography": { "version": "0.1.3", - "dev": true, - "peer": true, "requires": { "@types/pbkdf2": "^3.0.0", "@types/secp256k1": "^4.0.1", @@ -31674,8 +28564,6 @@ }, "ethereumjs-abi": { "version": "0.6.8", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.11.8", "ethereumjs-util": "^6.0.0" @@ -31683,8 +28571,6 @@ }, "ethereumjs-account": { "version": "3.0.0", - "dev": true, - "peer": true, "requires": { "ethereumjs-util": "^6.0.0", "rlp": "^2.2.1", @@ -31693,8 +28579,6 @@ }, "ethereumjs-block": { "version": "2.2.2", - "dev": true, - "peer": true, "requires": { "async": "^2.0.1", "ethereumjs-common": "^1.5.0", @@ -31705,24 +28589,18 @@ "dependencies": { "abstract-leveldown": { "version": "2.6.3", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } }, "deferred-leveldown": { "version": "1.2.2", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "~2.6.0" } }, "ethereumjs-util": { "version": "5.2.1", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -31734,27 +28612,19 @@ } }, "isarray": { - "version": "0.0.1", - "dev": true, - "peer": true + "version": "0.0.1" }, "level-codec": { - "version": "7.0.1", - "dev": true, - "peer": true + "version": "7.0.1" }, "level-errors": { "version": "1.0.5", - "dev": true, - "peer": true, "requires": { "errno": "~0.1.1" } }, "level-iterator-stream": { "version": "1.3.1", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.1", "level-errors": "^1.0.3", @@ -31764,8 +28634,6 @@ "dependencies": { "readable-stream": { "version": "1.1.14", - "dev": true, - "peer": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -31777,8 +28645,6 @@ }, "level-ws": { "version": "0.0.0", - "dev": true, - "peer": true, "requires": { "readable-stream": "~1.0.15", "xtend": "~2.1.1" @@ -31786,8 +28652,6 @@ "dependencies": { "readable-stream": { "version": "1.0.34", - "dev": true, - "peer": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -31797,8 +28661,6 @@ }, "xtend": { "version": "2.1.2", - "dev": true, - "peer": true, "requires": { "object-keys": "~0.4.0" } @@ -31807,8 +28669,6 @@ }, "levelup": { "version": "1.3.9", - "dev": true, - "peer": true, "requires": { "deferred-leveldown": "~1.2.1", "level-codec": "~7.0.0", @@ -31820,14 +28680,10 @@ } }, "ltgt": { - "version": "2.2.1", - "dev": true, - "peer": true + "version": "2.2.1" }, "memdown": { "version": "1.4.1", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "~2.7.1", "functional-red-black-tree": "^1.0.1", @@ -31839,8 +28695,6 @@ "dependencies": { "abstract-leveldown": { "version": "2.7.2", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } @@ -31849,8 +28703,6 @@ }, "merkle-patricia-tree": { "version": "2.3.2", - "dev": true, - "peer": true, "requires": { "async": "^1.4.2", "ethereumjs-util": "^5.0.0", @@ -31863,38 +28715,26 @@ }, "dependencies": { "async": { - "version": "1.5.2", - "dev": true, - "peer": true + "version": "1.5.2" } } }, "object-keys": { - "version": "0.4.0", - "dev": true, - "peer": true + "version": "0.4.0" }, "safe-buffer": { - "version": "5.1.2", - "dev": true, - "peer": true + "version": "5.1.2" }, "semver": { - "version": "5.4.1", - "dev": true, - "peer": true + "version": "5.4.1" }, "string_decoder": { - "version": "0.10.31", - "dev": true, - "peer": true + "version": "0.10.31" } } }, "ethereumjs-blockchain": { "version": "4.0.4", - "dev": true, - "peer": true, "requires": { "async": "^2.6.1", "ethashjs": "~0.0.7", @@ -31909,14 +28749,10 @@ } }, "ethereumjs-common": { - "version": "1.5.0", - "dev": true, - "peer": true + "version": "1.5.0" }, "ethereumjs-tx": { "version": "2.1.2", - "dev": true, - "peer": true, "requires": { "ethereumjs-common": "^1.5.0", "ethereumjs-util": "^6.0.0" @@ -31924,8 +28760,6 @@ }, "ethereumjs-util": { "version": "6.2.1", - "dev": true, - "peer": true, "requires": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -31938,8 +28772,6 @@ }, "ethereumjs-vm": { "version": "4.2.0", - "dev": true, - "peer": true, "requires": { "async": "^2.1.2", "async-eventemitter": "^0.2.2", @@ -31960,42 +28792,30 @@ "dependencies": { "abstract-leveldown": { "version": "2.6.3", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } }, "deferred-leveldown": { "version": "1.2.2", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "~2.6.0" } }, "isarray": { - "version": "0.0.1", - "dev": true, - "peer": true + "version": "0.0.1" }, "level-codec": { - "version": "7.0.1", - "dev": true, - "peer": true + "version": "7.0.1" }, "level-errors": { "version": "1.0.5", - "dev": true, - "peer": true, "requires": { "errno": "~0.1.1" } }, "level-iterator-stream": { "version": "1.3.1", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.1", "level-errors": "^1.0.3", @@ -32005,8 +28825,6 @@ "dependencies": { "readable-stream": { "version": "1.1.14", - "dev": true, - "peer": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -32018,8 +28836,6 @@ }, "level-ws": { "version": "0.0.0", - "dev": true, - "peer": true, "requires": { "readable-stream": "~1.0.15", "xtend": "~2.1.1" @@ -32027,8 +28843,6 @@ "dependencies": { "readable-stream": { "version": "1.0.34", - "dev": true, - "peer": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -32038,8 +28852,6 @@ }, "xtend": { "version": "2.1.2", - "dev": true, - "peer": true, "requires": { "object-keys": "~0.4.0" } @@ -32048,8 +28860,6 @@ }, "levelup": { "version": "1.3.9", - "dev": true, - "peer": true, "requires": { "deferred-leveldown": "~1.2.1", "level-codec": "~7.0.0", @@ -32061,14 +28871,10 @@ } }, "ltgt": { - "version": "2.2.1", - "dev": true, - "peer": true + "version": "2.2.1" }, "memdown": { "version": "1.4.1", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "~2.7.1", "functional-red-black-tree": "^1.0.1", @@ -32080,8 +28886,6 @@ "dependencies": { "abstract-leveldown": { "version": "2.7.2", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } @@ -32090,8 +28894,6 @@ }, "merkle-patricia-tree": { "version": "2.3.2", - "dev": true, - "peer": true, "requires": { "async": "^1.4.2", "ethereumjs-util": "^5.0.0", @@ -32104,14 +28906,10 @@ }, "dependencies": { "async": { - "version": "1.5.2", - "dev": true, - "peer": true + "version": "1.5.2" }, "ethereumjs-util": { "version": "5.2.1", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -32125,32 +28923,22 @@ } }, "object-keys": { - "version": "0.4.0", - "dev": true, - "peer": true + "version": "0.4.0" }, "safe-buffer": { - "version": "5.1.2", - "dev": true, - "peer": true + "version": "5.1.2" }, "semver": { - "version": "5.4.1", - "dev": true, - "peer": true + "version": "5.4.1" }, "string_decoder": { - "version": "0.10.31", - "dev": true, - "peer": true + "version": "0.10.31" } } }, "ethereumjs-wallet": { "version": "0.6.5", - "dev": true, "optional": true, - "peer": true, "requires": { "aes-js": "^3.1.1", "bs58check": "^2.1.2", @@ -32165,9 +28953,7 @@ }, "ethjs-unit": { "version": "0.1.6", - "dev": true, "optional": true, - "peer": true, "requires": { "bn.js": "4.11.6", "number-to-bn": "1.7.0" @@ -32175,16 +28961,12 @@ "dependencies": { "bn.js": { "version": "4.11.6", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "ethjs-util": { "version": "0.1.6", - "dev": true, - "peer": true, "requires": { "is-hex-prefixed": "1.0.0", "strip-hex-prefix": "1.0.0" @@ -32192,19 +28974,13 @@ }, "eventemitter3": { "version": "4.0.4", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "events": { - "version": "3.2.0", - "dev": true, - "peer": true + "version": "3.2.0" }, "evp_bytestokey": { "version": "1.0.3", - "dev": true, - "peer": true, "requires": { "md5.js": "^1.3.4", "safe-buffer": "^5.1.1" @@ -32212,8 +28988,6 @@ }, "expand-brackets": { "version": "2.1.4", - "dev": true, - "peer": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -32226,40 +29000,30 @@ "dependencies": { "debug": { "version": "2.6.9", - "dev": true, - "peer": true, "requires": { "ms": "2.0.0" } }, "define-property": { "version": "0.2.5", - "dev": true, - "peer": true, "requires": { "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", - "dev": true, - "peer": true, "requires": { "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { "version": "0.1.6", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -32267,22 +29031,16 @@ } }, "is-buffer": { - "version": "1.1.6", - "dev": true, - "peer": true + "version": "1.1.6" }, "is-data-descriptor": { "version": "0.1.4", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -32291,8 +29049,6 @@ }, "is-descriptor": { "version": "0.1.6", - "dev": true, - "peer": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -32300,27 +29056,19 @@ } }, "is-extendable": { - "version": "0.1.1", - "dev": true, - "peer": true + "version": "0.1.1" }, "kind-of": { - "version": "5.1.0", - "dev": true, - "peer": true + "version": "5.1.0" }, "ms": { - "version": "2.0.0", - "dev": true, - "peer": true + "version": "2.0.0" } } }, "express": { "version": "4.17.1", - "dev": true, "optional": true, - "peer": true, "requires": { "accepts": "~1.3.7", "array-flatten": "1.1.1", @@ -32356,57 +29104,41 @@ "dependencies": { "debug": { "version": "2.6.9", - "dev": true, "optional": true, - "peer": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "qs": { "version": "6.7.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "safe-buffer": { "version": "5.1.2", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "ext": { "version": "1.4.0", - "dev": true, - "peer": true, "requires": { "type": "^2.0.0" }, "dependencies": { "type": { - "version": "2.1.0", - "dev": true, - "peer": true + "version": "2.1.0" } } }, "extend": { - "version": "3.0.2", - "dev": true, - "peer": true + "version": "3.0.2" }, "extend-shallow": { "version": "3.0.2", - "dev": true, - "peer": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -32414,8 +29146,6 @@ }, "extglob": { "version": "2.0.4", - "dev": true, - "peer": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -32429,67 +29159,47 @@ "dependencies": { "define-property": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "is-descriptor": "^1.0.0" } }, "extend-shallow": { "version": "2.0.1", - "dev": true, - "peer": true, "requires": { "is-extendable": "^0.1.0" } }, "is-extendable": { - "version": "0.1.1", - "dev": true, - "peer": true + "version": "0.1.1" } } }, "extsprintf": { - "version": "1.3.0", - "dev": true, - "peer": true + "version": "1.3.0" }, "fake-merkle-patricia-tree": { "version": "1.0.1", - "dev": true, - "peer": true, "requires": { "checkpoint-store": "^1.1.0" } }, "fast-deep-equal": { - "version": "3.1.3", - "dev": true, - "peer": true + "version": "3.1.3" }, "fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "peer": true + "version": "2.1.0" }, "fetch-ponyfill": { "version": "4.1.0", - "dev": true, - "peer": true, "requires": { "node-fetch": "~1.7.1" }, "dependencies": { "is-stream": { - "version": "1.1.0", - "dev": true, - "peer": true + "version": "1.1.0" }, "node-fetch": { "version": "1.7.3", - "dev": true, - "peer": true, "requires": { "encoding": "^0.1.11", "is-stream": "^1.0.1" @@ -32499,9 +29209,7 @@ }, "finalhandler": { "version": "1.1.2", - "dev": true, "optional": true, - "peer": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -32514,25 +29222,19 @@ "dependencies": { "debug": { "version": "2.6.9", - "dev": true, "optional": true, - "peer": true, "requires": { "ms": "2.0.0" } }, "ms": { "version": "2.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "find-yarn-workspace-root": { "version": "1.2.1", - "dev": true, - "peer": true, "requires": { "fs-extra": "^4.0.3", "micromatch": "^3.1.4" @@ -32540,8 +29242,6 @@ "dependencies": { "braces": { "version": "2.3.2", - "dev": true, - "peer": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -32557,8 +29257,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "dev": true, - "peer": true, "requires": { "is-extendable": "^0.1.0" } @@ -32567,8 +29265,6 @@ }, "fill-range": { "version": "4.0.0", - "dev": true, - "peer": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -32578,8 +29274,6 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "dev": true, - "peer": true, "requires": { "is-extendable": "^0.1.0" } @@ -32588,8 +29282,6 @@ }, "fs-extra": { "version": "4.0.3", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -32597,27 +29289,19 @@ } }, "is-buffer": { - "version": "1.1.6", - "dev": true, - "peer": true + "version": "1.1.6" }, "is-extendable": { - "version": "0.1.1", - "dev": true, - "peer": true + "version": "0.1.1" }, "is-number": { "version": "3.0.0", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -32626,8 +29310,6 @@ }, "micromatch": { "version": "3.1.10", - "dev": true, - "peer": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -32646,8 +29328,6 @@ }, "to-regex-range": { "version": "2.1.1", - "dev": true, - "peer": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -32656,32 +29336,22 @@ } }, "flow-stoplight": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "for-each": { "version": "0.3.3", - "dev": true, - "peer": true, "requires": { "is-callable": "^1.1.3" } }, "for-in": { - "version": "1.0.2", - "dev": true, - "peer": true + "version": "1.0.2" }, "forever-agent": { - "version": "0.6.1", - "dev": true, - "peer": true + "version": "0.6.1" }, "form-data": { "version": "2.3.3", - "dev": true, - "peer": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -32690,28 +29360,20 @@ }, "forwarded": { "version": "0.1.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "fragment-cache": { "version": "0.2.1", - "dev": true, - "peer": true, "requires": { "map-cache": "^0.2.2" } }, "fresh": { "version": "0.5.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "fs-extra": { "version": "7.0.1", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -32719,24 +29381,16 @@ } }, "fs.realpath": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "function-bind": { - "version": "1.1.1", - "dev": true, - "peer": true + "version": "1.1.1" }, "functional-red-black-tree": { - "version": "1.0.1", - "dev": true, - "peer": true + "version": "1.0.1" }, "get-intrinsic": { "version": "1.0.2", - "dev": true, - "peer": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -32745,30 +29399,22 @@ }, "get-stream": { "version": "5.2.0", - "dev": true, "optional": true, - "peer": true, "requires": { "pump": "^3.0.0" } }, "get-value": { - "version": "2.0.6", - "dev": true, - "peer": true + "version": "2.0.6" }, "getpass": { "version": "0.1.7", - "dev": true, - "peer": true, "requires": { "assert-plus": "^1.0.0" } }, "glob": { "version": "7.1.3", - "dev": true, - "peer": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -32780,8 +29426,6 @@ }, "global": { "version": "4.4.0", - "dev": true, - "peer": true, "requires": { "min-document": "^2.19.0", "process": "^0.11.10" @@ -32789,9 +29433,7 @@ }, "got": { "version": "9.6.0", - "dev": true, "optional": true, - "peer": true, "requires": { "@sindresorhus/is": "^0.14.0", "@szmarczak/http-timer": "^1.1.2", @@ -32808,9 +29450,7 @@ "dependencies": { "get-stream": { "version": "4.1.0", - "dev": true, "optional": true, - "peer": true, "requires": { "pump": "^3.0.0" } @@ -32818,19 +29458,13 @@ } }, "graceful-fs": { - "version": "4.2.4", - "dev": true, - "peer": true + "version": "4.2.4" }, "har-schema": { - "version": "2.0.0", - "dev": true, - "peer": true + "version": "2.0.0" }, "har-validator": { "version": "5.1.5", - "dev": true, - "peer": true, "requires": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -32838,56 +29472,40 @@ }, "has": { "version": "1.0.3", - "dev": true, - "peer": true, "requires": { "function-bind": "^1.1.1" } }, "has-ansi": { "version": "2.0.0", - "dev": true, - "peer": true, "requires": { "ansi-regex": "^2.0.0" }, "dependencies": { "ansi-regex": { - "version": "2.1.1", - "dev": true, - "peer": true + "version": "2.1.1" } } }, "has-flag": { - "version": "3.0.0", - "dev": true, - "peer": true + "version": "3.0.0" }, "has-symbol-support-x": { "version": "1.4.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "has-symbols": { - "version": "1.0.1", - "dev": true, - "peer": true + "version": "1.0.1" }, "has-to-string-tag-x": { "version": "1.4.1", - "dev": true, "optional": true, - "peer": true, "requires": { "has-symbol-support-x": "^1.4.1" } }, "has-value": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -32896,30 +29514,22 @@ }, "has-values": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" }, "dependencies": { "is-buffer": { - "version": "1.1.6", - "dev": true, - "peer": true + "version": "1.1.6" }, "is-number": { "version": "3.0.0", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -32928,8 +29538,6 @@ }, "kind-of": { "version": "4.0.0", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -32938,8 +29546,6 @@ }, "hash-base": { "version": "3.1.0", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -32948,8 +29554,6 @@ "dependencies": { "readable-stream": { "version": "3.6.0", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -32960,22 +29564,16 @@ }, "hash.js": { "version": "1.1.7", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, "heap": { - "version": "0.2.6", - "dev": true, - "peer": true + "version": "0.2.6" }, "hmac-drbg": { "version": "1.0.1", - "dev": true, - "peer": true, "requires": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -32984,8 +29582,6 @@ }, "home-or-tmp": { "version": "2.0.0", - "dev": true, - "peer": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.1" @@ -32993,15 +29589,11 @@ }, "http-cache-semantics": { "version": "4.1.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "http-errors": { "version": "1.7.2", - "dev": true, "optional": true, - "peer": true, "requires": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -33012,22 +29604,16 @@ "dependencies": { "inherits": { "version": "2.0.3", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "http-https": { "version": "1.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "http-signature": { "version": "1.2.0", - "dev": true, - "peer": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -33036,114 +29622,82 @@ }, "iconv-lite": { "version": "0.4.24", - "dev": true, "optional": true, - "peer": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "idna-uts46-hx": { "version": "2.3.1", - "dev": true, "optional": true, - "peer": true, "requires": { "punycode": "2.1.0" }, "dependencies": { "punycode": { "version": "2.1.0", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "ieee754": { - "version": "1.2.1", - "dev": true, - "peer": true + "version": "1.2.1" }, "immediate": { - "version": "3.2.3", - "dev": true, - "peer": true + "version": "3.2.3" }, "inflight": { "version": "1.0.6", - "dev": true, - "peer": true, "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { - "version": "2.0.4", - "dev": true, - "peer": true + "version": "2.0.4" }, "invariant": { "version": "2.2.4", - "dev": true, - "peer": true, "requires": { "loose-envify": "^1.0.0" } }, "ipaddr.js": { "version": "1.9.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "is-accessor-descriptor": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "kind-of": "^6.0.0" } }, "is-arguments": { "version": "1.1.0", - "dev": true, - "peer": true, "requires": { "call-bind": "^1.0.0" } }, "is-callable": { - "version": "1.2.2", - "dev": true, - "peer": true + "version": "1.2.2" }, "is-ci": { "version": "2.0.0", - "dev": true, - "peer": true, "requires": { "ci-info": "^2.0.0" } }, "is-data-descriptor": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "kind-of": "^6.0.0" } }, "is-date-object": { - "version": "1.0.2", - "dev": true, - "peer": true + "version": "1.0.2" }, "is-descriptor": { "version": "1.0.2", - "dev": true, - "peer": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -33152,114 +29706,76 @@ }, "is-extendable": { "version": "1.0.1", - "dev": true, - "peer": true, "requires": { "is-plain-object": "^2.0.4" } }, "is-finite": { - "version": "1.1.0", - "dev": true, - "peer": true + "version": "1.1.0" }, "is-fn": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "is-function": { - "version": "1.0.2", - "dev": true, - "peer": true + "version": "1.0.2" }, "is-hex-prefixed": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "is-negative-zero": { - "version": "2.0.1", - "dev": true, - "peer": true + "version": "2.0.1" }, "is-object": { "version": "1.0.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "is-plain-obj": { "version": "1.1.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "is-plain-object": { "version": "2.0.4", - "dev": true, - "peer": true, "requires": { "isobject": "^3.0.1" } }, "is-regex": { "version": "1.1.1", - "dev": true, - "peer": true, "requires": { "has-symbols": "^1.0.1" } }, "is-retry-allowed": { "version": "1.2.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "is-symbol": { "version": "1.0.3", - "dev": true, - "peer": true, "requires": { "has-symbols": "^1.0.1" } }, "is-typedarray": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "is-windows": { - "version": "1.0.2", - "dev": true, - "peer": true + "version": "1.0.2" }, "isarray": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "isexe": { - "version": "2.0.0", - "dev": true, - "peer": true + "version": "2.0.0" }, "isobject": { - "version": "3.0.1", - "dev": true, - "peer": true + "version": "3.0.1" }, "isstream": { - "version": "0.1.2", - "dev": true, - "peer": true + "version": "0.1.2" }, "isurl": { "version": "1.0.0", - "dev": true, "optional": true, - "peer": true, "requires": { "has-to-string-tag-x": "^1.2.0", "is-object": "^1.0.1" @@ -33267,30 +29783,20 @@ }, "js-sha3": { "version": "0.5.7", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "js-tokens": { - "version": "4.0.0", - "dev": true, - "peer": true + "version": "4.0.0" }, "jsbn": { - "version": "0.1.1", - "dev": true, - "peer": true + "version": "0.1.1" }, "json-buffer": { "version": "3.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "json-rpc-engine": { "version": "3.8.0", - "dev": true, - "peer": true, "requires": { "async": "^2.0.1", "babel-preset-env": "^1.7.0", @@ -33302,57 +29808,39 @@ }, "json-rpc-error": { "version": "2.0.0", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.1" } }, "json-rpc-random-id": { - "version": "1.0.1", - "dev": true, - "peer": true + "version": "1.0.1" }, "json-schema": { - "version": "0.2.3", - "dev": true, - "peer": true + "version": "0.2.3" }, "json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "peer": true + "version": "0.4.1" }, "json-stable-stringify": { "version": "1.0.1", - "dev": true, - "peer": true, "requires": { "jsonify": "~0.0.0" } }, "json-stringify-safe": { - "version": "5.0.1", - "dev": true, - "peer": true + "version": "5.0.1" }, "jsonfile": { "version": "4.0.0", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.6" } }, "jsonify": { - "version": "0.0.0", - "dev": true, - "peer": true + "version": "0.0.0" }, "jsprim": { "version": "1.4.1", - "dev": true, - "peer": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -33363,8 +29851,6 @@ "keccak": { "version": "3.0.1", "bundled": true, - "dev": true, - "peer": true, "requires": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0" @@ -33372,46 +29858,34 @@ }, "keyv": { "version": "3.1.0", - "dev": true, "optional": true, - "peer": true, "requires": { "json-buffer": "3.0.0" } }, "kind-of": { - "version": "6.0.3", - "dev": true, - "peer": true + "version": "6.0.3" }, "klaw-sync": { "version": "6.0.0", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.11" } }, "level-codec": { "version": "9.0.2", - "dev": true, - "peer": true, "requires": { "buffer": "^5.6.0" } }, "level-errors": { "version": "2.0.1", - "dev": true, - "peer": true, "requires": { "errno": "~0.1.1" } }, "level-iterator-stream": { "version": "2.0.3", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.5", @@ -33420,8 +29894,6 @@ }, "level-mem": { "version": "3.0.1", - "dev": true, - "peer": true, "requires": { "level-packager": "~4.0.0", "memdown": "~3.0.0" @@ -33429,21 +29901,15 @@ "dependencies": { "abstract-leveldown": { "version": "5.0.0", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } }, "ltgt": { - "version": "2.2.1", - "dev": true, - "peer": true + "version": "2.2.1" }, "memdown": { "version": "3.0.0", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "~5.0.0", "functional-red-black-tree": "~1.0.1", @@ -33454,16 +29920,12 @@ } }, "safe-buffer": { - "version": "5.1.2", - "dev": true, - "peer": true + "version": "5.1.2" } } }, "level-packager": { "version": "4.0.1", - "dev": true, - "peer": true, "requires": { "encoding-down": "~5.0.0", "levelup": "^3.0.0" @@ -33471,16 +29933,12 @@ }, "level-post": { "version": "1.0.7", - "dev": true, - "peer": true, "requires": { "ltgt": "^2.1.2" } }, "level-sublevel": { "version": "6.6.4", - "dev": true, - "peer": true, "requires": { "bytewise": "~1.1.0", "level-codec": "^9.0.0", @@ -33496,8 +29954,6 @@ }, "level-ws": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.3", "readable-stream": "^2.2.8", @@ -33506,8 +29962,6 @@ }, "levelup": { "version": "3.1.1", - "dev": true, - "peer": true, "requires": { "deferred-leveldown": "~4.0.0", "level-errors": "~2.0.0", @@ -33517,8 +29971,6 @@ "dependencies": { "level-iterator-stream": { "version": "3.0.1", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.3.6", @@ -33528,59 +29980,41 @@ } }, "lodash": { - "version": "4.17.20", - "dev": true, - "peer": true + "version": "4.17.20" }, "looper": { - "version": "2.0.0", - "dev": true, - "peer": true + "version": "2.0.0" }, "loose-envify": { "version": "1.4.0", - "dev": true, - "peer": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } }, "lowercase-keys": { "version": "1.0.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "lru-cache": { "version": "5.1.1", - "dev": true, - "peer": true, "requires": { "yallist": "^3.0.2" } }, "ltgt": { - "version": "2.1.3", - "dev": true, - "peer": true + "version": "2.1.3" }, "map-cache": { - "version": "0.2.2", - "dev": true, - "peer": true + "version": "0.2.2" }, "map-visit": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "object-visit": "^1.0.0" } }, "md5.js": { "version": "1.3.5", - "dev": true, - "peer": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -33589,20 +30023,14 @@ }, "media-typer": { "version": "0.3.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "merge-descriptors": { "version": "1.0.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "merkle-patricia-tree": { "version": "3.0.0", - "dev": true, - "peer": true, "requires": { "async": "^2.6.1", "ethereumjs-util": "^5.2.0", @@ -33615,8 +30043,6 @@ "dependencies": { "ethereumjs-util": { "version": "5.2.1", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -33629,8 +30055,6 @@ }, "readable-stream": { "version": "3.6.0", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -33641,14 +30065,10 @@ }, "methods": { "version": "1.1.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "miller-rabin": { "version": "4.0.1", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -33656,74 +30076,52 @@ }, "mime": { "version": "1.6.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "mime-db": { - "version": "1.45.0", - "dev": true, - "peer": true + "version": "1.45.0" }, "mime-types": { "version": "2.1.28", - "dev": true, - "peer": true, "requires": { "mime-db": "1.45.0" } }, "mimic-response": { "version": "1.0.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "min-document": { "version": "2.19.0", - "dev": true, - "peer": true, "requires": { "dom-walk": "^0.1.0" } }, "minimalistic-assert": { - "version": "1.0.1", - "dev": true, - "peer": true + "version": "1.0.1" }, "minimalistic-crypto-utils": { - "version": "1.0.1", - "dev": true, - "peer": true + "version": "1.0.1" }, "minimatch": { "version": "3.0.4", - "dev": true, - "peer": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.5", - "dev": true, - "peer": true + "version": "1.2.5" }, "minizlib": { "version": "1.3.3", - "dev": true, "optional": true, - "peer": true, "requires": { "minipass": "^2.9.0" }, "dependencies": { "minipass": { "version": "2.9.0", - "dev": true, "optional": true, - "peer": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -33733,8 +30131,6 @@ }, "mixin-deep": { "version": "1.3.2", - "dev": true, - "peer": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -33742,37 +30138,27 @@ }, "mkdirp": { "version": "0.5.5", - "dev": true, - "peer": true, "requires": { "minimist": "^1.2.5" } }, "mkdirp-promise": { "version": "5.0.1", - "dev": true, "optional": true, - "peer": true, "requires": { "mkdirp": "*" } }, "mock-fs": { "version": "4.13.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "ms": { - "version": "2.1.3", - "dev": true, - "peer": true + "version": "2.1.3" }, "multibase": { "version": "0.6.1", - "dev": true, "optional": true, - "peer": true, "requires": { "base-x": "^3.0.8", "buffer": "^5.5.0" @@ -33780,18 +30166,14 @@ }, "multicodec": { "version": "0.5.7", - "dev": true, "optional": true, - "peer": true, "requires": { "varint": "^5.0.0" } }, "multihashes": { "version": "0.4.21", - "dev": true, "optional": true, - "peer": true, "requires": { "buffer": "^5.5.0", "multibase": "^0.7.0", @@ -33800,9 +30182,7 @@ "dependencies": { "multibase": { "version": "0.7.0", - "dev": true, "optional": true, - "peer": true, "requires": { "base-x": "^3.0.8", "buffer": "^5.5.0" @@ -33812,14 +30192,10 @@ }, "nano-json-stream-parser": { "version": "0.1.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "nanomatch": { "version": "1.2.13", - "dev": true, - "peer": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -33836,48 +30212,32 @@ }, "negotiator": { "version": "0.6.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "next-tick": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "nice-try": { - "version": "1.0.5", - "dev": true, - "peer": true + "version": "1.0.5" }, "node-addon-api": { "version": "2.0.2", - "bundled": true, - "dev": true, - "peer": true + "bundled": true }, "node-fetch": { - "version": "2.1.2", - "dev": true, - "peer": true + "version": "2.1.2" }, "node-gyp-build": { "version": "4.2.3", - "bundled": true, - "dev": true, - "peer": true + "bundled": true }, "normalize-url": { "version": "4.5.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "number-to-bn": { "version": "1.7.0", - "dev": true, "optional": true, - "peer": true, "requires": { "bn.js": "4.11.6", "strip-hex-prefix": "1.0.0" @@ -33885,26 +30245,18 @@ "dependencies": { "bn.js": { "version": "4.11.6", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "oauth-sign": { - "version": "0.9.0", - "dev": true, - "peer": true + "version": "0.9.0" }, "object-assign": { - "version": "4.1.1", - "dev": true, - "peer": true + "version": "4.1.1" }, "object-copy": { "version": "0.1.0", - "dev": true, - "peer": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -33913,37 +30265,27 @@ "dependencies": { "define-property": { "version": "0.2.5", - "dev": true, - "peer": true, "requires": { "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { "version": "0.1.6", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.0.2" } }, "is-buffer": { - "version": "1.1.6", - "dev": true, - "peer": true + "version": "1.1.6" }, "is-data-descriptor": { "version": "0.1.4", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.0.2" } }, "is-descriptor": { "version": "0.1.6", - "dev": true, - "peer": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -33951,16 +30293,12 @@ }, "dependencies": { "kind-of": { - "version": "5.1.0", - "dev": true, - "peer": true + "version": "5.1.0" } } }, "kind-of": { "version": "3.2.2", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -33968,36 +30306,26 @@ } }, "object-inspect": { - "version": "1.9.0", - "dev": true, - "peer": true + "version": "1.9.0" }, "object-is": { "version": "1.1.4", - "dev": true, - "peer": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" } }, "object-keys": { - "version": "1.1.1", - "dev": true, - "peer": true + "version": "1.1.1" }, "object-visit": { "version": "1.0.1", - "dev": true, - "peer": true, "requires": { "isobject": "^3.0.0" } }, "object.assign": { "version": "4.1.2", - "dev": true, - "peer": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -34007,8 +30335,6 @@ }, "object.getownpropertydescriptors": { "version": "2.1.1", - "dev": true, - "peer": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -34017,76 +30343,56 @@ }, "object.pick": { "version": "1.3.0", - "dev": true, - "peer": true, "requires": { "isobject": "^3.0.1" } }, "oboe": { "version": "2.1.4", - "dev": true, "optional": true, - "peer": true, "requires": { "http-https": "^1.0.0" } }, "on-finished": { "version": "2.3.0", - "dev": true, "optional": true, - "peer": true, "requires": { "ee-first": "1.1.1" } }, "once": { "version": "1.4.0", - "dev": true, - "peer": true, "requires": { "wrappy": "1" } }, "os-homedir": { - "version": "1.0.2", - "dev": true, - "peer": true + "version": "1.0.2" }, "os-tmpdir": { - "version": "1.0.2", - "dev": true, - "peer": true + "version": "1.0.2" }, "p-cancelable": { "version": "1.1.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "p-timeout": { "version": "1.2.1", - "dev": true, "optional": true, - "peer": true, "requires": { "p-finally": "^1.0.0" }, "dependencies": { "p-finally": { "version": "1.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "parse-asn1": { "version": "5.1.6", - "dev": true, "optional": true, - "peer": true, "requires": { "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", @@ -34096,25 +30402,17 @@ } }, "parse-headers": { - "version": "2.0.3", - "dev": true, - "peer": true + "version": "2.0.3" }, "parseurl": { "version": "1.3.3", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "pascalcase": { - "version": "0.1.1", - "dev": true, - "peer": true + "version": "0.1.1" }, "patch-package": { "version": "6.2.2", - "dev": true, - "peer": true, "requires": { "@yarnpkg/lockfile": "^1.1.0", "chalk": "^2.4.2", @@ -34132,8 +30430,6 @@ "dependencies": { "cross-spawn": { "version": "6.0.5", - "dev": true, - "peer": true, "requires": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -34143,45 +30439,31 @@ } }, "path-key": { - "version": "2.0.1", - "dev": true, - "peer": true + "version": "2.0.1" }, "semver": { - "version": "5.7.1", - "dev": true, - "peer": true + "version": "5.7.1" }, "shebang-command": { "version": "1.2.0", - "dev": true, - "peer": true, "requires": { "shebang-regex": "^1.0.0" } }, "shebang-regex": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "slash": { - "version": "2.0.0", - "dev": true, - "peer": true + "version": "2.0.0" }, "tmp": { "version": "0.0.33", - "dev": true, - "peer": true, "requires": { "os-tmpdir": "~1.0.2" } }, "which": { "version": "1.3.1", - "dev": true, - "peer": true, "requires": { "isexe": "^2.0.0" } @@ -34189,25 +30471,17 @@ } }, "path-is-absolute": { - "version": "1.0.1", - "dev": true, - "peer": true + "version": "1.0.1" }, "path-parse": { - "version": "1.0.6", - "dev": true, - "peer": true + "version": "1.0.6" }, "path-to-regexp": { "version": "0.1.7", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "pbkdf2": { "version": "3.1.1", - "dev": true, - "peer": true, "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -34217,45 +30491,29 @@ } }, "performance-now": { - "version": "2.1.0", - "dev": true, - "peer": true + "version": "2.1.0" }, "posix-character-classes": { - "version": "0.1.1", - "dev": true, - "peer": true + "version": "0.1.1" }, "precond": { - "version": "0.2.3", - "dev": true, - "peer": true + "version": "0.2.3" }, "prepend-http": { "version": "2.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "private": { - "version": "0.1.8", - "dev": true, - "peer": true + "version": "0.1.8" }, "process": { - "version": "0.11.10", - "dev": true, - "peer": true + "version": "0.11.10" }, "process-nextick-args": { - "version": "2.0.1", - "dev": true, - "peer": true + "version": "2.0.1" }, "promise-to-callback": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "is-fn": "^1.0.0", "set-immediate-shim": "^1.0.1" @@ -34263,34 +30521,24 @@ }, "proxy-addr": { "version": "2.0.6", - "dev": true, "optional": true, - "peer": true, "requires": { "forwarded": "~0.1.2", "ipaddr.js": "1.9.1" } }, "prr": { - "version": "1.0.1", - "dev": true, - "peer": true + "version": "1.0.1" }, "pseudomap": { - "version": "1.0.2", - "dev": true, - "peer": true + "version": "1.0.2" }, "psl": { - "version": "1.8.0", - "dev": true, - "peer": true + "version": "1.8.0" }, "public-encrypt": { "version": "4.0.3", - "dev": true, "optional": true, - "peer": true, "requires": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", @@ -34301,19 +30549,13 @@ } }, "pull-cat": { - "version": "1.1.11", - "dev": true, - "peer": true + "version": "1.1.11" }, "pull-defer": { - "version": "0.2.3", - "dev": true, - "peer": true + "version": "0.2.3" }, "pull-level": { "version": "2.0.4", - "dev": true, - "peer": true, "requires": { "level-post": "^1.0.7", "pull-cat": "^1.1.9", @@ -34326,56 +30568,40 @@ }, "pull-live": { "version": "1.0.1", - "dev": true, - "peer": true, "requires": { "pull-cat": "^1.1.9", "pull-stream": "^3.4.0" } }, "pull-pushable": { - "version": "2.2.0", - "dev": true, - "peer": true + "version": "2.2.0" }, "pull-stream": { - "version": "3.6.14", - "dev": true, - "peer": true + "version": "3.6.14" }, "pull-window": { "version": "2.1.4", - "dev": true, - "peer": true, "requires": { "looper": "^2.0.0" } }, "pump": { "version": "3.0.0", - "dev": true, "optional": true, - "peer": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "punycode": { - "version": "2.1.1", - "dev": true, - "peer": true + "version": "2.1.1" }, "qs": { - "version": "6.5.2", - "dev": true, - "peer": true + "version": "6.5.2" }, "query-string": { "version": "5.1.1", - "dev": true, "optional": true, - "peer": true, "requires": { "decode-uri-component": "^0.2.0", "object-assign": "^4.1.0", @@ -34384,17 +30610,13 @@ }, "randombytes": { "version": "2.1.0", - "dev": true, - "peer": true, "requires": { "safe-buffer": "^5.1.0" } }, "randomfill": { "version": "1.0.4", - "dev": true, "optional": true, - "peer": true, "requires": { "randombytes": "^2.0.5", "safe-buffer": "^5.1.0" @@ -34402,15 +30624,11 @@ }, "range-parser": { "version": "1.2.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "raw-body": { "version": "2.4.0", - "dev": true, "optional": true, - "peer": true, "requires": { "bytes": "3.1.0", "http-errors": "1.7.2", @@ -34420,8 +30638,6 @@ }, "readable-stream": { "version": "2.3.7", - "dev": true, - "peer": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -34433,26 +30649,18 @@ }, "dependencies": { "safe-buffer": { - "version": "5.1.2", - "dev": true, - "peer": true + "version": "5.1.2" } } }, "regenerate": { - "version": "1.4.2", - "dev": true, - "peer": true + "version": "1.4.2" }, "regenerator-runtime": { - "version": "0.11.1", - "dev": true, - "peer": true + "version": "0.11.1" }, "regenerator-transform": { "version": "0.10.1", - "dev": true, - "peer": true, "requires": { "babel-runtime": "^6.18.0", "babel-types": "^6.19.0", @@ -34461,8 +30669,6 @@ }, "regex-not": { "version": "1.0.2", - "dev": true, - "peer": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -34470,8 +30676,6 @@ }, "regexp.prototype.flags": { "version": "1.3.0", - "dev": true, - "peer": true, "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.0-next.1" @@ -34479,8 +30683,6 @@ "dependencies": { "es-abstract": { "version": "1.17.7", - "dev": true, - "peer": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", @@ -34499,8 +30701,6 @@ }, "regexpu-core": { "version": "2.0.0", - "dev": true, - "peer": true, "requires": { "regenerate": "^1.2.1", "regjsgen": "^0.2.0", @@ -34508,47 +30708,33 @@ } }, "regjsgen": { - "version": "0.2.0", - "dev": true, - "peer": true + "version": "0.2.0" }, "regjsparser": { "version": "0.1.5", - "dev": true, - "peer": true, "requires": { "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { - "version": "0.5.0", - "dev": true, - "peer": true + "version": "0.5.0" } } }, "repeat-element": { - "version": "1.1.3", - "dev": true, - "peer": true + "version": "1.1.3" }, "repeat-string": { - "version": "1.6.1", - "dev": true, - "peer": true + "version": "1.6.1" }, "repeating": { "version": "2.0.1", - "dev": true, - "peer": true, "requires": { "is-finite": "^1.0.0" } }, "request": { "version": "2.88.2", - "dev": true, - "peer": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -34573,44 +30759,32 @@ } }, "resolve-url": { - "version": "0.2.1", - "dev": true, - "peer": true + "version": "0.2.1" }, "responselike": { "version": "1.0.2", - "dev": true, "optional": true, - "peer": true, "requires": { "lowercase-keys": "^1.0.0" } }, "resumer": { "version": "0.0.0", - "dev": true, - "peer": true, "requires": { "through": "~2.3.4" } }, "ret": { - "version": "0.1.15", - "dev": true, - "peer": true + "version": "0.1.15" }, "rimraf": { "version": "2.6.3", - "dev": true, - "peer": true, "requires": { "glob": "^7.1.3" } }, "ripemd160": { "version": "2.0.2", - "dev": true, - "peer": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -34618,61 +30792,43 @@ }, "rlp": { "version": "2.2.6", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.11.1" } }, "rustbn.js": { - "version": "0.2.0", - "dev": true, - "peer": true + "version": "0.2.0" }, "safe-buffer": { - "version": "5.2.1", - "dev": true, - "peer": true + "version": "5.2.1" }, "safe-event-emitter": { "version": "1.0.1", - "dev": true, - "peer": true, "requires": { "events": "^3.0.0" } }, "safe-regex": { "version": "1.1.0", - "dev": true, - "peer": true, "requires": { "ret": "~0.1.10" } }, "safer-buffer": { - "version": "2.1.2", - "dev": true, - "peer": true + "version": "2.1.2" }, "scrypt-js": { - "version": "3.0.1", - "dev": true, - "peer": true + "version": "3.0.1" }, "scryptsy": { "version": "1.2.1", - "dev": true, "optional": true, - "peer": true, "requires": { "pbkdf2": "^3.0.3" } }, "secp256k1": { "version": "4.0.2", - "dev": true, - "peer": true, "requires": { "elliptic": "^6.5.2", "node-addon-api": "^2.0.0", @@ -34680,20 +30836,14 @@ } }, "seedrandom": { - "version": "3.0.1", - "dev": true, - "peer": true + "version": "3.0.1" }, "semaphore": { - "version": "1.1.0", - "dev": true, - "peer": true + "version": "1.1.0" }, "send": { "version": "0.17.1", - "dev": true, "optional": true, - "peer": true, "requires": { "debug": "2.6.9", "depd": "~1.1.2", @@ -34712,34 +30862,26 @@ "dependencies": { "debug": { "version": "2.6.9", - "dev": true, "optional": true, - "peer": true, "requires": { "ms": "2.0.0" }, "dependencies": { "ms": { "version": "2.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "ms": { "version": "2.1.1", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "serve-static": { "version": "1.14.1", - "dev": true, "optional": true, - "peer": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -34749,9 +30891,7 @@ }, "servify": { "version": "0.1.12", - "dev": true, "optional": true, - "peer": true, "requires": { "body-parser": "^1.16.0", "cors": "^2.8.1", @@ -34761,14 +30901,10 @@ } }, "set-immediate-shim": { - "version": "1.0.1", - "dev": true, - "peer": true + "version": "1.0.1" }, "set-value": { "version": "2.0.1", - "dev": true, - "peer": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -34778,34 +30914,24 @@ "dependencies": { "extend-shallow": { "version": "2.0.1", - "dev": true, - "peer": true, "requires": { "is-extendable": "^0.1.0" } }, "is-extendable": { - "version": "0.1.1", - "dev": true, - "peer": true + "version": "0.1.1" } } }, "setimmediate": { - "version": "1.0.5", - "dev": true, - "peer": true + "version": "1.0.5" }, "setprototypeof": { "version": "1.1.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "sha.js": { "version": "2.4.11", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -34813,15 +30939,11 @@ }, "simple-concat": { "version": "1.0.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "simple-get": { "version": "2.8.1", - "dev": true, "optional": true, - "peer": true, "requires": { "decompress-response": "^3.3.0", "once": "^1.3.1", @@ -34830,8 +30952,6 @@ }, "snapdragon": { "version": "0.8.2", - "dev": true, - "peer": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -34845,40 +30965,30 @@ "dependencies": { "debug": { "version": "2.6.9", - "dev": true, - "peer": true, "requires": { "ms": "2.0.0" } }, "define-property": { "version": "0.2.5", - "dev": true, - "peer": true, "requires": { "is-descriptor": "^0.1.0" } }, "extend-shallow": { "version": "2.0.1", - "dev": true, - "peer": true, "requires": { "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { "version": "0.1.6", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -34886,22 +30996,16 @@ } }, "is-buffer": { - "version": "1.1.6", - "dev": true, - "peer": true + "version": "1.1.6" }, "is-data-descriptor": { "version": "0.1.4", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -34910,8 +31014,6 @@ }, "is-descriptor": { "version": "0.1.6", - "dev": true, - "peer": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -34919,26 +31021,18 @@ } }, "is-extendable": { - "version": "0.1.1", - "dev": true, - "peer": true + "version": "0.1.1" }, "kind-of": { - "version": "5.1.0", - "dev": true, - "peer": true + "version": "5.1.0" }, "ms": { - "version": "2.0.0", - "dev": true, - "peer": true + "version": "2.0.0" } } }, "snapdragon-node": { "version": "2.1.1", - "dev": true, - "peer": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -34947,8 +31041,6 @@ "dependencies": { "define-property": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "is-descriptor": "^1.0.0" } @@ -34957,21 +31049,15 @@ }, "snapdragon-util": { "version": "3.0.1", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.2.0" }, "dependencies": { "is-buffer": { - "version": "1.1.6", - "dev": true, - "peer": true + "version": "1.1.6" }, "kind-of": { "version": "3.2.2", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -34979,14 +31065,10 @@ } }, "source-map": { - "version": "0.5.7", - "dev": true, - "peer": true + "version": "0.5.7" }, "source-map-resolve": { "version": "0.5.3", - "dev": true, - "peer": true, "requires": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -34997,37 +31079,27 @@ }, "source-map-support": { "version": "0.5.12", - "dev": true, - "peer": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" }, "dependencies": { "source-map": { - "version": "0.6.1", - "dev": true, - "peer": true + "version": "0.6.1" } } }, "source-map-url": { - "version": "0.4.0", - "dev": true, - "peer": true + "version": "0.4.0" }, "split-string": { "version": "3.1.0", - "dev": true, - "peer": true, "requires": { "extend-shallow": "^3.0.0" } }, "sshpk": { "version": "1.16.1", - "dev": true, - "peer": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -35041,16 +31113,12 @@ }, "dependencies": { "tweetnacl": { - "version": "0.14.5", - "dev": true, - "peer": true + "version": "0.14.5" } } }, "static-extend": { "version": "0.1.2", - "dev": true, - "peer": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -35058,24 +31126,18 @@ "dependencies": { "define-property": { "version": "0.2.5", - "dev": true, - "peer": true, "requires": { "is-descriptor": "^0.1.0" } }, "is-accessor-descriptor": { "version": "0.1.6", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -35083,22 +31145,16 @@ } }, "is-buffer": { - "version": "1.1.6", - "dev": true, - "peer": true + "version": "1.1.6" }, "is-data-descriptor": { "version": "0.1.4", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { "version": "3.2.2", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -35107,8 +31163,6 @@ }, "is-descriptor": { "version": "0.1.6", - "dev": true, - "peer": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -35116,59 +31170,43 @@ } }, "kind-of": { - "version": "5.1.0", - "dev": true, - "peer": true + "version": "5.1.0" } } }, "statuses": { "version": "1.5.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "stream-to-pull-stream": { "version": "1.7.3", - "dev": true, - "peer": true, "requires": { "looper": "^3.0.0", "pull-stream": "^3.2.3" }, "dependencies": { "looper": { - "version": "3.0.0", - "dev": true, - "peer": true + "version": "3.0.0" } } }, "strict-uri-encode": { "version": "1.1.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "string_decoder": { "version": "1.1.1", - "dev": true, - "peer": true, "requires": { "safe-buffer": "~5.1.0" }, "dependencies": { "safe-buffer": { - "version": "5.1.2", - "dev": true, - "peer": true + "version": "5.1.2" } } }, "string.prototype.trim": { "version": "1.2.3", - "dev": true, - "peer": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -35177,8 +31215,6 @@ }, "string.prototype.trimend": { "version": "1.0.3", - "dev": true, - "peer": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" @@ -35186,8 +31222,6 @@ }, "string.prototype.trimstart": { "version": "1.0.3", - "dev": true, - "peer": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" @@ -35195,25 +31229,19 @@ }, "strip-hex-prefix": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "is-hex-prefixed": "1.0.0" } }, "supports-color": { "version": "5.5.0", - "dev": true, - "peer": true, "requires": { "has-flag": "^3.0.0" } }, "swarm-js": { "version": "0.1.40", - "dev": true, "optional": true, - "peer": true, "requires": { "bluebird": "^3.5.0", "buffer": "^5.0.5", @@ -35230,9 +31258,7 @@ "dependencies": { "fs-extra": { "version": "4.0.3", - "dev": true, "optional": true, - "peer": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -35241,15 +31267,11 @@ }, "get-stream": { "version": "3.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "got": { "version": "7.1.0", - "dev": true, "optional": true, - "peer": true, "requires": { "decompress-response": "^3.2.0", "duplexer3": "^0.1.4", @@ -35269,27 +31291,19 @@ }, "is-stream": { "version": "1.1.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "p-cancelable": { "version": "0.3.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "prepend-http": { "version": "1.0.4", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "url-parse-lax": { "version": "1.0.0", - "dev": true, "optional": true, - "peer": true, "requires": { "prepend-http": "^1.0.1" } @@ -35298,8 +31312,6 @@ }, "tape": { "version": "4.13.3", - "dev": true, - "peer": true, "requires": { "deep-equal": "~1.1.1", "defined": "~1.0.0", @@ -35320,8 +31332,6 @@ "dependencies": { "glob": { "version": "7.1.6", - "dev": true, - "peer": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -35333,21 +31343,15 @@ }, "is-regex": { "version": "1.0.5", - "dev": true, - "peer": true, "requires": { "has": "^1.0.3" } }, "object-inspect": { - "version": "1.7.0", - "dev": true, - "peer": true + "version": "1.7.0" }, "resolve": { "version": "1.17.0", - "dev": true, - "peer": true, "requires": { "path-parse": "^1.0.6" } @@ -35356,9 +31360,7 @@ }, "tar": { "version": "4.4.13", - "dev": true, "optional": true, - "peer": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -35371,18 +31373,14 @@ "dependencies": { "fs-minipass": { "version": "1.2.7", - "dev": true, "optional": true, - "peer": true, "requires": { "minipass": "^2.6.0" } }, "minipass": { "version": "2.9.0", - "dev": true, "optional": true, - "peer": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -35391,14 +31389,10 @@ } }, "through": { - "version": "2.3.8", - "dev": true, - "peer": true + "version": "2.3.8" }, "through2": { "version": "2.0.5", - "dev": true, - "peer": true, "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -35406,35 +31400,25 @@ }, "timed-out": { "version": "4.0.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "tmp": { "version": "0.1.0", - "dev": true, - "peer": true, "requires": { "rimraf": "^2.6.3" } }, "to-object-path": { "version": "0.3.0", - "dev": true, - "peer": true, "requires": { "kind-of": "^3.0.2" }, "dependencies": { "is-buffer": { - "version": "1.1.6", - "dev": true, - "peer": true + "version": "1.1.6" }, "kind-of": { "version": "3.2.2", - "dev": true, - "peer": true, "requires": { "is-buffer": "^1.1.5" } @@ -35443,14 +31427,10 @@ }, "to-readable-stream": { "version": "1.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "to-regex": { "version": "3.0.2", - "dev": true, - "peer": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -35460,104 +31440,72 @@ }, "toidentifier": { "version": "1.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "tough-cookie": { "version": "2.5.0", - "dev": true, - "peer": true, "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" } }, "trim-right": { - "version": "1.0.1", - "dev": true, - "peer": true + "version": "1.0.1" }, "tunnel-agent": { "version": "0.6.0", - "dev": true, - "peer": true, "requires": { "safe-buffer": "^5.0.1" } }, "tweetnacl": { - "version": "1.0.3", - "dev": true, - "peer": true + "version": "1.0.3" }, "tweetnacl-util": { - "version": "0.15.1", - "dev": true, - "peer": true + "version": "0.15.1" }, "type": { - "version": "1.2.0", - "dev": true, - "peer": true + "version": "1.2.0" }, "type-is": { "version": "1.6.18", - "dev": true, "optional": true, - "peer": true, "requires": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "typedarray": { - "version": "0.0.6", - "dev": true, - "peer": true + "version": "0.0.6" }, "typedarray-to-buffer": { "version": "3.1.5", - "dev": true, - "peer": true, "requires": { "is-typedarray": "^1.0.0" } }, "typewise": { "version": "1.0.3", - "dev": true, - "peer": true, "requires": { "typewise-core": "^1.2.0" } }, "typewise-core": { - "version": "1.2.0", - "dev": true, - "peer": true + "version": "1.2.0" }, "typewiselite": { - "version": "1.0.0", - "dev": true, - "peer": true + "version": "1.0.0" }, "ultron": { "version": "1.1.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "underscore": { "version": "1.9.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "union-value": { "version": "1.0.1", - "dev": true, - "peer": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -35566,32 +31514,22 @@ }, "dependencies": { "is-extendable": { - "version": "0.1.1", - "dev": true, - "peer": true + "version": "0.1.1" } } }, "universalify": { - "version": "0.1.2", - "dev": true, - "peer": true + "version": "0.1.2" }, "unorm": { - "version": "1.6.0", - "dev": true, - "peer": true + "version": "1.6.0" }, "unpipe": { "version": "1.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "unset-value": { "version": "1.0.0", - "dev": true, - "peer": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -35599,8 +31537,6 @@ "dependencies": { "has-value": { "version": "0.3.1", - "dev": true, - "peer": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -35609,8 +31545,6 @@ "dependencies": { "isobject": { "version": "2.1.0", - "dev": true, - "peer": true, "requires": { "isarray": "1.0.0" } @@ -35618,74 +31552,52 @@ } }, "has-values": { - "version": "0.1.4", - "dev": true, - "peer": true + "version": "0.1.4" } } }, "uri-js": { "version": "4.4.1", - "dev": true, - "peer": true, "requires": { "punycode": "^2.1.0" } }, "urix": { - "version": "0.1.0", - "dev": true, - "peer": true + "version": "0.1.0" }, "url-parse-lax": { "version": "3.0.0", - "dev": true, "optional": true, - "peer": true, "requires": { "prepend-http": "^2.0.0" } }, "url-set-query": { "version": "1.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "url-to-options": { "version": "1.0.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "use": { - "version": "3.1.1", - "dev": true, - "peer": true + "version": "3.1.1" }, "utf-8-validate": { "version": "5.0.4", - "dev": true, - "peer": true, "requires": { "node-gyp-build": "^4.2.0" } }, "utf8": { "version": "3.0.0", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "util-deprecate": { - "version": "1.0.2", - "dev": true, - "peer": true + "version": "1.0.2" }, "util.promisify": { "version": "1.1.1", - "dev": true, - "peer": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -35696,31 +31608,21 @@ }, "utils-merge": { "version": "1.0.1", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "uuid": { - "version": "3.4.0", - "dev": true, - "peer": true + "version": "3.4.0" }, "varint": { "version": "5.0.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "vary": { "version": "1.1.2", - "dev": true, - "optional": true, - "peer": true + "optional": true }, "verror": { "version": "1.10.0", - "dev": true, - "peer": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -35729,9 +31631,7 @@ }, "web3": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "web3-bzz": "1.2.11", "web3-core": "1.2.11", @@ -35744,9 +31644,7 @@ }, "web3-bzz": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "@types/node": "^12.12.6", "got": "9.6.0", @@ -35756,17 +31654,13 @@ "dependencies": { "@types/node": { "version": "12.19.12", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "web3-core": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "@types/bn.js": "^4.11.5", "@types/node": "^12.12.6", @@ -35779,17 +31673,13 @@ "dependencies": { "@types/node": { "version": "12.19.12", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "web3-core-helpers": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "underscore": "1.9.1", "web3-eth-iban": "1.2.11", @@ -35798,9 +31688,7 @@ }, "web3-core-method": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/transactions": "^5.0.0-beta.135", "underscore": "1.9.1", @@ -35812,18 +31700,14 @@ }, "web3-core-promievent": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "eventemitter3": "4.0.4" } }, "web3-core-requestmanager": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "underscore": "1.9.1", "web3-core-helpers": "1.2.11", @@ -35834,9 +31718,7 @@ }, "web3-core-subscriptions": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "eventemitter3": "4.0.4", "underscore": "1.9.1", @@ -35845,9 +31727,7 @@ }, "web3-eth": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "underscore": "1.9.1", "web3-core": "1.2.11", @@ -35866,9 +31746,7 @@ }, "web3-eth-abi": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "@ethersproject/abi": "5.0.0-beta.153", "underscore": "1.9.1", @@ -35877,9 +31755,7 @@ }, "web3-eth-accounts": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "crypto-browserify": "3.12.0", "eth-lib": "0.2.8", @@ -35896,9 +31772,7 @@ "dependencies": { "eth-lib": { "version": "0.2.8", - "dev": true, "optional": true, - "peer": true, "requires": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -35907,17 +31781,13 @@ }, "uuid": { "version": "3.3.2", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "web3-eth-contract": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "@types/bn.js": "^4.11.5", "underscore": "1.9.1", @@ -35932,9 +31802,7 @@ }, "web3-eth-ens": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "content-hash": "^2.5.2", "eth-ens-namehash": "2.0.8", @@ -35949,9 +31817,7 @@ }, "web3-eth-iban": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "bn.js": "^4.11.9", "web3-utils": "1.2.11" @@ -35959,9 +31825,7 @@ }, "web3-eth-personal": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "@types/node": "^12.12.6", "web3-core": "1.2.11", @@ -35973,17 +31837,13 @@ "dependencies": { "@types/node": { "version": "12.19.12", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "web3-net": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "web3-core": "1.2.11", "web3-core-method": "1.2.11", @@ -35992,8 +31852,6 @@ }, "web3-provider-engine": { "version": "14.2.1", - "dev": true, - "peer": true, "requires": { "async": "^2.5.0", "backoff": "^2.5.0", @@ -36019,24 +31877,18 @@ "dependencies": { "abstract-leveldown": { "version": "2.6.3", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } }, "deferred-leveldown": { "version": "1.2.2", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "~2.6.0" } }, "eth-sig-util": { "version": "1.4.2", - "dev": true, - "peer": true, "requires": { "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", "ethereumjs-util": "^5.1.1" @@ -36044,8 +31896,6 @@ }, "ethereumjs-account": { "version": "2.0.5", - "dev": true, - "peer": true, "requires": { "ethereumjs-util": "^5.0.0", "rlp": "^2.0.0", @@ -36054,8 +31904,6 @@ }, "ethereumjs-block": { "version": "1.7.1", - "dev": true, - "peer": true, "requires": { "async": "^2.0.1", "ethereum-common": "0.2.0", @@ -36065,16 +31913,12 @@ }, "dependencies": { "ethereum-common": { - "version": "0.2.0", - "dev": true, - "peer": true + "version": "0.2.0" } } }, "ethereumjs-tx": { "version": "1.3.7", - "dev": true, - "peer": true, "requires": { "ethereum-common": "^0.0.18", "ethereumjs-util": "^5.0.0" @@ -36082,8 +31926,6 @@ }, "ethereumjs-util": { "version": "5.2.1", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -36096,8 +31938,6 @@ }, "ethereumjs-vm": { "version": "2.6.0", - "dev": true, - "peer": true, "requires": { "async": "^2.1.2", "async-eventemitter": "^0.2.2", @@ -36114,8 +31954,6 @@ "dependencies": { "ethereumjs-block": { "version": "2.2.2", - "dev": true, - "peer": true, "requires": { "async": "^2.0.1", "ethereumjs-common": "^1.5.0", @@ -36126,8 +31964,6 @@ "dependencies": { "ethereumjs-util": { "version": "5.2.1", - "dev": true, - "peer": true, "requires": { "bn.js": "^4.11.0", "create-hash": "^1.1.2", @@ -36142,8 +31978,6 @@ }, "ethereumjs-tx": { "version": "2.1.2", - "dev": true, - "peer": true, "requires": { "ethereumjs-common": "^1.5.0", "ethereumjs-util": "^6.0.0" @@ -36151,8 +31985,6 @@ }, "ethereumjs-util": { "version": "6.2.1", - "dev": true, - "peer": true, "requires": { "@types/bn.js": "^4.11.3", "bn.js": "^4.11.0", @@ -36166,27 +31998,19 @@ } }, "isarray": { - "version": "0.0.1", - "dev": true, - "peer": true + "version": "0.0.1" }, "level-codec": { - "version": "7.0.1", - "dev": true, - "peer": true + "version": "7.0.1" }, "level-errors": { "version": "1.0.5", - "dev": true, - "peer": true, "requires": { "errno": "~0.1.1" } }, "level-iterator-stream": { "version": "1.3.1", - "dev": true, - "peer": true, "requires": { "inherits": "^2.0.1", "level-errors": "^1.0.3", @@ -36196,8 +32020,6 @@ "dependencies": { "readable-stream": { "version": "1.1.14", - "dev": true, - "peer": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -36209,8 +32031,6 @@ }, "level-ws": { "version": "0.0.0", - "dev": true, - "peer": true, "requires": { "readable-stream": "~1.0.15", "xtend": "~2.1.1" @@ -36218,8 +32038,6 @@ "dependencies": { "readable-stream": { "version": "1.0.34", - "dev": true, - "peer": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -36229,8 +32047,6 @@ }, "xtend": { "version": "2.1.2", - "dev": true, - "peer": true, "requires": { "object-keys": "~0.4.0" } @@ -36239,8 +32055,6 @@ }, "levelup": { "version": "1.3.9", - "dev": true, - "peer": true, "requires": { "deferred-leveldown": "~1.2.1", "level-codec": "~7.0.0", @@ -36252,14 +32066,10 @@ } }, "ltgt": { - "version": "2.2.1", - "dev": true, - "peer": true + "version": "2.2.1" }, "memdown": { "version": "1.4.1", - "dev": true, - "peer": true, "requires": { "abstract-leveldown": "~2.7.1", "functional-red-black-tree": "^1.0.1", @@ -36271,8 +32081,6 @@ "dependencies": { "abstract-leveldown": { "version": "2.7.2", - "dev": true, - "peer": true, "requires": { "xtend": "~4.0.0" } @@ -36281,8 +32089,6 @@ }, "merkle-patricia-tree": { "version": "2.3.2", - "dev": true, - "peer": true, "requires": { "async": "^1.4.2", "ethereumjs-util": "^5.0.0", @@ -36295,36 +32101,24 @@ }, "dependencies": { "async": { - "version": "1.5.2", - "dev": true, - "peer": true + "version": "1.5.2" } } }, "object-keys": { - "version": "0.4.0", - "dev": true, - "peer": true + "version": "0.4.0" }, "safe-buffer": { - "version": "5.1.2", - "dev": true, - "peer": true + "version": "5.1.2" }, "semver": { - "version": "5.4.1", - "dev": true, - "peer": true + "version": "5.4.1" }, "string_decoder": { - "version": "0.10.31", - "dev": true, - "peer": true + "version": "0.10.31" }, "ws": { "version": "5.2.2", - "dev": true, - "peer": true, "requires": { "async-limiter": "~1.0.0" } @@ -36333,9 +32127,7 @@ }, "web3-providers-http": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "web3-core-helpers": "1.2.11", "xhr2-cookies": "1.1.0" @@ -36343,9 +32135,7 @@ }, "web3-providers-ipc": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "oboe": "2.1.4", "underscore": "1.9.1", @@ -36354,9 +32144,7 @@ }, "web3-providers-ws": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "eventemitter3": "4.0.4", "underscore": "1.9.1", @@ -36366,9 +32154,7 @@ }, "web3-shh": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "web3-core": "1.2.11", "web3-core-method": "1.2.11", @@ -36378,9 +32164,7 @@ }, "web3-utils": { "version": "1.2.11", - "dev": true, "optional": true, - "peer": true, "requires": { "bn.js": "^4.11.9", "eth-lib": "0.2.8", @@ -36394,9 +32178,7 @@ "dependencies": { "eth-lib": { "version": "0.2.8", - "dev": true, "optional": true, - "peer": true, "requires": { "bn.js": "^4.11.6", "elliptic": "^6.4.0", @@ -36407,8 +32189,6 @@ }, "websocket": { "version": "1.0.32", - "dev": true, - "peer": true, "requires": { "bufferutil": "^4.0.1", "debug": "^2.2.0", @@ -36420,34 +32200,24 @@ "dependencies": { "debug": { "version": "2.6.9", - "dev": true, - "peer": true, "requires": { "ms": "2.0.0" } }, "ms": { - "version": "2.0.0", - "dev": true, - "peer": true + "version": "2.0.0" } } }, "whatwg-fetch": { - "version": "2.0.4", - "dev": true, - "peer": true + "version": "2.0.4" }, "wrappy": { - "version": "1.0.2", - "dev": true, - "peer": true + "version": "1.0.2" }, "ws": { "version": "3.3.3", - "dev": true, "optional": true, - "peer": true, "requires": { "async-limiter": "~1.0.0", "safe-buffer": "~5.1.0", @@ -36456,16 +32226,12 @@ "dependencies": { "safe-buffer": { "version": "5.1.2", - "dev": true, - "optional": true, - "peer": true + "optional": true } } }, "xhr": { "version": "2.6.0", - "dev": true, - "peer": true, "requires": { "global": "~4.4.0", "is-function": "^1.0.1", @@ -36475,9 +32241,7 @@ }, "xhr-request": { "version": "1.1.0", - "dev": true, "optional": true, - "peer": true, "requires": { "buffer-to-arraybuffer": "^0.0.5", "object-assign": "^4.1.1", @@ -36490,56 +32254,43 @@ }, "xhr-request-promise": { "version": "0.1.3", - "dev": true, "optional": true, - "peer": true, "requires": { "xhr-request": "^1.1.0" } }, "xhr2-cookies": { "version": "1.1.0", - "dev": true, "optional": true, - "peer": true, "requires": { "cookiejar": "^2.1.1" } }, "xtend": { - "version": "4.0.2", - "dev": true, - "peer": true + "version": "4.0.2" }, "yaeti": { - "version": "0.0.6", - "dev": true, - "peer": true + "version": "0.0.6" }, "yallist": { - "version": "3.1.1", - "dev": true, - "peer": true + "version": "3.1.1" } } }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-func-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" }, "get-intrinsic": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -36575,7 +32326,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -36631,290 +32381,277 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dev": true, - "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - } - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "hardhat": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.9.3.tgz", - "integrity": "sha512-7Vw99RbYbMZ15UzegOR/nqIYIqddZXvLwJGaX5sX4G5bydILnbjmDU6g3jMKJSiArEixS3vHAEaOs5CW1JQ3hg==", - "dev": true, - "requires": { - "@ethereumjs/block": "^3.6.0", - "@ethereumjs/blockchain": "^5.5.0", - "@ethereumjs/common": "^2.6.0", - "@ethereumjs/tx": "^3.4.0", - "@ethereumjs/vm": "^5.6.0", - "@ethersproject/abi": "^5.1.2", - "@metamask/eth-sig-util": "^4.0.0", - "@sentry/node": "^5.18.1", - "@solidity-parser/parser": "^0.14.1", - "@types/bn.js": "^5.1.0", - "@types/lru-cache": "^5.1.0", - "abort-controller": "^3.0.0", - "adm-zip": "^0.4.16", - "aggregate-error": "^3.0.0", - "ansi-escapes": "^4.3.0", - "chalk": "^2.4.2", - "chokidar": "^3.4.0", - "ci-info": "^2.0.0", - "debug": "^4.1.1", - "enquirer": "^2.3.0", - "env-paths": "^2.2.0", - "ethereum-cryptography": "^0.1.2", - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^7.1.3", - "find-up": "^2.1.0", - "fp-ts": "1.19.3", - "fs-extra": "^7.0.1", - "glob": "^7.1.3", - "immutable": "^4.0.0-rc.12", - "io-ts": "1.10.4", - "lodash": "^4.17.11", - "merkle-patricia-tree": "^4.2.2", - "mnemonist": "^0.38.0", - "mocha": "^9.2.0", - "p-map": "^4.0.0", - "qs": "^6.7.0", - "raw-body": "^2.4.1", - "resolve": "1.17.0", - "semver": "^6.3.0", - "slash": "^3.0.0", - "solc": "0.7.3", - "source-map-support": "^0.5.13", - "stacktrace-parser": "^0.1.10", - "true-case-path": "^2.2.1", - "tsort": "0.0.1", - "undici": "^4.14.1", - "uuid": "^8.3.2", - "ws": "^7.4.6" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true, + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + } + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "hardhat": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.9.3.tgz", + "integrity": "sha512-7Vw99RbYbMZ15UzegOR/nqIYIqddZXvLwJGaX5sX4G5bydILnbjmDU6g3jMKJSiArEixS3vHAEaOs5CW1JQ3hg==", + "requires": { + "@ethereumjs/block": "^3.6.0", + "@ethereumjs/blockchain": "^5.5.0", + "@ethereumjs/common": "^2.6.0", + "@ethereumjs/tx": "^3.4.0", + "@ethereumjs/vm": "^5.6.0", + "@ethersproject/abi": "^5.1.2", + "@metamask/eth-sig-util": "^4.0.0", + "@sentry/node": "^5.18.1", + "@solidity-parser/parser": "^0.14.1", + "@types/bn.js": "^5.1.0", + "@types/lru-cache": "^5.1.0", + "abort-controller": "^3.0.0", + "adm-zip": "^0.4.16", + "aggregate-error": "^3.0.0", + "ansi-escapes": "^4.3.0", + "chalk": "^2.4.2", + "chokidar": "^3.4.0", + "ci-info": "^2.0.0", + "debug": "^4.1.1", + "enquirer": "^2.3.0", + "env-paths": "^2.2.0", + "ethereum-cryptography": "^0.1.2", + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^7.1.3", + "find-up": "^2.1.0", + "fp-ts": "1.19.3", + "fs-extra": "^7.0.1", + "glob": "^7.1.3", + "immutable": "^4.0.0-rc.12", + "io-ts": "1.10.4", + "lodash": "^4.17.11", + "merkle-patricia-tree": "^4.2.2", + "mnemonist": "^0.38.0", + "mocha": "^9.2.0", + "p-map": "^4.0.0", + "qs": "^6.7.0", + "raw-body": "^2.4.1", + "resolve": "1.17.0", + "semver": "^6.3.0", + "slash": "^3.0.0", + "solc": "0.7.3", + "source-map-support": "^0.5.13", + "stacktrace-parser": "^0.1.10", + "true-case-path": "^2.2.1", + "tsort": "0.0.1", + "undici": "^4.14.1", + "uuid": "^8.3.2", + "ws": "^7.4.6" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, "fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -36924,14 +32661,12 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -36940,7 +32675,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -36948,14 +32682,12 @@ "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, "solc": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", - "dev": true, "requires": { "command-exists": "^1.2.8", "commander": "3.0.2", @@ -36972,7 +32704,6 @@ "version": "0.30.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^2.1.0", @@ -36985,7 +32716,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -36993,8 +32723,7 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, @@ -37002,7 +32731,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -37010,8 +32738,7 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" } } }, @@ -37030,7 +32757,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -37044,8 +32770,7 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-symbol-support-x": { "version": "1.4.2", @@ -37056,8 +32781,7 @@ "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "has-to-string-tag-x": { "version": "1.4.1", @@ -37081,7 +32805,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, "requires": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -37100,8 +32823,7 @@ "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "hmac-drbg": { "version": "1.0.1", @@ -37116,9 +32838,7 @@ "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true, - "peer": true + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, "http-basic": { "version": "8.1.3", @@ -37142,7 +32862,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, "requires": { "depd": "2.0.0", "inherits": "2.0.4", @@ -37178,7 +32897,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -37189,7 +32907,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, "requires": { "agent-base": "6", "debug": "4" @@ -37199,7 +32916,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -37208,7 +32924,6 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "dev": true, "requires": { "punycode": "2.1.0" } @@ -37216,8 +32931,7 @@ "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignore": { "version": "4.0.6", @@ -37228,14 +32942,12 @@ "immediate": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", - "dev": true + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" }, "immutable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", - "dev": true + "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" }, "import-fresh": { "version": "3.3.0", @@ -37256,14 +32968,12 @@ "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -37400,15 +33110,12 @@ "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true, - "peer": true + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, "io-ts": { "version": "1.10.4", "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", - "dev": true, "requires": { "fp-ts": "^1.0.0" } @@ -37432,8 +33139,7 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-bigint": { "version": "1.0.4", @@ -37448,7 +33154,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "requires": { "binary-extensions": "^2.0.0" } @@ -37479,8 +33184,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "peer": true, "requires": { "ci-info": "^2.0.0" } @@ -37503,15 +33206,12 @@ "is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "peer": true + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -37538,7 +33238,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -37546,8 +33245,7 @@ "is-hex-prefixed": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=", - "dev": true + "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" }, "is-negative-zero": { "version": "2.0.2", @@ -37558,8 +33256,7 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-number-object": { "version": "1.0.7", @@ -37579,8 +33276,7 @@ "is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" }, "is-regex": { "version": "1.1.4", @@ -37647,28 +33343,22 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" }, "is-url": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "dev": true, - "peer": true + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true, - "peer": true + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" }, "is-weakref": { "version": "1.0.2", @@ -37683,8 +33373,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "peer": true, "requires": { "is-docker": "^2.0.0" } @@ -37698,14 +33386,12 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "isurl": { "version": "1.0.0", @@ -37741,8 +33427,7 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "json-buffer": { "version": "3.0.0", @@ -37759,14 +33444,12 @@ "json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -37777,14 +33460,12 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" @@ -37800,7 +33481,6 @@ "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -37812,7 +33492,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "dev": true, "requires": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0", @@ -37838,7 +33517,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "dev": true, "requires": { "graceful-fs": "^4.1.9" } @@ -37847,8 +33525,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.11" } @@ -37857,8 +33533,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "peer": true, "requires": { "invert-kv": "^1.0.0" } @@ -37867,7 +33541,6 @@ "version": "9.0.2", "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", - "dev": true, "requires": { "buffer": "^5.6.0" } @@ -37875,14 +33548,12 @@ "level-concat-iterator": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", - "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", - "dev": true + "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==" }, "level-errors": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "dev": true, "requires": { "errno": "~0.1.1" } @@ -37891,7 +33562,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", - "dev": true, "requires": { "inherits": "^2.0.4", "readable-stream": "^3.4.0", @@ -37902,7 +33572,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", - "dev": true, "requires": { "level-packager": "^5.0.3", "memdown": "^5.0.0" @@ -37912,7 +33581,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", - "dev": true, "requires": { "encoding-down": "^6.3.0", "levelup": "^4.3.2" @@ -37922,7 +33590,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "dev": true, "requires": { "xtend": "^4.0.2" } @@ -37931,7 +33598,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", - "dev": true, "requires": { "inherits": "^2.0.3", "readable-stream": "^3.1.0", @@ -37942,7 +33608,6 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", - "dev": true, "requires": { "deferred-leveldown": "~5.3.0", "level-errors": "~2.0.0", @@ -37965,8 +33630,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -37979,8 +33642,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "peer": true, "requires": { "error-ex": "^1.2.0" } @@ -37988,9 +33649,7 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "peer": true + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, @@ -37998,7 +33657,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, "requires": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -38007,15 +33665,12 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash.assign": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true, - "peer": true + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" }, "lodash.merge": { "version": "4.6.2", @@ -38033,7 +33688,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, "requires": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -38043,7 +33697,6 @@ "version": "2.3.4", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", - "dev": true, "requires": { "get-func-name": "^2.0.0" } @@ -38057,14 +33710,12 @@ "lru_map": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=", - "dev": true + "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "requires": { "yallist": "^3.0.2" } @@ -38072,14 +33723,12 @@ "ltgt": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=", - "dev": true + "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" }, "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "markdown-table": { "version": "1.1.3", @@ -38090,14 +33739,12 @@ "mcl-wasm": { "version": "0.7.9", "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", - "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", - "dev": true + "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==" }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -38114,7 +33761,6 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", - "dev": true, "requires": { "abstract-leveldown": "~6.2.1", "functional-red-black-tree": "~1.0.1", @@ -38128,7 +33774,6 @@ "version": "6.2.3", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "dev": true, "requires": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -38140,16 +33785,14 @@ "immediate": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=", - "dev": true + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" } } }, "memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", - "dev": true + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" }, "merge-descriptors": { "version": "1.0.1", @@ -38167,7 +33810,6 @@ "version": "4.2.4", "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", - "dev": true, "requires": { "@types/levelup": "^4.3.0", "ethereumjs-util": "^7.1.4", @@ -38187,7 +33829,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "requires": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -38197,7 +33838,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" @@ -38212,14 +33852,12 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "requires": { "mime-db": "1.52.0" } @@ -38259,7 +33897,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -38267,8 +33904,7 @@ "minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" }, "minipass": { "version": "2.9.0", @@ -38293,7 +33929,6 @@ "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, "requires": { "minimist": "^1.2.6" } @@ -38311,7 +33946,6 @@ "version": "0.38.5", "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", - "dev": true, "requires": { "obliterator": "^2.0.0" } @@ -38320,7 +33954,6 @@ "version": "9.2.2", "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", - "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", @@ -38351,14 +33984,12 @@ "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, "requires": { "ms": "2.1.2" }, @@ -38366,8 +33997,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -38375,7 +34005,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, "requires": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -38385,7 +34014,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, "requires": { "argparse": "^2.0.1" } @@ -38394,7 +34022,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, "requires": { "p-locate": "^5.0.0" } @@ -38403,7 +34030,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -38411,14 +34037,12 @@ "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, "requires": { "yocto-queue": "^0.1.0" } @@ -38427,7 +34051,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, "requires": { "p-limit": "^3.0.2" } @@ -38435,14 +34058,12 @@ "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -38458,8 +34079,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "multibase": { "version": "0.6.1", @@ -38518,8 +34138,7 @@ "nanoid": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", - "dev": true + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==" }, "natural-compare": { "version": "1.4.0", @@ -38548,14 +34167,12 @@ "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "node-addon-api": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", - "dev": true + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" }, "node-emoji": { "version": "1.11.0", @@ -38588,8 +34205,6 @@ "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "peer": true, "requires": { "whatwg-url": "^5.0.0" } @@ -38597,8 +34212,7 @@ "node-gyp-build": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", - "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", - "devOptional": true + "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==" }, "nopt": { "version": "3.0.6", @@ -38613,8 +34227,6 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "peer": true, "requires": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -38625,17 +34237,14 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "normalize-url": { "version": "4.5.1", @@ -38646,15 +34255,12 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true, - "peer": true + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "number-to-bn": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", - "dev": true, "requires": { "bn.js": "4.11.6", "strip-hex-prefix": "1.0.0" @@ -38663,16 +34269,14 @@ "bn.js": { "version": "4.11.6", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", - "dev": true + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" } } }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, "object-assign": { "version": "4.1.1", @@ -38683,8 +34287,7 @@ "object-inspect": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", - "dev": true + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" }, "object-keys": { "version": "1.1.1", @@ -38718,8 +34321,7 @@ "obliterator": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.2.tgz", - "integrity": "sha512-g0TrA7SbUggROhDPK8cEu/qpItwH2LSKcNl4tlfBNT54XY+nOsqrs0Q68h1V9b3HOSpIWv15jb1lax2hAggdIg==", - "dev": true + "integrity": "sha512-g0TrA7SbUggROhDPK8cEu/qpItwH2LSKcNl4tlfBNT54XY+nOsqrs0Q68h1V9b3HOSpIWv15jb1lax2hAggdIg==" }, "oboe": { "version": "2.1.5", @@ -38743,7 +34345,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -38761,8 +34362,6 @@ "version": "7.4.2", "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dev": true, - "peer": true, "requires": { "is-docker": "^2.0.0", "is-wsl": "^2.1.1" @@ -38786,8 +34385,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "peer": true, "requires": { "lcid": "^1.0.0" } @@ -38795,8 +34392,7 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "p-cancelable": { "version": "1.1.0", @@ -38814,7 +34410,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, "requires": { "p-try": "^1.0.0" } @@ -38823,7 +34418,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, "requires": { "p-limit": "^1.1.0" } @@ -38832,7 +34426,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, "requires": { "aggregate-error": "^3.0.0" } @@ -38849,8 +34442,7 @@ "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, "parent-module": { "version": "1.0.1", @@ -38906,8 +34498,6 @@ "version": "6.4.7", "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.4.7.tgz", "integrity": "sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ==", - "dev": true, - "peer": true, "requires": { "@yarnpkg/lockfile": "^1.1.0", "chalk": "^2.4.2", @@ -38928,8 +34518,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "peer": true, "requires": { "color-convert": "^1.9.0" } @@ -38938,8 +34526,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "peer": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -38950,8 +34536,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "peer": true, "requires": { "color-name": "1.1.3" } @@ -38959,16 +34543,12 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true, - "peer": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "peer": true, "requires": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -38980,16 +34560,12 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "peer": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -38999,16 +34575,12 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "peer": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.6" } @@ -39016,16 +34588,12 @@ "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "peer": true + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "peer": true, "requires": { "glob": "^7.1.3" } @@ -39033,16 +34601,12 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "peer": true, "requires": { "shebang-regex": "^1.0.0" } @@ -39050,23 +34614,17 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "peer": true + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true, - "peer": true + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "peer": true, "requires": { "has-flag": "^3.0.0" } @@ -39074,16 +34632,12 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "peer": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "peer": true, "requires": { "isexe": "^2.0.0" } @@ -39093,21 +34647,17 @@ "path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true, - "peer": true + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", @@ -39124,8 +34674,7 @@ "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 + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-to-regexp": { "version": "0.1.7", @@ -39142,14 +34691,12 @@ "pathval": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" }, "pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -39161,14 +34708,12 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pify": { "version": "4.0.1", @@ -39179,16 +34724,12 @@ "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true, - "peer": true + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "peer": true, "requires": { "pinkie": "^2.0.0" } @@ -39196,9 +34737,7 @@ "postinstall-postinstall": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz", - "integrity": "sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==", - "dev": true, - "peer": true + "integrity": "sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==" }, "prelude-ls": { "version": "1.2.1", @@ -39215,8 +34754,7 @@ "prettier": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", - "dev": true + "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==" }, "prettier-linter-helpers": { "version": "1.0.0", @@ -39308,14 +34846,12 @@ "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, "public-encrypt": { "version": "4.0.3", @@ -39344,14 +34880,12 @@ "punycode": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", - "dev": true + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" }, "qs": { "version": "6.10.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, "requires": { "side-channel": "^1.0.4" } @@ -39370,9 +34904,7 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true, - "peer": true + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "queue-microtask": { "version": "1.2.3", @@ -39384,7 +34916,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -39409,7 +34940,6 @@ "version": "2.5.1", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dev": true, "requires": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -39421,8 +34951,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "peer": true, "requires": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", @@ -39433,8 +34961,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -39444,9 +34970,7 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "peer": true + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, @@ -39454,8 +34978,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "peer": true, "requires": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" @@ -39465,8 +34987,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "peer": true, "requires": { "path-exists": "^2.0.0", "pinkie-promise": "^2.0.0" @@ -39476,8 +34996,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "peer": true, "requires": { "pinkie-promise": "^2.0.0" } @@ -39488,7 +35006,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -39499,7 +35016,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "requires": { "picomatch": "^2.2.1" } @@ -39569,7 +35085,6 @@ "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -39597,7 +35112,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -39607,14 +35121,12 @@ "qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" } } }, @@ -39641,27 +35153,22 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true, - "peer": true + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "resolve": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -39710,7 +35217,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, "requires": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -39720,7 +35226,6 @@ "version": "2.2.7", "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "dev": true, "requires": { "bn.js": "^5.2.0" }, @@ -39728,8 +35233,7 @@ "bn.js": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" } } }, @@ -39751,8 +35255,7 @@ "rustbn.js": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==", - "dev": true + "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" }, "rxjs": { "version": "6.6.7", @@ -39766,14 +35269,12 @@ "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sc-istanbul": { "version": "0.4.6", @@ -39863,7 +35364,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "dev": true, "requires": { "elliptic": "^6.5.4", "node-addon-api": "^2.0.0", @@ -39873,22 +35373,30 @@ "semaphore-async-await": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", - "integrity": "sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo=", - "dev": true + "integrity": "sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo=" }, "semver": { - "version": "7.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", - "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "dev": true, "requires": { - "lru-cache": "^7.4.0" + "lru-cache": "^6.0.0" }, "dependencies": { "lru-cache": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.7.3.tgz", - "integrity": "sha512-WY9wjJNQt9+PZilnLbuFKM+SwDull9+6IAguOrarOMoOHTcJ9GnXSO11+Gw6c7xtDkBkthR57OZMtZKYr+1CEw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -39983,7 +35491,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, "requires": { "randombytes": "^2.1.0" } @@ -40016,26 +35523,22 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, "requires": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -40081,7 +35584,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, "requires": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -40114,8 +35616,7 @@ "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, "slice-ansi": { "version": "4.0.0", @@ -40140,8 +35641,6 @@ "version": "0.6.12", "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.12.tgz", "integrity": "sha512-Lm0Ql2G9Qc7yPP2Ba+WNmzw2jwsrd3u4PobHYlSOxaut3TtUbj9+5ZrT6f4DUpNPEoBaFUOEg9Op9C0mk7ge9g==", - "dev": true, - "peer": true, "requires": { "command-exists": "^1.2.8", "commander": "3.0.2", @@ -40157,8 +35656,6 @@ "version": "0.30.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^2.1.0", @@ -40171,8 +35668,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "peer": true, "requires": { "graceful-fs": "^4.1.6" } @@ -40181,8 +35676,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "peer": true, "requires": { "glob": "^7.1.3" } @@ -40190,9 +35683,7 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, @@ -40750,7 +36241,6 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -40759,8 +36249,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, @@ -40768,8 +36257,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "peer": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -40778,16 +36265,12 @@ "spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true, - "peer": true + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" }, "spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "peer": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -40796,9 +36279,7 @@ "spdx-license-ids": { "version": "3.0.11", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true, - "peer": true + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" }, "sprintf-js": { "version": "1.0.3", @@ -40810,7 +36291,6 @@ "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -40826,8 +36306,7 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" } } }, @@ -40835,7 +36314,6 @@ "version": "0.1.10", "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "dev": true, "requires": { "type-fest": "^0.7.1" }, @@ -40843,16 +36321,14 @@ "type-fest": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "dev": true + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" } } }, "statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, "stealthy-require": { "version": "1.1.1", @@ -40870,7 +36346,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, "requires": { "safe-buffer": "~5.2.0" } @@ -40926,7 +36401,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -40935,8 +36409,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "peer": true, "requires": { "is-utf8": "^0.2.0" } @@ -40945,7 +36417,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "dev": true, "requires": { "is-hex-prefixed": "1.0.0" } @@ -40953,14 +36424,12 @@ "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -41162,7 +36631,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=", - "dev": true, "requires": { "array-back": "^1.0.3", "typical": "^2.6.0" @@ -41172,7 +36640,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", - "dev": true, "requires": { "typical": "^2.6.0" } @@ -41182,9 +36649,7 @@ "testrpc": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", - "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", - "dev": true, - "peer": true + "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==" }, "text-table": { "version": "0.2.0", @@ -41246,7 +36711,6 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, "requires": { "os-tmpdir": "~1.0.2" } @@ -41261,7 +36725,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -41269,14 +36732,12 @@ "toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "tough-cookie": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" @@ -41285,37 +36746,29 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" } } }, "tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true, - "peer": true + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" }, "true-case-path": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", - "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==", - "dev": true + "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" }, "ts-essentials": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-1.0.4.tgz", - "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==", - "dev": true, - "peer": true + "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==" }, "ts-generator": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ts-generator/-/ts-generator-0.1.1.tgz", "integrity": "sha512-N+ahhZxTLYu1HNTQetwWcx3so8hcYbkKBHTr4b4/YgObFTIKkOSSsaa+nal12w8mfrJAyzJfETXawbNjSfP2gQ==", - "dev": true, - "peer": true, "requires": { "@types/mkdirp": "^0.5.2", "@types/prettier": "^2.1.1", @@ -41332,8 +36785,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "peer": true, "requires": { "color-convert": "^1.9.0" } @@ -41342,8 +36793,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "peer": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -41354,8 +36803,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "peer": true, "requires": { "color-name": "1.1.3" } @@ -41363,30 +36810,22 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true, - "peer": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "peer": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "peer": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "peer": true, "requires": { "has-flag": "^3.0.0" } @@ -41397,7 +36836,6 @@ "version": "10.7.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", - "dev": true, "requires": { "@cspotcode/source-map-support": "0.7.0", "@tsconfig/node10": "^1.0.7", @@ -41417,34 +36855,29 @@ "acorn": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" } } }, "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "tsort": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=", - "dev": true + "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=" }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -41452,14 +36885,12 @@ "tweetnacl": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", - "dev": true + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" }, "tweetnacl-util": { "version": "0.15.1", "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==", - "dev": true + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" }, "type": { "version": "1.2.0", @@ -41479,8 +36910,7 @@ "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" }, "type-fest": { "version": "0.20.2", @@ -41502,7 +36932,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/typechain/-/typechain-5.2.0.tgz", "integrity": "sha512-0INirvQ+P+MwJOeMct+WLkUE4zov06QxC96D+i3uGFEHoiSkZN70MKDQsaj8zkL86wQwByJReI2e7fOUwECFuw==", - "dev": true, "requires": { "@types/prettier": "^2.1.1", "command-line-args": "^4.0.7", @@ -41520,7 +36949,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -41531,7 +36959,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -41539,21 +36966,18 @@ "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "ts-essentials": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", - "dev": true, "requires": {} }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" } } }, @@ -41575,19 +36999,17 @@ "typescript": { "version": "4.6.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", - "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", - "dev": true + "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==" }, "typical": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=", - "dev": true + "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=" }, "uglify-js": { - "version": "3.15.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz", - "integrity": "sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==", + "version": "3.15.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.4.tgz", + "integrity": "sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==", "dev": true, "optional": true }, @@ -41612,26 +37034,22 @@ "undici": { "version": "4.16.0", "resolved": "https://registry.npmjs.org/undici/-/undici-4.16.0.tgz", - "integrity": "sha512-tkZSECUYi+/T1i4u+4+lwZmQgLXd4BLGlrc7KZPcLIW7Jpq99+Xpc30ONv7nS6F5UNOxp/HBZSSL9MafUrvJbw==", - "dev": true + "integrity": "sha512-tkZSECUYi+/T1i4u+4+lwZmQgLXd4BLGlrc7KZPcLIW7Jpq99+Xpc30ONv7nS6F5UNOxp/HBZSSL9MafUrvJbw==" }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -41640,8 +37058,6 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "peer": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -41650,9 +37066,7 @@ "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true, - "peer": true + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" } } }, @@ -41689,8 +37103,7 @@ "utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", - "dev": true + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" }, "util": { "version": "0.12.4", @@ -41709,8 +37122,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "utils-merge": { "version": "1.0.1", @@ -41721,8 +37133,7 @@ "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "v8-compile-cache": { "version": "2.3.0", @@ -41733,15 +37144,12 @@ "v8-compile-cache-lib": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", - "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", - "dev": true + "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==" }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "peer": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -41763,7 +37171,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -42424,10 +37831,9 @@ } }, "web3-utils": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.1.tgz", - "integrity": "sha512-fef0EsqMGJUgiHPdX+KN9okVWshbIumyJPmR+btnD1HgvoXijKEkuKBv0OmUqjbeqmLKP2/N9EiXKJel5+E1Dw==", - "dev": true, + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.3.tgz", + "integrity": "sha512-g6nQgvb/bUpVUIxJE+ezVN+rYwYmlFyMvMIRSuqpi1dk6ApDD00YNArrk7sPcZnjvxOJ76813Xs2vIN2rgh4lg==", "requires": { "bn.js": "^4.11.9", "ethereum-bloom-filters": "^1.0.6", @@ -42441,9 +37847,7 @@ "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", - "dev": true, - "peer": true + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" }, "websocket": { "version": "1.0.34", @@ -42480,8 +37884,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dev": true, - "peer": true, "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -42491,7 +37893,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -42512,9 +37913,7 @@ "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true, - "peer": true + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" }, "which-typed-array": { "version": "1.1.7", @@ -42542,9 +37941,7 @@ "window-size": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", - "dev": true, - "peer": true + "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=" }, "word-wrap": { "version": "1.2.3", @@ -42561,14 +37958,12 @@ "workerpool": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", - "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", - "dev": true + "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==" }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -42578,20 +37973,17 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -42603,8 +37995,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write": { "version": "1.0.3", @@ -42675,14 +38066,12 @@ "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, "yaeti": { "version": "0.0.6", @@ -42693,14 +38082,12 @@ "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -42714,20 +38101,17 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -42739,14 +38123,12 @@ "yargs-parser": { "version": "20.2.4", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" }, "yargs-unparser": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, "requires": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -42757,14 +38139,12 @@ "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" } } } diff --git a/package.json b/package.json index 20ee0acb3..cf5cf7d3a 100644 --- a/package.json +++ b/package.json @@ -10,27 +10,25 @@ "scripts": { "build:contracts": "hardhat compile && hardhat typechain", "build:sdk": "tsc", - "build": "npm run build:contracts && npm run build:sdk", + "build": "npm run build:contracts", "test:contracts": "hardhat test", "test:sdk": "", - "test": "npm run test:contracts && npm run test:sdk", + "test": "npm run test:contracts", "prettier": "prettier --write ./contracts ./test", "coverage": "hardhat coverage" }, "dependencies": { - "@abacus-network/sdk": "file:../abacus-monorepo/typescript/sdk", - "@abacus-network/utils": "file:../abacus-monorepo/typescript/utils", - "@abacus-network/hardhat": "file:../abacus-monorepo/typescript/hardhat", - "@abacus-network/core": "file:../abacus-monorepo/solidity/core", - "@abacus-network/apps": "file:../abacus-monorepo/solidity/apps", - "@summa-tx/memview-sol": "^2.0.0", - "@openzeppelin/contracts": "~4.5.0", - "@openzeppelin/contracts-upgradeable": "~4.5.0", + "@abacus-network/app": "^0.0.3", + "@abacus-network/core": "^0.0.6", + "@abacus-network/sdk": "^0.0.4", + "@abacus-network/utils": "^0.0.8", "@ethersproject/bignumber": "^5.5.0", "@ethersproject/bytes": "^5.5.0", + "@openzeppelin/contracts-upgradeable": "~4.5.0", "ethers": "^5.4.7" }, "devDependencies": { + "@abacus-network/hardhat": "^0.0.18", "@nomiclabs/hardhat-ethers": "^2.0.1", "@nomiclabs/hardhat-waffle": "^2.0.1", "@typechain/ethers-v5": "~7.0.0", diff --git a/test/TokenDeploy.ts b/test/TokenDeploy.ts new file mode 100644 index 000000000..a501a6704 --- /dev/null +++ b/test/TokenDeploy.ts @@ -0,0 +1,32 @@ +import { TestAbacusDeploy, TestRouterDeploy } from '@abacus-network/hardhat'; +import { types } from '@abacus-network/utils'; +import { ethers } from 'ethers'; +import { AbcToken, AbcToken__factory } from '../types'; + +export type TokenConfig = { + signer: ethers.Signer; + name: string; + symbol: string; + totalSupply: ethers.BigNumberish; +}; + +export class TokenDeploy extends TestRouterDeploy { + async deployInstance( + domain: types.Domain, + abacus: TestAbacusDeploy, + ): Promise { + const tokenFactory = new AbcToken__factory(this.config.signer); + const token = await tokenFactory.deploy(); + await token.initialize( + abacus.xAppConnectionManager(domain).address, + this.config.totalSupply, + this.config.name, + this.config.symbol, + ); + return token; + } + + router(domain: types.Domain): AbcToken { + return this.instances[domain]; + } +} diff --git a/test/token.test.ts b/test/token.test.ts new file mode 100644 index 000000000..3f1dad5b0 --- /dev/null +++ b/test/token.test.ts @@ -0,0 +1,90 @@ +import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; +import { expect } from 'chai'; +import { abacus, ethers } from 'hardhat'; +import { AbcToken } from '../types'; +import { TokenConfig, TokenDeploy } from './TokenDeploy'; + +const localDomain = 1000; +const remoteDomain = 2000; +const totalSupply = 3000; +const domains = [localDomain, remoteDomain]; + +describe('AbcToken', async () => { + let owner: SignerWithAddress, + recipient: SignerWithAddress, + router: AbcToken, + remote: AbcToken, + token: TokenDeploy; + + before(async () => { + [owner, recipient] = await ethers.getSigners(); + await abacus.deploy(domains, owner); + }); + + beforeEach(async () => { + const config: TokenConfig = { + signer: owner, + name: 'AbcToken', + symbol: 'ABC', + totalSupply, + }; + token = new TokenDeploy(config); + await token.deploy(abacus); + router = token.router(localDomain); + remote = token.router(remoteDomain); + }); + + const expectBalance = async ( + token: AbcToken, + signer: SignerWithAddress, + balance: number, + ) => expect(await token.balanceOf(signer.address)).to.eq(balance); + + const amount = 10; + + it('should not be initializable again', async () => { + await expect( + router.initialize(ethers.constants.AddressZero, 0, '', ''), + ).to.be.revertedWith('Initializable: contract is already initialized'); + }); + + it('should mint total supply to deployer', async () => { + await expectBalance(router, recipient, 0); + await expectBalance(router, owner, totalSupply); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, totalSupply); + }); + + it('should allow for local transfers', async () => { + await router.transfer(recipient.address, amount); + await expectBalance(router, recipient, amount); + await expectBalance(router, owner, totalSupply - amount); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, totalSupply); + }); + + it('should allow for remote transfers', async () => { + await router.transferRemote(remoteDomain, recipient.address, amount); + + await expectBalance(router, recipient, 0); + await expectBalance(router, owner, totalSupply - amount); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, totalSupply); + + await abacus.processMessages(); + + await expectBalance(router, recipient, 0); + await expectBalance(router, owner, totalSupply - amount); + await expectBalance(remote, recipient, amount); + await expectBalance(remote, owner, totalSupply); + }); + + it('should emit TransferRemote events', async () => { + expect(await router.transferRemote(remoteDomain, recipient.address, amount)) + .to.emit(router, 'SentTransferRemote') + .withArgs(remoteDomain, recipient.address, amount); + expect(await abacus.processMessages()) + .to.emit(router, 'ReceivedTransferRemote') + .withArgs(localDomain, recipient.address, amount); + }); +}); From ebb2fb300d71e3d1b278546eae34a7c0aa3cb534 Mon Sep 17 00:00:00 2001 From: Nam Chu Hoai Date: Mon, 9 May 2022 11:47:18 -0400 Subject: [PATCH 05/56] Upgrade to Yarn 3 and SDK (#4) * Upgrade to Yarn 3 and SDK * Add test for interchain gas payment * Update CI file * Remove install-state.gz * Update ci * prettier --- .github/workflows/ci.yml | 18 +- .gitignore | 1 + .yarn/releases/yarn-3.2.0.cjs | 785 + .yarnrc.yml | 3 + contracts/AbcToken.sol | 8 +- package-lock.json | 38150 -------------------------------- package.json | 8 +- test/TokenDeploy.ts | 2 +- test/token.test.ts | 17 + yarn.lock | 13718 ++++++++++++ 10 files changed, 14543 insertions(+), 38167 deletions(-) create mode 100755 .yarn/releases/yarn-3.2.0.cjs create mode 100644 .yarnrc.yml delete mode 100644 package-lock.json create mode 100644 yarn.lock diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a37f19db7..913682327 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,13 +18,13 @@ jobs: - uses: actions/cache@v2 with: path: .//node_modules - key: ${{ runner.os }}-npm-cache-${{ hashFiles('./package-lock.json') }} + key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }} - - name: npm-install + - name: yarn-install # Check out the lockfile from main, reinstall, and then # verify the lockfile matches what was committed. run: | - npm install + yarn install CHANGES=$(git status -s) if [[ ! -z $CHANGES ]]; then echo "Changes found: $CHANGES" @@ -38,11 +38,11 @@ jobs: steps: - uses: actions/checkout@v2 - - name: npm-cache + - name: yarn-cache uses: actions/cache@v2 with: path: .//node_modules - key: ${{ runner.os }}-npm-cache-${{ hashFiles('./package-lock.json') }} + key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }} - name: build-cache uses: actions/cache@v2 @@ -51,7 +51,7 @@ jobs: key: ${{ github.sha }} - name: build - run: npm run build + run: yarn run build prettier: runs-on: ubuntu-latest @@ -61,11 +61,11 @@ jobs: - uses: actions/cache@v2 with: path: .//node_modules - key: ${{ runner.os }}-npm-cache-${{ hashFiles('./package-lock.json') }} + key: ${{ runner.os }}-yarn-cache-${{ hashFiles('./yarn.lock') }} - name: prettier run: | - npm run prettier + yarn run prettier CHANGES=$(git status -s) if [[ ! -z $CHANGES ]]; then echo "Changes found: $CHANGES" @@ -83,4 +83,4 @@ jobs: key: ${{ github.sha }} - name: test - run: npm run test + run: yarn run test diff --git a/.gitignore b/.gitignore index f5aeb0a51..75c05ba8f 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ dist/ coverage/ coverage.json *.swp +.yarn/install-state.gz \ No newline at end of file diff --git a/.yarn/releases/yarn-3.2.0.cjs b/.yarn/releases/yarn-3.2.0.cjs new file mode 100755 index 000000000..59267757f --- /dev/null +++ b/.yarn/releases/yarn-3.2.0.cjs @@ -0,0 +1,785 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var afe=Object.create,Oh=Object.defineProperty,Afe=Object.defineProperties,lfe=Object.getOwnPropertyDescriptor,cfe=Object.getOwnPropertyDescriptors,ufe=Object.getOwnPropertyNames,OE=Object.getOwnPropertySymbols,gfe=Object.getPrototypeOf,lQ=Object.prototype.hasOwnProperty,iM=Object.prototype.propertyIsEnumerable;var nM=(t,e,r)=>e in t?Oh(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,N=(t,e)=>{for(var r in e||(e={}))lQ.call(e,r)&&nM(t,r,e[r]);if(OE)for(var r of OE(e))iM.call(e,r)&&nM(t,r,e[r]);return t},te=(t,e)=>Afe(t,cfe(e)),ffe=t=>Oh(t,"__esModule",{value:!0});var Tr=(t,e)=>{var r={};for(var i in t)lQ.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&OE)for(var i of OE(t))e.indexOf(i)<0&&iM.call(t,i)&&(r[i]=t[i]);return r},hfe=(t,e)=>()=>(t&&(e=t(t=0)),e),w=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ft=(t,e)=>{for(var r in e)Oh(t,r,{get:e[r],enumerable:!0})},pfe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ufe(e))!lQ.call(t,i)&&i!=="default"&&Oh(t,i,{get:()=>e[i],enumerable:!(r=lfe(e,i))||r.enumerable});return t},ge=t=>pfe(ffe(Oh(t!=null?afe(gfe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var PM=w(($Xe,vM)=>{vM.exports=SM;SM.sync=Rfe;var kM=require("fs");function Ffe(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i{DM.exports=RM;RM.sync=Nfe;var FM=require("fs");function RM(t,e,r){FM.stat(t,function(i,n){r(i,i?!1:NM(n,e))})}function Nfe(t,e){return NM(FM.statSync(t),e)}function NM(t,e){return t.isFile()&&Lfe(t,e)}function Lfe(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var OM=w((rZe,TM)=>{var tZe=require("fs"),XE;process.platform==="win32"||global.TESTING_WINDOWS?XE=PM():XE=LM();TM.exports=vQ;vQ.sync=Tfe;function vQ(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){vQ(t,e||{},function(s,o){s?n(s):i(o)})})}XE(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function Tfe(t,e){try{return XE.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var YM=w((iZe,MM)=>{var Ju=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",UM=require("path"),Ofe=Ju?";":":",KM=OM(),HM=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),jM=(t,e)=>{let r=e.colon||Ofe,i=t.match(/\//)||Ju&&t.match(/\\/)?[""]:[...Ju?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=Ju?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Ju?n.split(r):[""];return Ju&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},GM=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=jM(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(HM(t));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=UM.join(h,t),m=!h&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(m,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];KM(c+p,{pathExt:s},(m,y)=>{if(!m&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},Mfe=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=jM(t,e),s=[];for(let o=0;o{"use strict";var qM=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};SQ.exports=qM;SQ.exports.default=qM});var VM=w((sZe,WM)=>{"use strict";var zM=require("path"),Ufe=YM(),Kfe=JM();function _M(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=Ufe.sync(t.command,{path:r[Kfe({env:r})],pathExt:e?zM.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=zM.resolve(n?t.options.cwd:"",o)),o}function Hfe(t){return _M(t)||_M(t,!0)}WM.exports=Hfe});var XM=w((oZe,kQ)=>{"use strict";var xQ=/([()\][%!^"`<>&|;, *?])/g;function jfe(t){return t=t.replace(xQ,"^$1"),t}function Gfe(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(xQ,"^$1"),e&&(t=t.replace(xQ,"^$1")),t}kQ.exports.command=jfe;kQ.exports.argument=Gfe});var $M=w((aZe,ZM)=>{"use strict";ZM.exports=/^#!(.*)/});var t1=w((AZe,e1)=>{"use strict";var Yfe=$M();e1.exports=(t="")=>{let e=t.match(Yfe);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var i1=w((lZe,r1)=>{"use strict";var PQ=require("fs"),qfe=t1();function Jfe(t){let e=150,r=Buffer.alloc(e),i;try{i=PQ.openSync(t,"r"),PQ.readSync(i,r,0,e,0),PQ.closeSync(i)}catch(n){}return qfe(r.toString())}r1.exports=Jfe});var a1=w((cZe,n1)=>{"use strict";var Wfe=require("path"),s1=VM(),o1=XM(),zfe=i1(),_fe=process.platform==="win32",Vfe=/\.(?:com|exe)$/i,Xfe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Zfe(t){t.file=s1(t);let e=t.file&&zfe(t.file);return e?(t.args.unshift(t.file),t.command=e,s1(t)):t.file}function $fe(t){if(!_fe)return t;let e=Zfe(t),r=!Vfe.test(e);if(t.options.forceShell||r){let i=Xfe.test(e);t.command=Wfe.normalize(t.command),t.command=o1.command(t.command),t.args=t.args.map(s=>o1.argument(s,i));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function ehe(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let i={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?i:$fe(i)}n1.exports=ehe});var c1=w((uZe,A1)=>{"use strict";var DQ=process.platform==="win32";function RQ(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function the(t,e){if(!DQ)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=l1(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function l1(t,e){return DQ&&t===1&&!e.file?RQ(e.original,"spawn"):null}function rhe(t,e){return DQ&&t===1&&!e.file?RQ(e.original,"spawnSync"):null}A1.exports={hookChildProcess:the,verifyENOENT:l1,verifyENOENTSync:rhe,notFoundError:RQ}});var LQ=w((gZe,Wu)=>{"use strict";var u1=require("child_process"),FQ=a1(),NQ=c1();function g1(t,e,r){let i=FQ(t,e,r),n=u1.spawn(i.command,i.args,i.options);return NQ.hookChildProcess(n,i),n}function ihe(t,e,r){let i=FQ(t,e,r),n=u1.spawnSync(i.command,i.args,i.options);return n.error=n.error||NQ.verifyENOENTSync(n.status,i),n}Wu.exports=g1;Wu.exports.spawn=g1;Wu.exports.sync=ihe;Wu.exports._parse=FQ;Wu.exports._enoent=NQ});var h1=w((fZe,f1)=>{"use strict";function nhe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function nc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,nc)}nhe(nc,Error);nc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ce=Ce(">>",!1),fe=">&",gt=Ce(">&",!1),Ht=">",Mt=Ce(">",!1),mi="<<<",jt=Ce("<<<",!1),Qr="<&",Ti=Ce("<&",!1),_s="<",Un=Ce("<",!1),Kn=function(C){return{type:"argument",segments:[].concat(...C)}},vr=function(C){return C},Hn="$'",us=Ce("$'",!1),Ia="'",SA=Ce("'",!1),Du=function(C){return[{type:"text",text:C}]},gs='""',kA=Ce('""',!1),ya=function(){return{type:"text",text:""}},Ru='"',xA=Ce('"',!1),PA=function(C){return C},Sr=function(C){return{type:"arithmetic",arithmetic:C,quoted:!0}},jl=function(C){return{type:"shell",shell:C,quoted:!0}},Fu=function(C){return te(N({type:"variable"},C),{quoted:!0})},So=function(C){return{type:"text",text:C}},Nu=function(C){return{type:"arithmetic",arithmetic:C,quoted:!1}},Qh=function(C){return{type:"shell",shell:C,quoted:!1}},vh=function(C){return te(N({type:"variable"},C),{quoted:!1})},oe=function(C){return{type:"glob",pattern:C}},Oi=/^[^']/,ko=_e(["'"],!0,!1),jn=function(C){return C.join("")},Lu=/^[^$"]/,vt=_e(["$",'"'],!0,!1),Gl=`\\ +`,Gn=Ce(`\\ +`,!1),fs=function(){return""},hs="\\",pt=Ce("\\",!1),xo=/^[\\$"`]/,lt=_e(["\\","$",'"',"`"],!1,!1),mn=function(C){return C},v="\\a",Tt=Ce("\\a",!1),Tu=function(){return"a"},Yl="\\b",Sh=Ce("\\b",!1),kh=function(){return"\b"},xh=/^[Ee]/,Ph=_e(["E","e"],!1,!1),Dh=function(){return""},G="\\f",yt=Ce("\\f",!1),DA=function(){return"\f"},$i="\\n",ql=Ce("\\n",!1),$e=function(){return` +`},wa="\\r",Ou=Ce("\\r",!1),SE=function(){return"\r"},Rh="\\t",kE=Ce("\\t",!1),gr=function(){return" "},Yn="\\v",Jl=Ce("\\v",!1),Fh=function(){return"\v"},Vs=/^[\\'"?]/,Ba=_e(["\\","'",'"',"?"],!1,!1),En=function(C){return String.fromCharCode(parseInt(C,16))},Oe="\\x",Mu=Ce("\\x",!1),Wl="\\u",Xs=Ce("\\u",!1),zl="\\U",RA=Ce("\\U",!1),Uu=function(C){return String.fromCodePoint(parseInt(C,16))},Ku=/^[0-7]/,ba=_e([["0","7"]],!1,!1),Qa=/^[0-9a-fA-f]/,it=_e([["0","9"],["a","f"],["A","f"]],!1,!1),Po=ot(),FA="-",_l=Ce("-",!1),Zs="+",Vl=Ce("+",!1),xE=".",Nh=Ce(".",!1),Hu=function(C,b,F){return{type:"number",value:(C==="-"?-1:1)*parseFloat(b.join("")+"."+F.join(""))}},Lh=function(C,b){return{type:"number",value:(C==="-"?-1:1)*parseInt(b.join(""))}},PE=function(C){return N({type:"variable"},C)},Xl=function(C){return{type:"variable",name:C}},DE=function(C){return C},ju="*",NA=Ce("*",!1),Lr="/",RE=Ce("/",!1),$s=function(C,b,F){return{type:b==="*"?"multiplication":"division",right:F}},eo=function(C,b){return b.reduce((F,H)=>N({left:F},H),C)},Gu=function(C,b,F){return{type:b==="+"?"addition":"subtraction",right:F}},LA="$((",R=Ce("$((",!1),q="))",de=Ce("))",!1),He=function(C){return C},Te="$(",Xe=Ce("$(",!1),Et=function(C){return C},Rt="${",qn=Ce("${",!1),Jb=":-",xO=Ce(":-",!1),PO=function(C,b){return{name:C,defaultValue:b}},Wb=":-}",DO=Ce(":-}",!1),RO=function(C){return{name:C,defaultValue:[]}},zb=":+",FO=Ce(":+",!1),NO=function(C,b){return{name:C,alternativeValue:b}},_b=":+}",LO=Ce(":+}",!1),TO=function(C){return{name:C,alternativeValue:[]}},Vb=function(C){return{name:C}},OO="$",MO=Ce("$",!1),UO=function(C){return e.isGlobPattern(C)},KO=function(C){return C},Xb=/^[a-zA-Z0-9_]/,Zb=_e([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),$b=function(){return O()},eQ=/^[$@*?#a-zA-Z0-9_\-]/,tQ=_e(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),HO=/^[(){}<>$|&; \t"']/,Yu=_e(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),rQ=/^[<>&; \t"']/,iQ=_e(["<",">","&",";"," "," ",'"',"'"],!1,!1),FE=/^[ \t]/,NE=_e([" "," "],!1,!1),B=0,Ke=0,TA=[{line:1,column:1}],d=0,E=[],I=0,D;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function O(){return t.substring(Ke,B)}function V(){return It(Ke,B)}function ie(C,b){throw b=b!==void 0?b:It(Ke,B),Mi([ut(C)],t.substring(Ke,B),b)}function Be(C,b){throw b=b!==void 0?b:It(Ke,B),Jn(C,b)}function Ce(C,b){return{type:"literal",text:C,ignoreCase:b}}function _e(C,b,F){return{type:"class",parts:C,inverted:b,ignoreCase:F}}function ot(){return{type:"any"}}function wt(){return{type:"end"}}function ut(C){return{type:"other",description:C}}function nt(C){var b=TA[C],F;if(b)return b;for(F=C-1;!TA[F];)F--;for(b=TA[F],b={line:b.line,column:b.column};Fd&&(d=B,E=[]),E.push(C))}function Jn(C,b){return new nc(C,null,null,b)}function Mi(C,b,F){return new nc(nc.buildMessage(C,b),C,b,F)}function OA(){var C,b;return C=B,b=Gr(),b===r&&(b=null),b!==r&&(Ke=C,b=s(b)),C=b,C}function Gr(){var C,b,F,H,ue;if(C=B,b=Yr(),b!==r){for(F=[],H=je();H!==r;)F.push(H),H=je();F!==r?(H=va(),H!==r?(ue=ps(),ue===r&&(ue=null),ue!==r?(Ke=C,b=o(b,H,ue),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;if(C===r)if(C=B,b=Yr(),b!==r){for(F=[],H=je();H!==r;)F.push(H),H=je();F!==r?(H=va(),H===r&&(H=null),H!==r?(Ke=C,b=a(b,H),C=b):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;return C}function ps(){var C,b,F,H,ue;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r)if(F=Gr(),F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();H!==r?(Ke=C,b=l(F),C=b):(B=C,C=r)}else B=C,C=r;else B=C,C=r;return C}function va(){var C;return t.charCodeAt(B)===59?(C=c,B++):(C=r,I===0&&ke(u)),C===r&&(t.charCodeAt(B)===38?(C=g,B++):(C=r,I===0&&ke(f))),C}function Yr(){var C,b,F;return C=B,b=jO(),b!==r?(F=Yge(),F===r&&(F=null),F!==r?(Ke=C,b=h(b,F),C=b):(B=C,C=r)):(B=C,C=r),C}function Yge(){var C,b,F,H,ue,De,Ct;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r)if(F=qge(),F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();if(H!==r)if(ue=Yr(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();De!==r?(Ke=C,b=p(F,ue),C=b):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;return C}function qge(){var C;return t.substr(B,2)===m?(C=m,B+=2):(C=r,I===0&&ke(y)),C===r&&(t.substr(B,2)===Q?(C=Q,B+=2):(C=r,I===0&&ke(S))),C}function jO(){var C,b,F;return C=B,b=zge(),b!==r?(F=Jge(),F===r&&(F=null),F!==r?(Ke=C,b=x(b,F),C=b):(B=C,C=r)):(B=C,C=r),C}function Jge(){var C,b,F,H,ue,De,Ct;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r)if(F=Wge(),F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();if(H!==r)if(ue=jO(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();De!==r?(Ke=C,b=M(F,ue),C=b):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;return C}function Wge(){var C;return t.substr(B,2)===Y?(C=Y,B+=2):(C=r,I===0&&ke(U)),C===r&&(t.charCodeAt(B)===124?(C=J,B++):(C=r,I===0&&ke(W))),C}function LE(){var C,b,F,H,ue,De;if(C=B,b=eM(),b!==r)if(t.charCodeAt(B)===61?(F=ee,B++):(F=r,I===0&&ke(Z)),F!==r)if(H=qO(),H!==r){for(ue=[],De=je();De!==r;)ue.push(De),De=je();ue!==r?(Ke=C,b=A(b,H),C=b):(B=C,C=r)}else B=C,C=r;else B=C,C=r;else B=C,C=r;if(C===r)if(C=B,b=eM(),b!==r)if(t.charCodeAt(B)===61?(F=ee,B++):(F=r,I===0&&ke(Z)),F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();H!==r?(Ke=C,b=ne(b),C=b):(B=C,C=r)}else B=C,C=r;else B=C,C=r;return C}function zge(){var C,b,F,H,ue,De,Ct,bt,Zr,Ei,ds;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r)if(t.charCodeAt(B)===40?(F=le,B++):(F=r,I===0&&ke(Ae)),F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();if(H!==r)if(ue=Gr(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();if(De!==r)if(t.charCodeAt(B)===41?(Ct=T,B++):(Ct=r,I===0&&ke(L)),Ct!==r){for(bt=[],Zr=je();Zr!==r;)bt.push(Zr),Zr=je();if(bt!==r){for(Zr=[],Ei=Th();Ei!==r;)Zr.push(Ei),Ei=Th();if(Zr!==r){for(Ei=[],ds=je();ds!==r;)Ei.push(ds),ds=je();Ei!==r?(Ke=C,b=Ee(ue,Zr),C=b):(B=C,C=r)}else B=C,C=r}else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;if(C===r){for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r)if(t.charCodeAt(B)===123?(F=we,B++):(F=r,I===0&&ke(qe)),F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();if(H!==r)if(ue=Gr(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();if(De!==r)if(t.charCodeAt(B)===125?(Ct=re,B++):(Ct=r,I===0&&ke(se)),Ct!==r){for(bt=[],Zr=je();Zr!==r;)bt.push(Zr),Zr=je();if(bt!==r){for(Zr=[],Ei=Th();Ei!==r;)Zr.push(Ei),Ei=Th();if(Zr!==r){for(Ei=[],ds=je();ds!==r;)Ei.push(ds),ds=je();Ei!==r?(Ke=C,b=Qe(ue,Zr),C=b):(B=C,C=r)}else B=C,C=r}else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;if(C===r){for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r){for(F=[],H=LE();H!==r;)F.push(H),H=LE();if(F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();if(H!==r){if(ue=[],De=YO(),De!==r)for(;De!==r;)ue.push(De),De=YO();else ue=r;if(ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();De!==r?(Ke=C,b=he(F,ue),C=b):(B=C,C=r)}else B=C,C=r}else B=C,C=r}else B=C,C=r}else B=C,C=r;if(C===r){for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r){if(F=[],H=LE(),H!==r)for(;H!==r;)F.push(H),H=LE();else F=r;if(F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();H!==r?(Ke=C,b=Fe(F),C=b):(B=C,C=r)}else B=C,C=r}else B=C,C=r}}}return C}function GO(){var C,b,F,H,ue;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r){if(F=[],H=TE(),H!==r)for(;H!==r;)F.push(H),H=TE();else F=r;if(F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();H!==r?(Ke=C,b=Ue(F),C=b):(B=C,C=r)}else B=C,C=r}else B=C,C=r;return C}function YO(){var C,b,F;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r?(F=Th(),F!==r?(Ke=C,b=xe(F),C=b):(B=C,C=r)):(B=C,C=r),C===r){for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();b!==r?(F=TE(),F!==r?(Ke=C,b=xe(F),C=b):(B=C,C=r)):(B=C,C=r)}return C}function Th(){var C,b,F,H,ue;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();return b!==r?(ve.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(pe)),F===r&&(F=null),F!==r?(H=_ge(),H!==r?(ue=TE(),ue!==r?(Ke=C,b=X(F,H,ue),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function _ge(){var C;return t.substr(B,2)===be?(C=be,B+=2):(C=r,I===0&&ke(ce)),C===r&&(t.substr(B,2)===fe?(C=fe,B+=2):(C=r,I===0&&ke(gt)),C===r&&(t.charCodeAt(B)===62?(C=Ht,B++):(C=r,I===0&&ke(Mt)),C===r&&(t.substr(B,3)===mi?(C=mi,B+=3):(C=r,I===0&&ke(jt)),C===r&&(t.substr(B,2)===Qr?(C=Qr,B+=2):(C=r,I===0&&ke(Ti)),C===r&&(t.charCodeAt(B)===60?(C=_s,B++):(C=r,I===0&&ke(Un))))))),C}function TE(){var C,b,F;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();return b!==r?(F=qO(),F!==r?(Ke=C,b=xe(F),C=b):(B=C,C=r)):(B=C,C=r),C}function qO(){var C,b,F;if(C=B,b=[],F=JO(),F!==r)for(;F!==r;)b.push(F),F=JO();else b=r;return b!==r&&(Ke=C,b=Kn(b)),C=b,C}function JO(){var C,b;return C=B,b=Vge(),b!==r&&(Ke=C,b=vr(b)),C=b,C===r&&(C=B,b=Xge(),b!==r&&(Ke=C,b=vr(b)),C=b,C===r&&(C=B,b=Zge(),b!==r&&(Ke=C,b=vr(b)),C=b,C===r&&(C=B,b=$ge(),b!==r&&(Ke=C,b=vr(b)),C=b))),C}function Vge(){var C,b,F,H;return C=B,t.substr(B,2)===Hn?(b=Hn,B+=2):(b=r,I===0&&ke(us)),b!==r?(F=rfe(),F!==r?(t.charCodeAt(B)===39?(H=Ia,B++):(H=r,I===0&&ke(SA)),H!==r?(Ke=C,b=Du(F),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function Xge(){var C,b,F,H;return C=B,t.charCodeAt(B)===39?(b=Ia,B++):(b=r,I===0&&ke(SA)),b!==r?(F=efe(),F!==r?(t.charCodeAt(B)===39?(H=Ia,B++):(H=r,I===0&&ke(SA)),H!==r?(Ke=C,b=Du(F),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function Zge(){var C,b,F,H;if(C=B,t.substr(B,2)===gs?(b=gs,B+=2):(b=r,I===0&&ke(kA)),b!==r&&(Ke=C,b=ya()),C=b,C===r)if(C=B,t.charCodeAt(B)===34?(b=Ru,B++):(b=r,I===0&&ke(xA)),b!==r){for(F=[],H=WO();H!==r;)F.push(H),H=WO();F!==r?(t.charCodeAt(B)===34?(H=Ru,B++):(H=r,I===0&&ke(xA)),H!==r?(Ke=C,b=PA(F),C=b):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;return C}function $ge(){var C,b,F;if(C=B,b=[],F=zO(),F!==r)for(;F!==r;)b.push(F),F=zO();else b=r;return b!==r&&(Ke=C,b=PA(b)),C=b,C}function WO(){var C,b;return C=B,b=ZO(),b!==r&&(Ke=C,b=Sr(b)),C=b,C===r&&(C=B,b=$O(),b!==r&&(Ke=C,b=jl(b)),C=b,C===r&&(C=B,b=aQ(),b!==r&&(Ke=C,b=Fu(b)),C=b,C===r&&(C=B,b=tfe(),b!==r&&(Ke=C,b=So(b)),C=b))),C}function zO(){var C,b;return C=B,b=ZO(),b!==r&&(Ke=C,b=Nu(b)),C=b,C===r&&(C=B,b=$O(),b!==r&&(Ke=C,b=Qh(b)),C=b,C===r&&(C=B,b=aQ(),b!==r&&(Ke=C,b=vh(b)),C=b,C===r&&(C=B,b=sfe(),b!==r&&(Ke=C,b=oe(b)),C=b,C===r&&(C=B,b=nfe(),b!==r&&(Ke=C,b=So(b)),C=b)))),C}function efe(){var C,b,F;for(C=B,b=[],Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko));F!==r;)b.push(F),Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko));return b!==r&&(Ke=C,b=jn(b)),C=b,C}function tfe(){var C,b,F;if(C=B,b=[],F=_O(),F===r&&(Lu.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(vt))),F!==r)for(;F!==r;)b.push(F),F=_O(),F===r&&(Lu.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(vt)));else b=r;return b!==r&&(Ke=C,b=jn(b)),C=b,C}function _O(){var C,b,F;return C=B,t.substr(B,2)===Gl?(b=Gl,B+=2):(b=r,I===0&&ke(Gn)),b!==r&&(Ke=C,b=fs()),C=b,C===r&&(C=B,t.charCodeAt(B)===92?(b=hs,B++):(b=r,I===0&&ke(pt)),b!==r?(xo.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(lt)),F!==r?(Ke=C,b=mn(F),C=b):(B=C,C=r)):(B=C,C=r)),C}function rfe(){var C,b,F;for(C=B,b=[],F=VO(),F===r&&(Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko)));F!==r;)b.push(F),F=VO(),F===r&&(Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko)));return b!==r&&(Ke=C,b=jn(b)),C=b,C}function VO(){var C,b,F;return C=B,t.substr(B,2)===v?(b=v,B+=2):(b=r,I===0&&ke(Tt)),b!==r&&(Ke=C,b=Tu()),C=b,C===r&&(C=B,t.substr(B,2)===Yl?(b=Yl,B+=2):(b=r,I===0&&ke(Sh)),b!==r&&(Ke=C,b=kh()),C=b,C===r&&(C=B,t.charCodeAt(B)===92?(b=hs,B++):(b=r,I===0&&ke(pt)),b!==r?(xh.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(Ph)),F!==r?(Ke=C,b=Dh(),C=b):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===G?(b=G,B+=2):(b=r,I===0&&ke(yt)),b!==r&&(Ke=C,b=DA()),C=b,C===r&&(C=B,t.substr(B,2)===$i?(b=$i,B+=2):(b=r,I===0&&ke(ql)),b!==r&&(Ke=C,b=$e()),C=b,C===r&&(C=B,t.substr(B,2)===wa?(b=wa,B+=2):(b=r,I===0&&ke(Ou)),b!==r&&(Ke=C,b=SE()),C=b,C===r&&(C=B,t.substr(B,2)===Rh?(b=Rh,B+=2):(b=r,I===0&&ke(kE)),b!==r&&(Ke=C,b=gr()),C=b,C===r&&(C=B,t.substr(B,2)===Yn?(b=Yn,B+=2):(b=r,I===0&&ke(Jl)),b!==r&&(Ke=C,b=Fh()),C=b,C===r&&(C=B,t.charCodeAt(B)===92?(b=hs,B++):(b=r,I===0&&ke(pt)),b!==r?(Vs.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(Ba)),F!==r?(Ke=C,b=mn(F),C=b):(B=C,C=r)):(B=C,C=r),C===r&&(C=ife()))))))))),C}function ife(){var C,b,F,H,ue,De,Ct,bt,Zr,Ei,ds,AQ;return C=B,t.charCodeAt(B)===92?(b=hs,B++):(b=r,I===0&&ke(pt)),b!==r?(F=nQ(),F!==r?(Ke=C,b=En(F),C=b):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Oe?(b=Oe,B+=2):(b=r,I===0&&ke(Mu)),b!==r?(F=B,H=B,ue=nQ(),ue!==r?(De=Wn(),De!==r?(ue=[ue,De],H=ue):(B=H,H=r)):(B=H,H=r),H===r&&(H=nQ()),H!==r?F=t.substring(F,B):F=H,F!==r?(Ke=C,b=En(F),C=b):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Wl?(b=Wl,B+=2):(b=r,I===0&&ke(Xs)),b!==r?(F=B,H=B,ue=Wn(),ue!==r?(De=Wn(),De!==r?(Ct=Wn(),Ct!==r?(bt=Wn(),bt!==r?(ue=[ue,De,Ct,bt],H=ue):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r),H!==r?F=t.substring(F,B):F=H,F!==r?(Ke=C,b=En(F),C=b):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===zl?(b=zl,B+=2):(b=r,I===0&&ke(RA)),b!==r?(F=B,H=B,ue=Wn(),ue!==r?(De=Wn(),De!==r?(Ct=Wn(),Ct!==r?(bt=Wn(),bt!==r?(Zr=Wn(),Zr!==r?(Ei=Wn(),Ei!==r?(ds=Wn(),ds!==r?(AQ=Wn(),AQ!==r?(ue=[ue,De,Ct,bt,Zr,Ei,ds,AQ],H=ue):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r),H!==r?F=t.substring(F,B):F=H,F!==r?(Ke=C,b=Uu(F),C=b):(B=C,C=r)):(B=C,C=r)))),C}function nQ(){var C;return Ku.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(ba)),C}function Wn(){var C;return Qa.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(it)),C}function nfe(){var C,b,F,H,ue;if(C=B,b=[],F=B,t.charCodeAt(B)===92?(H=hs,B++):(H=r,I===0&&ke(pt)),H!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(Ke=F,H=mn(ue),F=H):(B=F,F=r)):(B=F,F=r),F===r&&(F=B,H=B,I++,ue=tM(),I--,ue===r?H=void 0:(B=H,H=r),H!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(Ke=F,H=mn(ue),F=H):(B=F,F=r)):(B=F,F=r)),F!==r)for(;F!==r;)b.push(F),F=B,t.charCodeAt(B)===92?(H=hs,B++):(H=r,I===0&&ke(pt)),H!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(Ke=F,H=mn(ue),F=H):(B=F,F=r)):(B=F,F=r),F===r&&(F=B,H=B,I++,ue=tM(),I--,ue===r?H=void 0:(B=H,H=r),H!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(Ke=F,H=mn(ue),F=H):(B=F,F=r)):(B=F,F=r));else b=r;return b!==r&&(Ke=C,b=jn(b)),C=b,C}function sQ(){var C,b,F,H,ue,De;if(C=B,t.charCodeAt(B)===45?(b=FA,B++):(b=r,I===0&&ke(_l)),b===r&&(t.charCodeAt(B)===43?(b=Zs,B++):(b=r,I===0&&ke(Vl))),b===r&&(b=null),b!==r){if(F=[],ve.test(t.charAt(B))?(H=t.charAt(B),B++):(H=r,I===0&&ke(pe)),H!==r)for(;H!==r;)F.push(H),ve.test(t.charAt(B))?(H=t.charAt(B),B++):(H=r,I===0&&ke(pe));else F=r;if(F!==r)if(t.charCodeAt(B)===46?(H=xE,B++):(H=r,I===0&&ke(Nh)),H!==r){if(ue=[],ve.test(t.charAt(B))?(De=t.charAt(B),B++):(De=r,I===0&&ke(pe)),De!==r)for(;De!==r;)ue.push(De),ve.test(t.charAt(B))?(De=t.charAt(B),B++):(De=r,I===0&&ke(pe));else ue=r;ue!==r?(Ke=C,b=Hu(b,F,ue),C=b):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;if(C===r){if(C=B,t.charCodeAt(B)===45?(b=FA,B++):(b=r,I===0&&ke(_l)),b===r&&(t.charCodeAt(B)===43?(b=Zs,B++):(b=r,I===0&&ke(Vl))),b===r&&(b=null),b!==r){if(F=[],ve.test(t.charAt(B))?(H=t.charAt(B),B++):(H=r,I===0&&ke(pe)),H!==r)for(;H!==r;)F.push(H),ve.test(t.charAt(B))?(H=t.charAt(B),B++):(H=r,I===0&&ke(pe));else F=r;F!==r?(Ke=C,b=Lh(b,F),C=b):(B=C,C=r)}else B=C,C=r;if(C===r&&(C=B,b=aQ(),b!==r&&(Ke=C,b=PE(b)),C=b,C===r&&(C=B,b=Zl(),b!==r&&(Ke=C,b=Xl(b)),C=b,C===r)))if(C=B,t.charCodeAt(B)===40?(b=le,B++):(b=r,I===0&&ke(Ae)),b!==r){for(F=[],H=je();H!==r;)F.push(H),H=je();if(F!==r)if(H=XO(),H!==r){for(ue=[],De=je();De!==r;)ue.push(De),De=je();ue!==r?(t.charCodeAt(B)===41?(De=T,B++):(De=r,I===0&&ke(L)),De!==r?(Ke=C,b=DE(H),C=b):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r}return C}function oQ(){var C,b,F,H,ue,De,Ct,bt;if(C=B,b=sQ(),b!==r){for(F=[],H=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===42?(De=ju,B++):(De=r,I===0&&ke(NA)),De===r&&(t.charCodeAt(B)===47?(De=Lr,B++):(De=r,I===0&&ke(RE))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=sQ(),bt!==r?(Ke=H,ue=$s(b,De,bt),H=ue):(B=H,H=r)):(B=H,H=r)}else B=H,H=r;else B=H,H=r;for(;H!==r;){for(F.push(H),H=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===42?(De=ju,B++):(De=r,I===0&&ke(NA)),De===r&&(t.charCodeAt(B)===47?(De=Lr,B++):(De=r,I===0&&ke(RE))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=sQ(),bt!==r?(Ke=H,ue=$s(b,De,bt),H=ue):(B=H,H=r)):(B=H,H=r)}else B=H,H=r;else B=H,H=r}F!==r?(Ke=C,b=eo(b,F),C=b):(B=C,C=r)}else B=C,C=r;return C}function XO(){var C,b,F,H,ue,De,Ct,bt;if(C=B,b=oQ(),b!==r){for(F=[],H=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===43?(De=Zs,B++):(De=r,I===0&&ke(Vl)),De===r&&(t.charCodeAt(B)===45?(De=FA,B++):(De=r,I===0&&ke(_l))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=oQ(),bt!==r?(Ke=H,ue=Gu(b,De,bt),H=ue):(B=H,H=r)):(B=H,H=r)}else B=H,H=r;else B=H,H=r;for(;H!==r;){for(F.push(H),H=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===43?(De=Zs,B++):(De=r,I===0&&ke(Vl)),De===r&&(t.charCodeAt(B)===45?(De=FA,B++):(De=r,I===0&&ke(_l))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=oQ(),bt!==r?(Ke=H,ue=Gu(b,De,bt),H=ue):(B=H,H=r)):(B=H,H=r)}else B=H,H=r;else B=H,H=r}F!==r?(Ke=C,b=eo(b,F),C=b):(B=C,C=r)}else B=C,C=r;return C}function ZO(){var C,b,F,H,ue,De;if(C=B,t.substr(B,3)===LA?(b=LA,B+=3):(b=r,I===0&&ke(R)),b!==r){for(F=[],H=je();H!==r;)F.push(H),H=je();if(F!==r)if(H=XO(),H!==r){for(ue=[],De=je();De!==r;)ue.push(De),De=je();ue!==r?(t.substr(B,2)===q?(De=q,B+=2):(De=r,I===0&&ke(de)),De!==r?(Ke=C,b=He(H),C=b):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;return C}function $O(){var C,b,F,H;return C=B,t.substr(B,2)===Te?(b=Te,B+=2):(b=r,I===0&&ke(Xe)),b!==r?(F=Gr(),F!==r?(t.charCodeAt(B)===41?(H=T,B++):(H=r,I===0&&ke(L)),H!==r?(Ke=C,b=Et(F),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function aQ(){var C,b,F,H,ue,De;return C=B,t.substr(B,2)===Rt?(b=Rt,B+=2):(b=r,I===0&&ke(qn)),b!==r?(F=Zl(),F!==r?(t.substr(B,2)===Jb?(H=Jb,B+=2):(H=r,I===0&&ke(xO)),H!==r?(ue=GO(),ue!==r?(t.charCodeAt(B)===125?(De=re,B++):(De=r,I===0&&ke(se)),De!==r?(Ke=C,b=PO(F,ue),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(b=Rt,B+=2):(b=r,I===0&&ke(qn)),b!==r?(F=Zl(),F!==r?(t.substr(B,3)===Wb?(H=Wb,B+=3):(H=r,I===0&&ke(DO)),H!==r?(Ke=C,b=RO(F),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(b=Rt,B+=2):(b=r,I===0&&ke(qn)),b!==r?(F=Zl(),F!==r?(t.substr(B,2)===zb?(H=zb,B+=2):(H=r,I===0&&ke(FO)),H!==r?(ue=GO(),ue!==r?(t.charCodeAt(B)===125?(De=re,B++):(De=r,I===0&&ke(se)),De!==r?(Ke=C,b=NO(F,ue),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(b=Rt,B+=2):(b=r,I===0&&ke(qn)),b!==r?(F=Zl(),F!==r?(t.substr(B,3)===_b?(H=_b,B+=3):(H=r,I===0&&ke(LO)),H!==r?(Ke=C,b=TO(F),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(b=Rt,B+=2):(b=r,I===0&&ke(qn)),b!==r?(F=Zl(),F!==r?(t.charCodeAt(B)===125?(H=re,B++):(H=r,I===0&&ke(se)),H!==r?(Ke=C,b=Vb(F),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.charCodeAt(B)===36?(b=OO,B++):(b=r,I===0&&ke(MO)),b!==r?(F=Zl(),F!==r?(Ke=C,b=Vb(F),C=b):(B=C,C=r)):(B=C,C=r)))))),C}function sfe(){var C,b,F;return C=B,b=ofe(),b!==r?(Ke=B,F=UO(b),F?F=void 0:F=r,F!==r?(Ke=C,b=KO(b),C=b):(B=C,C=r)):(B=C,C=r),C}function ofe(){var C,b,F,H,ue;if(C=B,b=[],F=B,H=B,I++,ue=rM(),I--,ue===r?H=void 0:(B=H,H=r),H!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(Ke=F,H=mn(ue),F=H):(B=F,F=r)):(B=F,F=r),F!==r)for(;F!==r;)b.push(F),F=B,H=B,I++,ue=rM(),I--,ue===r?H=void 0:(B=H,H=r),H!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(Ke=F,H=mn(ue),F=H):(B=F,F=r)):(B=F,F=r);else b=r;return b!==r&&(Ke=C,b=jn(b)),C=b,C}function eM(){var C,b,F;if(C=B,b=[],Xb.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(Zb)),F!==r)for(;F!==r;)b.push(F),Xb.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(Zb));else b=r;return b!==r&&(Ke=C,b=$b()),C=b,C}function Zl(){var C,b,F;if(C=B,b=[],eQ.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(tQ)),F!==r)for(;F!==r;)b.push(F),eQ.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(tQ));else b=r;return b!==r&&(Ke=C,b=$b()),C=b,C}function tM(){var C;return HO.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(Yu)),C}function rM(){var C;return rQ.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(iQ)),C}function je(){var C,b;if(C=[],FE.test(t.charAt(B))?(b=t.charAt(B),B++):(b=r,I===0&&ke(NE)),b!==r)for(;b!==r;)C.push(b),FE.test(t.charAt(B))?(b=t.charAt(B),B++):(b=r,I===0&&ke(NE));else C=r;return C}if(D=n(),D!==r&&B===t.length)return D;throw D!==r&&B{"use strict";function ohe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function oc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,oc)}ohe(oc,Error);oc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gY&&(Y=S,U=[]),U.push(pe))}function se(pe,X){return new oc(pe,null,null,X)}function Qe(pe,X,be){return new oc(oc.buildMessage(pe,X),pe,X,be)}function he(){var pe,X,be,ce;return pe=S,X=Fe(),X!==r?(t.charCodeAt(S)===47?(be=s,S++):(be=r,J===0&&re(o)),be!==r?(ce=Fe(),ce!==r?(x=pe,X=a(X,ce),pe=X):(S=pe,pe=r)):(S=pe,pe=r)):(S=pe,pe=r),pe===r&&(pe=S,X=Fe(),X!==r&&(x=pe,X=l(X)),pe=X),pe}function Fe(){var pe,X,be,ce;return pe=S,X=Ue(),X!==r?(t.charCodeAt(S)===64?(be=c,S++):(be=r,J===0&&re(u)),be!==r?(ce=ve(),ce!==r?(x=pe,X=g(X,ce),pe=X):(S=pe,pe=r)):(S=pe,pe=r)):(S=pe,pe=r),pe===r&&(pe=S,X=Ue(),X!==r&&(x=pe,X=f(X)),pe=X),pe}function Ue(){var pe,X,be,ce,fe;return pe=S,t.charCodeAt(S)===64?(X=c,S++):(X=r,J===0&&re(u)),X!==r?(be=xe(),be!==r?(t.charCodeAt(S)===47?(ce=s,S++):(ce=r,J===0&&re(o)),ce!==r?(fe=xe(),fe!==r?(x=pe,X=h(),pe=X):(S=pe,pe=r)):(S=pe,pe=r)):(S=pe,pe=r)):(S=pe,pe=r),pe===r&&(pe=S,X=xe(),X!==r&&(x=pe,X=h()),pe=X),pe}function xe(){var pe,X,be;if(pe=S,X=[],p.test(t.charAt(S))?(be=t.charAt(S),S++):(be=r,J===0&&re(m)),be!==r)for(;be!==r;)X.push(be),p.test(t.charAt(S))?(be=t.charAt(S),S++):(be=r,J===0&&re(m));else X=r;return X!==r&&(x=pe,X=h()),pe=X,pe}function ve(){var pe,X,be;if(pe=S,X=[],y.test(t.charAt(S))?(be=t.charAt(S),S++):(be=r,J===0&&re(Q)),be!==r)for(;be!==r;)X.push(be),y.test(t.charAt(S))?(be=t.charAt(S),S++):(be=r,J===0&&re(Q));else X=r;return X!==r&&(x=pe,X=h()),pe=X,pe}if(W=n(),W!==r&&S===t.length)return W;throw W!==r&&S{"use strict";function E1(t){return typeof t=="undefined"||t===null}function Ahe(t){return typeof t=="object"&&t!==null}function lhe(t){return Array.isArray(t)?t:E1(t)?[]:[t]}function che(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function ep(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}ep.prototype=Object.create(Error.prototype);ep.prototype.constructor=ep;ep.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};I1.exports=ep});var B1=w((DZe,y1)=>{"use strict";var w1=Ac();function HQ(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}HQ.prototype.getSnippet=function(e,r){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,r=r||75,i="",n=this.position;n>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>r/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;or/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),w1.repeat(" ",e)+i+a+s+` +`+w1.repeat(" ",e+this.position-n+i.length)+"^"};HQ.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`: +`+r)),i};y1.exports=HQ});var li=w((RZe,b1)=>{"use strict";var Q1=Vu(),fhe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],hhe=["scalar","sequence","mapping"];function phe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function dhe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(fhe.indexOf(r)===-1)throw new Q1('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=phe(e.styleAliases||null),hhe.indexOf(this.kind)===-1)throw new Q1('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}b1.exports=dhe});var lc=w((FZe,v1)=>{"use strict";var S1=Ac(),nI=Vu(),Che=li();function jQ(t,e,r){var i=[];return t.include.forEach(function(n){r=jQ(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function mhe(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e{"use strict";var Ehe=li();k1.exports=new Ehe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var D1=w((LZe,P1)=>{"use strict";var Ihe=li();P1.exports=new Ihe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var F1=w((TZe,R1)=>{"use strict";var yhe=li();R1.exports=new yhe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var sI=w((OZe,N1)=>{"use strict";var whe=lc();N1.exports=new whe({explicit:[x1(),D1(),F1()]})});var T1=w((MZe,L1)=>{"use strict";var Bhe=li();function bhe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function Qhe(){return null}function vhe(t){return t===null}L1.exports=new Bhe("tag:yaml.org,2002:null",{kind:"scalar",resolve:bhe,construct:Qhe,predicate:vhe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var M1=w((UZe,O1)=>{"use strict";var She=li();function khe(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function xhe(t){return t==="true"||t==="True"||t==="TRUE"}function Phe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}O1.exports=new She("tag:yaml.org,2002:bool",{kind:"scalar",resolve:khe,construct:xhe,predicate:Phe,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var K1=w((KZe,U1)=>{"use strict";var Dhe=Ac(),Rhe=li();function Fhe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function Nhe(t){return 48<=t&&t<=55}function Lhe(t){return 48<=t&&t<=57}function The(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var G1=w((HZe,H1)=>{"use strict";var j1=Ac(),Uhe=li(),Khe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Hhe(t){return!(t===null||!Khe.test(t)||t[t.length-1]==="_")}function jhe(t){var e,r,i,n;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),r*e):r*parseFloat(e,10)}var Ghe=/^[-+]?[0-9]+e/;function Yhe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(j1.isNegativeZero(t))return"-0.0";return r=t.toString(10),Ghe.test(r)?r.replace("e",".e"):r}function qhe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||j1.isNegativeZero(t))}H1.exports=new Uhe("tag:yaml.org,2002:float",{kind:"scalar",resolve:Hhe,construct:jhe,predicate:qhe,represent:Yhe,defaultStyle:"lowercase"})});var GQ=w((jZe,Y1)=>{"use strict";var Jhe=lc();Y1.exports=new Jhe({include:[sI()],implicit:[T1(),M1(),K1(),G1()]})});var YQ=w((GZe,q1)=>{"use strict";var Whe=lc();q1.exports=new Whe({include:[GQ()]})});var _1=w((YZe,J1)=>{"use strict";var zhe=li(),W1=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),z1=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function _he(t){return t===null?!1:W1.exec(t)!==null||z1.exec(t)!==null}function Vhe(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,f;if(e=W1.exec(t),e===null&&(e=z1.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(r,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function Xhe(t){return t.toISOString()}J1.exports=new zhe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:_he,construct:Vhe,instanceOf:Date,represent:Xhe})});var X1=w((qZe,V1)=>{"use strict";var Zhe=li();function $he(t){return t==="<<"||t===null}V1.exports=new Zhe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:$he})});var eU=w((JZe,Z1)=>{"use strict";var cc;try{$1=require,cc=$1("buffer").Buffer}catch(t){}var $1,epe=li(),qQ=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function tpe(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=qQ;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function rpe(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=qQ,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),cc?cc.from?cc.from(a):new cc(a):a}function ipe(t){var e="",r=0,i,n,s=t.length,o=qQ;for(i=0;i>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function npe(t){return cc&&cc.isBuffer(t)}Z1.exports=new epe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:tpe,construct:rpe,predicate:npe,represent:ipe})});var rU=w((WZe,tU)=>{"use strict";var spe=li(),ope=Object.prototype.hasOwnProperty,ape=Object.prototype.toString;function Ape(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r{"use strict";var cpe=li(),upe=Object.prototype.toString;function gpe(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e{"use strict";var hpe=li(),ppe=Object.prototype.hasOwnProperty;function dpe(t){if(t===null)return!0;var e,r=t;for(e in r)if(ppe.call(r,e)&&r[e]!==null)return!1;return!0}function Cpe(t){return t!==null?t:{}}sU.exports=new hpe("tag:yaml.org,2002:set",{kind:"mapping",resolve:dpe,construct:Cpe})});var Zu=w((VZe,aU)=>{"use strict";var mpe=lc();aU.exports=new mpe({include:[YQ()],implicit:[_1(),X1()],explicit:[eU(),rU(),nU(),oU()]})});var lU=w((XZe,AU)=>{"use strict";var Epe=li();function Ipe(){return!0}function ype(){}function wpe(){return""}function Bpe(t){return typeof t=="undefined"}AU.exports=new Epe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Ipe,construct:ype,predicate:Bpe,represent:wpe})});var uU=w((ZZe,cU)=>{"use strict";var bpe=li();function Qpe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function vpe(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Spe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function kpe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}cU.exports=new bpe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Qpe,construct:vpe,predicate:kpe,represent:Spe})});var hU=w(($Ze,gU)=>{"use strict";var oI;try{fU=require,oI=fU("esprima")}catch(t){typeof window!="undefined"&&(oI=window.esprima)}var fU,xpe=li();function Ppe(t){if(t===null)return!1;try{var e="("+t+")",r=oI.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function Dpe(t){var e="("+t+")",r=oI.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function Rpe(t){return t.toString()}function Fpe(t){return Object.prototype.toString.call(t)==="[object Function]"}gU.exports=new xpe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Ppe,construct:Dpe,predicate:Fpe,represent:Rpe})});var tp=w((e$e,pU)=>{"use strict";var dU=lc();pU.exports=dU.DEFAULT=new dU({include:[Zu()],explicit:[lU(),uU(),hU()]})});var LU=w((t$e,rp)=>{"use strict";var Fa=Ac(),CU=Vu(),Npe=B1(),mU=Zu(),Lpe=tp(),HA=Object.prototype.hasOwnProperty,aI=1,EU=2,IU=3,AI=4,JQ=1,Tpe=2,yU=3,Ope=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Mpe=/[\x85\u2028\u2029]/,Upe=/[,\[\]\{\}]/,wU=/^(?:!|!!|![a-z\-]+!)$/i,BU=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function bU(t){return Object.prototype.toString.call(t)}function Ro(t){return t===10||t===13}function uc(t){return t===9||t===32}function yn(t){return t===9||t===32||t===10||t===13}function $u(t){return t===44||t===91||t===93||t===123||t===125}function Kpe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function Hpe(t){return t===120?2:t===117?4:t===85?8:0}function jpe(t){return 48<=t&&t<=57?t-48:-1}function QU(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function Gpe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var vU=new Array(256),SU=new Array(256);for(var eg=0;eg<256;eg++)vU[eg]=QU(eg)?1:0,SU[eg]=QU(eg);function Ype(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Lpe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function kU(t,e){return new CU(e,new Npe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function dt(t,e){throw kU(t,e)}function lI(t,e){t.onWarning&&t.onWarning.call(null,kU(t,e))}var xU={YAML:function(e,r,i){var n,s,o;e.version!==null&&dt(e,"duplication of %YAML directive"),i.length!==1&&dt(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&dt(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&dt(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&lI(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&dt(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],wU.test(n)||dt(e,"ill-formed tag handle (first argument) of the TAG directive"),HA.call(e.tagMap,n)&&dt(e,'there is a previously declared suffix for "'+n+'" tag handle'),BU.test(s)||dt(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function jA(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=Fa.repeat(` +`,e-1))}function qpe(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,f=t.result,h;if(h=t.input.charCodeAt(t.position),yn(h)||$u(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=t.input.charCodeAt(t.position+1),yn(n)||r&&$u(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;h!==0;){if(h===58){if(n=t.input.charCodeAt(t.position+1),yn(n)||r&&$u(n))break}else if(h===35){if(i=t.input.charCodeAt(t.position-1),yn(i))break}else{if(t.position===t.lineStart&&cI(t)||r&&$u(h))break;if(Ro(h))if(l=t.line,c=t.lineStart,u=t.lineIndent,$r(t,!1,-1),t.lineIndent>=e){a=!0,h=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(jA(t,s,o,!1),zQ(t,t.line-l),s=o=t.position,a=!1),uc(h)||(o=t.position+1),h=t.input.charCodeAt(++t.position)}return jA(t,s,o,!1),t.result?!0:(t.kind=g,t.result=f,!1)}function Jpe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(jA(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else Ro(r)?(jA(t,i,n,!0),zQ(t,$r(t,!1,e)),i=n=t.position):t.position===t.lineStart&&cI(t)?dt(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);dt(t,"unexpected end of the stream within a single quoted scalar")}function Wpe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return jA(t,r,t.position,!0),t.position++,!0;if(a===92){if(jA(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),Ro(a))$r(t,!1,e);else if(a<256&&vU[a])t.result+=SU[a],t.position++;else if((o=Hpe(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=Kpe(a))>=0?s=(s<<4)+o:dt(t,"expected hexadecimal character");t.result+=Gpe(s),t.position++}else dt(t,"unknown escape sequence");r=i=t.position}else Ro(a)?(jA(t,r,i,!0),zQ(t,$r(t,!1,e)),r=i=t.position):t.position===t.lineStart&&cI(t)?dt(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}dt(t,"unexpected end of the stream within a double quoted scalar")}function zpe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,f={},h,p,m,y;if(y=t.input.charCodeAt(t.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),y=t.input.charCodeAt(++t.position);y!==0;){if($r(t,!0,e),y=t.input.charCodeAt(t.position),y===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||dt(t,"missed comma between flow collection entries"),p=h=m=null,c=u=!1,y===63&&(a=t.input.charCodeAt(t.position+1),yn(a)&&(c=u=!0,t.position++,$r(t,!0,e))),i=t.line,rg(t,e,aI,!1,!0),p=t.tag,h=t.result,$r(t,!0,e),y=t.input.charCodeAt(t.position),(u||t.line===i)&&y===58&&(c=!0,y=t.input.charCodeAt(++t.position),$r(t,!0,e),rg(t,e,aI,!1,!0),m=t.result),g?tg(t,s,f,p,h,m):c?s.push(tg(t,null,f,p,h,m)):s.push(h),$r(t,!0,e),y=t.input.charCodeAt(t.position),y===44?(r=!0,y=t.input.charCodeAt(++t.position)):r=!1}dt(t,"unexpected end of the stream within a flow collection")}function _pe(t,e){var r,i,n=JQ,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)JQ===n?n=g===43?yU:Tpe:dt(t,"repeat of a chomping mode identifier");else if((u=jpe(g))>=0)u===0?dt(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?dt(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(uc(g)){do g=t.input.charCodeAt(++t.position);while(uc(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!Ro(g)&&g!==0)}for(;g!==0;){for(WQ(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),Ro(g)){l++;continue}if(t.lineIndente)&&l!==0)dt(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(rg(t,e,AI,!0,n)&&(p?f=t.result:h=t.result),p||(tg(t,c,u,g,f,h,s,o),g=f=h=null),$r(t,!0,-1),y=t.input.charCodeAt(t.position)),t.lineIndent>e&&y!==0)dt(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),g=0,f=t.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result)?(t.result=h.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):dt(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):dt(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function ede(t){var e=t.position,r,i,n,s=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(o=t.input.charCodeAt(t.position))!==0&&($r(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(s=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&dt(t,"directive name must not be less than one character in length");o!==0;){for(;uc(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!Ro(o));break}if(Ro(o))break;for(r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&WQ(t),HA.call(xU,i)?xU[i](t,i,n):lI(t,'unknown document directive "'+i+'"')}if($r(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,$r(t,!0,-1)):s&&dt(t,"directives end mark is expected"),rg(t,t.lineIndent-1,AI,!1,!0),$r(t,!0,-1),t.checkLineBreaks&&Mpe.test(t.input.slice(e,t.position))&&lI(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&cI(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,$r(t,!0,-1));return}if(t.position{"use strict";var ip=Ac(),np=Vu(),ide=tp(),nde=Zu(),TU=Object.prototype.toString,OU=Object.prototype.hasOwnProperty,sde=9,sp=10,ode=13,ade=32,Ade=33,lde=34,MU=35,cde=37,ude=38,gde=39,fde=42,UU=44,hde=45,KU=58,pde=61,dde=62,Cde=63,mde=64,HU=91,jU=93,Ede=96,GU=123,Ide=124,YU=125,Ui={};Ui[0]="\\0";Ui[7]="\\a";Ui[8]="\\b";Ui[9]="\\t";Ui[10]="\\n";Ui[11]="\\v";Ui[12]="\\f";Ui[13]="\\r";Ui[27]="\\e";Ui[34]='\\"';Ui[92]="\\\\";Ui[133]="\\N";Ui[160]="\\_";Ui[8232]="\\L";Ui[8233]="\\P";var yde=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function wde(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;n0?t.charCodeAt(s-1):null,f=f&&WU(o,a)}else{for(s=0;si&&t[g+1]!==" ",g=s);else if(!ig(o))return uI;a=s>0?t.charCodeAt(s-1):null,f=f&&WU(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?f&&!n(t)?_U:VU:r>9&&zU(t)?uI:c?ZU:XU}function Pde(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&yde.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return bde(t,l)}switch(Sde(e,o,t.indent,s,a)){case _U:return e;case VU:return"'"+e.replace(/'/g,"''")+"'";case XU:return"|"+$U(e,t.indent)+eK(JU(e,n));case ZU:return">"+$U(e,t.indent)+eK(JU(kde(e,s),n));case uI:return'"'+xde(e,s)+'"';default:throw new np("impossible error: invalid scalar style")}}()}function $U(t,e){var r=zU(t)?String(e):"",i=t[t.length-1]===` +`,n=i&&(t[t.length-2]===` +`||t===` +`),s=n?"+":i?"":"-";return r+s+` +`}function eK(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function kde(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` +`);return c=c!==-1?c:t.length,r.lastIndex=c,tK(t.slice(0,c),e)}(),n=t[0]===` +`||t[0]===" ",s,o;o=r.exec(t);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` +`:"")+tK(l,e),n=s}return i}function tK(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`+t.slice(n,s),n=s+1),o=a;return l+=` +`,t.length-n>e&&o>n?l+=t.slice(n,o)+` +`+t.slice(o+1):l+=t.slice(n),l.slice(1)}function xde(t){for(var e="",r,i,n,s=0;s=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=qU((r-55296)*1024+i-56320+65536),s++;continue}n=Ui[r],e+=!n&&ig(r)?t[s]:n||qU(r)}return e}function Dde(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!gc(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function Nde(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,f;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new np("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&sp===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,g&&(f+=VQ(t,e)),!!gc(t,e+1,u,!0,g)&&(t.dump&&sp===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,n+=f));t.tag=s,t.dump=n||"{}"}function rK(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function gc(t,e,r,i,n,s){t.tag=null,t.dump=r,rK(t,r,!1)||rK(t,r,!0);var o=TU.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(Nde(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(Fde(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(Rde(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(Dde(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&Pde(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new np("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function Lde(t,e){var r=[],i=[],n,s;for(ZQ(t,r,i),n=0,s=i.length;n{"use strict";var gI=LU(),sK=nK();function fI(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Or.exports.Type=li();Or.exports.Schema=lc();Or.exports.FAILSAFE_SCHEMA=sI();Or.exports.JSON_SCHEMA=GQ();Or.exports.CORE_SCHEMA=YQ();Or.exports.DEFAULT_SAFE_SCHEMA=Zu();Or.exports.DEFAULT_FULL_SCHEMA=tp();Or.exports.load=gI.load;Or.exports.loadAll=gI.loadAll;Or.exports.safeLoad=gI.safeLoad;Or.exports.safeLoadAll=gI.safeLoadAll;Or.exports.dump=sK.dump;Or.exports.safeDump=sK.safeDump;Or.exports.YAMLException=Vu();Or.exports.MINIMAL_SCHEMA=sI();Or.exports.SAFE_SCHEMA=Zu();Or.exports.DEFAULT_SCHEMA=tp();Or.exports.scan=fI("scan");Or.exports.parse=fI("parse");Or.exports.compose=fI("compose");Or.exports.addConstructor=fI("addConstructor")});var AK=w((n$e,aK)=>{"use strict";var Ode=oK();aK.exports=Ode});var cK=w((s$e,lK)=>{"use strict";function Mde(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function fc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,fc)}Mde(fc,Error);fc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[He]:de})))},Y=function(R){return R},U=function(R){return R},J=Vs("correct indentation"),W=" ",ee=gr(" ",!1),Z=function(R){return R.length===LA*Gu},A=function(R){return R.length===(LA+1)*Gu},ne=function(){return LA++,!0},le=function(){return LA--,!0},Ae=function(){return Ou()},T=Vs("pseudostring"),L=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,Ee=Yn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),we=/^[^\r\n\t ,\][{}:#"']/,qe=Yn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),re=function(){return Ou().replace(/^ *| *$/g,"")},se="--",Qe=gr("--",!1),he=/^[a-zA-Z\/0-9]/,Fe=Yn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ue=/^[^\r\n\t :,]/,xe=Yn(["\r",` +`," "," ",":",","],!0,!1),ve="null",pe=gr("null",!1),X=function(){return null},be="true",ce=gr("true",!1),fe=function(){return!0},gt="false",Ht=gr("false",!1),Mt=function(){return!1},mi=Vs("string"),jt='"',Qr=gr('"',!1),Ti=function(){return""},_s=function(R){return R},Un=function(R){return R.join("")},Kn=/^[^"\\\0-\x1F\x7F]/,vr=Yn(['"',"\\",["\0",""],"\x7F"],!0,!1),Hn='\\"',us=gr('\\"',!1),Ia=function(){return'"'},SA="\\\\",Du=gr("\\\\",!1),gs=function(){return"\\"},kA="\\/",ya=gr("\\/",!1),Ru=function(){return"/"},xA="\\b",PA=gr("\\b",!1),Sr=function(){return"\b"},jl="\\f",Fu=gr("\\f",!1),So=function(){return"\f"},Nu="\\n",Qh=gr("\\n",!1),vh=function(){return` +`},oe="\\r",Oi=gr("\\r",!1),ko=function(){return"\r"},jn="\\t",Lu=gr("\\t",!1),vt=function(){return" "},Gl="\\u",Gn=gr("\\u",!1),fs=function(R,q,de,He){return String.fromCharCode(parseInt(`0x${R}${q}${de}${He}`))},hs=/^[0-9a-fA-F]/,pt=Yn([["0","9"],["a","f"],["A","F"]],!1,!1),xo=Vs("blank space"),lt=/^[ \t]/,mn=Yn([" "," "],!1,!1),v=Vs("white space"),Tt=/^[ \t\n\r]/,Tu=Yn([" "," ",` +`,"\r"],!1,!1),Yl=`\r +`,Sh=gr(`\r +`,!1),kh=` +`,xh=gr(` +`,!1),Ph="\r",Dh=gr("\r",!1),G=0,yt=0,DA=[{line:1,column:1}],$i=0,ql=[],$e=0,wa;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function Ou(){return t.substring(yt,G)}function SE(){return En(yt,G)}function Rh(R,q){throw q=q!==void 0?q:En(yt,G),Wl([Vs(R)],t.substring(yt,G),q)}function kE(R,q){throw q=q!==void 0?q:En(yt,G),Mu(R,q)}function gr(R,q){return{type:"literal",text:R,ignoreCase:q}}function Yn(R,q,de){return{type:"class",parts:R,inverted:q,ignoreCase:de}}function Jl(){return{type:"any"}}function Fh(){return{type:"end"}}function Vs(R){return{type:"other",description:R}}function Ba(R){var q=DA[R],de;if(q)return q;for(de=R-1;!DA[de];)de--;for(q=DA[de],q={line:q.line,column:q.column};de$i&&($i=G,ql=[]),ql.push(R))}function Mu(R,q){return new fc(R,null,null,q)}function Wl(R,q,de){return new fc(fc.buildMessage(R,q),R,q,de)}function Xs(){var R;return R=Uu(),R}function zl(){var R,q,de;for(R=G,q=[],de=RA();de!==r;)q.push(de),de=RA();return q!==r&&(yt=R,q=s(q)),R=q,R}function RA(){var R,q,de,He,Te;return R=G,q=Qa(),q!==r?(t.charCodeAt(G)===45?(de=o,G++):(de=r,$e===0&&Oe(a)),de!==r?(He=Lr(),He!==r?(Te=ba(),Te!==r?(yt=R,q=l(Te),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R}function Uu(){var R,q,de;for(R=G,q=[],de=Ku();de!==r;)q.push(de),de=Ku();return q!==r&&(yt=R,q=c(q)),R=q,R}function Ku(){var R,q,de,He,Te,Xe,Et,Rt,qn;if(R=G,q=Lr(),q===r&&(q=null),q!==r){if(de=G,t.charCodeAt(G)===35?(He=u,G++):(He=r,$e===0&&Oe(g)),He!==r){if(Te=[],Xe=G,Et=G,$e++,Rt=eo(),$e--,Rt===r?Et=void 0:(G=Et,Et=r),Et!==r?(t.length>G?(Rt=t.charAt(G),G++):(Rt=r,$e===0&&Oe(f)),Rt!==r?(Et=[Et,Rt],Xe=Et):(G=Xe,Xe=r)):(G=Xe,Xe=r),Xe!==r)for(;Xe!==r;)Te.push(Xe),Xe=G,Et=G,$e++,Rt=eo(),$e--,Rt===r?Et=void 0:(G=Et,Et=r),Et!==r?(t.length>G?(Rt=t.charAt(G),G++):(Rt=r,$e===0&&Oe(f)),Rt!==r?(Et=[Et,Rt],Xe=Et):(G=Xe,Xe=r)):(G=Xe,Xe=r);else Te=r;Te!==r?(He=[He,Te],de=He):(G=de,de=r)}else G=de,de=r;if(de===r&&(de=null),de!==r){if(He=[],Te=$s(),Te!==r)for(;Te!==r;)He.push(Te),Te=$s();else He=r;He!==r?(yt=R,q=h(),R=q):(G=R,R=r)}else G=R,R=r}else G=R,R=r;if(R===r&&(R=G,q=Qa(),q!==r?(de=_l(),de!==r?(He=Lr(),He===r&&(He=null),He!==r?(t.charCodeAt(G)===58?(Te=p,G++):(Te=r,$e===0&&Oe(m)),Te!==r?(Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(Et=ba(),Et!==r?(yt=R,q=y(de,Et),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r&&(R=G,q=Qa(),q!==r?(de=Zs(),de!==r?(He=Lr(),He===r&&(He=null),He!==r?(t.charCodeAt(G)===58?(Te=p,G++):(Te=r,$e===0&&Oe(m)),Te!==r?(Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(Et=ba(),Et!==r?(yt=R,q=y(de,Et),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r))){if(R=G,q=Qa(),q!==r)if(de=Zs(),de!==r)if(He=Lr(),He!==r)if(Te=xE(),Te!==r){if(Xe=[],Et=$s(),Et!==r)for(;Et!==r;)Xe.push(Et),Et=$s();else Xe=r;Xe!==r?(yt=R,q=y(de,Te),R=q):(G=R,R=r)}else G=R,R=r;else G=R,R=r;else G=R,R=r;else G=R,R=r;if(R===r)if(R=G,q=Qa(),q!==r)if(de=Zs(),de!==r){if(He=[],Te=G,Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(t.charCodeAt(G)===44?(Et=Q,G++):(Et=r,$e===0&&Oe(S)),Et!==r?(Rt=Lr(),Rt===r&&(Rt=null),Rt!==r?(qn=Zs(),qn!==r?(yt=Te,Xe=x(de,qn),Te=Xe):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r),Te!==r)for(;Te!==r;)He.push(Te),Te=G,Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(t.charCodeAt(G)===44?(Et=Q,G++):(Et=r,$e===0&&Oe(S)),Et!==r?(Rt=Lr(),Rt===r&&(Rt=null),Rt!==r?(qn=Zs(),qn!==r?(yt=Te,Xe=x(de,qn),Te=Xe):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r);else He=r;He!==r?(Te=Lr(),Te===r&&(Te=null),Te!==r?(t.charCodeAt(G)===58?(Xe=p,G++):(Xe=r,$e===0&&Oe(m)),Xe!==r?(Et=Lr(),Et===r&&(Et=null),Et!==r?(Rt=ba(),Rt!==r?(yt=R,q=M(de,He,Rt),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)}else G=R,R=r;else G=R,R=r}return R}function ba(){var R,q,de,He,Te,Xe,Et;if(R=G,q=G,$e++,de=G,He=eo(),He!==r?(Te=it(),Te!==r?(t.charCodeAt(G)===45?(Xe=o,G++):(Xe=r,$e===0&&Oe(a)),Xe!==r?(Et=Lr(),Et!==r?(He=[He,Te,Xe,Et],de=He):(G=de,de=r)):(G=de,de=r)):(G=de,de=r)):(G=de,de=r),$e--,de!==r?(G=q,q=void 0):q=r,q!==r?(de=$s(),de!==r?(He=Po(),He!==r?(Te=zl(),Te!==r?(Xe=FA(),Xe!==r?(yt=R,q=Y(Te),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r&&(R=G,q=eo(),q!==r?(de=Po(),de!==r?(He=Uu(),He!==r?(Te=FA(),Te!==r?(yt=R,q=Y(He),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r))if(R=G,q=Vl(),q!==r){if(de=[],He=$s(),He!==r)for(;He!==r;)de.push(He),He=$s();else de=r;de!==r?(yt=R,q=U(q),R=q):(G=R,R=r)}else G=R,R=r;return R}function Qa(){var R,q,de;for($e++,R=G,q=[],t.charCodeAt(G)===32?(de=W,G++):(de=r,$e===0&&Oe(ee));de!==r;)q.push(de),t.charCodeAt(G)===32?(de=W,G++):(de=r,$e===0&&Oe(ee));return q!==r?(yt=G,de=Z(q),de?de=void 0:de=r,de!==r?(q=[q,de],R=q):(G=R,R=r)):(G=R,R=r),$e--,R===r&&(q=r,$e===0&&Oe(J)),R}function it(){var R,q,de;for(R=G,q=[],t.charCodeAt(G)===32?(de=W,G++):(de=r,$e===0&&Oe(ee));de!==r;)q.push(de),t.charCodeAt(G)===32?(de=W,G++):(de=r,$e===0&&Oe(ee));return q!==r?(yt=G,de=A(q),de?de=void 0:de=r,de!==r?(q=[q,de],R=q):(G=R,R=r)):(G=R,R=r),R}function Po(){var R;return yt=G,R=ne(),R?R=void 0:R=r,R}function FA(){var R;return yt=G,R=le(),R?R=void 0:R=r,R}function _l(){var R;return R=Xl(),R===r&&(R=Nh()),R}function Zs(){var R,q,de;if(R=Xl(),R===r){if(R=G,q=[],de=Hu(),de!==r)for(;de!==r;)q.push(de),de=Hu();else q=r;q!==r&&(yt=R,q=Ae()),R=q}return R}function Vl(){var R;return R=Lh(),R===r&&(R=PE(),R===r&&(R=Xl(),R===r&&(R=Nh()))),R}function xE(){var R;return R=Lh(),R===r&&(R=Xl(),R===r&&(R=Hu())),R}function Nh(){var R,q,de,He,Te,Xe;if($e++,R=G,L.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Oe(Ee)),q!==r){for(de=[],He=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(we.test(t.charAt(G))?(Xe=t.charAt(G),G++):(Xe=r,$e===0&&Oe(qe)),Xe!==r?(Te=[Te,Xe],He=Te):(G=He,He=r)):(G=He,He=r);He!==r;)de.push(He),He=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(we.test(t.charAt(G))?(Xe=t.charAt(G),G++):(Xe=r,$e===0&&Oe(qe)),Xe!==r?(Te=[Te,Xe],He=Te):(G=He,He=r)):(G=He,He=r);de!==r?(yt=R,q=re(),R=q):(G=R,R=r)}else G=R,R=r;return $e--,R===r&&(q=r,$e===0&&Oe(T)),R}function Hu(){var R,q,de,He,Te;if(R=G,t.substr(G,2)===se?(q=se,G+=2):(q=r,$e===0&&Oe(Qe)),q===r&&(q=null),q!==r)if(he.test(t.charAt(G))?(de=t.charAt(G),G++):(de=r,$e===0&&Oe(Fe)),de!==r){for(He=[],Ue.test(t.charAt(G))?(Te=t.charAt(G),G++):(Te=r,$e===0&&Oe(xe));Te!==r;)He.push(Te),Ue.test(t.charAt(G))?(Te=t.charAt(G),G++):(Te=r,$e===0&&Oe(xe));He!==r?(yt=R,q=re(),R=q):(G=R,R=r)}else G=R,R=r;else G=R,R=r;return R}function Lh(){var R,q;return R=G,t.substr(G,4)===ve?(q=ve,G+=4):(q=r,$e===0&&Oe(pe)),q!==r&&(yt=R,q=X()),R=q,R}function PE(){var R,q;return R=G,t.substr(G,4)===be?(q=be,G+=4):(q=r,$e===0&&Oe(ce)),q!==r&&(yt=R,q=fe()),R=q,R===r&&(R=G,t.substr(G,5)===gt?(q=gt,G+=5):(q=r,$e===0&&Oe(Ht)),q!==r&&(yt=R,q=Mt()),R=q),R}function Xl(){var R,q,de,He;return $e++,R=G,t.charCodeAt(G)===34?(q=jt,G++):(q=r,$e===0&&Oe(Qr)),q!==r?(t.charCodeAt(G)===34?(de=jt,G++):(de=r,$e===0&&Oe(Qr)),de!==r?(yt=R,q=Ti(),R=q):(G=R,R=r)):(G=R,R=r),R===r&&(R=G,t.charCodeAt(G)===34?(q=jt,G++):(q=r,$e===0&&Oe(Qr)),q!==r?(de=DE(),de!==r?(t.charCodeAt(G)===34?(He=jt,G++):(He=r,$e===0&&Oe(Qr)),He!==r?(yt=R,q=_s(de),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)),$e--,R===r&&(q=r,$e===0&&Oe(mi)),R}function DE(){var R,q,de;if(R=G,q=[],de=ju(),de!==r)for(;de!==r;)q.push(de),de=ju();else q=r;return q!==r&&(yt=R,q=Un(q)),R=q,R}function ju(){var R,q,de,He,Te,Xe;return Kn.test(t.charAt(G))?(R=t.charAt(G),G++):(R=r,$e===0&&Oe(vr)),R===r&&(R=G,t.substr(G,2)===Hn?(q=Hn,G+=2):(q=r,$e===0&&Oe(us)),q!==r&&(yt=R,q=Ia()),R=q,R===r&&(R=G,t.substr(G,2)===SA?(q=SA,G+=2):(q=r,$e===0&&Oe(Du)),q!==r&&(yt=R,q=gs()),R=q,R===r&&(R=G,t.substr(G,2)===kA?(q=kA,G+=2):(q=r,$e===0&&Oe(ya)),q!==r&&(yt=R,q=Ru()),R=q,R===r&&(R=G,t.substr(G,2)===xA?(q=xA,G+=2):(q=r,$e===0&&Oe(PA)),q!==r&&(yt=R,q=Sr()),R=q,R===r&&(R=G,t.substr(G,2)===jl?(q=jl,G+=2):(q=r,$e===0&&Oe(Fu)),q!==r&&(yt=R,q=So()),R=q,R===r&&(R=G,t.substr(G,2)===Nu?(q=Nu,G+=2):(q=r,$e===0&&Oe(Qh)),q!==r&&(yt=R,q=vh()),R=q,R===r&&(R=G,t.substr(G,2)===oe?(q=oe,G+=2):(q=r,$e===0&&Oe(Oi)),q!==r&&(yt=R,q=ko()),R=q,R===r&&(R=G,t.substr(G,2)===jn?(q=jn,G+=2):(q=r,$e===0&&Oe(Lu)),q!==r&&(yt=R,q=vt()),R=q,R===r&&(R=G,t.substr(G,2)===Gl?(q=Gl,G+=2):(q=r,$e===0&&Oe(Gn)),q!==r?(de=NA(),de!==r?(He=NA(),He!==r?(Te=NA(),Te!==r?(Xe=NA(),Xe!==r?(yt=R,q=fs(de,He,Te,Xe),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)))))))))),R}function NA(){var R;return hs.test(t.charAt(G))?(R=t.charAt(G),G++):(R=r,$e===0&&Oe(pt)),R}function Lr(){var R,q;if($e++,R=[],lt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Oe(mn)),q!==r)for(;q!==r;)R.push(q),lt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Oe(mn));else R=r;return $e--,R===r&&(q=r,$e===0&&Oe(xo)),R}function RE(){var R,q;if($e++,R=[],Tt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Oe(Tu)),q!==r)for(;q!==r;)R.push(q),Tt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Oe(Tu));else R=r;return $e--,R===r&&(q=r,$e===0&&Oe(v)),R}function $s(){var R,q,de,He,Te,Xe;if(R=G,q=eo(),q!==r){for(de=[],He=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(Xe=eo(),Xe!==r?(Te=[Te,Xe],He=Te):(G=He,He=r)):(G=He,He=r);He!==r;)de.push(He),He=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(Xe=eo(),Xe!==r?(Te=[Te,Xe],He=Te):(G=He,He=r)):(G=He,He=r);de!==r?(q=[q,de],R=q):(G=R,R=r)}else G=R,R=r;return R}function eo(){var R;return t.substr(G,2)===Yl?(R=Yl,G+=2):(R=r,$e===0&&Oe(Sh)),R===r&&(t.charCodeAt(G)===10?(R=kh,G++):(R=r,$e===0&&Oe(xh)),R===r&&(t.charCodeAt(G)===13?(R=Ph,G++):(R=r,$e===0&&Oe(Dh)))),R}let Gu=2,LA=0;if(wa=n(),wa!==r&&G===t.length)return wa;throw wa!==r&&G{"use strict";var Yde=t=>{let e=!1,r=!1,i=!1;for(let n=0;n{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=Yde(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};tv.exports=pK;tv.exports.default=pK});var mK=w((u$e,CK)=>{CK.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var hc=w(_n=>{"use strict";var EK=mK(),Fo=process.env;Object.defineProperty(_n,"_vendors",{value:EK.map(function(t){return t.constant})});_n.name=null;_n.isPR=null;EK.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(i){return IK(i)});if(_n[t.constant]=r,r)switch(_n.name=t.name,typeof t.pr){case"string":_n.isPR=!!Fo[t.pr];break;case"object":"env"in t.pr?_n.isPR=t.pr.env in Fo&&Fo[t.pr.env]!==t.pr.ne:"any"in t.pr?_n.isPR=t.pr.any.some(function(i){return!!Fo[i]}):_n.isPR=IK(t.pr);break;default:_n.isPR=null}});_n.isCI=!!(Fo.CI||Fo.CONTINUOUS_INTEGRATION||Fo.BUILD_NUMBER||Fo.RUN_ID||_n.name);function IK(t){return typeof t=="string"?!!Fo[t]:Object.keys(t).every(function(e){return Fo[e]===t[e]})}});var sg={};ft(sg,{KeyRelationship:()=>Cc,applyCascade:()=>fp,base64RegExp:()=>QK,colorStringAlphaRegExp:()=>bK,colorStringRegExp:()=>BK,computeKey:()=>GA,getPrintable:()=>ei,hasExactLength:()=>PK,hasForbiddenKeys:()=>wCe,hasKeyRelationship:()=>lv,hasMaxLength:()=>sCe,hasMinLength:()=>nCe,hasMutuallyExclusiveKeys:()=>BCe,hasRequiredKeys:()=>yCe,hasUniqueItems:()=>oCe,isArray:()=>Vde,isAtLeast:()=>lCe,isAtMost:()=>cCe,isBase64:()=>ECe,isBoolean:()=>Wde,isDate:()=>_de,isDict:()=>Zde,isEnum:()=>nn,isHexColor:()=>mCe,isISO8601:()=>CCe,isInExclusiveRange:()=>gCe,isInInclusiveRange:()=>uCe,isInstanceOf:()=>eCe,isInteger:()=>fCe,isJSON:()=>ICe,isLiteral:()=>qde,isLowerCase:()=>hCe,isNegative:()=>aCe,isNullable:()=>iCe,isNumber:()=>zde,isObject:()=>$de,isOneOf:()=>tCe,isOptional:()=>rCe,isPositive:()=>ACe,isString:()=>gp,isTuple:()=>Xde,isUUID4:()=>dCe,isUnknown:()=>xK,isUpperCase:()=>pCe,iso8601RegExp:()=>Av,makeCoercionFn:()=>dc,makeSetter:()=>kK,makeTrait:()=>SK,makeValidator:()=>St,matchesRegExp:()=>hp,plural:()=>CI,pushError:()=>mt,simpleKeyRegExp:()=>wK,uuid4RegExp:()=>vK});function St({test:t}){return SK(t)()}function ei(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function GA(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:wK.test(e)?`${(i=t==null?void 0:t.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=t==null?void 0:t.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function dc(t,e){return r=>{let i=t[e];return t[e]=r,dc(t,e).bind(null,i)}}function kK(t,e){return r=>{t[e]=r}}function CI(t,e,r){return t===1?e:r}function mt({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}function qde(t){return St({test:(e,r)=>e!==t?mt(r,`Expected a literal (got ${ei(t)})`):!0})}function nn(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return St({test:(i,n)=>r.has(i)?!0:mt(n,`Expected a valid enumeration value (got ${ei(i)})`)})}var wK,BK,bK,QK,vK,Av,SK,xK,gp,Jde,Wde,zde,_de,Vde,Xde,Zde,$de,eCe,tCe,fp,rCe,iCe,nCe,sCe,PK,oCe,aCe,ACe,lCe,cCe,uCe,gCe,fCe,hp,hCe,pCe,dCe,CCe,mCe,ECe,ICe,yCe,wCe,BCe,Cc,bCe,lv,Es=hfe(()=>{wK=/^[a-zA-Z_][a-zA-Z0-9_]*$/,BK=/^#[0-9a-f]{6}$/i,bK=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,QK=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,vK=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,Av=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,SK=t=>()=>t;xK=()=>St({test:(t,e)=>!0});gp=()=>St({test:(t,e)=>typeof t!="string"?mt(e,`Expected a string (got ${ei(t)})`):!0});Jde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),Wde=()=>St({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i=Jde.get(t);if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a boolean (got ${ei(t)})`)}return!0}}),zde=()=>St({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===t)i=n;else return mt(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a number (got ${ei(t)})`)}return!0}}),_de=()=>St({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i;if(typeof t=="string"&&Av.test(t))i=new Date(t);else{let n;if(typeof t=="string"){let s;try{s=JSON.parse(t)}catch(o){}typeof s=="number"&&(n=s)}else typeof t=="number"&&(n=t);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return mt(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a date (got ${ei(t)})`)}return!0}}),Vde=(t,{delimiter:e}={})=>St({test:(r,i)=>{var n;if(typeof r=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return mt(i,"Unbound coercion result");r=r.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,r)])}if(!Array.isArray(r))return mt(i,`Expected an array (got ${ei(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=PK(t.length);return St({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return mt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return mt(n,`Expected a tuple (got ${ei(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;aSt({test:(r,i)=>{if(typeof r!="object"||r===null)return mt(i,`Expected an object (got ${ei(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length;o{let r=Object.keys(t);return St({test:(i,n)=>{if(typeof i!="object"||i===null)return mt(n,`Expected an object (got ${ei(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=mt(Object.assign(Object.assign({},n),{p:GA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(t,l)?t[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:GA(n,l),coercion:dc(i,l)}))&&a:e===null?a=mt(Object.assign(Object.assign({},n),{p:GA(n,l)}),`Extraneous property (got ${ei(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:kK(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},eCe=t=>St({test:(e,r)=>e instanceof t?!0:mt(r,`Expected an instance of ${t.name} (got ${ei(e)})`)}),tCe=(t,{exclusive:e=!1}={})=>St({test:(r,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=t.length;c1?mt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),fp=(t,e)=>St({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?dc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!t(r,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==r){if(typeof(i==null?void 0:i.coercion)=="undefined")return mt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),rCe=t=>St({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),iCe=t=>St({test:(e,r)=>e===null?!0:t(e,r)}),nCe=t=>St({test:(e,r)=>e.length>=t?!0:mt(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),sCe=t=>St({test:(e,r)=>e.length<=t?!0:mt(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),PK=t=>St({test:(e,r)=>e.length!==t?mt(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),oCe=({map:t}={})=>St({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sSt({test:(t,e)=>t<=0?!0:mt(e,`Expected to be negative (got ${t})`)}),ACe=()=>St({test:(t,e)=>t>=0?!0:mt(e,`Expected to be positive (got ${t})`)}),lCe=t=>St({test:(e,r)=>e>=t?!0:mt(r,`Expected to be at least ${t} (got ${e})`)}),cCe=t=>St({test:(e,r)=>e<=t?!0:mt(r,`Expected to be at most ${t} (got ${e})`)}),uCe=(t,e)=>St({test:(r,i)=>r>=t&&r<=e?!0:mt(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),gCe=(t,e)=>St({test:(r,i)=>r>=t&&rSt({test:(e,r)=>e!==Math.round(e)?mt(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:mt(r,`Expected to be a safe integer (got ${e})`)}),hp=t=>St({test:(e,r)=>t.test(e)?!0:mt(r,`Expected to match the pattern ${t.toString()} (got ${ei(e)})`)}),hCe=()=>St({test:(t,e)=>t!==t.toLowerCase()?mt(e,`Expected to be all-lowercase (got ${t})`):!0}),pCe=()=>St({test:(t,e)=>t!==t.toUpperCase()?mt(e,`Expected to be all-uppercase (got ${t})`):!0}),dCe=()=>St({test:(t,e)=>vK.test(t)?!0:mt(e,`Expected to be a valid UUID v4 (got ${ei(t)})`)}),CCe=()=>St({test:(t,e)=>Av.test(t)?!1:mt(e,`Expected to be a valid ISO 8601 date string (got ${ei(t)})`)}),mCe=({alpha:t=!1})=>St({test:(e,r)=>(t?BK.test(e):bK.test(e))?!0:mt(r,`Expected to be a valid hexadecimal color string (got ${ei(e)})`)}),ECe=()=>St({test:(t,e)=>QK.test(t)?!0:mt(e,`Expected to be a valid base 64 string (got ${ei(t)})`)}),ICe=(t=xK())=>St({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return mt(r,`Expected to be a valid JSON string (got ${ei(e)})`)}return t(i,r)}}),yCe=t=>{let e=new Set(t);return St({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?mt(i,`Missing required ${CI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},wCe=t=>{let e=new Set(t);return St({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?mt(i,`Forbidden ${CI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},BCe=t=>{let e=new Set(t);return St({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?mt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Cc||(Cc={}));bCe={[Cc.Forbids]:{expect:!1,message:"forbids using"},[Cc.Requires]:{expect:!0,message:"requires using"}},lv=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=bCe[e];return St({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(t)||n.has(a[t]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?mt(l,`Property "${t}" ${o.message} ${CI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var _K=w((fet,zK)=>{"use strict";zK.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var ag=w((het,dv)=>{"use strict";var HCe=_K(),VK=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,i=()=>{r--,e.length>0&&e.shift()()},n=(a,l,...c)=>{r++;let u=HCe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{rnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),o};dv.exports=VK;dv.exports.default=VK});var mp=w((det,XK)=>{var jCe="2.0.0",GCe=256,YCe=Number.MAX_SAFE_INTEGER||9007199254740991,qCe=16;XK.exports={SEMVER_SPEC_VERSION:jCe,MAX_LENGTH:GCe,MAX_SAFE_INTEGER:YCe,MAX_SAFE_COMPONENT_LENGTH:qCe}});var Ep=w((Cet,ZK)=>{var JCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};ZK.exports=JCe});var mc=w((qA,$K)=>{var{MAX_SAFE_COMPONENT_LENGTH:Cv}=mp(),WCe=Ep();qA=$K.exports={};var zCe=qA.re=[],tt=qA.src=[],rt=qA.t={},_Ce=0,kt=(t,e,r)=>{let i=_Ce++;WCe(i,e),rt[t]=i,tt[i]=e,zCe[i]=new RegExp(e,r?"g":void 0)};kt("NUMERICIDENTIFIER","0|[1-9]\\d*");kt("NUMERICIDENTIFIERLOOSE","[0-9]+");kt("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");kt("MAINVERSION",`(${tt[rt.NUMERICIDENTIFIER]})\\.(${tt[rt.NUMERICIDENTIFIER]})\\.(${tt[rt.NUMERICIDENTIFIER]})`);kt("MAINVERSIONLOOSE",`(${tt[rt.NUMERICIDENTIFIERLOOSE]})\\.(${tt[rt.NUMERICIDENTIFIERLOOSE]})\\.(${tt[rt.NUMERICIDENTIFIERLOOSE]})`);kt("PRERELEASEIDENTIFIER",`(?:${tt[rt.NUMERICIDENTIFIER]}|${tt[rt.NONNUMERICIDENTIFIER]})`);kt("PRERELEASEIDENTIFIERLOOSE",`(?:${tt[rt.NUMERICIDENTIFIERLOOSE]}|${tt[rt.NONNUMERICIDENTIFIER]})`);kt("PRERELEASE",`(?:-(${tt[rt.PRERELEASEIDENTIFIER]}(?:\\.${tt[rt.PRERELEASEIDENTIFIER]})*))`);kt("PRERELEASELOOSE",`(?:-?(${tt[rt.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${tt[rt.PRERELEASEIDENTIFIERLOOSE]})*))`);kt("BUILDIDENTIFIER","[0-9A-Za-z-]+");kt("BUILD",`(?:\\+(${tt[rt.BUILDIDENTIFIER]}(?:\\.${tt[rt.BUILDIDENTIFIER]})*))`);kt("FULLPLAIN",`v?${tt[rt.MAINVERSION]}${tt[rt.PRERELEASE]}?${tt[rt.BUILD]}?`);kt("FULL",`^${tt[rt.FULLPLAIN]}$`);kt("LOOSEPLAIN",`[v=\\s]*${tt[rt.MAINVERSIONLOOSE]}${tt[rt.PRERELEASELOOSE]}?${tt[rt.BUILD]}?`);kt("LOOSE",`^${tt[rt.LOOSEPLAIN]}$`);kt("GTLT","((?:<|>)?=?)");kt("XRANGEIDENTIFIERLOOSE",`${tt[rt.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);kt("XRANGEIDENTIFIER",`${tt[rt.NUMERICIDENTIFIER]}|x|X|\\*`);kt("XRANGEPLAIN",`[v=\\s]*(${tt[rt.XRANGEIDENTIFIER]})(?:\\.(${tt[rt.XRANGEIDENTIFIER]})(?:\\.(${tt[rt.XRANGEIDENTIFIER]})(?:${tt[rt.PRERELEASE]})?${tt[rt.BUILD]}?)?)?`);kt("XRANGEPLAINLOOSE",`[v=\\s]*(${tt[rt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${tt[rt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${tt[rt.XRANGEIDENTIFIERLOOSE]})(?:${tt[rt.PRERELEASELOOSE]})?${tt[rt.BUILD]}?)?)?`);kt("XRANGE",`^${tt[rt.GTLT]}\\s*${tt[rt.XRANGEPLAIN]}$`);kt("XRANGELOOSE",`^${tt[rt.GTLT]}\\s*${tt[rt.XRANGEPLAINLOOSE]}$`);kt("COERCE",`(^|[^\\d])(\\d{1,${Cv}})(?:\\.(\\d{1,${Cv}}))?(?:\\.(\\d{1,${Cv}}))?(?:$|[^\\d])`);kt("COERCERTL",tt[rt.COERCE],!0);kt("LONETILDE","(?:~>?)");kt("TILDETRIM",`(\\s*)${tt[rt.LONETILDE]}\\s+`,!0);qA.tildeTrimReplace="$1~";kt("TILDE",`^${tt[rt.LONETILDE]}${tt[rt.XRANGEPLAIN]}$`);kt("TILDELOOSE",`^${tt[rt.LONETILDE]}${tt[rt.XRANGEPLAINLOOSE]}$`);kt("LONECARET","(?:\\^)");kt("CARETTRIM",`(\\s*)${tt[rt.LONECARET]}\\s+`,!0);qA.caretTrimReplace="$1^";kt("CARET",`^${tt[rt.LONECARET]}${tt[rt.XRANGEPLAIN]}$`);kt("CARETLOOSE",`^${tt[rt.LONECARET]}${tt[rt.XRANGEPLAINLOOSE]}$`);kt("COMPARATORLOOSE",`^${tt[rt.GTLT]}\\s*(${tt[rt.LOOSEPLAIN]})$|^$`);kt("COMPARATOR",`^${tt[rt.GTLT]}\\s*(${tt[rt.FULLPLAIN]})$|^$`);kt("COMPARATORTRIM",`(\\s*)${tt[rt.GTLT]}\\s*(${tt[rt.LOOSEPLAIN]}|${tt[rt.XRANGEPLAIN]})`,!0);qA.comparatorTrimReplace="$1$2$3";kt("HYPHENRANGE",`^\\s*(${tt[rt.XRANGEPLAIN]})\\s+-\\s+(${tt[rt.XRANGEPLAIN]})\\s*$`);kt("HYPHENRANGELOOSE",`^\\s*(${tt[rt.XRANGEPLAINLOOSE]})\\s+-\\s+(${tt[rt.XRANGEPLAINLOOSE]})\\s*$`);kt("STAR","(<|>)?=?\\s*\\*");kt("GTE0","^\\s*>=\\s*0.0.0\\s*$");kt("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var Ip=w((met,e2)=>{var VCe=["includePrerelease","loose","rtl"],XCe=t=>t?typeof t!="object"?{loose:!0}:VCe.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};e2.exports=XCe});var bI=w((Eet,t2)=>{var r2=/^[0-9]+$/,i2=(t,e)=>{let r=r2.test(t),i=r2.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:ti2(e,t);t2.exports={compareIdentifiers:i2,rcompareIdentifiers:ZCe}});var Hi=w((Iet,n2)=>{var QI=Ep(),{MAX_LENGTH:s2,MAX_SAFE_INTEGER:vI}=mp(),{re:o2,t:a2}=mc(),$Ce=Ip(),{compareIdentifiers:yp}=bI(),ys=class{constructor(e,r){if(r=$Ce(r),e instanceof ys){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>s2)throw new TypeError(`version is longer than ${s2} characters`);QI("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?o2[a2.LOOSE]:o2[a2.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>vI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>vI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>vI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};n2.exports=ys});var Ec=w((yet,A2)=>{var{MAX_LENGTH:eme}=mp(),{re:l2,t:c2}=mc(),u2=Hi(),tme=Ip(),rme=(t,e)=>{if(e=tme(e),t instanceof u2)return t;if(typeof t!="string"||t.length>eme||!(e.loose?l2[c2.LOOSE]:l2[c2.FULL]).test(t))return null;try{return new u2(t,e)}catch(i){return null}};A2.exports=rme});var f2=w((wet,g2)=>{var ime=Ec(),nme=(t,e)=>{let r=ime(t,e);return r?r.version:null};g2.exports=nme});var p2=w((Bet,h2)=>{var sme=Ec(),ome=(t,e)=>{let r=sme(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};h2.exports=ome});var C2=w((bet,d2)=>{var ame=Hi(),Ame=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new ame(t,r).inc(e,i).version}catch(n){return null}};d2.exports=Ame});var ws=w((Qet,m2)=>{var E2=Hi(),lme=(t,e,r)=>new E2(t,r).compare(new E2(e,r));m2.exports=lme});var SI=w((vet,I2)=>{var cme=ws(),ume=(t,e,r)=>cme(t,e,r)===0;I2.exports=ume});var B2=w((ket,y2)=>{var w2=Ec(),gme=SI(),fme=(t,e)=>{if(gme(t,e))return null;{let r=w2(t),i=w2(e),n=r.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in r)if((a==="major"||a==="minor"||a==="patch")&&r[a]!==i[a])return s+a;return o}};y2.exports=fme});var Q2=w((xet,b2)=>{var hme=Hi(),pme=(t,e)=>new hme(t,e).major;b2.exports=pme});var S2=w((Pet,v2)=>{var dme=Hi(),Cme=(t,e)=>new dme(t,e).minor;v2.exports=Cme});var x2=w((Det,k2)=>{var mme=Hi(),Eme=(t,e)=>new mme(t,e).patch;k2.exports=Eme});var D2=w((Ret,P2)=>{var Ime=Ec(),yme=(t,e)=>{let r=Ime(t,e);return r&&r.prerelease.length?r.prerelease:null};P2.exports=yme});var F2=w((Fet,R2)=>{var wme=ws(),Bme=(t,e,r)=>wme(e,t,r);R2.exports=Bme});var L2=w((Net,N2)=>{var bme=ws(),Qme=(t,e)=>bme(t,e,!0);N2.exports=Qme});var kI=w((Let,T2)=>{var O2=Hi(),vme=(t,e,r)=>{let i=new O2(t,r),n=new O2(e,r);return i.compare(n)||i.compareBuild(n)};T2.exports=vme});var U2=w((Tet,M2)=>{var Sme=kI(),kme=(t,e)=>t.sort((r,i)=>Sme(r,i,e));M2.exports=kme});var H2=w((Oet,K2)=>{var xme=kI(),Pme=(t,e)=>t.sort((r,i)=>xme(i,r,e));K2.exports=Pme});var wp=w((Met,j2)=>{var Dme=ws(),Rme=(t,e,r)=>Dme(t,e,r)>0;j2.exports=Rme});var xI=w((Uet,G2)=>{var Fme=ws(),Nme=(t,e,r)=>Fme(t,e,r)<0;G2.exports=Nme});var mv=w((Ket,Y2)=>{var Lme=ws(),Tme=(t,e,r)=>Lme(t,e,r)!==0;Y2.exports=Tme});var PI=w((Het,q2)=>{var Ome=ws(),Mme=(t,e,r)=>Ome(t,e,r)>=0;q2.exports=Mme});var DI=w((jet,J2)=>{var Ume=ws(),Kme=(t,e,r)=>Ume(t,e,r)<=0;J2.exports=Kme});var Ev=w((Get,W2)=>{var Hme=SI(),jme=mv(),Gme=wp(),Yme=PI(),qme=xI(),Jme=DI(),Wme=(t,e,r,i)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Hme(t,r,i);case"!=":return jme(t,r,i);case">":return Gme(t,r,i);case">=":return Yme(t,r,i);case"<":return qme(t,r,i);case"<=":return Jme(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};W2.exports=Wme});var _2=w((Yet,z2)=>{var zme=Hi(),_me=Ec(),{re:RI,t:FI}=mc(),Vme=(t,e)=>{if(t instanceof zme)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(RI[FI.COERCE]);else{let i;for(;(i=RI[FI.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),RI[FI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;RI[FI.COERCERTL].lastIndex=-1}return r===null?null:_me(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};z2.exports=Vme});var X2=w((qet,V2)=>{"use strict";V2.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var Bp=w((Jet,Z2)=>{"use strict";Z2.exports=Gt;Gt.Node=Ic;Gt.create=Gt;function Gt(t){var e=this;if(e instanceof Gt||(e=new Gt),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=t(r,i.value,n),i=i.next;return r};Gt.prototype.reduceReverse=function(t,e){var r,i=this.tail;if(arguments.length>1)r=e;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=t(r,i.value,n),i=i.prev;return r};Gt.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};Gt.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};Gt.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new Gt;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>t;i--,n=n.prev)r.push(n.value);return r};Gt.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,n=this.head;n!==null&&i{"use strict";var eEe=Bp(),yc=Symbol("max"),Ta=Symbol("length"),Ag=Symbol("lengthCalculator"),bp=Symbol("allowStale"),wc=Symbol("maxAge"),Oa=Symbol("dispose"),eH=Symbol("noDisposeOnSet"),Ii=Symbol("lruList"),no=Symbol("cache"),tH=Symbol("updateAgeOnGet"),Iv=()=>1,rH=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[yc]=e.max||Infinity,i=e.length||Iv;if(this[Ag]=typeof i!="function"?Iv:i,this[bp]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[wc]=e.maxAge||0,this[Oa]=e.dispose,this[eH]=e.noDisposeOnSet||!1,this[tH]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[yc]=e||Infinity,Qp(this)}get max(){return this[yc]}set allowStale(e){this[bp]=!!e}get allowStale(){return this[bp]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[wc]=e,Qp(this)}get maxAge(){return this[wc]}set lengthCalculator(e){typeof e!="function"&&(e=Iv),e!==this[Ag]&&(this[Ag]=e,this[Ta]=0,this[Ii].forEach(r=>{r.length=this[Ag](r.value,r.key),this[Ta]+=r.length})),Qp(this)}get lengthCalculator(){return this[Ag]}get length(){return this[Ta]}get itemCount(){return this[Ii].length}rforEach(e,r){r=r||this;for(let i=this[Ii].tail;i!==null;){let n=i.prev;nH(this,e,i,r),i=n}}forEach(e,r){r=r||this;for(let i=this[Ii].head;i!==null;){let n=i.next;nH(this,e,i,r),i=n}}keys(){return this[Ii].toArray().map(e=>e.key)}values(){return this[Ii].toArray().map(e=>e.value)}reset(){this[Oa]&&this[Ii]&&this[Ii].length&&this[Ii].forEach(e=>this[Oa](e.key,e.value)),this[no]=new Map,this[Ii]=new eEe,this[Ta]=0}dump(){return this[Ii].map(e=>NI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Ii]}set(e,r,i){if(i=i||this[wc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[Ag](r,e);if(this[no].has(e)){if(s>this[yc])return lg(this,this[no].get(e)),!1;let l=this[no].get(e).value;return this[Oa]&&(this[eH]||this[Oa](e,l.value)),l.now=n,l.maxAge=i,l.value=r,this[Ta]+=s-l.length,l.length=s,this.get(e),Qp(this),!0}let o=new iH(e,r,s,n,i);return o.length>this[yc]?(this[Oa]&&this[Oa](e,r),!1):(this[Ta]+=o.length,this[Ii].unshift(o),this[no].set(e,this[Ii].head),Qp(this),!0)}has(e){if(!this[no].has(e))return!1;let r=this[no].get(e).value;return!NI(this,r)}get(e){return yv(this,e,!0)}peek(e){return yv(this,e,!1)}pop(){let e=this[Ii].tail;return e?(lg(this,e),e.value):null}del(e){lg(this,this[no].get(e))}load(e){this.reset();let r=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-r;o>0&&this.set(n.k,n.v,o)}}}prune(){this[no].forEach((e,r)=>yv(this,r,!1))}},yv=(t,e,r)=>{let i=t[no].get(e);if(i){let n=i.value;if(NI(t,n)){if(lg(t,i),!t[bp])return}else r&&(t[tH]&&(i.value.now=Date.now()),t[Ii].unshiftNode(i));return n.value}},NI=(t,e)=>{if(!e||!e.maxAge&&!t[wc])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[wc]&&r>t[wc]},Qp=t=>{if(t[Ta]>t[yc])for(let e=t[Ii].tail;t[Ta]>t[yc]&&e!==null;){let r=e.prev;lg(t,e),e=r}},lg=(t,e)=>{if(e){let r=e.value;t[Oa]&&t[Oa](r.key,r.value),t[Ta]-=r.length,t[no].delete(r.key),t[Ii].removeNode(e)}},iH=class{constructor(e,r,i,n,s){this.key=e,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},nH=(t,e,r,i)=>{let n=r.value;NI(t,n)&&(lg(t,r),t[bp]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};$2.exports=rH});var Bs=w((zet,oH)=>{var cg=class{constructor(e,r){if(r=tEe(r),e instanceof cg)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new cg(e.raw,r);if(e instanceof wv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!AH(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&oEe(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=aH.get(i);if(n)return n;let s=this.options.loose,o=s?ji[ki.HYPHENRANGELOOSE]:ji[ki.HYPHENRANGE];e=e.replace(o,lEe(this.options.includePrerelease)),Wr("hyphen replace",e),e=e.replace(ji[ki.COMPARATORTRIM],iEe),Wr("comparator trim",e,ji[ki.COMPARATORTRIM]),e=e.replace(ji[ki.TILDETRIM],nEe),e=e.replace(ji[ki.CARETTRIM],sEe),e=e.split(/\s+/).join(" ");let a=s?ji[ki.COMPARATORLOOSE]:ji[ki.COMPARATOR],l=e.split(" ").map(f=>aEe(f,this.options)).join(" ").split(/\s+/).map(f=>AEe(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new wv(f,this.options)),c=l.length,u=new Map;for(let f of l){if(AH(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return aH.set(i,g),g}intersects(e,r){if(!(e instanceof cg))throw new TypeError("a Range is required");return this.set.some(i=>lH(i,r)&&e.set.some(n=>lH(n,r)&&i.every(s=>n.every(o=>s.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new rEe(e,this.options)}catch(r){return!1}for(let r=0;rt.value==="<0.0.0-0",oEe=t=>t.value==="",lH=(t,e)=>{let r=!0,i=t.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,e)),n=i.pop();return r},aEe=(t,e)=>(Wr("comp",t,e),t=fEe(t,e),Wr("caret",t),t=gEe(t,e),Wr("tildes",t),t=hEe(t,e),Wr("xrange",t),t=pEe(t,e),Wr("stars",t),t),on=t=>!t||t.toLowerCase()==="x"||t==="*",gEe=(t,e)=>t.trim().split(/\s+/).map(r=>dEe(r,e)).join(" "),dEe=(t,e)=>{let r=e.loose?ji[ki.TILDELOOSE]:ji[ki.TILDE];return t.replace(r,(i,n,s,o,a)=>{Wr("tilde",t,i,n,s,o,a);let l;return on(n)?l="":on(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:on(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Wr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Wr("tilde return",l),l})},fEe=(t,e)=>t.trim().split(/\s+/).map(r=>CEe(r,e)).join(" "),CEe=(t,e)=>{Wr("caret",t,e);let r=e.loose?ji[ki.CARETLOOSE]:ji[ki.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{Wr("caret",t,n,s,o,a,l);let c;return on(s)?c="":on(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:on(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Wr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Wr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Wr("caret return",c),c})},hEe=(t,e)=>(Wr("replaceXRanges",t,e),t.split(/\s+/).map(r=>mEe(r,e)).join(" ")),mEe=(t,e)=>{t=t.trim();let r=e.loose?ji[ki.XRANGELOOSE]:ji[ki.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{Wr("xRange",t,i,n,s,o,a,l);let c=on(s),u=c||on(o),g=u||on(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Wr("xRange return",i),i})},pEe=(t,e)=>(Wr("replaceStars",t,e),t.trim().replace(ji[ki.STAR],"")),AEe=(t,e)=>(Wr("replaceGTE0",t,e),t.trim().replace(ji[e.includePrerelease?ki.GTE0PRE:ki.GTE0],"")),lEe=t=>(e,r,i,n,s,o,a,l,c,u,g,f,h)=>(on(i)?r="":on(n)?r=`>=${i}.0.0${t?"-0":""}`:on(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,on(c)?l="":on(u)?l=`<${+c+1}.0.0-0`:on(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:t?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),cEe=(t,e,r)=>{for(let i=0;i0){let n=t[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var vp=w((_et,cH)=>{var Sp=Symbol("SemVer ANY"),kp=class{static get ANY(){return Sp}constructor(e,r){if(r=EEe(r),e instanceof kp){if(e.loose===!!r.loose)return e;e=e.value}bv("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===Sp?this.value="":this.value=this.operator+this.semver.version,bv("comp",this)}parse(e){let r=this.options.loose?uH[gH.COMPARATORLOOSE]:uH[gH.COMPARATOR],i=e.match(r);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new fH(i[2],this.options.loose):this.semver=Sp}toString(){return this.value}test(e){if(bv("Comparator.test",e,this.options.loose),this.semver===Sp||e===Sp)return!0;if(typeof e=="string")try{e=new fH(e,this.options)}catch(r){return!1}return Bv(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof kp))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new hH(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new hH(this.value,r).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=Bv(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=Bv(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};cH.exports=kp;var EEe=Ip(),{re:uH,t:gH}=mc(),Bv=Ev(),bv=Ep(),fH=Hi(),hH=Bs()});var xp=w((Vet,pH)=>{var IEe=Bs(),yEe=(t,e,r)=>{try{e=new IEe(e,r)}catch(i){return!1}return e.test(t)};pH.exports=yEe});var CH=w((Xet,dH)=>{var wEe=Bs(),BEe=(t,e)=>new wEe(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));dH.exports=BEe});var EH=w((Zet,mH)=>{var bEe=Hi(),QEe=Bs(),vEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new QEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new bEe(i,r))}),i};mH.exports=vEe});var yH=w(($et,IH)=>{var SEe=Hi(),kEe=Bs(),xEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new kEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new SEe(i,r))}),i};IH.exports=xEe});var bH=w((ett,wH)=>{var Qv=Hi(),PEe=Bs(),BH=wp(),DEe=(t,e)=>{t=new PEe(t,e);let r=new Qv("0.0.0");if(t.test(r)||(r=new Qv("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let a=new Qv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||BH(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!r||BH(r,s))&&(r=s)}return r&&t.test(r)?r:null};wH.exports=DEe});var vH=w((ttt,QH)=>{var REe=Bs(),FEe=(t,e)=>{try{return new REe(t,e).range||"*"}catch(r){return null}};QH.exports=FEe});var LI=w((rtt,SH)=>{var NEe=Hi(),kH=vp(),{ANY:LEe}=kH,TEe=Bs(),OEe=xp(),xH=wp(),PH=xI(),MEe=DI(),UEe=PI(),KEe=(t,e,r,i)=>{t=new NEe(t,i),e=new TEe(e,i);let n,s,o,a,l;switch(r){case">":n=xH,s=MEe,o=PH,a=">",l=">=";break;case"<":n=PH,s=UEe,o=xH,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(OEe(t,e,i))return!1;for(let c=0;c{h.semver===LEe&&(h=new kH(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(t,f.semver))return!1;if(f.operator===l&&o(t,f.semver))return!1}return!0};SH.exports=KEe});var RH=w((itt,DH)=>{var HEe=LI(),jEe=(t,e,r)=>HEe(t,e,">",r);DH.exports=jEe});var NH=w((ntt,FH)=>{var GEe=LI(),YEe=(t,e,r)=>GEe(t,e,"<",r);FH.exports=YEe});var OH=w((stt,LH)=>{var TH=Bs(),qEe=(t,e,r)=>(t=new TH(t,r),e=new TH(e,r),t.intersects(e));LH.exports=qEe});var UH=w((ott,MH)=>{var JEe=xp(),WEe=ws();MH.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>WEe(u,g,r));for(let u of o)JEe(u,e,r)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var HH=Bs(),TI=vp(),{ANY:vv}=TI,Pp=xp(),Sv=ws(),_Ee=(t,e,r={})=>{if(t===e)return!0;t=new HH(t,r),e=new HH(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=zEe(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},zEe=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===vv){if(e.length===1&&e[0].semver===vv)return!0;r.includePrerelease?t=[new TI(">=0.0.0-0")]:t=[new TI(">=0.0.0")]}if(e.length===1&&e[0].semver===vv){if(r.includePrerelease)return!0;e=[new TI(">=0.0.0")]}let i=new Set,n,s;for(let h of t)h.operator===">"||h.operator===">="?n=jH(n,h,r):h.operator==="<"||h.operator==="<="?s=GH(s,h,r):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=Sv(n.semver,s.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!Pp(h,String(n),r)||s&&!Pp(h,String(s),r))return null;for(let p of e)if(!Pp(h,String(p),r))return!1;return!0}let a,l,c,u,g=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=jH(n,h,r),a===h&&a!==n)return!1}else if(n.operator===">="&&!Pp(n.semver,String(h),r))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=GH(s,h,r),l===h&&l!==s)return!1}else if(s.operator==="<="&&!Pp(s.semver,String(h),r))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},jH=(t,e,r)=>{if(!t)return e;let i=Sv(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},GH=(t,e,r)=>{if(!t)return e;let i=Sv(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};KH.exports=_Ee});var ti=w((Att,qH)=>{var kv=mc();qH.exports={re:kv.re,src:kv.src,tokens:kv.t,SEMVER_SPEC_VERSION:mp().SEMVER_SPEC_VERSION,SemVer:Hi(),compareIdentifiers:bI().compareIdentifiers,rcompareIdentifiers:bI().rcompareIdentifiers,parse:Ec(),valid:f2(),clean:p2(),inc:C2(),diff:B2(),major:Q2(),minor:S2(),patch:x2(),prerelease:D2(),compare:ws(),rcompare:F2(),compareLoose:L2(),compareBuild:kI(),sort:U2(),rsort:H2(),gt:wp(),lt:xI(),eq:SI(),neq:mv(),gte:PI(),lte:DI(),cmp:Ev(),coerce:_2(),Comparator:vp(),Range:Bs(),satisfies:xp(),toComparators:CH(),maxSatisfying:EH(),minSatisfying:yH(),minVersion:bH(),validRange:vH(),outside:LI(),gtr:RH(),ltr:NH(),intersects:OH(),simplifyRange:UH(),subset:YH()}});var xv=w(OI=>{"use strict";Object.defineProperty(OI,"__esModule",{value:!0});OI.VERSION=void 0;OI.VERSION="9.1.0"});var Yt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var i=0,n=e.length,s;i{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof MI=="object"&&MI.exports?MI.exports=e():t.regexpToAst=e()})(typeof self!="undefined"?self:JH,function(){function t(){}t.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},t.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},t.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var m=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:m,loc:this.loc(0)}},t.prototype.disjunction=function(){var p=[],m=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(m)}},t.prototype.alternative=function(){for(var p=[],m=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(m)}},t.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},t.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var m;switch(this.popChar()){case"=":m="Lookahead";break;case"!":m="NegativeLookahead";break}a(m);var y=this.disjunction();return this.consumeChar(")"),{type:m,value:y,loc:this.loc(p)}}l()},t.prototype.quantifier=function(p){var m,y=this.idx;switch(this.popChar()){case"*":m={atLeast:0,atMost:Infinity};break;case"+":m={atLeast:1,atMost:Infinity};break;case"?":m={atLeast:0,atMost:1};break;case"{":var Q=this.integerIncludingZero();switch(this.popChar()){case"}":m={atLeast:Q,atMost:Q};break;case",":var S;this.isDigit()?(S=this.integerIncludingZero(),m={atLeast:Q,atMost:S}):m={atLeast:Q,atMost:Infinity},this.consumeChar("}");break}if(p===!0&&m===void 0)return;a(m);break}if(!(p===!0&&m===void 0))return a(m),this.peekChar(0)==="?"?(this.consumeChar("?"),m.greedy=!1):m.greedy=!0,m.type="Quantifier",m.loc=this.loc(y),m},t.prototype.atom=function(){var p,m=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(m),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},t.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`),n("\r"),n("\u2028"),n("\u2029")]}},t.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},t.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},t.prototype.characterClassEscape=function(){var p,m=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,m=!0;break;case"s":p=f;break;case"S":p=f,m=!0;break;case"w":p=g;break;case"W":p=g,m=!0;break}return a(p),{type:"Set",value:p,complement:m}},t.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` +`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},t.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var m=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:m}},t.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},t.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},t.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},t.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},t.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},t.prototype.characterClass=function(){var p=[],m=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),m=!0);this.isClassAtom();){var y=this.classAtom(),Q=y.type==="Character";if(Q&&this.isRangeDash()){this.consumeChar("-");var S=this.classAtom(),x=S.type==="Character";if(x){if(S.value=this.input.length)throw Error("Unexpected end of input");this.idx++},t.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,r=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,m){p.length!==void 0?p.forEach(function(y){m.push(y)}):m.push(p)}function o(p,m){if(p[m]===!0)throw"duplicate flag "+m;p[m]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` +`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var m in p){var y=p[m];p.hasOwnProperty(m)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(Q){this.visit(Q)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:t,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var HI=w(ug=>{"use strict";Object.defineProperty(ug,"__esModule",{value:!0});ug.clearRegExpParserCache=ug.getRegExpAst=void 0;var VEe=UI(),KI={},XEe=new VEe.RegExpParser;function ZEe(t){var e=t.toString();if(KI.hasOwnProperty(e))return KI[e];var r=XEe.pattern(e);return KI[e]=r,r}ug.getRegExpAst=ZEe;function $Ee(){KI={}}ug.clearRegExpParserCache=$Ee});var XH=w(Bn=>{"use strict";var eIe=Bn&&Bn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Bn,"__esModule",{value:!0});Bn.canMatchCharCode=Bn.firstCharOptimizedIndices=Bn.getOptimizedStartCodesIndices=Bn.failedOptimizationPrefixMsg=void 0;var WH=UI(),bs=Yt(),zH=HI(),Ma=Pv(),_H="Complement Sets are not supported for first char optimization";Bn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: +`;function tIe(t,e){e===void 0&&(e=!1);try{var r=(0,zH.getRegExpAst)(t),i=jI(r.value,{},r.flags.ignoreCase);return i}catch(s){if(s.message===_H)e&&(0,bs.PRINT_WARNING)(""+Bn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+t.toString()+` > +`)+` Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,bs.PRINT_ERROR)(Bn.failedOptimizationPrefixMsg+` +`+(" Failed parsing: < "+t.toString()+` > +`)+(" Using the regexp-to-ast library version: "+WH.VERSION+` +`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}Bn.getOptimizedStartCodesIndices=tIe;function jI(t,e,r){switch(t.type){case"Disjunction":for(var i=0;i=Ma.minOptimizationVal)for(var f=u.from>=Ma.minOptimizationVal?u.from:Ma.minOptimizationVal,h=u.to,p=(0,Ma.charCodeToOptimizedIndex)(f),m=(0,Ma.charCodeToOptimizedIndex)(h),y=p;y<=m;y++)e[y]=y}}});break;case"Group":jI(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&Dv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,bs.values)(e)}Bn.firstCharOptimizedIndices=jI;function GI(t,e,r){var i=(0,Ma.charCodeToOptimizedIndex)(t);e[i]=i,r===!0&&rIe(t,e)}function rIe(t,e){var r=String.fromCharCode(t),i=r.toUpperCase();if(i!==r){var n=(0,Ma.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=r.toLowerCase();if(s!==r){var n=(0,Ma.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function VH(t,e){return(0,bs.find)(t.value,function(r){if(typeof r=="number")return(0,bs.contains)(e,r);var i=r;return(0,bs.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function Dv(t){return t.quantifier&&t.quantifier.atLeast===0?!0:t.value?(0,bs.isArray)(t.value)?(0,bs.every)(t.value,Dv):Dv(t.value):!1}var iIe=function(t){eIe(e,t);function e(r){var i=t.call(this)||this;return i.targetCharCodes=r,i.found=!1,i}return e.prototype.visitChildren=function(r){if(this.found!==!0){switch(r.type){case"Lookahead":this.visitLookahead(r);return;case"NegativeLookahead":this.visitNegativeLookahead(r);return}t.prototype.visitChildren.call(this,r)}},e.prototype.visitCharacter=function(r){(0,bs.contains)(this.targetCharCodes,r.value)&&(this.found=!0)},e.prototype.visitSet=function(r){r.complement?VH(r,this.targetCharCodes)===void 0&&(this.found=!0):VH(r,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(WH.BaseRegExpVisitor);function nIe(t,e){if(e instanceof RegExp){var r=(0,zH.getRegExpAst)(e),i=new iIe(t);return i.visit(r),i.found}else return(0,bs.find)(e,function(n){return(0,bs.contains)(t,n.charCodeAt(0))})!==void 0}Bn.canMatchCharCode=nIe});var Pv=w(Ze=>{"use strict";var ZH=Ze&&Ze.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Ze,"__esModule",{value:!0});Ze.charCodeToOptimizedIndex=Ze.minOptimizationVal=Ze.buildLineBreakIssueMessage=Ze.LineTerminatorOptimizedTester=Ze.isShortPattern=Ze.isCustomPattern=Ze.cloneEmptyGroups=Ze.performWarningRuntimeChecks=Ze.performRuntimeChecks=Ze.addStickyFlag=Ze.addStartOfInput=Ze.findUnreachablePatterns=Ze.findModesThatDoNotExist=Ze.findInvalidGroupType=Ze.findDuplicatePatterns=Ze.findUnsupportedFlags=Ze.findStartOfInputAnchor=Ze.findEmptyMatchRegExps=Ze.findEndOfInputAnchor=Ze.findInvalidPatterns=Ze.findMissingPatterns=Ze.validatePatterns=Ze.analyzeTokenTypes=Ze.enableSticky=Ze.disableSticky=Ze.SUPPORT_STICKY=Ze.MODES=Ze.DEFAULT_MODE=void 0;var $H=UI(),Ar=Dp(),Ne=Yt(),gg=XH(),ej=HI(),Lo="PATTERN";Ze.DEFAULT_MODE="defaultMode";Ze.MODES="modes";Ze.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function sIe(){Ze.SUPPORT_STICKY=!1}Ze.disableSticky=sIe;function oIe(){Ze.SUPPORT_STICKY=!0}Ze.enableSticky=oIe;function AIe(t,e){e=(0,Ne.defaults)(e,{useSticky:Ze.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:function(S,x){return x()}});var r=e.tracer;r("initCharCodeToOptimizedIndexMap",function(){aIe()});var i;r("Reject Lexer.NA",function(){i=(0,Ne.reject)(t,function(S){return S[Lo]===Ar.Lexer.NA})});var n=!1,s;r("Transform Patterns",function(){n=!1,s=(0,Ne.map)(i,function(S){var x=S[Lo];if((0,Ne.isRegExp)(x)){var M=x.source;return M.length===1&&M!=="^"&&M!=="$"&&M!=="."&&!x.ignoreCase?M:M.length===2&&M[0]==="\\"&&!(0,Ne.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],M[1])?M[1]:e.useSticky?Fv(x):Rv(x)}else{if((0,Ne.isFunction)(x))return n=!0,{exec:x};if((0,Ne.has)(x,"exec"))return n=!0,x;if(typeof x=="string"){if(x.length===1)return x;var Y=x.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),U=new RegExp(Y);return e.useSticky?Fv(U):Rv(U)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;r("misc mapping",function(){o=(0,Ne.map)(i,function(S){return S.tokenTypeIdx}),a=(0,Ne.map)(i,function(S){var x=S.GROUP;if(x!==Ar.Lexer.SKIPPED){if((0,Ne.isString)(x))return x;if((0,Ne.isUndefined)(x))return!1;throw Error("non exhaustive match")}}),l=(0,Ne.map)(i,function(S){var x=S.LONGER_ALT;if(x){var M=(0,Ne.isArray)(x)?(0,Ne.map)(x,function(Y){return(0,Ne.indexOf)(i,Y)}):[(0,Ne.indexOf)(i,x)];return M}}),c=(0,Ne.map)(i,function(S){return S.PUSH_MODE}),u=(0,Ne.map)(i,function(S){return(0,Ne.has)(S,"POP_MODE")})});var g;r("Line Terminator Handling",function(){var S=ij(e.lineTerminatorCharacters);g=(0,Ne.map)(i,function(x){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,Ne.map)(i,function(x){if((0,Ne.has)(x,"LINE_BREAKS"))return x.LINE_BREAKS;if(rj(x,S)===!1)return(0,gg.canMatchCharCode)(S,x.PATTERN)}))});var f,h,p,m;r("Misc Mapping #2",function(){f=(0,Ne.map)(i,Nv),h=(0,Ne.map)(s,tj),p=(0,Ne.reduce)(i,function(S,x){var M=x.GROUP;return(0,Ne.isString)(M)&&M!==Ar.Lexer.SKIPPED&&(S[M]=[]),S},{}),m=(0,Ne.map)(s,function(S,x){return{pattern:s[x],longerAlt:l[x],canLineTerminator:g[x],isCustom:f[x],short:h[x],group:a[x],push:c[x],pop:u[x],tokenTypeIdx:o[x],tokenType:i[x]}})});var y=!0,Q=[];return e.safeMode||r("First Char Optimization",function(){Q=(0,Ne.reduce)(i,function(S,x,M){if(typeof x.PATTERN=="string"){var Y=x.PATTERN.charCodeAt(0),U=Tv(Y);Lv(S,U,m[M])}else if((0,Ne.isArray)(x.START_CHARS_HINT)){var J;(0,Ne.forEach)(x.START_CHARS_HINT,function(ee){var Z=typeof ee=="string"?ee.charCodeAt(0):ee,A=Tv(Z);J!==A&&(J=A,Lv(S,A,m[M]))})}else if((0,Ne.isRegExp)(x.PATTERN))if(x.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,Ne.PRINT_ERROR)(""+gg.failedOptimizationPrefixMsg+(" Unable to analyze < "+x.PATTERN.toString()+` > pattern. +`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var W=(0,gg.getOptimizedStartCodesIndices)(x.PATTERN,e.ensureOptimizations);(0,Ne.isEmpty)(W)&&(y=!1),(0,Ne.forEach)(W,function(ee){Lv(S,ee,m[M])})}else e.ensureOptimizations&&(0,Ne.PRINT_ERROR)(""+gg.failedOptimizationPrefixMsg+(" TokenType: <"+x.name+`> is using a custom token pattern without providing parameter. +`)+` This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return S},[])}),r("ArrayPacking",function(){Q=(0,Ne.packArray)(Q)}),{emptyGroups:p,patternIdxToConfig:m,charCodeToPatternIdxToConfig:Q,hasCustom:n,canBeOptimized:y}}Ze.analyzeTokenTypes=AIe;function cIe(t,e){var r=[],i=nj(t);r=r.concat(i.errors);var n=sj(i.valid),s=n.valid;return r=r.concat(n.errors),r=r.concat(lIe(s)),r=r.concat(oj(s)),r=r.concat(aj(s,e)),r=r.concat(Aj(s)),r}Ze.validatePatterns=cIe;function lIe(t){var e=[],r=(0,Ne.filter)(t,function(i){return(0,Ne.isRegExp)(i[Lo])});return e=e.concat(lj(r)),e=e.concat(uj(r)),e=e.concat(gj(r)),e=e.concat(fj(r)),e=e.concat(cj(r)),e}function nj(t){var e=(0,Ne.filter)(t,function(n){return!(0,Ne.has)(n,Lo)}),r=(0,Ne.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:Ar.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,Ne.difference)(t,e);return{errors:r,valid:i}}Ze.findMissingPatterns=nj;function sj(t){var e=(0,Ne.filter)(t,function(n){var s=n[Lo];return!(0,Ne.isRegExp)(s)&&!(0,Ne.isFunction)(s)&&!(0,Ne.has)(s,"exec")&&!(0,Ne.isString)(s)}),r=(0,Ne.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Ar.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,Ne.difference)(t,e);return{errors:r,valid:i}}Ze.findInvalidPatterns=sj;var uIe=/[^\\][\$]/;function lj(t){var e=function(n){ZH(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}($H.BaseRegExpVisitor),r=(0,Ne.filter)(t,function(n){var s=n[Lo];try{var o=(0,ej.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return uIe.test(s.source)}}),i=(0,Ne.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ar.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ze.findEndOfInputAnchor=lj;function cj(t){var e=(0,Ne.filter)(t,function(i){var n=i[Lo];return n.test("")}),r=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:Ar.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return r}Ze.findEmptyMatchRegExps=cj;var gIe=/[^\\[][\^]|^\^/;function uj(t){var e=function(n){ZH(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}($H.BaseRegExpVisitor),r=(0,Ne.filter)(t,function(n){var s=n[Lo];try{var o=(0,ej.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return gIe.test(s.source)}}),i=(0,Ne.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ar.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ze.findStartOfInputAnchor=uj;function gj(t){var e=(0,Ne.filter)(t,function(i){var n=i[Lo];return n instanceof RegExp&&(n.multiline||n.global)}),r=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Ar.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return r}Ze.findUnsupportedFlags=gj;function fj(t){var e=[],r=(0,Ne.map)(t,function(s){return(0,Ne.reduce)(t,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,Ne.contains)(e,a)&&a.PATTERN!==Ar.Lexer.NA&&(e.push(a),o.push(a)),o},[])});r=(0,Ne.compact)(r);var i=(0,Ne.filter)(r,function(s){return s.length>1}),n=(0,Ne.map)(i,function(s){var o=(0,Ne.map)(s,function(l){return l.name}),a=(0,Ne.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:Ar.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ze.findDuplicatePatterns=fj;function oj(t){var e=(0,Ne.filter)(t,function(i){if(!(0,Ne.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==Ar.Lexer.SKIPPED&&n!==Ar.Lexer.NA&&!(0,Ne.isString)(n)}),r=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Ar.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return r}Ze.findInvalidGroupType=oj;function aj(t,e){var r=(0,Ne.filter)(t,function(n){return n.PUSH_MODE!==void 0&&!(0,Ne.contains)(e,n.PUSH_MODE)}),i=(0,Ne.map)(r,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:Ar.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ze.findModesThatDoNotExist=aj;function Aj(t){var e=[],r=(0,Ne.reduce)(t,function(i,n,s){var o=n.PATTERN;return o===Ar.Lexer.NA||((0,Ne.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,Ne.isRegExp)(o)&&hIe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,Ne.forEach)(t,function(i,n){(0,Ne.forEach)(r,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:Ar.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ze.findUnreachablePatterns=Aj;function fIe(t,e){if((0,Ne.isRegExp)(e)){var r=e.exec(t);return r!==null&&r.index===0}else{if((0,Ne.isFunction)(e))return e(t,0,[],{});if((0,Ne.has)(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function hIe(t){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,Ne.find)(e,function(r){return t.source.indexOf(r)!==-1})===void 0}function Rv(t){var e=t.ignoreCase?"i":"";return new RegExp("^(?:"+t.source+")",e)}Ze.addStartOfInput=Rv;function Fv(t){var e=t.ignoreCase?"iy":"y";return new RegExp(""+t.source,e)}Ze.addStickyFlag=Fv;function pIe(t,e,r){var i=[];return(0,Ne.has)(t,Ze.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ze.DEFAULT_MODE+`> property in its definition +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,Ne.has)(t,Ze.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ze.MODES+`> property in its definition +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,Ne.has)(t,Ze.MODES)&&(0,Ne.has)(t,Ze.DEFAULT_MODE)&&!(0,Ne.has)(t.modes,t.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Ze.DEFAULT_MODE+": <"+t.defaultMode+`>which does not exist +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,Ne.has)(t,Ze.MODES)&&(0,Ne.forEach)(t.modes,function(n,s){(0,Ne.forEach)(n,function(o,a){(0,Ne.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> +`),type:Ar.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ze.performRuntimeChecks=pIe;function dIe(t,e,r){var i=[],n=!1,s=(0,Ne.compact)((0,Ne.flatten)((0,Ne.mapValues)(t.modes,function(l){return l}))),o=(0,Ne.reject)(s,function(l){return l[Lo]===Ar.Lexer.NA}),a=ij(r);return e&&(0,Ne.forEach)(o,function(l){var c=rj(l,a);if(c!==!1){var u=hj(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,Ne.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,gg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:Ar.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ze.performWarningRuntimeChecks=dIe;function CIe(t){var e={},r=(0,Ne.keys)(t);return(0,Ne.forEach)(r,function(i){var n=t[i];if((0,Ne.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Ze.cloneEmptyGroups=CIe;function Nv(t){var e=t.PATTERN;if((0,Ne.isRegExp)(e))return!1;if((0,Ne.isFunction)(e))return!0;if((0,Ne.has)(e,"exec"))return!0;if((0,Ne.isString)(e))return!1;throw Error("non exhaustive match")}Ze.isCustomPattern=Nv;function tj(t){return(0,Ne.isString)(t)&&t.length===1?t.charCodeAt(0):!1}Ze.isShortPattern=tj;Ze.LineTerminatorOptimizedTester={test:function(t){for(var e=t.length,r=this.lastIndex;r Token Type +`)+(" Root cause: "+e.errMsg+`. +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===Ar.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. +`+(" The problem is in the <"+t.name+`> Token Type +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ze.buildLineBreakIssueMessage=hj;function ij(t){var e=(0,Ne.map)(t,function(r){return(0,Ne.isString)(r)&&r.length>0?r.charCodeAt(0):r});return e}function Lv(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}Ze.minOptimizationVal=256;var YI=[];function Tv(t){return t255?255+~~(t/255):t}}});var fg=w(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.isTokenType=Ft.hasExtendingTokensTypesMapProperty=Ft.hasExtendingTokensTypesProperty=Ft.hasCategoriesProperty=Ft.hasShortKeyProperty=Ft.singleAssignCategoriesToksMap=Ft.assignCategoriesMapProp=Ft.assignCategoriesTokensProp=Ft.assignTokenDefaultProps=Ft.expandCategories=Ft.augmentTokenTypes=Ft.tokenIdxToClass=Ft.tokenShortNameIdx=Ft.tokenStructuredMatcherNoCategories=Ft.tokenStructuredMatcher=void 0;var ri=Yt();function mIe(t,e){var r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}Ft.tokenStructuredMatcher=mIe;function EIe(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}Ft.tokenStructuredMatcherNoCategories=EIe;Ft.tokenShortNameIdx=1;Ft.tokenIdxToClass={};function IIe(t){var e=pj(t);dj(e),mj(e),Cj(e),(0,ri.forEach)(e,function(r){r.isParent=r.categoryMatches.length>0})}Ft.augmentTokenTypes=IIe;function pj(t){for(var e=(0,ri.cloneArr)(t),r=t,i=!0;i;){r=(0,ri.compact)((0,ri.flatten)((0,ri.map)(r,function(s){return s.CATEGORIES})));var n=(0,ri.difference)(r,e);e=e.concat(n),(0,ri.isEmpty)(n)?i=!1:r=n}return e}Ft.expandCategories=pj;function dj(t){(0,ri.forEach)(t,function(e){Ej(e)||(Ft.tokenIdxToClass[Ft.tokenShortNameIdx]=e,e.tokenTypeIdx=Ft.tokenShortNameIdx++),Ov(e)&&!(0,ri.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Ov(e)||(e.CATEGORIES=[]),Ij(e)||(e.categoryMatches=[]),yj(e)||(e.categoryMatchesMap={})})}Ft.assignTokenDefaultProps=dj;function Cj(t){(0,ri.forEach)(t,function(e){e.categoryMatches=[],(0,ri.forEach)(e.categoryMatchesMap,function(r,i){e.categoryMatches.push(Ft.tokenIdxToClass[i].tokenTypeIdx)})})}Ft.assignCategoriesTokensProp=Cj;function mj(t){(0,ri.forEach)(t,function(e){Mv([],e)})}Ft.assignCategoriesMapProp=mj;function Mv(t,e){(0,ri.forEach)(t,function(r){e.categoryMatchesMap[r.tokenTypeIdx]=!0}),(0,ri.forEach)(e.CATEGORIES,function(r){var i=t.concat(e);(0,ri.contains)(i,r)||Mv(i,r)})}Ft.singleAssignCategoriesToksMap=Mv;function Ej(t){return(0,ri.has)(t,"tokenTypeIdx")}Ft.hasShortKeyProperty=Ej;function Ov(t){return(0,ri.has)(t,"CATEGORIES")}Ft.hasCategoriesProperty=Ov;function Ij(t){return(0,ri.has)(t,"categoryMatches")}Ft.hasExtendingTokensTypesProperty=Ij;function yj(t){return(0,ri.has)(t,"categoryMatchesMap")}Ft.hasExtendingTokensTypesMapProperty=yj;function yIe(t){return(0,ri.has)(t,"tokenTypeIdx")}Ft.isTokenType=yIe});var Uv=w(qI=>{"use strict";Object.defineProperty(qI,"__esModule",{value:!0});qI.defaultLexerErrorProvider=void 0;qI.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(t){return"Unable to pop Lexer Mode after encountering Token ->"+t.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(t,e,r,i,n){return"unexpected character: ->"+t.charAt(e)+"<- at offset: "+e+","+(" skipped "+r+" characters.")}}});var Dp=w(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});Bc.Lexer=Bc.LexerDefinitionErrorType=void 0;var so=Pv(),lr=Yt(),wIe=fg(),BIe=Uv(),bIe=HI(),QIe;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(QIe=Bc.LexerDefinitionErrorType||(Bc.LexerDefinitionErrorType={}));var Rp={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:BIe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(Rp);var vIe=function(){function t(e,r){var i=this;if(r===void 0&&(r=Rp),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=(0,lr.merge)(Rp,r);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=Infinity,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===Rp.lineTerminatorsPattern)i.config.lineTerminatorsPattern=so.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===Rp.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,lr.isArray)(e)?(s={modes:{}},s.modes[so.DEFAULT_MODE]=(0,lr.cloneArr)(e),s[so.DEFAULT_MODE]=so.DEFAULT_MODE):(o=!1,s=(0,lr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,so.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,so.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,lr.forEach)(s.modes,function(u,g){s.modes[g]=(0,lr.reject)(u,function(f){return(0,lr.isUndefined)(f)})});var a=(0,lr.keys)(s.modes);if((0,lr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,so.validatePatterns)(u,a))}),(0,lr.isEmpty)(i.lexerDefinitionErrors)){(0,wIe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,so.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,lr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,lr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,lr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+c)}(0,lr.forEach)(i.lexerDefinitionWarning,function(u){(0,lr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(so.SUPPORT_STICKY?(i.chopInput=lr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=lr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=lr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=lr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=lr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,lr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(r.ensureOptimizations&&!(0,lr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,bIe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,lr.toFastProperties)(i)})})}return t.prototype.tokenize=function(e,r){if(r===void 0&&(r=this.defaultMode),!(0,lr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,lr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+n)}var s=this.tokenizeInternal(e,r);return s},t.prototype.tokenizeInternal=function(e,r){var i=this,n,s,o,a,l,c,u,g,f,h,p,m,y,Q,S,x,M=e,Y=M.length,U=0,J=0,W=this.hasCustom?0:Math.floor(e.length/10),ee=new Array(W),Z=[],A=this.trackStartLines?1:void 0,ne=this.trackStartLines?1:void 0,le=(0,so.cloneEmptyGroups)(this.emptyGroups),Ae=this.trackStartLines,T=this.config.lineTerminatorsPattern,L=0,Ee=[],we=[],qe=[],re=[];Object.freeze(re);var se=void 0;function Qe(){return Ee}function he(vr){var Hn=(0,so.charCodeToOptimizedIndex)(vr),us=we[Hn];return us===void 0?re:us}var Fe=function(vr){if(qe.length===1&&vr.tokenType.PUSH_MODE===void 0){var Hn=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(vr);Z.push({offset:vr.startOffset,line:vr.startLine!==void 0?vr.startLine:void 0,column:vr.startColumn!==void 0?vr.startColumn:void 0,length:vr.image.length,message:Hn})}else{qe.pop();var us=(0,lr.last)(qe);Ee=i.patternIdxToConfig[us],we=i.charCodeToPatternIdxToConfig[us],L=Ee.length;var Ia=i.canModeBeOptimized[us]&&i.config.safeMode===!1;we&&Ia?se=he:se=Qe}};function Ue(vr){qe.push(vr),we=this.charCodeToPatternIdxToConfig[vr],Ee=this.patternIdxToConfig[vr],L=Ee.length,L=Ee.length;var Hn=this.canModeBeOptimized[vr]&&this.config.safeMode===!1;we&&Hn?se=he:se=Qe}Ue.call(this,r);for(var xe;Uc.length){c=a,u=g,xe=gt;break}}}break}}if(c!==null){if(f=c.length,h=xe.group,h!==void 0&&(p=xe.tokenTypeIdx,m=this.createTokenInstance(c,U,p,xe.tokenType,A,ne,f),this.handlePayload(m,u),h===!1?J=this.addToken(ee,J,m):le[h].push(m)),e=this.chopInput(e,f),U=U+f,ne=this.computeNewColumn(ne,f),Ae===!0&&xe.canLineTerminator===!0){var Mt=0,mi=void 0,jt=void 0;T.lastIndex=0;do mi=T.test(c),mi===!0&&(jt=T.lastIndex-1,Mt++);while(mi===!0);Mt!==0&&(A=A+Mt,ne=f-jt,this.updateTokenEndLineColumnLocation(m,h,jt,Mt,A,ne,f))}this.handleModes(xe,Fe,Ue,m)}else{for(var Qr=U,Ti=A,_s=ne,Un=!1;!Un&&U <"+e+">");var n=(0,lr.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",t.NA=/NOT_APPLICABLE/,t}();Bc.Lexer=vIe});var JA=w(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.tokenMatcher=xi.createTokenInstance=xi.EOF=xi.createToken=xi.hasTokenLabel=xi.tokenName=xi.tokenLabel=void 0;var oo=Yt(),SIe=Dp(),Kv=fg();function kIe(t){return wj(t)?t.LABEL:t.name}xi.tokenLabel=kIe;function xIe(t){return t.name}xi.tokenName=xIe;function wj(t){return(0,oo.isString)(t.LABEL)&&t.LABEL!==""}xi.hasTokenLabel=wj;var PIe="parent",Bj="categories",bj="label",Qj="group",vj="push_mode",Sj="pop_mode",kj="longer_alt",xj="line_breaks",Pj="start_chars_hint";function Dj(t){return DIe(t)}xi.createToken=Dj;function DIe(t){var e=t.pattern,r={};if(r.name=t.name,(0,oo.isUndefined)(e)||(r.PATTERN=e),(0,oo.has)(t,PIe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,oo.has)(t,Bj)&&(r.CATEGORIES=t[Bj]),(0,Kv.augmentTokenTypes)([r]),(0,oo.has)(t,bj)&&(r.LABEL=t[bj]),(0,oo.has)(t,Qj)&&(r.GROUP=t[Qj]),(0,oo.has)(t,Sj)&&(r.POP_MODE=t[Sj]),(0,oo.has)(t,vj)&&(r.PUSH_MODE=t[vj]),(0,oo.has)(t,kj)&&(r.LONGER_ALT=t[kj]),(0,oo.has)(t,xj)&&(r.LINE_BREAKS=t[xj]),(0,oo.has)(t,Pj)&&(r.START_CHARS_HINT=t[Pj]),r}xi.EOF=Dj({name:"EOF",pattern:SIe.Lexer.NA});(0,Kv.augmentTokenTypes)([xi.EOF]);function RIe(t,e,r,i,n,s,o,a){return{image:e,startOffset:r,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}xi.createTokenInstance=RIe;function FIe(t,e){return(0,Kv.tokenStructuredMatcher)(t,e)}xi.tokenMatcher=FIe});var bn=w(Vt=>{"use strict";var Ua=Vt&&Vt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.serializeProduction=Vt.serializeGrammar=Vt.Terminal=Vt.Alternation=Vt.RepetitionWithSeparator=Vt.Repetition=Vt.RepetitionMandatoryWithSeparator=Vt.RepetitionMandatory=Vt.Option=Vt.Alternative=Vt.Rule=Vt.NonTerminal=Vt.AbstractProduction=void 0;var fr=Yt(),NIe=JA(),To=function(){function t(e){this._definition=e}return Object.defineProperty(t.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),t.prototype.accept=function(e){e.visit(this),(0,fr.forEach)(this.definition,function(r){r.accept(e)})},t}();Vt.AbstractProduction=To;var Rj=function(t){Ua(e,t);function e(r){var i=t.call(this,[])||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(r){},enumerable:!1,configurable:!0}),e.prototype.accept=function(r){r.visit(this)},e}(To);Vt.NonTerminal=Rj;var Fj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.orgText="",(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Rule=Fj;var Nj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.ignoreAmbiguities=!1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Alternative=Nj;var Lj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Option=Lj;var Tj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.RepetitionMandatory=Tj;var Oj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.RepetitionMandatoryWithSeparator=Oj;var Mj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Repetition=Mj;var Uj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.RepetitionWithSeparator=Uj;var Kj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(r){this._definition=r},enumerable:!1,configurable:!0}),e}(To);Vt.Alternation=Kj;var JI=function(){function t(e){this.idx=1,(0,fr.assign)(this,(0,fr.pick)(e,function(r){return r!==void 0}))}return t.prototype.accept=function(e){e.visit(this)},t}();Vt.Terminal=JI;function LIe(t){return(0,fr.map)(t,Fp)}Vt.serializeGrammar=LIe;function Fp(t){function e(s){return(0,fr.map)(s,Fp)}if(t instanceof Rj){var r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,fr.isString)(t.label)&&(r.label=t.label),r}else{if(t instanceof Nj)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Lj)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Tj)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Oj)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Fp(new JI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Uj)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Fp(new JI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Mj)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Kj)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof JI){var i={type:"Terminal",name:t.terminalType.name,label:(0,NIe.tokenLabel)(t.terminalType),idx:t.idx};(0,fr.isString)(t.label)&&(i.terminalLabel=t.label);var n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(i.pattern=(0,fr.isRegExp)(n)?n.source:n),i}else{if(t instanceof Fj)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}Vt.serializeProduction=Fp});var zI=w(WI=>{"use strict";Object.defineProperty(WI,"__esModule",{value:!0});WI.RestWalker=void 0;var Hv=Yt(),Qn=bn(),TIe=function(){function t(){}return t.prototype.walk=function(e,r){var i=this;r===void 0&&(r=[]),(0,Hv.forEach)(e.definition,function(n,s){var o=(0,Hv.drop)(e.definition,s+1);if(n instanceof Qn.NonTerminal)i.walkProdRef(n,o,r);else if(n instanceof Qn.Terminal)i.walkTerminal(n,o,r);else if(n instanceof Qn.Alternative)i.walkFlat(n,o,r);else if(n instanceof Qn.Option)i.walkOption(n,o,r);else if(n instanceof Qn.RepetitionMandatory)i.walkAtLeastOne(n,o,r);else if(n instanceof Qn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,r);else if(n instanceof Qn.RepetitionWithSeparator)i.walkManySep(n,o,r);else if(n instanceof Qn.Repetition)i.walkMany(n,o,r);else if(n instanceof Qn.Alternation)i.walkOr(n,o,r);else throw Error("non exhaustive match")})},t.prototype.walkTerminal=function(e,r,i){},t.prototype.walkProdRef=function(e,r,i){},t.prototype.walkFlat=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkOption=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkAtLeastOne=function(e,r,i){var n=[new Qn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkAtLeastOneSep=function(e,r,i){var n=Hj(e,r,i);this.walk(e,n)},t.prototype.walkMany=function(e,r,i){var n=[new Qn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkManySep=function(e,r,i){var n=Hj(e,r,i);this.walk(e,n)},t.prototype.walkOr=function(e,r,i){var n=this,s=r.concat(i);(0,Hv.forEach)(e.definition,function(o){var a=new Qn.Alternative({definition:[o]});n.walk(a,s)})},t}();WI.RestWalker=TIe;function Hj(t,e,r){var i=[new Qn.Option({definition:[new Qn.Terminal({terminalType:t.separator})].concat(t.definition)})],n=i.concat(e,r);return n}});var hg=w(_I=>{"use strict";Object.defineProperty(_I,"__esModule",{value:!0});_I.GAstVisitor=void 0;var Oo=bn(),OIe=function(){function t(){}return t.prototype.visit=function(e){var r=e;switch(r.constructor){case Oo.NonTerminal:return this.visitNonTerminal(r);case Oo.Alternative:return this.visitAlternative(r);case Oo.Option:return this.visitOption(r);case Oo.RepetitionMandatory:return this.visitRepetitionMandatory(r);case Oo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(r);case Oo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(r);case Oo.Repetition:return this.visitRepetition(r);case Oo.Alternation:return this.visitAlternation(r);case Oo.Terminal:return this.visitTerminal(r);case Oo.Rule:return this.visitRule(r);default:throw Error("non exhaustive match")}},t.prototype.visitNonTerminal=function(e){},t.prototype.visitAlternative=function(e){},t.prototype.visitOption=function(e){},t.prototype.visitRepetition=function(e){},t.prototype.visitRepetitionMandatory=function(e){},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){},t.prototype.visitRepetitionWithSeparator=function(e){},t.prototype.visitAlternation=function(e){},t.prototype.visitTerminal=function(e){},t.prototype.visitRule=function(e){},t}();_I.GAstVisitor=OIe});var Lp=w(Gi=>{"use strict";var MIe=Gi&&Gi.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Gi,"__esModule",{value:!0});Gi.collectMethods=Gi.DslMethodsCollectorVisitor=Gi.getProductionDslName=Gi.isBranchingProd=Gi.isOptionalProd=Gi.isSequenceProd=void 0;var Np=Yt(),kr=bn(),UIe=hg();function KIe(t){return t instanceof kr.Alternative||t instanceof kr.Option||t instanceof kr.Repetition||t instanceof kr.RepetitionMandatory||t instanceof kr.RepetitionMandatoryWithSeparator||t instanceof kr.RepetitionWithSeparator||t instanceof kr.Terminal||t instanceof kr.Rule}Gi.isSequenceProd=KIe;function jv(t,e){e===void 0&&(e=[]);var r=t instanceof kr.Option||t instanceof kr.Repetition||t instanceof kr.RepetitionWithSeparator;return r?!0:t instanceof kr.Alternation?(0,Np.some)(t.definition,function(i){return jv(i,e)}):t instanceof kr.NonTerminal&&(0,Np.contains)(e,t)?!1:t instanceof kr.AbstractProduction?(t instanceof kr.NonTerminal&&e.push(t),(0,Np.every)(t.definition,function(i){return jv(i,e)})):!1}Gi.isOptionalProd=jv;function HIe(t){return t instanceof kr.Alternation}Gi.isBranchingProd=HIe;function jIe(t){if(t instanceof kr.NonTerminal)return"SUBRULE";if(t instanceof kr.Option)return"OPTION";if(t instanceof kr.Alternation)return"OR";if(t instanceof kr.RepetitionMandatory)return"AT_LEAST_ONE";if(t instanceof kr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(t instanceof kr.RepetitionWithSeparator)return"MANY_SEP";if(t instanceof kr.Repetition)return"MANY";if(t instanceof kr.Terminal)return"CONSUME";throw Error("non exhaustive match")}Gi.getProductionDslName=jIe;var jj=function(t){MIe(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.separator="-",r.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},r}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(r){var i=r.terminalType.name+this.separator+"Terminal";(0,Np.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitNonTerminal=function(r){var i=r.nonTerminalName+this.separator+"Terminal";(0,Np.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitOption=function(r){this.dslMethods.option.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.dslMethods.repetitionWithSeparator.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.dslMethods.repetitionMandatory.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.dslMethods.repetitionMandatoryWithSeparator.push(r)},e.prototype.visitRepetition=function(r){this.dslMethods.repetition.push(r)},e.prototype.visitAlternation=function(r){this.dslMethods.alternation.push(r)},e}(UIe.GAstVisitor);Gi.DslMethodsCollectorVisitor=jj;var VI=new jj;function GIe(t){VI.reset(),t.accept(VI);var e=VI.dslMethods;return VI.reset(),e}Gi.collectMethods=GIe});var Yv=w(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.firstForTerminal=Mo.firstForBranching=Mo.firstForSequence=Mo.first=void 0;var XI=Yt(),Gj=bn(),Gv=Lp();function ZI(t){if(t instanceof Gj.NonTerminal)return ZI(t.referencedRule);if(t instanceof Gj.Terminal)return Jj(t);if((0,Gv.isSequenceProd)(t))return Yj(t);if((0,Gv.isBranchingProd)(t))return qj(t);throw Error("non exhaustive match")}Mo.first=ZI;function Yj(t){for(var e=[],r=t.definition,i=0,n=r.length>i,s,o=!0;n&&o;)s=r[i],o=(0,Gv.isOptionalProd)(s),e=e.concat(ZI(s)),i=i+1,n=r.length>i;return(0,XI.uniq)(e)}Mo.firstForSequence=Yj;function qj(t){var e=(0,XI.map)(t.definition,function(r){return ZI(r)});return(0,XI.uniq)((0,XI.flatten)(e))}Mo.firstForBranching=qj;function Jj(t){return[t.terminalType]}Mo.firstForTerminal=Jj});var qv=w($I=>{"use strict";Object.defineProperty($I,"__esModule",{value:!0});$I.IN=void 0;$I.IN="_~IN~_"});var Xj=w(Qs=>{"use strict";var YIe=Qs&&Qs.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Qs,"__esModule",{value:!0});Qs.buildInProdFollowPrefix=Qs.buildBetweenProdsFollowPrefix=Qs.computeAllProdsFollows=Qs.ResyncFollowsWalker=void 0;var qIe=zI(),JIe=Yv(),Wj=Yt(),zj=qv(),WIe=bn(),Vj=function(t){YIe(e,t);function e(r){var i=t.call(this)||this;return i.topProd=r,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(r,i,n){},e.prototype.walkProdRef=function(r,i,n){var s=_j(r.referencedRule,r.idx)+this.topProd.name,o=i.concat(n),a=new WIe.Alternative({definition:o}),l=(0,JIe.first)(a);this.follows[s]=l},e}(qIe.RestWalker);Qs.ResyncFollowsWalker=Vj;function zIe(t){var e={};return(0,Wj.forEach)(t,function(r){var i=new Vj(r).startWalking();(0,Wj.assign)(e,i)}),e}Qs.computeAllProdsFollows=zIe;function _j(t,e){return t.name+e+zj.IN}Qs.buildBetweenProdsFollowPrefix=_j;function _Ie(t){var e=t.terminalType.name;return e+t.idx+zj.IN}Qs.buildInProdFollowPrefix=_Ie});var Tp=w(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.defaultGrammarValidatorErrorProvider=Ka.defaultGrammarResolverErrorProvider=Ka.defaultParserErrorProvider=void 0;var pg=JA(),VIe=Yt(),ao=Yt(),Jv=bn(),Zj=Lp();Ka.defaultParserErrorProvider={buildMismatchTokenMessage:function(t){var e=t.expected,r=t.actual,i=t.previous,n=t.ruleName,s=(0,pg.hasTokenLabel)(e),o=s?"--> "+(0,pg.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+r.image+"' <--";return a},buildNotAllInputParsedMessage:function(t){var e=t.firstRedundant,r=t.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(t){var e=t.expectedPathsPerAlt,r=t.actual,i=t.previous,n=t.customUserDescription,s=t.ruleName,o="Expecting: ",a=(0,ao.first)(r).image,l=` +but found: '`+a+"'";if(n)return o+n+l;var c=(0,ao.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,ao.map)(c,function(h){return"["+(0,ao.map)(h,function(p){return(0,pg.tokenLabel)(p)}).join(", ")+"]"}),g=(0,ao.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: +`+g.join(` +`);return o+f+l},buildEarlyExitMessage:function(t){var e=t.expectedIterationPaths,r=t.actual,i=t.customUserDescription,n=t.ruleName,s="Expecting: ",o=(0,ao.first)(r).image,a=` +but found: '`+o+"'";if(i)return s+i+a;var l=(0,ao.map)(e,function(u){return"["+(0,ao.map)(u,function(g){return(0,pg.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: + `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(Ka.defaultParserErrorProvider);Ka.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(t,e){var r="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-";return r}};Ka.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(t,e){function r(u){return u instanceof Jv.Terminal?u.terminalType.name:u instanceof Jv.NonTerminal?u.nonTerminalName:""}var i=t.name,n=(0,ao.first)(e),s=n.idx,o=(0,Zj.getProductionDslName)(n),a=r(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` + appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` +`),c},buildNamespaceConflictError:function(t){var e=`Namespace conflict found in grammar. +`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+t.name+`>. +`)+`To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(t){var e=(0,ao.map)(t.prefixPath,function(n){return(0,pg.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous alternatives: <"+t.ambiguityIndices.join(" ,")+`> due to common lookahead prefix +`+("in inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`;return i},buildAlternationAmbiguityError:function(t){var e=(0,ao.map)(t.prefixPath,function(n){return(0,pg.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous Alternatives Detected: <"+t.ambiguityIndices.join(" ,")+"> in "+(" inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,i},buildEmptyRepetitionError:function(t){var e=(0,Zj.getProductionDslName)(t.repetition);t.repetition.idx!==0&&(e+=t.repetition.idx);var r="The repetition <"+e+"> within Rule <"+t.topLevelRule.name+`> can never consume any tokens. +This could lead to an infinite loop.`;return r},buildTokenNameError:function(t){return"deprecated"},buildEmptyAlternationError:function(t){var e="Ambiguous empty alternative: <"+(t.emptyChoiceIdx+1)+">"+(" in inside <"+t.topLevelRule.name+`> Rule. +`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(t){var e=`An Alternation cannot have more than 256 alternatives: +`+(" inside <"+t.topLevelRule.name+`> Rule. + has `+(t.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(t){var e=t.topLevelRule.name,r=VIe.map(t.leftRecursionPath,function(s){return s.name}),i=e+" --> "+r.concat([e]).join(" --> "),n=`Left Recursion found in grammar. +`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) +`)+(`without consuming any Tokens. The grammar path that causes this is: + `+i+` +`)+` To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(t){return"deprecated"},buildDuplicateRuleNameError:function(t){var e;t.topLevelRule instanceof Jv.Rule?e=t.topLevelRule.name:e=t.topLevelRule;var r="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+t.grammarName+"<-";return r}}});var tG=w(WA=>{"use strict";var XIe=WA&&WA.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(WA,"__esModule",{value:!0});WA.GastRefResolverVisitor=WA.resolveGrammar=void 0;var ZIe=Xn(),$j=Yt(),$Ie=hg();function eye(t,e){var r=new eG(t,e);return r.resolveRefs(),r.errors}WA.resolveGrammar=eye;var eG=function(t){XIe(e,t);function e(r,i){var n=t.call(this)||this;return n.nameToTopRule=r,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var r=this;(0,$j.forEach)((0,$j.values)(this.nameToTopRule),function(i){r.currTopLevel=i,i.accept(r)})},e.prototype.visitNonTerminal=function(r){var i=this.nameToTopRule[r.nonTerminalName];if(i)r.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,r);this.errors.push({message:n,type:ZIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:r.nonTerminalName})}},e}($Ie.GAstVisitor);WA.GastRefResolverVisitor=eG});var Mp=w(Mr=>{"use strict";var bc=Mr&&Mr.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Mr,"__esModule",{value:!0});Mr.nextPossibleTokensAfter=Mr.possiblePathsFrom=Mr.NextTerminalAfterAtLeastOneSepWalker=Mr.NextTerminalAfterAtLeastOneWalker=Mr.NextTerminalAfterManySepWalker=Mr.NextTerminalAfterManyWalker=Mr.AbstractNextTerminalAfterProductionWalker=Mr.NextAfterTokenWalker=Mr.AbstractNextPossibleTokensWalker=void 0;var rG=zI(),Ut=Yt(),tye=Yv(),Dt=bn(),iG=function(t){bc(e,t);function e(r,i){var n=t.call(this)||this;return n.topProd=r,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Ut.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Ut.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(r,i){i===void 0&&(i=[]),this.found||t.prototype.walk.call(this,r,i)},e.prototype.walkProdRef=function(r,i,n){if(r.referencedRule.name===this.nextProductionName&&r.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(r.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Ut.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(rG.RestWalker);Mr.AbstractNextPossibleTokensWalker=iG;var rye=function(t){bc(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(r,i,n){if(this.isAtEndOfPath&&r.terminalType.name===this.nextTerminalName&&r.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new Dt.Alternative({definition:s});this.possibleTokTypes=(0,tye.first)(o),this.found=!0}},e}(iG);Mr.NextAfterTokenWalker=rye;var Op=function(t){bc(e,t);function e(r,i){var n=t.call(this)||this;return n.topRule=r,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(rG.RestWalker);Mr.AbstractNextTerminalAfterProductionWalker=Op;var iye=function(t){bc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkMany=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkMany.call(this,r,i,n)},e}(Op);Mr.NextTerminalAfterManyWalker=iye;var nye=function(t){bc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkManySep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkManySep.call(this,r,i,n)},e}(Op);Mr.NextTerminalAfterManySepWalker=nye;var sye=function(t){bc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOne.call(this,r,i,n)},e}(Op);Mr.NextTerminalAfterAtLeastOneWalker=sye;var oye=function(t){bc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOneSep.call(this,r,i,n)},e}(Op);Mr.NextTerminalAfterAtLeastOneSepWalker=oye;function nG(t,e,r){r===void 0&&(r=[]),r=(0,Ut.cloneArr)(r);var i=[],n=0;function s(c){return c.concat((0,Ut.drop)(t,n+1))}function o(c){var u=nG(s(c),e,r);return i.concat(u)}for(;r.length=0;le--){var Ae=Q.definition[le],T={idx:p,def:Ae.definition.concat((0,Ut.drop)(h)),ruleStack:m,occurrenceStack:y};g.push(T),g.push(o)}else if(Q instanceof Dt.Alternative)g.push({idx:p,def:Q.definition.concat((0,Ut.drop)(h)),ruleStack:m,occurrenceStack:y});else if(Q instanceof Dt.Rule)g.push(aye(Q,p,m,y));else throw Error("non exhaustive match")}}return u}Mr.nextPossibleTokensAfter=Aye;function aye(t,e,r,i){var n=(0,Ut.cloneArr)(r);n.push(t.name);var s=(0,Ut.cloneArr)(i);return s.push(1),{idx:e,def:t.definition,ruleStack:n,occurrenceStack:s}}});var Up=w(tr=>{"use strict";var sG=tr&&tr.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(tr,"__esModule",{value:!0});tr.areTokenCategoriesNotUsed=tr.isStrictPrefixOfPath=tr.containsPath=tr.getLookaheadPathsForOptionalProd=tr.getLookaheadPathsForOr=tr.lookAheadSequenceFromAlternatives=tr.buildSingleAlternativeLookaheadFunction=tr.buildAlternativesLookAheadFunc=tr.buildLookaheadFuncForOptionalProd=tr.buildLookaheadFuncForOr=tr.getProdType=tr.PROD_TYPE=void 0;var cr=Yt(),oG=Mp(),lye=zI(),ey=fg(),zA=bn(),cye=hg(),ci;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ci=tr.PROD_TYPE||(tr.PROD_TYPE={}));function uye(t){if(t instanceof zA.Option)return ci.OPTION;if(t instanceof zA.Repetition)return ci.REPETITION;if(t instanceof zA.RepetitionMandatory)return ci.REPETITION_MANDATORY;if(t instanceof zA.RepetitionMandatoryWithSeparator)return ci.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof zA.RepetitionWithSeparator)return ci.REPETITION_WITH_SEPARATOR;if(t instanceof zA.Alternation)return ci.ALTERNATION;throw Error("non exhaustive match")}tr.getProdType=uye;function gye(t,e,r,i,n,s){var o=aG(t,e,r),a=Wv(o)?ey.tokenStructuredMatcherNoCategories:ey.tokenStructuredMatcher;return s(o,i,a,n)}tr.buildLookaheadFuncForOr=gye;function fye(t,e,r,i,n,s){var o=AG(t,e,n,r),a=Wv(o)?ey.tokenStructuredMatcherNoCategories:ey.tokenStructuredMatcher;return s(o[0],a,i)}tr.buildLookaheadFuncForOptionalProd=fye;function hye(t,e,r,i){var n=t.length,s=(0,cr.every)(t,function(l){return(0,cr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,cr.map)(l,function(x){return x.GATE}),u=0;u{"use strict";var Vv=Xt&&Xt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Xt,"__esModule",{value:!0});Xt.checkPrefixAlternativesAmbiguities=Xt.validateSomeNonEmptyLookaheadPath=Xt.validateTooManyAlts=Xt.RepetionCollector=Xt.validateAmbiguousAlternationAlternatives=Xt.validateEmptyOrAlternative=Xt.getFirstNoneTerminal=Xt.validateNoLeftRecursion=Xt.validateRuleIsOverridden=Xt.validateRuleDoesNotAlreadyExist=Xt.OccurrenceValidationCollector=Xt.identifyProductionForDuplicates=Xt.validateGrammar=void 0;var nr=Yt(),xr=Yt(),Uo=Xn(),Xv=Lp(),dg=Up(),Eye=Mp(),Ao=bn(),Zv=hg();function wye(t,e,r,i,n){var s=nr.map(t,function(h){return Iye(h,i)}),o=nr.map(t,function(h){return $v(h,h,i)}),a=[],l=[],c=[];(0,xr.every)(o,xr.isEmpty)&&(a=(0,xr.map)(t,function(h){return fG(h,i)}),l=(0,xr.map)(t,function(h){return hG(h,e,i)}),c=dG(t,e,i));var u=yye(t,r,i),g=(0,xr.map)(t,function(h){return pG(h,i)}),f=(0,xr.map)(t,function(h){return gG(h,t,n,i)});return nr.flatten(s.concat(c,o,a,l,u,g,f))}Xt.validateGrammar=wye;function Iye(t,e){var r=new EG;t.accept(r);var i=r.allProductions,n=nr.groupBy(i,CG),s=nr.pick(n,function(a){return a.length>1}),o=nr.map(nr.values(s),function(a){var l=nr.first(a),c=e.buildDuplicateFoundError(t,a),u=(0,Xv.getProductionDslName)(l),g={message:c,type:Uo.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:l.idx},f=mG(l);return f&&(g.parameter=f),g});return o}function CG(t){return(0,Xv.getProductionDslName)(t)+"_#_"+t.idx+"_#_"+mG(t)}Xt.identifyProductionForDuplicates=CG;function mG(t){return t instanceof Ao.Terminal?t.terminalType.name:t instanceof Ao.NonTerminal?t.nonTerminalName:""}var EG=function(t){Vv(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitNonTerminal=function(r){this.allProductions.push(r)},e.prototype.visitOption=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e.prototype.visitAlternation=function(r){this.allProductions.push(r)},e.prototype.visitTerminal=function(r){this.allProductions.push(r)},e}(Zv.GAstVisitor);Xt.OccurrenceValidationCollector=EG;function gG(t,e,r,i){var n=[],s=(0,xr.reduce)(e,function(a,l){return l.name===t.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});n.push({message:o,type:Uo.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:t.name})}return n}Xt.validateRuleDoesNotAlreadyExist=gG;function Bye(t,e,r){var i=[],n;return nr.contains(e,t)||(n="Invalid rule override, rule: ->"+t+"<- cannot be overridden in the grammar: ->"+r+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:Uo.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:t})),i}Xt.validateRuleIsOverridden=Bye;function $v(t,e,r,i){i===void 0&&(i=[]);var n=[],s=Kp(e.definition);if(nr.isEmpty(s))return[];var o=t.name,a=nr.contains(s,t);a&&n.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:i}),type:Uo.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=nr.difference(s,i.concat([t])),c=nr.map(l,function(u){var g=nr.cloneArr(i);return g.push(u),$v(t,u,r,g)});return n.concat(nr.flatten(c))}Xt.validateNoLeftRecursion=$v;function Kp(t){var e=[];if(nr.isEmpty(t))return e;var r=nr.first(t);if(r instanceof Ao.NonTerminal)e.push(r.referencedRule);else if(r instanceof Ao.Alternative||r instanceof Ao.Option||r instanceof Ao.RepetitionMandatory||r instanceof Ao.RepetitionMandatoryWithSeparator||r instanceof Ao.RepetitionWithSeparator||r instanceof Ao.Repetition)e=e.concat(Kp(r.definition));else if(r instanceof Ao.Alternation)e=nr.flatten(nr.map(r.definition,function(o){return Kp(o.definition)}));else if(!(r instanceof Ao.Terminal))throw Error("non exhaustive match");var i=(0,Xv.isOptionalProd)(r),n=t.length>1;if(i&&n){var s=nr.drop(t);return e.concat(Kp(s))}else return e}Xt.getFirstNoneTerminal=Kp;var eS=function(t){Vv(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.alternations=[],r}return e.prototype.visitAlternation=function(r){this.alternations.push(r)},e}(Zv.GAstVisitor);function fG(t,e){var r=new eS;t.accept(r);var i=r.alternations,n=nr.reduce(i,function(s,o){var a=nr.dropRight(o.definition),l=nr.map(a,function(c,u){var g=(0,Eye.nextPossibleTokensAfter)([c],[],null,1);return nr.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:u}),type:Uo.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(nr.compact(l))},[]);return n}Xt.validateEmptyOrAlternative=fG;function hG(t,e,r){var i=new eS;t.accept(i);var n=i.alternations;n=(0,xr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=nr.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,dg.getLookaheadPathsForOr)(l,t,c,a),g=bye(u,a,t,r),f=IG(u,a,t,r);return o.concat(g,f)},[]);return s}Xt.validateAmbiguousAlternationAlternatives=hG;var yG=function(t){Vv(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e}(Zv.GAstVisitor);Xt.RepetionCollector=yG;function pG(t,e){var r=new eS;t.accept(r);var i=r.alternations,n=nr.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:Uo.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}),s},[]);return n}Xt.validateTooManyAlts=pG;function dG(t,e,r){var i=[];return(0,xr.forEach)(t,function(n){var s=new yG;n.accept(s);var o=s.allProductions;(0,xr.forEach)(o,function(a){var l=(0,dg.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,dg.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,xr.isEmpty)((0,xr.flatten)(f))){var h=r.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:Uo.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Xt.validateSomeNonEmptyLookaheadPath=dG;function bye(t,e,r,i){var n=[],s=(0,xr.reduce)(t,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,xr.forEach)(l,function(u){var g=[c];(0,xr.forEach)(t,function(f,h){c!==h&&(0,dg.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,dg.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=nr.map(s,function(a){var l=(0,xr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:Uo.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function IG(t,e,r,i){var n=[],s=(0,xr.reduce)(t,function(o,a,l){var c=(0,xr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,xr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,xr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(Cg,"__esModule",{value:!0});Cg.validateGrammar=Cg.resolveGrammar=void 0;var rS=Yt(),Qye=tG(),vye=tS(),wG=Tp();function Sye(t){t=(0,rS.defaults)(t,{errMsgProvider:wG.defaultGrammarResolverErrorProvider});var e={};return(0,rS.forEach)(t.rules,function(r){e[r.name]=r}),(0,Qye.resolveGrammar)(e,t.errMsgProvider)}Cg.resolveGrammar=Sye;function kye(t){return t=(0,rS.defaults)(t,{errMsgProvider:wG.defaultGrammarValidatorErrorProvider}),(0,vye.validateGrammar)(t.rules,t.maxLookahead,t.tokenTypes,t.errMsgProvider,t.grammarName)}Cg.validateGrammar=kye});var mg=w(vn=>{"use strict";var Hp=vn&&vn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(vn,"__esModule",{value:!0});vn.EarlyExitException=vn.NotAllInputParsedException=vn.NoViableAltException=vn.MismatchedTokenException=vn.isRecognitionException=void 0;var xye=Yt(),bG="MismatchedTokenException",QG="NoViableAltException",vG="EarlyExitException",SG="NotAllInputParsedException",kG=[bG,QG,vG,SG];Object.freeze(kG);function Pye(t){return(0,xye.contains)(kG,t.name)}vn.isRecognitionException=Pye;var ty=function(t){Hp(e,t);function e(r,i){var n=this.constructor,s=t.call(this,r)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),Dye=function(t){Hp(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=bG,s}return e}(ty);vn.MismatchedTokenException=Dye;var Rye=function(t){Hp(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=QG,s}return e}(ty);vn.NoViableAltException=Rye;var Fye=function(t){Hp(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.name=SG,n}return e}(ty);vn.NotAllInputParsedException=Fye;var Nye=function(t){Hp(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=vG,s}return e}(ty);vn.EarlyExitException=Nye});var nS=w(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.attemptInRepetitionRecovery=Yi.Recoverable=Yi.InRuleRecoveryException=Yi.IN_RULE_RECOVERY_EXCEPTION=Yi.EOF_FOLLOW_KEY=void 0;var ry=JA(),vs=Yt(),Lye=mg(),Tye=qv(),Oye=Xn();Yi.EOF_FOLLOW_KEY={};Yi.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function iS(t){this.name=Yi.IN_RULE_RECOVERY_EXCEPTION,this.message=t}Yi.InRuleRecoveryException=iS;iS.prototype=Error.prototype;var Mye=function(){function t(){}return t.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,vs.has)(e,"recoveryEnabled")?e.recoveryEnabled:Oye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=xG)},t.prototype.getTokenToInsert=function(e){var r=(0,ry.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r},t.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},t.prototype.tryInRepetitionRecovery=function(e,r,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),m=new Lye.MismatchedTokenException(p,u,s.LA(0));m.resyncedTokens=(0,vs.dropRight)(l),s.SAVE_ERROR(m)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},t.prototype.shouldInRepetitionRecoveryBeTried=function(e,r,i){return!(i===!1||e===void 0||r===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))},t.prototype.getFollowsForInRuleRecovery=function(e,r){var i=this.getCurrentGrammarPath(e,r),n=this.getNextPossibleTokenTypes(i);return n},t.prototype.tryInRuleRecovery=function(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new iS("sad sad panda")},t.prototype.canPerformInRuleRecovery=function(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)},t.prototype.canRecoverWithSingleTokenInsertion=function(e,r){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,vs.isEmpty)(r))return!1;var n=this.LA(1),s=(0,vs.find)(r,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},t.prototype.canRecoverWithSingleTokenDeletion=function(e){var r=this.tokenMatcher(this.LA(2),e);return r},t.prototype.isInCurrentRuleReSyncSet=function(e){var r=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(r);return(0,vs.contains)(i,e)},t.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),r=this.LA(1),i=2;;){var n=r.tokenType;if((0,vs.contains)(e,n))return n;r=this.LA(i),i++}},t.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Yi.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(i)}},t.prototype.buildFullFollowKeyStack=function(){var e=this,r=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,vs.map)(r,function(n,s){return s===0?Yi.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(r[s-1])}})},t.prototype.flattenFollowSet=function(){var e=this,r=(0,vs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,vs.flatten)(r)},t.prototype.getFollowSetFromFollowKey=function(e){if(e===Yi.EOF_FOLLOW_KEY)return[ry.EOF];var r=e.ruleName+e.idxInCallingRule+Tye.IN+e.inRule;return this.resyncFollows[r]},t.prototype.addToResyncTokens=function(e,r){return this.tokenMatcher(e,ry.EOF)||r.push(e),r},t.prototype.reSyncTo=function(e){for(var r=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,r);return(0,vs.dropRight)(r)},t.prototype.attemptInRepetitionRecovery=function(e,r,i,n,s,o,a){},t.prototype.getCurrentGrammarPath=function(e,r){var i=this.getHumanReadableRuleStack(),n=(0,vs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:r};return s},t.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,vs.map)(this.RULE_STACK,function(r){return e.shortRuleNameToFullName(r)})},t}();Yi.Recoverable=Mye;function xG(t,e,r,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=ry.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(t,e,r,f)}Yi.attemptInRepetitionRecovery=xG});var iy=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<{"use strict";Object.defineProperty(ny,"__esModule",{value:!0});ny.LooksAhead=void 0;var Ha=Up(),lo=Yt(),PG=Xn(),ja=iy(),Qc=Lp(),Kye=function(){function t(){}return t.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,lo.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:PG.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,lo.has)(e,"maxLookahead")?e.maxLookahead:PG.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,lo.isES2015MapSupported)()?new Map:[],(0,lo.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},t.prototype.preComputeLookaheadFunctions=function(e){var r=this;(0,lo.forEach)(e,function(i){r.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Qc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,lo.forEach)(s,function(g){var f=g.idx===0?"":g.idx;r.TRACE_INIT(""+(0,Qc.getProductionDslName)(g)+f,function(){var h=(0,Ha.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||r.maxLookahead,g.hasPredicates,r.dynamicTokensEnabled,r.lookAheadBuilderForAlternatives),p=(0,ja.getKeyForAutomaticLookahead)(r.fullRuleNameToShort[i.name],ja.OR_IDX,g.idx);r.setLaFuncCache(p,h)})}),(0,lo.forEach)(o,function(g){r.computeLookaheadFunc(i,g.idx,ja.MANY_IDX,Ha.PROD_TYPE.REPETITION,g.maxLookahead,(0,Qc.getProductionDslName)(g))}),(0,lo.forEach)(a,function(g){r.computeLookaheadFunc(i,g.idx,ja.OPTION_IDX,Ha.PROD_TYPE.OPTION,g.maxLookahead,(0,Qc.getProductionDslName)(g))}),(0,lo.forEach)(l,function(g){r.computeLookaheadFunc(i,g.idx,ja.AT_LEAST_ONE_IDX,Ha.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Qc.getProductionDslName)(g))}),(0,lo.forEach)(c,function(g){r.computeLookaheadFunc(i,g.idx,ja.AT_LEAST_ONE_SEP_IDX,Ha.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Qc.getProductionDslName)(g))}),(0,lo.forEach)(u,function(g){r.computeLookaheadFunc(i,g.idx,ja.MANY_SEP_IDX,Ha.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Qc.getProductionDslName)(g))})})})},t.prototype.computeLookaheadFunc=function(e,r,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(r===0?"":r),function(){var l=(0,Ha.buildLookaheadFuncForOptionalProd)(r,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,ja.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,r);a.setLaFuncCache(c,l)})},t.prototype.lookAheadBuilderForOptional=function(e,r,i){return(0,Ha.buildSingleAlternativeLookaheadFunction)(e,r,i)},t.prototype.lookAheadBuilderForAlternatives=function(e,r,i,n){return(0,Ha.buildAlternativesLookAheadFunc)(e,r,i,n)},t.prototype.getKeyForAutomaticLookahead=function(e,r){var i=this.getLastExplicitRuleShortName();return(0,ja.getKeyForAutomaticLookahead)(i,e,r)},t.prototype.getLaFuncFromCache=function(e){},t.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},t.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},t.prototype.setLaFuncCache=function(e,r){},t.prototype.setLaFuncCacheUsingMap=function(e,r){this.lookAheadFuncsCache.set(e,r)},t.prototype.setLaFuncUsingObj=function(e,r){this.lookAheadFuncsCache[e]=r},t}();ny.LooksAhead=Kye});var RG=w(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.addNoneTerminalToCst=Ko.addTerminalToCst=Ko.setNodeLocationFull=Ko.setNodeLocationOnlyOffset=void 0;function Hye(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";Object.defineProperty(_A,"__esModule",{value:!0});_A.defineNameProp=_A.functionName=_A.classNameFromInstance=void 0;var qye=Yt();function Jye(t){return FG(t.constructor)}_A.classNameFromInstance=Jye;var NG="name";function FG(t){var e=t.name;return e||"anonymous"}_A.functionName=FG;function Wye(t,e){var r=Object.getOwnPropertyDescriptor(t,NG);return(0,qye.isUndefined)(r)||r.configurable?(Object.defineProperty(t,NG,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}_A.defineNameProp=Wye});var UG=w(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.validateRedundantMethods=Pi.validateMissingCstMethods=Pi.validateVisitor=Pi.CstVisitorDefinitionError=Pi.createBaseVisitorConstructorWithDefaults=Pi.createBaseSemanticVisitorConstructor=Pi.defaultVisit=void 0;var Ss=Yt(),jp=sS();function LG(t,e){for(var r=(0,Ss.keys)(t),i=r.length,n=0;n: + `+(""+s.join(` + +`).replace(/\n/g,` + `)))}}};return r.prototype=i,r.prototype.constructor=r,r._RULE_NAMES=e,r}Pi.createBaseSemanticVisitorConstructor=zye;function _ye(t,e,r){var i=function(){};(0,jp.defineNameProp)(i,t+"BaseSemanticsWithDefaults");var n=Object.create(r.prototype);return(0,Ss.forEach)(e,function(s){n[s]=LG}),i.prototype=n,i.prototype.constructor=i,i}Pi.createBaseVisitorConstructorWithDefaults=_ye;var oS;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(oS=Pi.CstVisitorDefinitionError||(Pi.CstVisitorDefinitionError={}));function TG(t,e){var r=OG(t,e),i=MG(t,e);return r.concat(i)}Pi.validateVisitor=TG;function OG(t,e){var r=(0,Ss.map)(e,function(i){if(!(0,Ss.isFunction)(t[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,jp.functionName)(t.constructor)+" CST Visitor.",type:oS.MISSING_METHOD,methodName:i}});return(0,Ss.compact)(r)}Pi.validateMissingCstMethods=OG;var Vye=["constructor","visit","validateVisitor"];function MG(t,e){var r=[];for(var i in t)(0,Ss.isFunction)(t[i])&&!(0,Ss.contains)(Vye,i)&&!(0,Ss.contains)(e,i)&&r.push({msg:"Redundant visitor method: <"+i+"> on "+(0,jp.functionName)(t.constructor)+` CST Visitor +There is no Grammar Rule corresponding to this method's name. +`,type:oS.REDUNDANT_METHOD,methodName:i});return r}Pi.validateRedundantMethods=MG});var HG=w(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.TreeBuilder=void 0;var Eg=RG(),ii=Yt(),KG=UG(),Xye=Xn(),Zye=function(){function t(){}return t.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,ii.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:Xye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=ii.NOOP,this.cstFinallyStateUpdate=ii.NOOP,this.cstPostTerminal=ii.NOOP,this.cstPostNonTerminal=ii.NOOP,this.cstPostRule=ii.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Eg.setNodeLocationFull,this.setNodeLocationFromNode=Eg.setNodeLocationFull,this.cstPostRule=ii.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ii.NOOP,this.setNodeLocationFromNode=ii.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Eg.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=Eg.setNodeLocationOnlyOffset,this.cstPostRule=ii.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ii.NOOP,this.setNodeLocationFromNode=ii.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ii.NOOP,this.setNodeLocationFromNode=ii.NOOP,this.cstPostRule=ii.NOOP,this.setInitialNodeLocation=ii.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},t.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},t.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},t.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.setInitialNodeLocationFullRegular=function(e){var r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.cstInvocationStateUpdate=function(e,r){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},t.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},t.prototype.cstPostRuleFull=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?(i.endOffset=r.endOffset,i.endLine=r.endLine,i.endColumn=r.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},t.prototype.cstPostRuleOnlyOffset=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?i.endOffset=r.endOffset:i.startOffset=NaN},t.prototype.cstPostTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Eg.addTerminalToCst)(i,r,e),this.setNodeLocationFromToken(i.location,r)},t.prototype.cstPostNonTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Eg.addNoneTerminalToCst)(i,r,e),this.setNodeLocationFromNode(i.location,e.location)},t.prototype.getBaseCstVisitorConstructor=function(){if((0,ii.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,KG.createBaseSemanticVisitorConstructor)(this.className,(0,ii.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},t.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,ii.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,KG.createBaseVisitorConstructorWithDefaults)(this.className,(0,ii.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},t.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},t.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},t.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},t}();sy.TreeBuilder=Zye});var GG=w(oy=>{"use strict";Object.defineProperty(oy,"__esModule",{value:!0});oy.LexerAdapter=void 0;var jG=Xn(),$ye=function(){function t(){}return t.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(t.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),t.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):jG.END_OF_FILE},t.prototype.LA=function(e){var r=this.currIdx+e;return r<0||this.tokVectorLength<=r?jG.END_OF_FILE:this.tokVector[r]},t.prototype.consumeToken=function(){this.currIdx++},t.prototype.exportLexerState=function(){return this.currIdx},t.prototype.importLexerState=function(e){this.currIdx=e},t.prototype.resetLexerState=function(){this.currIdx=-1},t.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},t.prototype.getLexerPosition=function(){return this.exportLexerState()},t}();oy.LexerAdapter=$ye});var qG=w(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.RecognizerApi=void 0;var YG=Yt(),ewe=mg(),aS=Xn(),twe=Tp(),rwe=tS(),iwe=bn(),nwe=function(){function t(){}return t.prototype.ACTION=function(e){return e.call(this)},t.prototype.consume=function(e,r,i){return this.consumeInternal(r,e,i)},t.prototype.subrule=function(e,r,i){return this.subruleInternal(r,e,i)},t.prototype.option=function(e,r){return this.optionInternal(r,e)},t.prototype.or=function(e,r){return this.orInternal(r,e)},t.prototype.many=function(e,r){return this.manyInternal(e,r)},t.prototype.atLeastOne=function(e,r){return this.atLeastOneInternal(e,r)},t.prototype.CONSUME=function(e,r){return this.consumeInternal(e,0,r)},t.prototype.CONSUME1=function(e,r){return this.consumeInternal(e,1,r)},t.prototype.CONSUME2=function(e,r){return this.consumeInternal(e,2,r)},t.prototype.CONSUME3=function(e,r){return this.consumeInternal(e,3,r)},t.prototype.CONSUME4=function(e,r){return this.consumeInternal(e,4,r)},t.prototype.CONSUME5=function(e,r){return this.consumeInternal(e,5,r)},t.prototype.CONSUME6=function(e,r){return this.consumeInternal(e,6,r)},t.prototype.CONSUME7=function(e,r){return this.consumeInternal(e,7,r)},t.prototype.CONSUME8=function(e,r){return this.consumeInternal(e,8,r)},t.prototype.CONSUME9=function(e,r){return this.consumeInternal(e,9,r)},t.prototype.SUBRULE=function(e,r){return this.subruleInternal(e,0,r)},t.prototype.SUBRULE1=function(e,r){return this.subruleInternal(e,1,r)},t.prototype.SUBRULE2=function(e,r){return this.subruleInternal(e,2,r)},t.prototype.SUBRULE3=function(e,r){return this.subruleInternal(e,3,r)},t.prototype.SUBRULE4=function(e,r){return this.subruleInternal(e,4,r)},t.prototype.SUBRULE5=function(e,r){return this.subruleInternal(e,5,r)},t.prototype.SUBRULE6=function(e,r){return this.subruleInternal(e,6,r)},t.prototype.SUBRULE7=function(e,r){return this.subruleInternal(e,7,r)},t.prototype.SUBRULE8=function(e,r){return this.subruleInternal(e,8,r)},t.prototype.SUBRULE9=function(e,r){return this.subruleInternal(e,9,r)},t.prototype.OPTION=function(e){return this.optionInternal(e,0)},t.prototype.OPTION1=function(e){return this.optionInternal(e,1)},t.prototype.OPTION2=function(e){return this.optionInternal(e,2)},t.prototype.OPTION3=function(e){return this.optionInternal(e,3)},t.prototype.OPTION4=function(e){return this.optionInternal(e,4)},t.prototype.OPTION5=function(e){return this.optionInternal(e,5)},t.prototype.OPTION6=function(e){return this.optionInternal(e,6)},t.prototype.OPTION7=function(e){return this.optionInternal(e,7)},t.prototype.OPTION8=function(e){return this.optionInternal(e,8)},t.prototype.OPTION9=function(e){return this.optionInternal(e,9)},t.prototype.OR=function(e){return this.orInternal(e,0)},t.prototype.OR1=function(e){return this.orInternal(e,1)},t.prototype.OR2=function(e){return this.orInternal(e,2)},t.prototype.OR3=function(e){return this.orInternal(e,3)},t.prototype.OR4=function(e){return this.orInternal(e,4)},t.prototype.OR5=function(e){return this.orInternal(e,5)},t.prototype.OR6=function(e){return this.orInternal(e,6)},t.prototype.OR7=function(e){return this.orInternal(e,7)},t.prototype.OR8=function(e){return this.orInternal(e,8)},t.prototype.OR9=function(e){return this.orInternal(e,9)},t.prototype.MANY=function(e){this.manyInternal(0,e)},t.prototype.MANY1=function(e){this.manyInternal(1,e)},t.prototype.MANY2=function(e){this.manyInternal(2,e)},t.prototype.MANY3=function(e){this.manyInternal(3,e)},t.prototype.MANY4=function(e){this.manyInternal(4,e)},t.prototype.MANY5=function(e){this.manyInternal(5,e)},t.prototype.MANY6=function(e){this.manyInternal(6,e)},t.prototype.MANY7=function(e){this.manyInternal(7,e)},t.prototype.MANY8=function(e){this.manyInternal(8,e)},t.prototype.MANY9=function(e){this.manyInternal(9,e)},t.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},t.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},t.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},t.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},t.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},t.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},t.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},t.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},t.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},t.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},t.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},t.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},t.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},t.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},t.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},t.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},t.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},t.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},t.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},t.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},t.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},t.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},t.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},t.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},t.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},t.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},t.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},t.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},t.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},t.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},t.prototype.RULE=function(e,r,i){if(i===void 0&&(i=aS.DEFAULT_RULE_CONFIG),(0,YG.contains)(this.definedRulesNames,e)){var n=twe.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:aS.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,r,i);return this[e]=o,o},t.prototype.OVERRIDE_RULE=function(e,r,i){i===void 0&&(i=aS.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,rwe.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,r,i);return this[e]=s,s},t.prototype.BACKTRACK=function(e,r){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,r),!0}catch(n){if((0,ewe.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},t.prototype.getGAstProductions=function(){return this.gastProductionsCache},t.prototype.getSerializedGastProductions=function(){return(0,iwe.serializeGrammar)((0,YG.values)(this.gastProductionsCache))},t}();ay.RecognizerApi=nwe});var _G=w(Ay=>{"use strict";Object.defineProperty(Ay,"__esModule",{value:!0});Ay.RecognizerEngine=void 0;var Rr=Yt(),Zn=iy(),ly=mg(),JG=Up(),Ig=Mp(),WG=Xn(),swe=nS(),zG=JA(),Gp=fg(),owe=sS(),awe=function(){function t(){}return t.prototype.initRecognizerEngine=function(e,r){if(this.className=(0,owe.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Gp.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Rr.has)(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if((0,Rr.isArray)(e)){if((0,Rr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if((0,Rr.isArray)(e))this.tokensMap=(0,Rr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Rr.has)(e,"modes")&&(0,Rr.every)((0,Rr.flatten)((0,Rr.values)(e.modes)),Gp.isTokenType)){var i=(0,Rr.flatten)((0,Rr.values)(e.modes)),n=(0,Rr.uniq)(i);this.tokensMap=(0,Rr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Rr.isObject)(e))this.tokensMap=(0,Rr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=zG.EOF;var s=(0,Rr.every)((0,Rr.values)(e),function(o){return(0,Rr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Gp.tokenStructuredMatcherNoCategories:Gp.tokenStructuredMatcher,(0,Gp.augmentTokenTypes)((0,Rr.values)(this.tokensMap))},t.prototype.defineRule=function(e,r,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Rr.has)(i,"resyncEnabled")?i.resyncEnabled:WG.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Rr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:WG.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<r},t.prototype.orInternal=function(e,r){var i=this.getKeyForAutomaticLookahead(Zn.OR_IDX,r),n=(0,Rr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(r,e.ERR_MSG)},t.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new ly.NotAllInputParsedException(r,e))}},t.prototype.subruleInternal=function(e,r,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,r,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},t.prototype.subruleInternalError=function(e,r,i){throw(0,ly.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:i),delete e.partialCstResult),e},t.prototype.consumeInternal=function(e,r,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},t.prototype.consumeInternalError=function(e,r,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new ly.MismatchedTokenException(n,r,s))},t.prototype.consumeInternalRecovery=function(e,r,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===swe.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},t.prototype.saveRecogState=function(){var e=this.errors,r=(0,Rr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}},t.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},t.prototype.ruleInvocationStateUpdate=function(e,r,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r,e)},t.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},t.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},t.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},t.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),zG.EOF)},t.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},t}();Ay.RecognizerEngine=awe});var XG=w(cy=>{"use strict";Object.defineProperty(cy,"__esModule",{value:!0});cy.ErrorHandler=void 0;var AS=mg(),lS=Yt(),VG=Up(),Awe=Xn(),lwe=function(){function t(){}return t.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,lS.has)(e,"errorMessageProvider")?e.errorMessageProvider:Awe.DEFAULT_PARSER_CONFIG.errorMessageProvider},t.prototype.SAVE_ERROR=function(e){if((0,AS.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,lS.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(t.prototype,"errors",{get:function(){return(0,lS.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),t.prototype.raiseEarlyExitException=function(e,r,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,VG.getLookaheadPathsForOptionalProd)(e,s,r,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new AS.EarlyExitException(u,this.LA(1),this.LA(0)))},t.prototype.raiseNoAltException=function(e,r){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,VG.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new AS.NoViableAltException(c,this.LA(1),l))},t}();cy.ErrorHandler=lwe});var eY=w(uy=>{"use strict";Object.defineProperty(uy,"__esModule",{value:!0});uy.ContentAssist=void 0;var ZG=Mp(),$G=Yt(),cwe=function(){function t(){}return t.prototype.initContentAssist=function(){},t.prototype.computeContentAssist=function(e,r){var i=this.gastProductionsCache[e];if((0,$G.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,ZG.nextPossibleTokensAfter)([i],r,this.tokenMatcher,this.maxLookahead)},t.prototype.getNextPossibleTokenTypes=function(e){var r=(0,$G.first)(e.ruleStack),i=this.getGAstProductions(),n=i[r],s=new ZG.NextAfterTokenWalker(n,e).startWalking();return s},t}();uy.ContentAssist=cwe});var AY=w(gy=>{"use strict";Object.defineProperty(gy,"__esModule",{value:!0});gy.GastRecorder=void 0;var Sn=Yt(),Ho=bn(),uwe=Dp(),tY=fg(),rY=JA(),gwe=Xn(),fwe=iy(),fy={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(fy);var iY=!0,nY=Math.pow(2,fwe.BITS_FOR_OCCURRENCE_IDX)-1,sY=(0,rY.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:uwe.Lexer.NA});(0,tY.augmentTokenTypes)([sY]);var oY=(0,rY.createTokenInstance)(sY,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(oY);var hwe={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},dwe=function(){function t(){}return t.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},t.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var r=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)r(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},t.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var r=0;r<10;r++){var i=r>0?r:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},t.prototype.ACTION_RECORD=function(e){},t.prototype.BACKTRACK_RECORD=function(e,r){return function(){return!0}},t.prototype.LA_RECORD=function(e){return gwe.END_OF_FILE},t.prototype.topLevelRuleRecord=function(e,r){try{var i=new Ho.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),r.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch(s){throw n}throw n}},t.prototype.optionInternalRecord=function(e,r){return Yp.call(this,Ho.Option,e,r)},t.prototype.atLeastOneInternalRecord=function(e,r){Yp.call(this,Ho.RepetitionMandatory,r,e)},t.prototype.atLeastOneSepFirstInternalRecord=function(e,r){Yp.call(this,Ho.RepetitionMandatoryWithSeparator,r,e,iY)},t.prototype.manyInternalRecord=function(e,r){Yp.call(this,Ho.Repetition,r,e)},t.prototype.manySepFirstInternalRecord=function(e,r){Yp.call(this,Ho.RepetitionWithSeparator,r,e,iY)},t.prototype.orInternalRecord=function(e,r){return pwe.call(this,e,r)},t.prototype.subruleInternalRecord=function(e,r,i){if(hy(r),!e||(0,Sn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Sn.peek)(this.recordingProdStack),o=e.ruleName,a=new Ho.NonTerminal({idx:r,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?hwe:fy},t.prototype.consumeInternalRecord=function(e,r,i){if(hy(r),!(0,tY.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Sn.peek)(this.recordingProdStack),o=new Ho.Terminal({idx:r,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),oY},t}();gy.GastRecorder=dwe;function Yp(t,e,r,i){i===void 0&&(i=!1),hy(r);var n=(0,Sn.peek)(this.recordingProdStack),s=(0,Sn.isFunction)(e)?e:e.DEF,o=new t({definition:[],idx:r});return i&&(o.separator=e.SEP),(0,Sn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),fy}function pwe(t,e){var r=this;hy(e);var i=(0,Sn.peek)(this.recordingProdStack),n=(0,Sn.isArray)(t)===!1,s=n===!1?t:t.DEF,o=new Ho.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});(0,Sn.has)(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);var a=(0,Sn.some)(s,function(l){return(0,Sn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,Sn.forEach)(s,function(l){var c=new Ho.Alternative({definition:[]});o.definition.push(c),(0,Sn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,Sn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),r.recordingProdStack.push(c),l.ALT.call(r),r.recordingProdStack.pop()}),fy}function aY(t){return t===0?"":""+t}function hy(t){if(t<0||t>nY){var e=new Error("Invalid DSL Method idx value: <"+t+`> + `+("Idx value must be a none negative value smaller than "+(nY+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var cY=w(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.PerformanceTracer=void 0;var lY=Yt(),Cwe=Xn(),mwe=function(){function t(){}return t.prototype.initPerformanceTracer=function(e){if((0,lY.has)(e,"traceInitPerf")){var r=e.traceInitPerf,i=typeof r=="number";this.traceInitMaxIdent=i?r:Infinity,this.traceInitPerf=i?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Cwe.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},t.prototype.TRACE_INIT=function(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,lY.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t}();py.PerformanceTracer=mwe});var uY=w(dy=>{"use strict";Object.defineProperty(dy,"__esModule",{value:!0});dy.applyMixins=void 0;function Ewe(t,e){e.forEach(function(r){var i=r.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(t.prototype,n,s):t.prototype[n]=r.prototype[n]}})})}dy.applyMixins=Ewe});var Xn=w(Er=>{"use strict";var gY=Er&&Er.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Er,"__esModule",{value:!0});Er.EmbeddedActionsParser=Er.CstParser=Er.Parser=Er.EMPTY_ALT=Er.ParserDefinitionErrorType=Er.DEFAULT_RULE_CONFIG=Er.DEFAULT_PARSER_CONFIG=Er.END_OF_FILE=void 0;var an=Yt(),Iwe=Xj(),fY=JA(),hY=Tp(),pY=BG(),ywe=nS(),wwe=DG(),Bwe=HG(),bwe=GG(),Qwe=qG(),vwe=_G(),Swe=XG(),kwe=eY(),xwe=AY(),Pwe=cY(),Dwe=uY();Er.END_OF_FILE=(0,fY.createTokenInstance)(fY.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Er.END_OF_FILE);Er.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:hY.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});Er.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var Rwe;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(Rwe=Er.ParserDefinitionErrorType||(Er.ParserDefinitionErrorType={}));function Fwe(t){return t===void 0&&(t=void 0),function(){return t}}Er.EMPTY_ALT=Fwe;var Cy=function(){function t(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(r),i.initLexerAdapter(),i.initLooksAhead(r),i.initRecognizerEngine(e,r),i.initRecoverable(r),i.initTreeBuilder(r),i.initContentAssist(),i.initGastRecorder(r),i.initPerformanceTracer(r),(0,an.has)(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=(0,an.has)(r,"skipValidations")?r.skipValidations:Er.DEFAULT_PARSER_CONFIG.skipValidations}return t.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},t.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var r;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,an.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,an.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,pY.resolveGrammar)({rules:(0,an.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,an.isEmpty)(n)&&e.skipValidations===!1){var s=(0,pY.validateGrammar)({rules:(0,an.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,an.values)(e.tokensMap),errMsgProvider:hY.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,an.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,Iwe.computeAllProdsFollows)((0,an.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,an.values)(e.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,an.isEmpty)(e.definitionErrors))throw r=(0,an.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: + `+r.join(` +------------------------------- +`))})},t.DEFER_DEFINITION_ERRORS_HANDLING=!1,t}();Er.Parser=Cy;(0,Dwe.applyMixins)(Cy,[ywe.Recoverable,wwe.LooksAhead,Bwe.TreeBuilder,bwe.LexerAdapter,vwe.RecognizerEngine,Qwe.RecognizerApi,Swe.ErrorHandler,kwe.ContentAssist,xwe.GastRecorder,Pwe.PerformanceTracer]);var Nwe=function(t){gY(e,t);function e(r,i){i===void 0&&(i=Er.DEFAULT_PARSER_CONFIG);var n=this,s=(0,an.cloneObj)(i);return s.outputCst=!0,n=t.call(this,r,s)||this,n}return e}(Cy);Er.CstParser=Nwe;var Lwe=function(t){gY(e,t);function e(r,i){i===void 0&&(i=Er.DEFAULT_PARSER_CONFIG);var n=this,s=(0,an.cloneObj)(i);return s.outputCst=!1,n=t.call(this,r,s)||this,n}return e}(Cy);Er.EmbeddedActionsParser=Lwe});var CY=w(my=>{"use strict";Object.defineProperty(my,"__esModule",{value:!0});my.createSyntaxDiagramsCode=void 0;var dY=xv();function Twe(t,e){var r=e===void 0?{}:e,i=r.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+dY.VERSION+"/diagrams/":i,s=r.css,o=s===void 0?"https://unpkg.com/chevrotain@"+dY.VERSION+"/diagrams/diagrams.css":s,a=` + + + + + +`,l=` + +`,c=` + + + + +`,u=` +
+`,g=` + +`,f=` + +`;return a+l+c+u+g+f}my.createSyntaxDiagramsCode=Twe});var IY=w(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.Parser=Ve.createSyntaxDiagramsCode=Ve.clearCache=Ve.GAstVisitor=Ve.serializeProduction=Ve.serializeGrammar=Ve.Terminal=Ve.Rule=Ve.RepetitionWithSeparator=Ve.RepetitionMandatoryWithSeparator=Ve.RepetitionMandatory=Ve.Repetition=Ve.Option=Ve.NonTerminal=Ve.Alternative=Ve.Alternation=Ve.defaultLexerErrorProvider=Ve.NoViableAltException=Ve.NotAllInputParsedException=Ve.MismatchedTokenException=Ve.isRecognitionException=Ve.EarlyExitException=Ve.defaultParserErrorProvider=Ve.tokenName=Ve.tokenMatcher=Ve.tokenLabel=Ve.EOF=Ve.createTokenInstance=Ve.createToken=Ve.LexerDefinitionErrorType=Ve.Lexer=Ve.EMPTY_ALT=Ve.ParserDefinitionErrorType=Ve.EmbeddedActionsParser=Ve.CstParser=Ve.VERSION=void 0;var Owe=xv();Object.defineProperty(Ve,"VERSION",{enumerable:!0,get:function(){return Owe.VERSION}});var Ey=Xn();Object.defineProperty(Ve,"CstParser",{enumerable:!0,get:function(){return Ey.CstParser}});Object.defineProperty(Ve,"EmbeddedActionsParser",{enumerable:!0,get:function(){return Ey.EmbeddedActionsParser}});Object.defineProperty(Ve,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return Ey.ParserDefinitionErrorType}});Object.defineProperty(Ve,"EMPTY_ALT",{enumerable:!0,get:function(){return Ey.EMPTY_ALT}});var mY=Dp();Object.defineProperty(Ve,"Lexer",{enumerable:!0,get:function(){return mY.Lexer}});Object.defineProperty(Ve,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return mY.LexerDefinitionErrorType}});var yg=JA();Object.defineProperty(Ve,"createToken",{enumerable:!0,get:function(){return yg.createToken}});Object.defineProperty(Ve,"createTokenInstance",{enumerable:!0,get:function(){return yg.createTokenInstance}});Object.defineProperty(Ve,"EOF",{enumerable:!0,get:function(){return yg.EOF}});Object.defineProperty(Ve,"tokenLabel",{enumerable:!0,get:function(){return yg.tokenLabel}});Object.defineProperty(Ve,"tokenMatcher",{enumerable:!0,get:function(){return yg.tokenMatcher}});Object.defineProperty(Ve,"tokenName",{enumerable:!0,get:function(){return yg.tokenName}});var Mwe=Tp();Object.defineProperty(Ve,"defaultParserErrorProvider",{enumerable:!0,get:function(){return Mwe.defaultParserErrorProvider}});var qp=mg();Object.defineProperty(Ve,"EarlyExitException",{enumerable:!0,get:function(){return qp.EarlyExitException}});Object.defineProperty(Ve,"isRecognitionException",{enumerable:!0,get:function(){return qp.isRecognitionException}});Object.defineProperty(Ve,"MismatchedTokenException",{enumerable:!0,get:function(){return qp.MismatchedTokenException}});Object.defineProperty(Ve,"NotAllInputParsedException",{enumerable:!0,get:function(){return qp.NotAllInputParsedException}});Object.defineProperty(Ve,"NoViableAltException",{enumerable:!0,get:function(){return qp.NoViableAltException}});var Uwe=Uv();Object.defineProperty(Ve,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return Uwe.defaultLexerErrorProvider}});var jo=bn();Object.defineProperty(Ve,"Alternation",{enumerable:!0,get:function(){return jo.Alternation}});Object.defineProperty(Ve,"Alternative",{enumerable:!0,get:function(){return jo.Alternative}});Object.defineProperty(Ve,"NonTerminal",{enumerable:!0,get:function(){return jo.NonTerminal}});Object.defineProperty(Ve,"Option",{enumerable:!0,get:function(){return jo.Option}});Object.defineProperty(Ve,"Repetition",{enumerable:!0,get:function(){return jo.Repetition}});Object.defineProperty(Ve,"RepetitionMandatory",{enumerable:!0,get:function(){return jo.RepetitionMandatory}});Object.defineProperty(Ve,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return jo.RepetitionMandatoryWithSeparator}});Object.defineProperty(Ve,"RepetitionWithSeparator",{enumerable:!0,get:function(){return jo.RepetitionWithSeparator}});Object.defineProperty(Ve,"Rule",{enumerable:!0,get:function(){return jo.Rule}});Object.defineProperty(Ve,"Terminal",{enumerable:!0,get:function(){return jo.Terminal}});var EY=bn();Object.defineProperty(Ve,"serializeGrammar",{enumerable:!0,get:function(){return EY.serializeGrammar}});Object.defineProperty(Ve,"serializeProduction",{enumerable:!0,get:function(){return EY.serializeProduction}});var Kwe=hg();Object.defineProperty(Ve,"GAstVisitor",{enumerable:!0,get:function(){return Kwe.GAstVisitor}});function Hwe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. + It performs no action other than printing this message. + Please avoid using it as it will be completely removed in the future`)}Ve.clearCache=Hwe;var jwe=CY();Object.defineProperty(Ve,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return jwe.createSyntaxDiagramsCode}});var Gwe=function(){function t(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. +See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return t}();Ve.Parser=Gwe});var BY=w((Vtt,yY)=>{var Iy=IY(),Ga=Iy.createToken,wY=Iy.tokenMatcher,cS=Iy.Lexer,Ywe=Iy.EmbeddedActionsParser;yY.exports=t=>{let e=Ga({name:"LogicalOperator",pattern:cS.NA}),r=Ga({name:"Or",pattern:/\|/,categories:e}),i=Ga({name:"Xor",pattern:/\^/,categories:e}),n=Ga({name:"And",pattern:/&/,categories:e}),s=Ga({name:"Not",pattern:/!/}),o=Ga({name:"LParen",pattern:/\(/}),a=Ga({name:"RParen",pattern:/\)/}),l=Ga({name:"Query",pattern:t}),u=[Ga({name:"WhiteSpace",pattern:/\s+/,group:cS.SKIPPED}),r,i,n,o,a,s,e,l],g=new cS(u);class f extends Ywe{constructor(p){super(u);this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let Q=y,S=this.CONSUME(e),x=this.SUBRULE2(this.atomicExpression);wY(S,r)?y=M=>Q(M)||x(M):wY(S,i)?y=M=>!!(Q(M)^x(M)):y=M=>Q(M)&&x(M)}),y}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:m}=this.CONSUME(l);return y=>y(m)}},{ALT:()=>{this.CONSUME(s);let m=this.SUBRULE(this.atomicExpression);return y=>!m(y)}}])),this.RULE("parenthesisExpression",()=>{let m;return this.CONSUME(o),m=this.SUBRULE(this.expression),this.CONSUME(a),m}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var bY=w(yy=>{var qwe=BY();yy.makeParser=(t=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:r}=qwe(t),i=new r;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};yy.parse=yy.makeParser()});var vY=w((Ztt,QY)=>{"use strict";QY.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var uS=w(($tt,SY)=>{var Jp=vY(),kY={};for(let t of Object.keys(Jp))kY[Jp[t]]=t;var at={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};SY.exports=at;for(let t of Object.keys(at)){if(!("channels"in at[t]))throw new Error("missing channels property: "+t);if(!("labels"in at[t]))throw new Error("missing channel labels property: "+t);if(at[t].labels.length!==at[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=at[t];delete at[t].channels,delete at[t].labels,Object.defineProperty(at[t],"channels",{value:e}),Object.defineProperty(at[t],"labels",{value:r})}at.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(e,r,i),s=Math.max(e,r,i),o=s-n,a,l;s===n?a=0:e===s?a=(r-i)/o:r===s?a=2+(i-e)/o:i===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};at.rgb.hsv=function(t){let e,r,i,n,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),r=g(a),i=g(l),o===c?n=i-r:a===c?n=1/3+e-i:l===c&&(n=2/3+r-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};at.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=at.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,i));return i=1-1/255*Math.max(e,Math.max(r,i)),[n,s*100,i*100]};at.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(1-e,1-r,1-i),s=(1-e-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function Jwe(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}at.rgb.keyword=function(t){let e=kY[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(Jp)){let s=Jp[n],o=Jwe(t,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+r*.3576+i*.1805,s=e*.2126+r*.7152+i*.0722,o=e*.0193+r*.1192+i*.9505;return[n*100,s*100,o*100]};at.rgb.lab=function(t){let e=at.rgb.xyz(t),r=e[0],i=e[1],n=e[2];r/=95.047,i/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(r-i),a=200*(i-n);return[s,o,a]};at.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n,s,o;if(r===0)return o=i*255,[o,o,o];i<.5?n=i*(1+r):n=i+r-i*r;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};at.hsl.hsv=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=r,s=Math.max(i,.01);i*=2,r*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+r)/2,a=i===0?2*n/(s+n):2*r/(i+r);return[e,a*100,o*100]};at.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-r),a=255*i*(1-r*s),l=255*i*(1-r*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};at.hsv.hsl=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=Math.max(i,.01),s,o;o=(2-r)*i;let a=(2-r)*n;return s=r*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};at.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n=r+i,s;n>1&&(r/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=r+s*(a-r),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=r;break;case 1:c=l,u=a,g=r;break;case 2:c=r,u=a,g=l;break;case 3:c=r,u=l,g=a;break;case 4:c=l,u=r,g=a;break;case 5:c=a,u=r,g=l;break}return[c*255,u*255,g*255]};at.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n=t[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};at.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n,s,o;return n=e*3.2406+r*-1.5372+i*-.4986,s=e*-.9689+r*1.8758+i*.0415,o=e*.0557+r*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};at.xyz.lab=function(t){let e=t[0],r=t[1],i=t[2];e/=95.047,r/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*r-16,s=500*(e-r),o=200*(r-i);return[n,s,o]};at.lab.xyz=function(t){let e=t[0],r=t[1],i=t[2],n,s,o;s=(e+16)/116,n=r/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};at.lab.lch=function(t){let e=t[0],r=t[1],i=t[2],n;n=Math.atan2(i,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+i*i);return[e,o,n]};at.lch.lab=function(t){let e=t[0],r=t[1],n=t[2]/360*2*Math.PI,s=r*Math.cos(n),o=r*Math.sin(n);return[e,s,o]};at.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?at.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};at.hsv.ansi16=function(t){return at.rgb.ansi16(at.hsv.rgb(t),t[2])};at.rgb.ansi256=function(t){let e=t[0],r=t[1],i=t[2];return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)};at.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,i=(e&1)*r*255,n=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[i,n,s]};at.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,i=Math.floor((e=t%36)/6)/5*255,n=e%6/5*255;return[r,i,n]};at.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};at.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let i=parseInt(r,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};at.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.max(Math.max(e,r),i),s=Math.min(Math.min(e,r),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(r-i)/o%6:n===r?l=2+(i-e)/o:l=4+(e-r)/o,l/=6,l%=1,[l*360,o*100,a*100]};at.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=r<.5?2*e*r:2*e*(1-r),n=0;return i<1&&(n=(r-.5*i)/(1-i)),[t[0],i*100,n*100]};at.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=e*r,n=0;return i<1&&(n=(r-i)/(1-i)),[t[0],i*100,n*100]};at.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100;if(r===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-r)*i,[(r*n[0]+l)*255,(r*n[1]+l)*255,(r*n[2]+l)*255]};at.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e),n=0;return i>0&&(n=e/i),[t[0],n*100,i*100]};at.hcg.hsl=function(t){let e=t[1]/100,i=t[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[t[0],n*100,i*100]};at.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e);return[t[0],(i-e)*100,(1-i)*100]};at.hwb.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=1-r,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[t[0],n*100,s*100]};at.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};at.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};at.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};at.gray.hsl=function(t){return[0,0,t[0]]};at.gray.hsv=at.gray.hsl;at.gray.hwb=function(t){return[0,100,t[0]]};at.gray.cmyk=function(t){return[0,0,0,t[0]]};at.gray.lab=function(t){return[t[0],0,0]};at.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};at.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var PY=w((ert,xY)=>{var wy=uS();function Wwe(){let t={},e=Object.keys(wy);for(let r=e.length,i=0;i{var gS=uS(),Xwe=PY(),wg={},Zwe=Object.keys(gS);function $we(t){let e=function(...r){let i=r[0];return i==null?i:(i.length>1&&(r=i),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function eBe(t){let e=function(...r){let i=r[0];if(i==null)return i;i.length>1&&(r=i);let n=t(r);if(typeof n=="object")for(let s=n.length,o=0;o{wg[t]={},Object.defineProperty(wg[t],"channels",{value:gS[t].channels}),Object.defineProperty(wg[t],"labels",{value:gS[t].labels});let e=Xwe(t);Object.keys(e).forEach(i=>{let n=e[i];wg[t][i]=eBe(n),wg[t][i].raw=$we(n)})});DY.exports=wg});var MY=w((rrt,FY)=>{"use strict";var NY=(t,e)=>(...r)=>`[${t(...r)+e}m`,LY=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},TY=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},By=t=>t,OY=(t,e,r)=>[t,e,r],Bg=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let i=r();return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},fS,bg=(t,e,r,i)=>{fS===void 0&&(fS=RY());let n=i?10:0,s={};for(let[o,a]of Object.entries(fS)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=t(r,n):typeof a=="object"&&(s[l]=t(a[e],n))}return s};function tBe(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="",e.bgColor.close="",Bg(e.color,"ansi",()=>bg(NY,"ansi16",By,!1)),Bg(e.color,"ansi256",()=>bg(LY,"ansi256",By,!1)),Bg(e.color,"ansi16m",()=>bg(TY,"rgb",OY,!1)),Bg(e.bgColor,"ansi",()=>bg(NY,"ansi16",By,!0)),Bg(e.bgColor,"ansi256",()=>bg(LY,"ansi256",By,!0)),Bg(e.bgColor,"ansi16m",()=>bg(TY,"rgb",OY,!0)),e}Object.defineProperty(FY,"exports",{enumerable:!0,get:tBe})});var KY=w((irt,UY)=>{"use strict";UY.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var rBe=require("os"),jY=require("tty"),ks=KY(),{env:ui}=process,VA;ks("no-color")||ks("no-colors")||ks("color=false")||ks("color=never")?VA=0:(ks("color")||ks("colors")||ks("color=true")||ks("color=always"))&&(VA=1);"FORCE_COLOR"in ui&&(ui.FORCE_COLOR==="true"?VA=1:ui.FORCE_COLOR==="false"?VA=0:VA=ui.FORCE_COLOR.length===0?1:Math.min(parseInt(ui.FORCE_COLOR,10),3));function hS(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function pS(t,e){if(VA===0)return 0;if(ks("color=16m")||ks("color=full")||ks("color=truecolor"))return 3;if(ks("color=256"))return 2;if(t&&!e&&VA===void 0)return 0;let r=VA||0;if(ui.TERM==="dumb")return r;if(process.platform==="win32"){let i=rBe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in ui)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in ui)||ui.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in ui)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ui.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ui)return 1;if(ui.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ui){let i=parseInt((ui.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ui.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ui.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ui.TERM)||"COLORTERM"in ui?1:r}function iBe(t){let e=pS(t,t&&t.isTTY);return hS(e)}HY.exports={supportsColor:iBe,stdout:hS(pS(!0,jY.isatty(1))),stderr:hS(pS(!0,jY.isatty(2)))}});var qY=w((srt,YY)=>{"use strict";var nBe=(t,e,r)=>{let i=t.indexOf(e);if(i===-1)return t;let n=e.length,s=0,o="";do o+=t.substr(s,i-s)+e+r,s=i+n,i=t.indexOf(e,s);while(i!==-1);return o+=t.substr(s),o},sBe=(t,e,r,i)=>{let n=0,s="";do{let o=t[i-1]==="\r";s+=t.substr(n,(o?i-1:i)-n)+e+(o?`\r +`:` +`)+r,n=i+1,i=t.indexOf(` +`,n)}while(i!==-1);return s+=t.substr(n),s};YY.exports={stringReplaceAll:nBe,stringEncaseCRLFWithFirstIndex:sBe}});var VY=w((ort,JY)=>{"use strict";var oBe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,WY=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,aBe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,ABe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,lBe=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function zY(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):lBe.get(t)||t}function cBe(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(aBe))r.push(n[2].replace(ABe,(a,l,c)=>l?zY(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function uBe(t){WY.lastIndex=0;let e=[],r;for(;(r=WY.exec(t))!==null;){let i=r[1];if(r[2]){let n=cBe(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function _Y(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}JY.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(oBe,(s,o,a,l,c,u)=>{if(o)n.push(zY(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:_Y(t,r)(g)),r.push({inverse:a,styles:uBe(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(_Y(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var IS=w((art,XY)=>{"use strict";var Wp=MY(),{stdout:dS,stderr:CS}=GY(),{stringReplaceAll:gBe,stringEncaseCRLFWithFirstIndex:fBe}=qY(),ZY=["ansi","ansi","ansi256","ansi16m"],Qg=Object.create(null),hBe=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=dS?dS.level:0;t.level=e.level===void 0?r:e.level},$Y=class{constructor(e){return eq(e)}},eq=t=>{let e={};return hBe(e,t),e.template=(...r)=>pBe(e.template,...r),Object.setPrototypeOf(e,by.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=$Y,e.template};function by(t){return eq(t)}for(let[t,e]of Object.entries(Wp))Qg[t]={get(){let r=Qy(this,mS(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Qg.visible={get(){let t=Qy(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var tq=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of tq)Qg[t]={get(){let{level:e}=this;return function(...r){let i=mS(Wp.color[ZY[e]][t](...r),Wp.color.close,this._styler);return Qy(this,i,this._isEmpty)}}};for(let t of tq){let e="bg"+t[0].toUpperCase()+t.slice(1);Qg[e]={get(){let{level:r}=this;return function(...i){let n=mS(Wp.bgColor[ZY[r]][t](...i),Wp.bgColor.close,this._styler);return Qy(this,n,this._isEmpty)}}}}var dBe=Object.defineProperties(()=>{},te(N({},Qg),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),mS=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},Qy=(t,e,r)=>{let i=(...n)=>CBe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=dBe,i._generator=t,i._styler=e,i._isEmpty=r,i},CBe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=gBe(e,r.close,r.open),r=r.parent;let s=e.indexOf(` +`);return s!==-1&&(e=fBe(e,n,i,s)),i+e+n},ES,pBe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s{"use strict";xs.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;xs.find=(t,e)=>t.nodes.find(r=>r.type===e);xs.exceedsLimit=(t,e,r=1,i)=>i===!1||!xs.isInteger(t)||!xs.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;xs.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};xs.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;xs.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;xs.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;xs.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);xs.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var iq=vy();rq.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&iq.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&iq.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var sq=w((crt,nq)=>{"use strict";nq.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var hq=w((urt,oq)=>{"use strict";var aq=sq(),vc=(t,e,r)=>{if(aq(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(aq(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=N({relaxZeros:!0},r);typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=t+":"+e+"="+n+s+o+a;if(vc.cache.hasOwnProperty(l))return vc.cache[l].result;let c=Math.min(t,e),u=Math.max(t,e);if(Math.abs(c-u)===1){let m=t+"|"+e;return i.capture?`(${m})`:i.wrap===!1?m:`(?:${m})`}let g=lq(t)||lq(e),f={min:t,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let m=u<0?Math.abs(u):1;p=Aq(m,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=Aq(c,u,f,i)),f.negatives=p,f.positives=h,f.result=mBe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),vc.cache[l]=f,f.result};function mBe(t,e,r){let i=yS(t,e,"-",!1,r)||[],n=yS(e,t,"",!1,r)||[],s=yS(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function IBe(t,e){let r=1,i=1,n=cq(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=cq(t,r);for(n=uq(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+gq(a.count),o=c+1;continue}r.isPadded&&(g=bBe(c,r,i)),u.string=g+u.pattern+gq(u.count),s.push(u),o=c+1,a=u}return s}function yS(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!fq(e,"string",a)&&s.push(r+a),i&&fq(e,"string",a)&&s.push(r+a)}return s}function yBe(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function fq(t,e,r){return t.some(i=>i[e]===r)}function cq(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function uq(t,e){return t-t%Math.pow(10,e)}function gq(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function wBe(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function lq(t){return/^-?(0+)\d/.test(t)}function bBe(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}vc.cache={};vc.clearCache=()=>vc.cache={};oq.exports=vc});var bS=w((grt,pq)=>{"use strict";var QBe=require("util"),dq=hq(),Cq=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),vBe=t=>e=>t===!0?Number(e):String(e),wS=t=>typeof t=="number"||typeof t=="string"&&t!=="",_p=t=>Number.isInteger(+t),BS=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},SBe=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,kBe=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},mq=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((o,a)=>oa?1:0),t.positives.sort((o,a)=>oa?1:0);let r=e.capture?"":"?:",i="",n="",s;return t.positives.length&&(i=t.positives.join("|")),t.negatives.length&&(n=`-(${r}${t.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${r}${s})`:s},Eq=(t,e,r,i)=>{if(r)return dq(t,e,N({wrap:!1},i));let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},Iq=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return dq(t,e,r)},yq=(...t)=>new RangeError("Invalid range arguments: "+QBe.inspect(...t)),wq=(t,e,r)=>{if(r.strictRanges===!0)throw yq([t,e]);return[]},PBe=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},DBe=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw yq([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let u=BS(a)||BS(l)||BS(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&SBe(t,e,i)===!1,h=i.transform||vBe(f);if(i.toRegex&&r===1)return Eq(mq(t,g),mq(e,g),!0,i);let p={negatives:[],positives:[]},m=S=>p[S<0?"negatives":"positives"].push(Math.abs(S)),y=[],Q=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?m(n):y.push(kBe(h(n,Q),g,f)),n=o?n-r:n+r,Q++;return i.toRegex===!0?r>1?xBe(p,i):Iq(y,null,N({wrap:!1},i)):y},RBe=(t,e,r=1,i={})=>{if(!_p(t)&&t.length>1||!_p(e)&&e.length>1)return wq(t,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&r===1)return Eq(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-r:s+r,g++;return i.toRegex===!0?Iq(u,null,{wrap:!1,options:i}):u},ky=(t,e,r,i={})=>{if(e==null&&wS(t))return[t];if(!wS(t)||!wS(e))return wq(t,e,i);if(typeof r=="function")return ky(t,e,1,{transform:r});if(Cq(r))return ky(t,e,0,r);let n=N({},i);return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,_p(r)?_p(t)&&_p(e)?DBe(t,e,r,n):RBe(t,e,Math.max(Math.abs(r),1),n):r!=null&&!Cq(r)?PBe(r,n):ky(t,e,1,r)};pq.exports=ky});var Qq=w((frt,Bq)=>{"use strict";var FBe=bS(),bq=vy(),NBe=(t,e={})=>{let r=(i,n={})=>{let s=bq.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=bq.reduce(i.nodes),g=FBe(...u,te(N({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=r(u,i);return c};return r(t)};Bq.exports=NBe});var kq=w((hrt,vq)=>{"use strict";var LBe=bS(),Sq=Sy(),vg=vy(),Sc=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?vg.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(Sc(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?Sc(n,s,r):n+s);return vg.flatten(i)},TBe=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Sc(a.pop(),Sq(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(Sc(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=vg.reduce(n.nodes);if(vg.exceedsLimit(...g,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=LBe(...g,e);f.length===0&&(f=Sq(n,e)),a.push(Sc(a.pop(),f)),n.nodes=[];return}let l=vg.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";xq.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Lq=w((drt,Dq)=>{"use strict";var OBe=Sy(),{MAX_LENGTH:Rq,CHAR_BACKSLASH:QS,CHAR_BACKTICK:MBe,CHAR_COMMA:UBe,CHAR_DOT:KBe,CHAR_LEFT_PARENTHESES:HBe,CHAR_RIGHT_PARENTHESES:jBe,CHAR_LEFT_CURLY_BRACE:GBe,CHAR_RIGHT_CURLY_BRACE:YBe,CHAR_LEFT_SQUARE_BRACKET:Fq,CHAR_RIGHT_SQUARE_BRACKET:Nq,CHAR_DOUBLE_QUOTE:qBe,CHAR_SINGLE_QUOTE:JBe,CHAR_NO_BREAK_SPACE:WBe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:zBe}=Pq(),_Be=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(Rq,r.maxLength):Rq;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,f,h={},p=()=>t[u++],m=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(m({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:OBe(o)}]}m({type:"comma",value:f}),o.commas++;continue}if(f===KBe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){m({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let Q=y[y.length-1];Q.value+=a.value+f,a=Q,o.ranges--;continue}m({type:"dot",value:f});continue}m({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(S=>{S.nodes||(S.type==="open"&&(S.isOpen=!0),S.type==="close"&&(S.isClose=!0),S.nodes||(S.type="text"),S.invalid=!0)});let y=s[s.length-1],Q=y.nodes.indexOf(o);y.nodes.splice(Q,1,...o.nodes)}while(s.length>0);return m({type:"eos"}),n};Dq.exports=_Be});var Mq=w((Crt,Tq)=>{"use strict";var Oq=Sy(),VBe=Qq(),XBe=kq(),ZBe=Lq(),$n=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=$n.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat($n.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};$n.parse=(t,e={})=>ZBe(t,e);$n.stringify=(t,e={})=>typeof t=="string"?Oq($n.parse(t,e),e):Oq(t,e);$n.compile=(t,e={})=>(typeof t=="string"&&(t=$n.parse(t,e)),VBe(t,e));$n.expand=(t,e={})=>{typeof t=="string"&&(t=$n.parse(t,e));let r=XBe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};$n.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?$n.compile(t,e):$n.expand(t,e);Tq.exports=$n});var Vp=w((mrt,Uq)=>{"use strict";var $Be=require("path"),Go="\\\\/",Kq=`[^${Go}]`,Ya="\\.",e0e="\\+",t0e="\\?",xy="\\/",r0e="(?=.)",Hq="[^/]",vS=`(?:${xy}|$)`,jq=`(?:^|${xy})`,SS=`${Ya}{1,2}${vS}`,i0e=`(?!${Ya})`,n0e=`(?!${jq}${SS})`,s0e=`(?!${Ya}{0,1}${vS})`,o0e=`(?!${SS})`,a0e=`[^.${xy}]`,A0e=`${Hq}*?`,Gq={DOT_LITERAL:Ya,PLUS_LITERAL:e0e,QMARK_LITERAL:t0e,SLASH_LITERAL:xy,ONE_CHAR:r0e,QMARK:Hq,END_ANCHOR:vS,DOTS_SLASH:SS,NO_DOT:i0e,NO_DOTS:n0e,NO_DOT_SLASH:s0e,NO_DOTS_SLASH:o0e,QMARK_NO_DOT:a0e,STAR:A0e,START_ANCHOR:jq},l0e=te(N({},Gq),{SLASH_LITERAL:`[${Go}]`,QMARK:Kq,STAR:`${Kq}*?`,DOTS_SLASH:`${Ya}{1,2}(?:[${Go}]|$)`,NO_DOT:`(?!${Ya})`,NO_DOTS:`(?!(?:^|[${Go}])${Ya}{1,2}(?:[${Go}]|$))`,NO_DOT_SLASH:`(?!${Ya}{0,1}(?:[${Go}]|$))`,NO_DOTS_SLASH:`(?!${Ya}{1,2}(?:[${Go}]|$))`,QMARK_NO_DOT:`[^.${Go}]`,START_ANCHOR:`(?:^|[${Go}])`,END_ANCHOR:`(?:[${Go}]|$)`}),c0e={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Uq.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:c0e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:$Be.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?l0e:Gq}}});var Xp=w(kn=>{"use strict";var u0e=require("path"),g0e=process.platform==="win32",{REGEX_BACKSLASH:f0e,REGEX_REMOVE_BACKSLASH:h0e,REGEX_SPECIAL_CHARS:p0e,REGEX_SPECIAL_CHARS_GLOBAL:d0e}=Vp();kn.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);kn.hasRegexChars=t=>p0e.test(t);kn.isRegexChar=t=>t.length===1&&kn.hasRegexChars(t);kn.escapeRegex=t=>t.replace(d0e,"\\$1");kn.toPosixSlashes=t=>t.replace(f0e,"/");kn.removeBackslashes=t=>t.replace(h0e,e=>e==="\\"?"":e);kn.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};kn.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:g0e===!0||u0e.sep==="\\";kn.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?kn.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};kn.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};kn.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var Xq=w((Irt,Yq)=>{"use strict";var qq=Xp(),{CHAR_ASTERISK:kS,CHAR_AT:C0e,CHAR_BACKWARD_SLASH:Zp,CHAR_COMMA:m0e,CHAR_DOT:xS,CHAR_EXCLAMATION_MARK:PS,CHAR_FORWARD_SLASH:Jq,CHAR_LEFT_CURLY_BRACE:DS,CHAR_LEFT_PARENTHESES:RS,CHAR_LEFT_SQUARE_BRACKET:E0e,CHAR_PLUS:I0e,CHAR_QUESTION_MARK:Wq,CHAR_RIGHT_CURLY_BRACE:y0e,CHAR_RIGHT_PARENTHESES:zq,CHAR_RIGHT_SQUARE_BRACKET:w0e}=Vp(),_q=t=>t===Jq||t===Zp,Vq=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},B0e=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],l=t,c=-1,u=0,g=0,f=!1,h=!1,p=!1,m=!1,y=!1,Q=!1,S=!1,x=!1,M=!1,Y=!1,U=0,J,W,ee={value:"",depth:0,isGlob:!1},Z=()=>c>=i,A=()=>l.charCodeAt(c+1),ne=()=>(J=W,l.charCodeAt(++c));for(;c0&&(Ae=l.slice(0,u),l=l.slice(u),g-=u),le&&p===!0&&g>0?(le=l.slice(0,g),T=l.slice(g)):p===!0?(le="",T=l):le=l,le&&le!==""&&le!=="/"&&le!==l&&_q(le.charCodeAt(le.length-1))&&(le=le.slice(0,-1)),r.unescape===!0&&(T&&(T=qq.removeBackslashes(T)),le&&S===!0&&(le=qq.removeBackslashes(le)));let L={prefix:Ae,input:t,start:u,base:le,glob:T,isBrace:f,isBracket:h,isGlob:p,isExtglob:m,isGlobstar:y,negated:x,negatedExtglob:M};if(r.tokens===!0&&(L.maxDepth=0,_q(W)||o.push(ee),L.tokens=o),r.parts===!0||r.tokens===!0){let Ee;for(let we=0;we{"use strict";var Py=Vp(),es=Xp(),{MAX_LENGTH:Dy,POSIX_REGEX_SOURCE:b0e,REGEX_NON_SPECIAL_CHARS:Q0e,REGEX_SPECIAL_CHARS_BACKREF:v0e,REPLACEMENTS:$q}=Py,S0e=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>es.escapeRegex(n)).join("..")}return r},Sg=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,eJ=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=$q[t]||t;let r=N({},e),i=typeof r.maxLength=="number"?Math.min(Dy,r.maxLength):Dy,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",l=es.isWindows(e),c=Py.globChars(l),u=Py.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:m,NO_DOT:y,NO_DOT_SLASH:Q,NO_DOTS_SLASH:S,QMARK:x,QMARK_NO_DOT:M,STAR:Y,START_ANCHOR:U}=c,J=X=>`(${a}(?:(?!${U}${X.dot?m:g}).)*?)`,W=r.dot?"":y,ee=r.dot?x:M,Z=r.bash===!0?J(r):Y;r.capture&&(Z=`(${Z})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let A={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=es.removePrefix(t,A),n=t.length;let ne=[],le=[],Ae=[],T=s,L,Ee=()=>A.index===n-1,we=A.peek=(X=1)=>t[A.index+X],qe=A.advance=()=>t[++A.index]||"",re=()=>t.slice(A.index+1),se=(X="",be=0)=>{A.consumed+=X,A.index+=be},Qe=X=>{A.output+=X.output!=null?X.output:X.value,se(X.value)},he=()=>{let X=1;for(;we()==="!"&&(we(2)!=="("||we(3)==="?");)qe(),A.start++,X++;return X%2==0?!1:(A.negated=!0,A.start++,!0)},Fe=X=>{A[X]++,Ae.push(X)},Ue=X=>{A[X]--,Ae.pop()},xe=X=>{if(T.type==="globstar"){let be=A.braces>0&&(X.type==="comma"||X.type==="brace"),ce=X.extglob===!0||ne.length&&(X.type==="pipe"||X.type==="paren");X.type!=="slash"&&X.type!=="paren"&&!be&&!ce&&(A.output=A.output.slice(0,-T.output.length),T.type="star",T.value="*",T.output=Z,A.output+=T.output)}if(ne.length&&X.type!=="paren"&&(ne[ne.length-1].inner+=X.value),(X.value||X.output)&&Qe(X),T&&T.type==="text"&&X.type==="text"){T.value+=X.value,T.output=(T.output||"")+X.value;return}X.prev=T,o.push(X),T=X},ve=(X,be)=>{let ce=te(N({},u[be]),{conditions:1,inner:""});ce.prev=T,ce.parens=A.parens,ce.output=A.output;let fe=(r.capture?"(":"")+ce.open;Fe("parens"),xe({type:X,value:be,output:A.output?"":p}),xe({type:"paren",extglob:!0,value:qe(),output:fe}),ne.push(ce)},pe=X=>{let be=X.close+(r.capture?")":""),ce;if(X.type==="negate"){let fe=Z;X.inner&&X.inner.length>1&&X.inner.includes("/")&&(fe=J(r)),(fe!==Z||Ee()||/^\)+$/.test(re()))&&(be=X.close=`)$))${fe}`),X.inner.includes("*")&&(ce=re())&&/^\.[^\\/.]+$/.test(ce)&&(be=X.close=`)${ce})${fe})`),X.prev.type==="bos"&&(A.negatedExtglob=!0)}xe({type:"paren",extglob:!0,value:L,output:be}),Ue("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let X=!1,be=t.replace(v0e,(ce,fe,gt,Ht,Mt,mi)=>Ht==="\\"?(X=!0,ce):Ht==="?"?fe?fe+Ht+(Mt?x.repeat(Mt.length):""):mi===0?ee+(Mt?x.repeat(Mt.length):""):x.repeat(gt.length):Ht==="."?g.repeat(gt.length):Ht==="*"?fe?fe+Ht+(Mt?Z:""):Z:fe?ce:`\\${ce}`);return X===!0&&(r.unescape===!0?be=be.replace(/\\/g,""):be=be.replace(/\\+/g,ce=>ce.length%2==0?"\\\\":ce?"\\":"")),be===t&&r.contains===!0?(A.output=t,A):(A.output=es.wrapOutput(be,A,e),A)}for(;!Ee();){if(L=qe(),L==="\0")continue;if(L==="\\"){let ce=we();if(ce==="/"&&r.bash!==!0||ce==="."||ce===";")continue;if(!ce){L+="\\",xe({type:"text",value:L});continue}let fe=/^\\+/.exec(re()),gt=0;if(fe&&fe[0].length>2&&(gt=fe[0].length,A.index+=gt,gt%2!=0&&(L+="\\")),r.unescape===!0?L=qe():L+=qe(),A.brackets===0){xe({type:"text",value:L});continue}}if(A.brackets>0&&(L!=="]"||T.value==="["||T.value==="[^")){if(r.posix!==!1&&L===":"){let ce=T.value.slice(1);if(ce.includes("[")&&(T.posix=!0,ce.includes(":"))){let fe=T.value.lastIndexOf("["),gt=T.value.slice(0,fe),Ht=T.value.slice(fe+2),Mt=b0e[Ht];if(Mt){T.value=gt+Mt,A.backtrack=!0,qe(),!s.output&&o.indexOf(T)===1&&(s.output=p);continue}}}(L==="["&&we()!==":"||L==="-"&&we()==="]")&&(L=`\\${L}`),L==="]"&&(T.value==="["||T.value==="[^")&&(L=`\\${L}`),r.posix===!0&&L==="!"&&T.value==="["&&(L="^"),T.value+=L,Qe({value:L});continue}if(A.quotes===1&&L!=='"'){L=es.escapeRegex(L),T.value+=L,Qe({value:L});continue}if(L==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&xe({type:"text",value:L});continue}if(L==="("){Fe("parens"),xe({type:"paren",value:L});continue}if(L===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Sg("opening","("));let ce=ne[ne.length-1];if(ce&&A.parens===ce.parens+1){pe(ne.pop());continue}xe({type:"paren",value:L,output:A.parens?")":"\\)"}),Ue("parens");continue}if(L==="["){if(r.nobracket===!0||!re().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Sg("closing","]"));L=`\\${L}`}else Fe("brackets");xe({type:"bracket",value:L});continue}if(L==="]"){if(r.nobracket===!0||T&&T.type==="bracket"&&T.value.length===1){xe({type:"text",value:L,output:`\\${L}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Sg("opening","["));xe({type:"text",value:L,output:`\\${L}`});continue}Ue("brackets");let ce=T.value.slice(1);if(T.posix!==!0&&ce[0]==="^"&&!ce.includes("/")&&(L=`/${L}`),T.value+=L,Qe({value:L}),r.literalBrackets===!1||es.hasRegexChars(ce))continue;let fe=es.escapeRegex(T.value);if(A.output=A.output.slice(0,-T.value.length),r.literalBrackets===!0){A.output+=fe,T.value=fe;continue}T.value=`(${a}${fe}|${T.value})`,A.output+=T.value;continue}if(L==="{"&&r.nobrace!==!0){Fe("braces");let ce={type:"brace",value:L,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};le.push(ce),xe(ce);continue}if(L==="}"){let ce=le[le.length-1];if(r.nobrace===!0||!ce){xe({type:"text",value:L,output:L});continue}let fe=")";if(ce.dots===!0){let gt=o.slice(),Ht=[];for(let Mt=gt.length-1;Mt>=0&&(o.pop(),gt[Mt].type!=="brace");Mt--)gt[Mt].type!=="dots"&&Ht.unshift(gt[Mt].value);fe=S0e(Ht,r),A.backtrack=!0}if(ce.comma!==!0&&ce.dots!==!0){let gt=A.output.slice(0,ce.outputIndex),Ht=A.tokens.slice(ce.tokensIndex);ce.value=ce.output="\\{",L=fe="\\}",A.output=gt;for(let Mt of Ht)A.output+=Mt.output||Mt.value}xe({type:"brace",value:L,output:fe}),Ue("braces"),le.pop();continue}if(L==="|"){ne.length>0&&ne[ne.length-1].conditions++,xe({type:"text",value:L});continue}if(L===","){let ce=L,fe=le[le.length-1];fe&&Ae[Ae.length-1]==="braces"&&(fe.comma=!0,ce="|"),xe({type:"comma",value:L,output:ce});continue}if(L==="/"){if(T.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),T=s;continue}xe({type:"slash",value:L,output:h});continue}if(L==="."){if(A.braces>0&&T.type==="dot"){T.value==="."&&(T.output=g);let ce=le[le.length-1];T.type="dots",T.output+=L,T.value+=L,ce.dots=!0;continue}if(A.braces+A.parens===0&&T.type!=="bos"&&T.type!=="slash"){xe({type:"text",value:L,output:g});continue}xe({type:"dot",value:L,output:g});continue}if(L==="?"){if(!(T&&T.value==="(")&&r.noextglob!==!0&&we()==="("&&we(2)!=="?"){ve("qmark",L);continue}if(T&&T.type==="paren"){let fe=we(),gt=L;if(fe==="<"&&!es.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(T.value==="("&&!/[!=<:]/.test(fe)||fe==="<"&&!/<([!=]|\w+>)/.test(re()))&&(gt=`\\${L}`),xe({type:"text",value:L,output:gt});continue}if(r.dot!==!0&&(T.type==="slash"||T.type==="bos")){xe({type:"qmark",value:L,output:M});continue}xe({type:"qmark",value:L,output:x});continue}if(L==="!"){if(r.noextglob!==!0&&we()==="("&&(we(2)!=="?"||!/[!=<:]/.test(we(3)))){ve("negate",L);continue}if(r.nonegate!==!0&&A.index===0){he();continue}}if(L==="+"){if(r.noextglob!==!0&&we()==="("&&we(2)!=="?"){ve("plus",L);continue}if(T&&T.value==="("||r.regex===!1){xe({type:"plus",value:L,output:f});continue}if(T&&(T.type==="bracket"||T.type==="paren"||T.type==="brace")||A.parens>0){xe({type:"plus",value:L});continue}xe({type:"plus",value:f});continue}if(L==="@"){if(r.noextglob!==!0&&we()==="("&&we(2)!=="?"){xe({type:"at",extglob:!0,value:L,output:""});continue}xe({type:"text",value:L});continue}if(L!=="*"){(L==="$"||L==="^")&&(L=`\\${L}`);let ce=Q0e.exec(re());ce&&(L+=ce[0],A.index+=ce[0].length),xe({type:"text",value:L});continue}if(T&&(T.type==="globstar"||T.star===!0)){T.type="star",T.star=!0,T.value+=L,T.output=Z,A.backtrack=!0,A.globstar=!0,se(L);continue}let X=re();if(r.noextglob!==!0&&/^\([^?]/.test(X)){ve("star",L);continue}if(T.type==="star"){if(r.noglobstar===!0){se(L);continue}let ce=T.prev,fe=ce.prev,gt=ce.type==="slash"||ce.type==="bos",Ht=fe&&(fe.type==="star"||fe.type==="globstar");if(r.bash===!0&&(!gt||X[0]&&X[0]!=="/")){xe({type:"star",value:L,output:""});continue}let Mt=A.braces>0&&(ce.type==="comma"||ce.type==="brace"),mi=ne.length&&(ce.type==="pipe"||ce.type==="paren");if(!gt&&ce.type!=="paren"&&!Mt&&!mi){xe({type:"star",value:L,output:""});continue}for(;X.slice(0,3)==="/**";){let jt=t[A.index+4];if(jt&&jt!=="/")break;X=X.slice(3),se("/**",3)}if(ce.type==="bos"&&Ee()){T.type="globstar",T.value+=L,T.output=J(r),A.output=T.output,A.globstar=!0,se(L);continue}if(ce.type==="slash"&&ce.prev.type!=="bos"&&!Ht&&Ee()){A.output=A.output.slice(0,-(ce.output+T.output).length),ce.output=`(?:${ce.output}`,T.type="globstar",T.output=J(r)+(r.strictSlashes?")":"|$)"),T.value+=L,A.globstar=!0,A.output+=ce.output+T.output,se(L);continue}if(ce.type==="slash"&&ce.prev.type!=="bos"&&X[0]==="/"){let jt=X[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ce.output+T.output).length),ce.output=`(?:${ce.output}`,T.type="globstar",T.output=`${J(r)}${h}|${h}${jt})`,T.value+=L,A.output+=ce.output+T.output,A.globstar=!0,se(L+qe()),xe({type:"slash",value:"/",output:""});continue}if(ce.type==="bos"&&X[0]==="/"){T.type="globstar",T.value+=L,T.output=`(?:^|${h}|${J(r)}${h})`,A.output=T.output,A.globstar=!0,se(L+qe()),xe({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-T.output.length),T.type="globstar",T.output=J(r),T.value+=L,A.output+=T.output,A.globstar=!0,se(L);continue}let be={type:"star",value:L,output:Z};if(r.bash===!0){be.output=".*?",(T.type==="bos"||T.type==="slash")&&(be.output=W+be.output),xe(be);continue}if(T&&(T.type==="bracket"||T.type==="paren")&&r.regex===!0){be.output=L,xe(be);continue}(A.index===A.start||T.type==="slash"||T.type==="dot")&&(T.type==="dot"?(A.output+=Q,T.output+=Q):r.dot===!0?(A.output+=S,T.output+=S):(A.output+=W,T.output+=W),we()!=="*"&&(A.output+=p,T.output+=p)),xe(be)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Sg("closing","]"));A.output=es.escapeLast(A.output,"["),Ue("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Sg("closing",")"));A.output=es.escapeLast(A.output,"("),Ue("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Sg("closing","}"));A.output=es.escapeLast(A.output,"{"),Ue("braces")}if(r.strictSlashes!==!0&&(T.type==="star"||T.type==="bracket")&&xe({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let X of A.tokens)A.output+=X.output!=null?X.output:X.value,X.suffix&&(A.output+=X.suffix)}return A};eJ.fastpaths=(t,e)=>{let r=N({},e),i=typeof r.maxLength=="number"?Math.min(Dy,r.maxLength):Dy,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=$q[t]||t;let s=es.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=Py.globChars(s),m=r.dot?g:u,y=r.dot?f:u,Q=r.capture?"":"?:",S={negated:!1,prefix:""},x=r.bash===!0?".*?":h;r.capture&&(x=`(${x})`);let M=W=>W.noglobstar===!0?x:`(${Q}(?:(?!${p}${W.dot?c:o}).)*?)`,Y=W=>{switch(W){case"*":return`${m}${l}${x}`;case".*":return`${o}${l}${x}`;case"*.*":return`${m}${x}${o}${l}${x}`;case"*/*":return`${m}${x}${a}${l}${y}${x}`;case"**":return m+M(r);case"**/*":return`(?:${m}${M(r)}${a})?${y}${l}${x}`;case"**/*.*":return`(?:${m}${M(r)}${a})?${y}${x}${o}${l}${x}`;case"**/.*":return`(?:${m}${M(r)}${a})?${o}${l}${x}`;default:{let ee=/^(.*?)\.(\w+)$/.exec(W);if(!ee)return;let Z=Y(ee[1]);return Z?Z+o+ee[2]:void 0}}},U=es.removePrefix(t,S),J=Y(U);return J&&r.strictSlashes!==!0&&(J+=`${a}?`),J};Zq.exports=eJ});var iJ=w((wrt,rJ)=>{"use strict";var k0e=require("path"),x0e=Xq(),FS=tJ(),NS=Xp(),P0e=Vp(),D0e=t=>t&&typeof t=="object"&&!Array.isArray(t),zr=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(f=>zr(f,e,r));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=D0e(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=NS.isWindows(e),o=i?zr.compileRe(t,e):zr.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=te(N({},e),{ignore:null,onMatch:null,onResult:null});l=zr(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=zr.test(u,o,e,{glob:t,posix:s}),m={glob:t,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(m),f===!1?(m.isMatch=!1,g?m:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(m),m.isMatch=!1,g?m:!1):(typeof n.onMatch=="function"&&n.onMatch(m),g?m:!0)};return r&&(c.state=a),c};zr.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(n?NS.toPosixSlashes:null),a=t===i,l=a&&o?o(t):t;return a===!1&&(l=o?o(t):t,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=zr.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};zr.matchBase=(t,e,r,i=NS.isWindows(r))=>(e instanceof RegExp?e:zr.makeRe(e,r)).test(k0e.basename(t));zr.isMatch=(t,e,r)=>zr(e,r)(t);zr.parse=(t,e)=>Array.isArray(t)?t.map(r=>zr.parse(r,e)):FS(t,te(N({},e),{fastpaths:!1}));zr.scan=(t,e)=>x0e(t,e);zr.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let l=zr.toRegex(a,e);return i===!0&&(l.state=t),l};zr.makeRe=(t,e={},r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(n.output=FS.fastpaths(t,e)),n.output||(n=FS(t,e)),zr.compileRe(n,e,r,i)};zr.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};zr.constants=P0e;rJ.exports=zr});var LS=w((Brt,nJ)=>{"use strict";nJ.exports=iJ()});var ts=w((brt,sJ)=>{"use strict";var oJ=require("util"),aJ=Mq(),Yo=LS(),TS=Xp(),AJ=t=>t===""||t==="./",Pr=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),r&&r.onResult&&r.onResult(u)};for(let u=0;u!i.has(u));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Pr.match=Pr;Pr.matcher=(t,e)=>Yo(t,e);Pr.isMatch=(t,e,r)=>Yo(e,r)(t);Pr.any=Pr.isMatch;Pr.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{r.onResult&&r.onResult(a),n.push(a.output)},o=Pr(t,e,te(N({},r),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};Pr.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${oJ.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>Pr.contains(t,i,r));if(typeof e=="string"){if(AJ(t)||AJ(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Pr.isMatch(t,e,te(N({},r),{contains:!0}))};Pr.matchKeys=(t,e,r)=>{if(!TS.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=Pr(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};Pr.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=Yo(String(n),r);if(i.some(o=>s(o)))return!0}return!1};Pr.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=Yo(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};Pr.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${oJ.inspect(t)}"`);return[].concat(e).every(i=>Yo(i,r)(t))};Pr.capture=(t,e,r)=>{let i=TS.isWindows(r),s=Yo.makeRe(String(t),te(N({},r),{capture:!0})).exec(i?TS.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Pr.makeRe=(...t)=>Yo.makeRe(...t);Pr.scan=(...t)=>Yo.scan(...t);Pr.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of aJ(String(i),e))r.push(Yo.parse(n,e));return r};Pr.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:aJ(t,e)};Pr.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Pr.braces(t,te(N({},e),{expand:!0}))};sJ.exports=Pr});var cJ=w((Qrt,lJ)=>{"use strict";lJ.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var gJ=w((vrt,uJ)=>{"use strict";var R0e=cJ();uJ.exports=t=>typeof t=="string"?t.replace(R0e(),""):t});var kJ=w((Yrt,SJ)=>{"use strict";SJ.exports=(...t)=>[...new Set([].concat(...t))]});var XS=w((qrt,xJ)=>{"use strict";var Y0e=require("stream"),PJ=Y0e.PassThrough,q0e=Array.prototype.slice;xJ.exports=J0e;function J0e(){let t=[],e=!1,r=q0e.call(arguments),i=r[r.length-1];i&&!Array.isArray(i)&&i.pipe==null?r.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=PJ(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(Ty,"__esModule",{value:!0});function W0e(t){return t.reduce((e,r)=>[].concat(e,r),[])}Ty.flatten=W0e;function z0e(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}Ty.splitWhen=z0e});var FJ=w(ZS=>{"use strict";Object.defineProperty(ZS,"__esModule",{value:!0});function _0e(t){return t.code==="ENOENT"}ZS.isEnoentCodeError=_0e});var LJ=w($S=>{"use strict";Object.defineProperty($S,"__esModule",{value:!0});var NJ=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function V0e(t,e){return new NJ(t,e)}$S.createDirentFromStats=V0e});var TJ=w(Ng=>{"use strict";Object.defineProperty(Ng,"__esModule",{value:!0});var X0e=require("path"),Z0e=2,$0e=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function ebe(t){return t.replace(/\\/g,"/")}Ng.unixify=ebe;function tbe(t,e){return X0e.resolve(t,e)}Ng.makeAbsolute=tbe;function rbe(t){return t.replace($0e,"\\$2")}Ng.escape=rbe;function ibe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(Z0e)}return t}Ng.removeLeadingDotSegment=ibe});var MJ=w((Vrt,OJ)=>{OJ.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var HJ=w((Xrt,UJ)=>{var nbe=MJ(),KJ={"{":"}","(":")","[":"]"},sbe=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,i=-2,n=-2,s=-2,o=-2;ee&&(o===-1||o>i||(o=t.indexOf("\\",e),o===-1||o>i)))||n!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(n=t.indexOf("}",e),n>e&&(o=t.indexOf("\\",e),o===-1||o>n))||s!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(s=t.indexOf(")",e),s>e&&(o=t.indexOf("\\",e),o===-1||o>s))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(rr&&(o=t.indexOf("\\",r),o===-1||o>s))))return!0;if(t[e]==="\\"){var a=t[e+1];e+=2;var l=KJ[a];if(l){var c=t.indexOf(l,e);c!==-1&&(e=c+1)}if(t[e]==="!")return!0}else e++}return!1},obe=function(t){if(t[0]==="!")return!0;for(var e=0;e{"use strict";var abe=HJ(),Abe=require("path").posix.dirname,lbe=require("os").platform()==="win32",ek="/",cbe=/\\/g,ube=/[\{\[].*[\}\]]$/,gbe=/(^|[^\\])([\{\[]|\([^\)]+$)/,fbe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;jJ.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&lbe&&e.indexOf(ek)<0&&(e=e.replace(cbe,ek)),ube.test(e)&&(e+=ek),e+="a";do e=Abe(e);while(abe(e)||gbe.test(e));return e.replace(fbe,"$1")}});var ZJ=w(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});var hbe=require("path"),pbe=GJ(),YJ=ts(),dbe=LS(),qJ="**",Cbe="\\",mbe=/[*?]|^!/,Ebe=/\[.*]/,Ibe=/(?:^|[^!*+?@])\(.*\|.*\)/,ybe=/[!*+?@]\(.*\)/,wbe=/{.*(?:,|\.\.).*}/;function WJ(t,e={}){return!JJ(t,e)}ni.isStaticPattern=WJ;function JJ(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(Cbe)||mbe.test(t)||Ebe.test(t)||Ibe.test(t)||e.extglob!==!1&&ybe.test(t)||e.braceExpansion!==!1&&wbe.test(t))}ni.isDynamicPattern=JJ;function Bbe(t){return Oy(t)?t.slice(1):t}ni.convertToPositivePattern=Bbe;function bbe(t){return"!"+t}ni.convertToNegativePattern=bbe;function Oy(t){return t.startsWith("!")&&t[1]!=="("}ni.isNegativePattern=Oy;function zJ(t){return!Oy(t)}ni.isPositivePattern=zJ;function Qbe(t){return t.filter(Oy)}ni.getNegativePatterns=Qbe;function vbe(t){return t.filter(zJ)}ni.getPositivePatterns=vbe;function Sbe(t){return pbe(t,{flipBackslashes:!1})}ni.getBaseDirectory=Sbe;function kbe(t){return t.includes(qJ)}ni.hasGlobStar=kbe;function _J(t){return t.endsWith("/"+qJ)}ni.endsWithSlashGlobStar=_J;function xbe(t){let e=hbe.basename(t);return _J(t)||WJ(e)}ni.isAffectDepthOfReadingPattern=xbe;function Pbe(t){return t.reduce((e,r)=>e.concat(VJ(r)),[])}ni.expandPatternsWithBraceExpansion=Pbe;function VJ(t){return YJ.braces(t,{expand:!0,nodupes:!0})}ni.expandBraceExpansion=VJ;function Dbe(t,e){let r=dbe.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}ni.getPatternParts=Dbe;function XJ(t,e){return YJ.makeRe(t,e)}ni.makeRe=XJ;function Rbe(t,e){return t.map(r=>XJ(r,e))}ni.convertPatternsToRe=Rbe;function Fbe(t,e){return e.some(r=>r.test(t))}ni.matchAny=Fbe});var e3=w(tk=>{"use strict";Object.defineProperty(tk,"__esModule",{value:!0});var Nbe=XS();function Lbe(t){let e=Nbe(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>$J(t)),e.once("end",()=>$J(t)),e}tk.merge=Lbe;function $J(t){t.forEach(e=>e.emit("close"))}});var t3=w(My=>{"use strict";Object.defineProperty(My,"__esModule",{value:!0});function Tbe(t){return typeof t=="string"}My.isString=Tbe;function Obe(t){return t===""}My.isEmpty=Obe});var Wa=w(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});var Mbe=RJ();Ja.array=Mbe;var Ube=FJ();Ja.errno=Ube;var Kbe=LJ();Ja.fs=Kbe;var Hbe=TJ();Ja.path=Hbe;var jbe=ZJ();Ja.pattern=jbe;var Gbe=e3();Ja.stream=Gbe;var Ybe=t3();Ja.string=Ybe});var o3=w(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});var Rc=Wa();function qbe(t,e){let r=r3(t),i=i3(t,e.ignore),n=r.filter(l=>Rc.pattern.isStaticPattern(l,e)),s=r.filter(l=>Rc.pattern.isDynamicPattern(l,e)),o=rk(n,i,!1),a=rk(s,i,!0);return o.concat(a)}za.generate=qbe;function rk(t,e,r){let i=n3(t);return"."in i?[ik(".",t,e,r)]:s3(i,e,r)}za.convertPatternsToTasks=rk;function r3(t){return Rc.pattern.getPositivePatterns(t)}za.getPositivePatterns=r3;function i3(t,e){return Rc.pattern.getNegativePatterns(t).concat(e).map(Rc.pattern.convertToPositivePattern)}za.getNegativePatternsAsPositive=i3;function n3(t){let e={};return t.reduce((r,i)=>{let n=Rc.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}za.groupPatternsByBaseDirectory=n3;function s3(t,e,r){return Object.keys(t).map(i=>ik(i,t[i],e,r))}za.convertPatternGroupsToTasks=s3;function ik(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Rc.pattern.convertToNegativePattern))}}za.convertPatternGroupToTask=ik});var A3=w(Uy=>{"use strict";Object.defineProperty(Uy,"__esModule",{value:!0});Uy.read=void 0;function Jbe(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null){a3(r,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){nk(r,n);return}e.fs.stat(t,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){a3(r,s);return}nk(r,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),nk(r,o)})})}Uy.read=Jbe;function a3(t,e){t(e)}function nk(t,e){t(null,e)}});var l3=w(Ky=>{"use strict";Object.defineProperty(Ky,"__esModule",{value:!0});Ky.read=void 0;function Wbe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let i=e.fs.statSync(t);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw i}}Ky.read=Wbe});var c3=w(XA=>{"use strict";Object.defineProperty(XA,"__esModule",{value:!0});XA.createFileSystemAdapter=XA.FILE_SYSTEM_ADAPTER=void 0;var Hy=require("fs");XA.FILE_SYSTEM_ADAPTER={lstat:Hy.lstat,stat:Hy.stat,lstatSync:Hy.lstatSync,statSync:Hy.statSync};function zbe(t){return t===void 0?XA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},XA.FILE_SYSTEM_ADAPTER),t)}XA.createFileSystemAdapter=zbe});var g3=w(sk=>{"use strict";Object.defineProperty(sk,"__esModule",{value:!0});var _be=c3(),u3=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=_be.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e!=null?e:r}};sk.default=u3});var Fc=w(ZA=>{"use strict";Object.defineProperty(ZA,"__esModule",{value:!0});ZA.statSync=ZA.stat=ZA.Settings=void 0;var f3=A3(),Vbe=l3(),ok=g3();ZA.Settings=ok.default;function Xbe(t,e,r){if(typeof e=="function"){f3.read(t,ak(),e);return}f3.read(t,ak(e),r)}ZA.stat=Xbe;function Zbe(t,e){let r=ak(e);return Vbe.read(t,r)}ZA.statSync=Zbe;function ak(t={}){return t instanceof ok.default?t:new ok.default(t)}});var p3=w((lit,h3)=>{h3.exports=$be;function $be(t,e){var r,i,n,s=!0;Array.isArray(t)?(r=[],i=t.length):(n=Object.keys(t),r={},i=n.length);function o(l){function c(){e&&e(l,r),e=null}s?process.nextTick(c):c()}function a(l,c,u){r[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){t[l](function(c,u){a(l,c,u)})}):t.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var Ak=w(jy=>{"use strict";Object.defineProperty(jy,"__esModule",{value:!0});jy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var Gy=process.versions.node.split(".");if(Gy[0]===void 0||Gy[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var d3=Number.parseInt(Gy[0],10),eQe=Number.parseInt(Gy[1],10),C3=10,tQe=10,rQe=d3>C3,iQe=d3===C3&&eQe>=tQe;jy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=rQe||iQe});var E3=w(Yy=>{"use strict";Object.defineProperty(Yy,"__esModule",{value:!0});Yy.createDirentFromStats=void 0;var m3=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function nQe(t,e){return new m3(t,e)}Yy.createDirentFromStats=nQe});var lk=w(qy=>{"use strict";Object.defineProperty(qy,"__esModule",{value:!0});qy.fs=void 0;var sQe=E3();qy.fs=sQe});var ck=w(Jy=>{"use strict";Object.defineProperty(Jy,"__esModule",{value:!0});Jy.joinPathSegments=void 0;function oQe(t,e,r){return t.endsWith(r)?t+e:t+r+e}Jy.joinPathSegments=oQe});var Q3=w($A=>{"use strict";Object.defineProperty($A,"__esModule",{value:!0});$A.readdir=$A.readdirWithFileTypes=$A.read=void 0;var aQe=Fc(),I3=p3(),AQe=Ak(),y3=lk(),w3=ck();function lQe(t,e,r){if(!e.stats&&AQe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){B3(t,e,r);return}b3(t,e,r)}$A.read=lQe;function B3(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null){Wy(r,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:w3.joinPathSegments(t,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){uk(r,s);return}let o=s.map(a=>cQe(a,e));I3(o,(a,l)=>{if(a!==null){Wy(r,a);return}uk(r,l)})})}$A.readdirWithFileTypes=B3;function cQe(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){r(i);return}r(null,t);return}t.dirent=y3.fs.createDirentFromStats(t.name,n),r(null,t)})}}function b3(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null){Wy(r,i);return}let s=n.map(o=>{let a=w3.joinPathSegments(t,o,e.pathSegmentSeparator);return l=>{aQe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:y3.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});I3(s,(o,a)=>{if(o!==null){Wy(r,o);return}uk(r,a)})})}$A.readdir=b3;function Wy(t,e){t(e)}function uk(t,e){t(null,e)}});var P3=w(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.readdir=el.readdirWithFileTypes=el.read=void 0;var uQe=Fc(),gQe=Ak(),v3=lk(),S3=ck();function fQe(t,e){return!e.stats&&gQe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?k3(t,e):x3(t,e)}el.read=fQe;function k3(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:S3.joinPathSegments(t,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=v3.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}el.readdirWithFileTypes=k3;function x3(t,e){return e.fs.readdirSync(t).map(i=>{let n=S3.joinPathSegments(t,i,e.pathSegmentSeparator),s=uQe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:v3.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}el.readdir=x3});var D3=w(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});tl.createFileSystemAdapter=tl.FILE_SYSTEM_ADAPTER=void 0;var Lg=require("fs");tl.FILE_SYSTEM_ADAPTER={lstat:Lg.lstat,stat:Lg.stat,lstatSync:Lg.lstatSync,statSync:Lg.statSync,readdir:Lg.readdir,readdirSync:Lg.readdirSync};function hQe(t){return t===void 0?tl.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},tl.FILE_SYSTEM_ADAPTER),t)}tl.createFileSystemAdapter=hQe});var F3=w(gk=>{"use strict";Object.defineProperty(gk,"__esModule",{value:!0});var pQe=require("path"),dQe=Fc(),CQe=D3(),R3=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=CQe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,pQe.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new dQe.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};gk.default=R3});var zy=w(rl=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});rl.Settings=rl.scandirSync=rl.scandir=void 0;var N3=Q3(),mQe=P3(),fk=F3();rl.Settings=fk.default;function EQe(t,e,r){if(typeof e=="function"){N3.read(t,hk(),e);return}N3.read(t,hk(e),r)}rl.scandir=EQe;function IQe(t,e){let r=hk(e);return mQe.read(t,r)}rl.scandirSync=IQe;function hk(t={}){return t instanceof fk.default?t:new fk.default(t)}});var T3=w((Eit,L3)=>{"use strict";function yQe(t){var e=new t,r=e;function i(){var s=e;return s.next?e=s.next:(e=new t,r=e),s.next=null,s}function n(s){r.next=s,r=s}return{get:i,release:n}}L3.exports=yQe});var M3=w((Iit,pk)=>{"use strict";var wQe=T3();function O3(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var i=wQe(BQe),n=null,s=null,o=0,a=null,l={push:m,drain:Wo,saturated:Wo,pause:u,paused:!1,concurrency:r,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:Wo,kill:S,killAndDrain:x,error:M};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var Y=n,U=0;Y;)Y=Y.next,U++;return U}function f(){for(var Y=n,U=[];Y;)U.push(Y.value),Y=Y.next;return U}function h(){if(!!l.paused){l.paused=!1;for(var Y=0;Y{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.joinPathSegments=zo.replacePathSegmentSeparator=zo.isAppliedFilter=zo.isFatalError=void 0;function QQe(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}zo.isFatalError=QQe;function vQe(t,e){return t===null||t(e)}zo.isAppliedFilter=vQe;function SQe(t,e){return t.split(/[/\\]/).join(e)}zo.replacePathSegmentSeparator=SQe;function kQe(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}zo.joinPathSegments=kQe});var Ck=w(dk=>{"use strict";Object.defineProperty(dk,"__esModule",{value:!0});var xQe=_y(),U3=class{constructor(e,r){this._root=e,this._settings=r,this._root=xQe.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};dk.default=U3});var Ek=w(mk=>{"use strict";Object.defineProperty(mk,"__esModule",{value:!0});var PQe=require("events"),DQe=zy(),RQe=M3(),Vy=_y(),FQe=Ck(),K3=class extends FQe.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=DQe.scandir,this._emitter=new PQe.EventEmitter,this._queue=RQe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let i={directory:e,base:r};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){r(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!Vy.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let i=e.path;r!==void 0&&(e.path=Vy.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Vy.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&Vy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};mk.default=K3});var j3=w(Ik=>{"use strict";Object.defineProperty(Ik,"__esModule",{value:!0});var NQe=Ek(),H3=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new NQe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{LQe(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{TQe(e,[...this._storage])}),this._reader.read()}};Ik.default=H3;function LQe(t,e){t(e)}function TQe(t,e){t(null,e)}});var Y3=w(yk=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});var OQe=require("stream"),MQe=Ek(),G3=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new MQe.default(this._root,this._settings),this._stream=new OQe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};yk.default=G3});var J3=w(wk=>{"use strict";Object.defineProperty(wk,"__esModule",{value:!0});var UQe=zy(),Xy=_y(),KQe=Ck(),q3=class extends KQe.default{constructor(){super(...arguments);this._scandir=UQe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,r)}catch(i){this._handleError(i)}}_handleError(e){if(!!Xy.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=Xy.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Xy.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&Xy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};wk.default=q3});var z3=w(Bk=>{"use strict";Object.defineProperty(Bk,"__esModule",{value:!0});var HQe=J3(),W3=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new HQe.default(this._root,this._settings)}read(){return this._reader.read()}};Bk.default=W3});var V3=w(bk=>{"use strict";Object.defineProperty(bk,"__esModule",{value:!0});var jQe=require("path"),GQe=zy(),_3=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,jQe.sep),this.fsScandirSettings=new GQe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};bk.default=_3});var vk=w(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.Settings=_o.walkStream=_o.walkSync=_o.walk=void 0;var X3=j3(),YQe=Y3(),qQe=z3(),Qk=V3();_o.Settings=Qk.default;function JQe(t,e,r){if(typeof e=="function"){new X3.default(t,Zy()).read(e);return}new X3.default(t,Zy(e)).read(r)}_o.walk=JQe;function WQe(t,e){let r=Zy(e);return new qQe.default(t,r).read()}_o.walkSync=WQe;function zQe(t,e){let r=Zy(e);return new YQe.default(t,r).read()}_o.walkStream=zQe;function Zy(t={}){return t instanceof Qk.default?t:new Qk.default(t)}});var kk=w(Sk=>{"use strict";Object.defineProperty(Sk,"__esModule",{value:!0});var _Qe=require("path"),VQe=Fc(),Z3=Wa(),$3=class{constructor(e){this._settings=e,this._fsStatSettings=new VQe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return _Qe.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:Z3.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!Z3.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};Sk.default=$3});var Pk=w(xk=>{"use strict";Object.defineProperty(xk,"__esModule",{value:!0});var XQe=require("stream"),ZQe=Fc(),$Qe=vk(),eve=kk(),eW=class extends eve.default{constructor(){super(...arguments);this._walkStream=$Qe.walkStream,this._stat=ZQe.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new XQe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],r).then(l=>{l!==null&&r.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,r)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((r,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?r(s):i(n))})}};xk.default=eW});var rW=w(Dk=>{"use strict";Object.defineProperty(Dk,"__esModule",{value:!0});var Tg=Wa(),tW=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Tg.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let i=this._getPatternSegments(r),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:r,segments:i,sections:n})}}_getPatternSegments(e){return Tg.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Tg.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Tg.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Tg.array.splitWhen(e,r=>r.dynamic&&Tg.pattern.hasGlobStar(r.pattern))}};Dk.default=tW});var nW=w(Rk=>{"use strict";Object.defineProperty(Rk,"__esModule",{value:!0});var tve=rW(),iW=class extends tve.default{match(e){let r=e.split("/"),i=r.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||r.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};Rk.default=iW});var oW=w(Fk=>{"use strict";Object.defineProperty(Fk,"__esModule",{value:!0});var $y=Wa(),rve=nW(),sW=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,i){let n=this._getMatcher(r),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new rve.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter($y.pattern.isAffectDepthOfReadingPattern);return $y.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,i,n){let s=this._getEntryLevel(e,r.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(r))return!1;let o=$y.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,r){let i=e.split("/").length;return r.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!$y.pattern.matchAny(e,r)}};Fk.default=sW});var AW=w(Nk=>{"use strict";Object.defineProperty(Nk,"__esModule",{value:!0});var sd=Wa(),aW=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=sd.pattern.convertPatternsToRe(e,this._micromatchOptions),n=sd.pattern.convertPatternsToRe(r,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,r,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,r)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let i=sd.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=sd.path.removeLeadingDotSegment(e);return sd.pattern.matchAny(i,r)}};Nk.default=aW});var cW=w(Lk=>{"use strict";Object.defineProperty(Lk,"__esModule",{value:!0});var ive=Wa(),lW=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return ive.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};Lk.default=lW});var fW=w(Tk=>{"use strict";Object.defineProperty(Tk,"__esModule",{value:!0});var uW=Wa(),gW=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=uW.path.makeAbsolute(this._settings.cwd,r),r=uW.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};Tk.default=gW});var ew=w(Ok=>{"use strict";Object.defineProperty(Ok,"__esModule",{value:!0});var nve=require("path"),sve=oW(),ove=AW(),ave=cW(),Ave=fW(),hW=class{constructor(e){this._settings=e,this.errorFilter=new ave.default(this._settings),this.entryFilter=new ove.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new sve.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new Ave.default(this._settings)}_getRootDirectory(e){return nve.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};Ok.default=hW});var dW=w(Mk=>{"use strict";Object.defineProperty(Mk,"__esModule",{value:!0});var lve=Pk(),cve=ew(),pW=class extends cve.default{constructor(){super(...arguments);this._reader=new lve.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(r,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};Mk.default=pW});var mW=w(Uk=>{"use strict";Object.defineProperty(Uk,"__esModule",{value:!0});var uve=require("stream"),gve=Pk(),fve=ew(),CW=class extends fve.default{constructor(){super(...arguments);this._reader=new gve.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new uve.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};Uk.default=CW});var IW=w(Kk=>{"use strict";Object.defineProperty(Kk,"__esModule",{value:!0});var hve=Fc(),pve=vk(),dve=kk(),EW=class extends dve.default{constructor(){super(...arguments);this._walkSync=pve.walkSync,this._statSync=hve.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,r);o===null||!r.entryFilter(o)||i.push(o)}return i}_getEntry(e,r,i){try{let n=this._getStat(e);return this._makeEntry(n,r)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};Kk.default=EW});var wW=w(Hk=>{"use strict";Object.defineProperty(Hk,"__esModule",{value:!0});var Cve=IW(),mve=ew(),yW=class extends mve.default{constructor(){super(...arguments);this._reader=new Cve.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(r,e,i).map(i.transform)}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};Hk.default=yW});var bW=w(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});var Og=require("fs"),Eve=require("os"),Ive=Eve.cpus().length;od.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Og.lstat,lstatSync:Og.lstatSync,stat:Og.stat,statSync:Og.statSync,readdir:Og.readdir,readdirSync:Og.readdirSync};var BW=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,Ive),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},od.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};od.default=BW});var tw=w((Yit,QW)=>{"use strict";var vW=o3(),yve=dW(),wve=mW(),Bve=wW(),jk=bW(),Nc=Wa();async function Yk(t,e){Mg(t);let r=Gk(t,yve.default,e),i=await Promise.all(r);return Nc.array.flatten(i)}(function(t){function e(o,a){Mg(o);let l=Gk(o,Bve.default,a);return Nc.array.flatten(l)}t.sync=e;function r(o,a){Mg(o);let l=Gk(o,wve.default,a);return Nc.stream.merge(l)}t.stream=r;function i(o,a){Mg(o);let l=[].concat(o),c=new jk.default(a);return vW.generate(l,c)}t.generateTasks=i;function n(o,a){Mg(o);let l=new jk.default(a);return Nc.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return Mg(o),Nc.path.escape(o)}t.escapePath=s})(Yk||(Yk={}));function Gk(t,e,r){let i=[].concat(t),n=new jk.default(r),s=vW.generate(i,n),o=new e(n);return s.map(o.read,o)}function Mg(t){if(![].concat(t).every(i=>Nc.string.isString(i)&&!Nc.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}QW.exports=Yk});var kW=w(Lc=>{"use strict";var{promisify:bve}=require("util"),SW=require("fs");async function qk(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await bve(SW[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function Jk(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return SW[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}Lc.isFile=qk.bind(null,"stat","isFile");Lc.isDirectory=qk.bind(null,"stat","isDirectory");Lc.isSymlink=qk.bind(null,"lstat","isSymbolicLink");Lc.isFileSync=Jk.bind(null,"statSync","isFile");Lc.isDirectorySync=Jk.bind(null,"statSync","isDirectory");Lc.isSymlinkSync=Jk.bind(null,"lstatSync","isSymbolicLink")});var FW=w((Jit,Wk)=>{"use strict";var Tc=require("path"),xW=kW(),PW=t=>t.length>1?`{${t.join(",")}}`:t[0],DW=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return Tc.isAbsolute(r)?r:Tc.join(e,r)},Qve=(t,e)=>Tc.extname(t)?`**/${t}`:`**/${t}.${PW(e)}`,RW=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>Tc.posix.join(t,Qve(r,e.extensions))):e.files?e.files.map(r=>Tc.posix.join(t,`**/${r}`)):e.extensions?[Tc.posix.join(t,`**/*.${PW(e.extensions)}`)]:[Tc.posix.join(t,"**")]};Wk.exports=async(t,e)=>{if(e=N({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async i=>await xW.isDirectory(DW(i,e.cwd))?RW(i,e):i));return[].concat.apply([],r)};Wk.exports.sync=(t,e)=>{if(e=N({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(i=>xW.isDirectorySync(DW(i,e.cwd))?RW(i,e):i);return[].concat.apply([],r)}});var GW=w((Wit,NW)=>{function LW(t){return Array.isArray(t)?t:[t]}var TW="",OW=" ",zk="\\",vve=/^\s+$/,Sve=/^\\!/,kve=/^\\#/,xve=/\r?\n/g,Pve=/^\.*\/|^\.+$/,_k="/",MW=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",Dve=(t,e,r)=>Object.defineProperty(t,e,{value:r}),Rve=/([0-z])-([0-z])/g,Fve=t=>t.replace(Rve,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:TW),Nve=t=>{let{length:e}=t;return t.slice(0,e-e%2)},Lve=[[/\\?\s+$/,t=>t.indexOf("\\")===0?OW:TW],[/\\\s/g,()=>OW],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>zk],[/\\\\/g,()=>zk],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,r,i,n)=>e===zk?`\\[${r}${Nve(i)}${n}`:n==="]"&&i.length%2==0?`[${Fve(r)}${i}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],UW=Object.create(null),Tve=(t,e)=>{let r=UW[t];return r||(r=Lve.reduce((i,n)=>i.replace(n[0],n[1].bind(t)),t),UW[t]=r),e?new RegExp(r,"i"):new RegExp(r)},Vk=t=>typeof t=="string",Ove=t=>t&&Vk(t)&&!vve.test(t)&&t.indexOf("#")!==0,Mve=t=>t.split(xve),KW=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},Uve=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(Sve,"!").replace(kve,"#");let n=Tve(t,e);return new KW(r,t,i,n)},Kve=(t,e)=>{throw new e(t)},_a=(t,e,r)=>Vk(t)?t?_a.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),HW=t=>Pve.test(t);_a.isNotRelative=HW;_a.convert=t=>t;var jW=class{constructor({ignorecase:e=!0}={}){Dve(this,MW,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[MW]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(Ove(e)){let r=Uve(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,LW(Vk(e)?Mve(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&_a.convert(e);return _a(s,e,Kve),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(_k)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(_k)+_k,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return LW(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},rw=t=>new jW(t),Hve=()=>!1,jve=t=>_a(t&&_a.convert(t),t,Hve);rw.isPathValid=jve;rw.default=rw;NW.exports=rw;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");_a.convert=t;let e=/^[a-z]:\//i;_a.isNotRelative=r=>e.test(r)||HW(r)}});var qW=w((zit,YW)=>{"use strict";YW.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var ZW=w((_it,Xk)=>{"use strict";var{promisify:Gve}=require("util"),JW=require("fs"),Va=require("path"),WW=tw(),Yve=GW(),ad=qW(),zW=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],qve=Gve(JW.readFile),Jve=t=>e=>e.startsWith("!")?"!"+Va.posix.join(t,e.slice(1)):Va.posix.join(t,e),Wve=(t,e)=>{let r=ad(Va.relative(e.cwd,Va.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(Jve(r))},_W=t=>{let e=Yve();for(let r of t)e.add(Wve(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},zve=(t,e)=>{if(t=ad(t),Va.isAbsolute(e)){if(ad(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return Va.join(t,e)},VW=(t,e)=>r=>t.ignores(ad(Va.relative(e,zve(e,r.path||r)))),_ve=async(t,e)=>{let r=Va.join(e,t),i=await qve(r,"utf8");return{cwd:e,filePath:r,content:i}},Vve=(t,e)=>{let r=Va.join(e,t),i=JW.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},XW=({ignore:t=[],cwd:e=ad(process.cwd())}={})=>({ignore:t,cwd:e});Xk.exports=async t=>{t=XW(t);let e=await WW("**/.gitignore",{ignore:zW.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>_ve(n,t.cwd))),i=_W(r);return VW(i,t.cwd)};Xk.exports.sync=t=>{t=XW(t);let r=WW.sync("**/.gitignore",{ignore:zW.concat(t.ignore),cwd:t.cwd}).map(n=>Vve(n,t.cwd)),i=_W(r);return VW(i,t.cwd)}});var r8=w((Vit,$W)=>{"use strict";var{Transform:Xve}=require("stream"),Zk=class extends Xve{constructor(){super({objectMode:!0})}},e8=class extends Zk{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},t8=class extends Zk{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};$W.exports={FilterStream:e8,UniqueStream:t8}});var rx=w((Xit,Oc)=>{"use strict";var i8=require("fs"),iw=kJ(),Zve=XS(),nw=tw(),sw=FW(),$k=ZW(),{FilterStream:$ve,UniqueStream:eSe}=r8(),n8=()=>!1,s8=t=>t[0]==="!",tSe=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},rSe=(t={})=>{if(!t.cwd)return;let e;try{e=i8.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},iSe=t=>t.stats instanceof i8.Stats?t.path:t,ow=(t,e)=>{t=iw([].concat(t)),tSe(t),rSe(e);let r=[];e=N({ignore:[],expandDirectories:!0},e);for(let[i,n]of t.entries()){if(s8(n))continue;let s=t.slice(i).filter(a=>s8(a)).map(a=>a.slice(1)),o=te(N({},e),{ignore:e.ignore.concat(s)});r.push({pattern:n,options:o})}return r},nSe=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r=te(N({},r),{files:t.options.expandDirectories}):typeof t.options.expandDirectories=="object"&&(r=N(N({},r),t.options.expandDirectories)),e(t.pattern,r)},ex=(t,e)=>t.options.expandDirectories?nSe(t,e):[t.pattern],o8=t=>t&&t.gitignore?$k.sync({cwd:t.cwd,ignore:t.ignore}):n8,tx=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=sw.sync(r.ignore)),{pattern:e,options:r}};Oc.exports=async(t,e)=>{let r=ow(t,e),i=async()=>e&&e.gitignore?$k({cwd:e.cwd,ignore:e.ignore}):n8,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await ex(c,sw);return Promise.all(u.map(tx(c)))}));return iw(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>nw(l.pattern,l.options)));return iw(...a).filter(l=>!s(iSe(l)))};Oc.exports.sync=(t,e)=>{let r=ow(t,e),i=[];for(let o of r){let a=ex(o,sw.sync).map(tx(o));i.push(...a)}let n=o8(e),s=[];for(let o of i)s=iw(s,nw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Oc.exports.stream=(t,e)=>{let r=ow(t,e),i=[];for(let a of r){let l=ex(a,sw.sync).map(tx(a));i.push(...l)}let n=o8(e),s=new $ve(a=>!n(a)),o=new eSe;return Zve(i.map(a=>nw.stream(a.pattern,a.options))).pipe(s).pipe(o)};Oc.exports.generateGlobTasks=ow;Oc.exports.hasMagic=(t,e)=>[].concat(t).some(r=>nw.isDynamicPattern(r,e));Oc.exports.gitignore=$k});var Rn=w((bnt,y8)=>{function CSe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}y8.exports=CSe});var ux=w((Qnt,w8)=>{var mSe=typeof global=="object"&&global&&global.Object===Object&&global;w8.exports=mSe});var Rs=w((vnt,B8)=>{var ESe=ux(),ISe=typeof self=="object"&&self&&self.Object===Object&&self,ySe=ESe||ISe||Function("return this")();B8.exports=ySe});var Q8=w((Snt,b8)=>{var wSe=Rs(),BSe=function(){return wSe.Date.now()};b8.exports=BSe});var S8=w((knt,v8)=>{var bSe=/\s/;function QSe(t){for(var e=t.length;e--&&bSe.test(t.charAt(e)););return e}v8.exports=QSe});var x8=w((xnt,k8)=>{var vSe=S8(),SSe=/^\s+/;function kSe(t){return t&&t.slice(0,vSe(t)+1).replace(SSe,"")}k8.exports=kSe});var Kc=w((Pnt,P8)=>{var xSe=Rs(),PSe=xSe.Symbol;P8.exports=PSe});var N8=w((Dnt,D8)=>{var R8=Kc(),F8=Object.prototype,DSe=F8.hasOwnProperty,RSe=F8.toString,Ed=R8?R8.toStringTag:void 0;function FSe(t){var e=DSe.call(t,Ed),r=t[Ed];try{t[Ed]=void 0;var i=!0}catch(s){}var n=RSe.call(t);return i&&(e?t[Ed]=r:delete t[Ed]),n}D8.exports=FSe});var T8=w((Rnt,L8)=>{var NSe=Object.prototype,LSe=NSe.toString;function TSe(t){return LSe.call(t)}L8.exports=TSe});var Hc=w((Fnt,O8)=>{var M8=Kc(),OSe=N8(),MSe=T8(),USe="[object Null]",KSe="[object Undefined]",U8=M8?M8.toStringTag:void 0;function HSe(t){return t==null?t===void 0?KSe:USe:U8&&U8 in Object(t)?OSe(t):MSe(t)}O8.exports=HSe});var Zo=w((Nnt,K8)=>{function jSe(t){return t!=null&&typeof t=="object"}K8.exports=jSe});var Id=w((Lnt,H8)=>{var GSe=Hc(),YSe=Zo(),qSe="[object Symbol]";function JSe(t){return typeof t=="symbol"||YSe(t)&&GSe(t)==qSe}H8.exports=JSe});var q8=w((Tnt,j8)=>{var WSe=x8(),G8=Rn(),zSe=Id(),Y8=0/0,_Se=/^[-+]0x[0-9a-f]+$/i,VSe=/^0b[01]+$/i,XSe=/^0o[0-7]+$/i,ZSe=parseInt;function $Se(t){if(typeof t=="number")return t;if(zSe(t))return Y8;if(G8(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=G8(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=WSe(t);var r=VSe.test(t);return r||XSe.test(t)?ZSe(t.slice(2),r?2:8):_Se.test(t)?Y8:+t}j8.exports=$Se});var z8=w((Ont,J8)=>{var eke=Rn(),gx=Q8(),W8=q8(),tke="Expected a function",rke=Math.max,ike=Math.min;function nke(t,e,r){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof t!="function")throw new TypeError(tke);e=W8(e)||0,eke(r)&&(u=!!r.leading,g="maxWait"in r,s=g?rke(W8(r.maxWait)||0,e):s,f="trailing"in r?!!r.trailing:f);function h(U){var J=i,W=n;return i=n=void 0,c=U,o=t.apply(W,J),o}function p(U){return c=U,a=setTimeout(Q,e),u?h(U):o}function m(U){var J=U-l,W=U-c,ee=e-J;return g?ike(ee,s-W):ee}function y(U){var J=U-l,W=U-c;return l===void 0||J>=e||J<0||g&&W>=s}function Q(){var U=gx();if(y(U))return S(U);a=setTimeout(Q,m(U))}function S(U){return a=void 0,f&&i?h(U):(i=n=void 0,o)}function x(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function M(){return a===void 0?o:S(gx())}function Y(){var U=gx(),J=y(U);if(i=arguments,n=this,l=U,J){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(Q,e),h(l)}return a===void 0&&(a=setTimeout(Q,e)),o}return Y.cancel=x,Y.flush=M,Y}J8.exports=nke});var V8=w((Mnt,_8)=>{var ske=z8(),oke=Rn(),ake="Expected a function";function Ake(t,e,r){var i=!0,n=!0;if(typeof t!="function")throw new TypeError(ake);return oke(r)&&(i="leading"in r?!!r.leading:i,n="trailing"in r?!!r.trailing:n),ske(t,e,{leading:i,maxWait:e,trailing:n})}_8.exports=Ake});var $a=w((Za,vw)=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});var nz=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function yke(t){return nz.includes(t)}var wke=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...nz];function Bke(t){return wke.includes(t)}var bke=["null","undefined","string","number","bigint","boolean","symbol"];function Qke(t){return bke.includes(t)}function Jg(t){return e=>typeof e===t}var{toString:sz}=Object.prototype,Sd=t=>{let e=sz.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&_.domElement(t))return"HTMLElement";if(Bke(e))return e},hr=t=>e=>Sd(e)===t;function _(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(_.observable(t))return"Observable";if(_.array(t))return"Array";if(_.buffer(t))return"Buffer";let e=Sd(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}_.undefined=Jg("undefined");_.string=Jg("string");var vke=Jg("number");_.number=t=>vke(t)&&!_.nan(t);_.bigint=Jg("bigint");_.function_=Jg("function");_.null_=t=>t===null;_.class_=t=>_.function_(t)&&t.toString().startsWith("class ");_.boolean=t=>t===!0||t===!1;_.symbol=Jg("symbol");_.numericString=t=>_.string(t)&&!_.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));_.array=(t,e)=>Array.isArray(t)?_.function_(e)?t.every(e):!0:!1;_.buffer=t=>{var e,r,i,n;return(n=(i=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||i===void 0?void 0:i.call(r,t))!==null&&n!==void 0?n:!1};_.nullOrUndefined=t=>_.null_(t)||_.undefined(t);_.object=t=>!_.null_(t)&&(typeof t=="object"||_.function_(t));_.iterable=t=>{var e;return _.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};_.asyncIterable=t=>{var e;return _.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};_.generator=t=>_.iterable(t)&&_.function_(t.next)&&_.function_(t.throw);_.asyncGenerator=t=>_.asyncIterable(t)&&_.function_(t.next)&&_.function_(t.throw);_.nativePromise=t=>hr("Promise")(t);var Ske=t=>{var e,r;return _.function_((e=t)===null||e===void 0?void 0:e.then)&&_.function_((r=t)===null||r===void 0?void 0:r.catch)};_.promise=t=>_.nativePromise(t)||Ske(t);_.generatorFunction=hr("GeneratorFunction");_.asyncGeneratorFunction=t=>Sd(t)==="AsyncGeneratorFunction";_.asyncFunction=t=>Sd(t)==="AsyncFunction";_.boundFunction=t=>_.function_(t)&&!t.hasOwnProperty("prototype");_.regExp=hr("RegExp");_.date=hr("Date");_.error=hr("Error");_.map=t=>hr("Map")(t);_.set=t=>hr("Set")(t);_.weakMap=t=>hr("WeakMap")(t);_.weakSet=t=>hr("WeakSet")(t);_.int8Array=hr("Int8Array");_.uint8Array=hr("Uint8Array");_.uint8ClampedArray=hr("Uint8ClampedArray");_.int16Array=hr("Int16Array");_.uint16Array=hr("Uint16Array");_.int32Array=hr("Int32Array");_.uint32Array=hr("Uint32Array");_.float32Array=hr("Float32Array");_.float64Array=hr("Float64Array");_.bigInt64Array=hr("BigInt64Array");_.bigUint64Array=hr("BigUint64Array");_.arrayBuffer=hr("ArrayBuffer");_.sharedArrayBuffer=hr("SharedArrayBuffer");_.dataView=hr("DataView");_.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;_.urlInstance=t=>hr("URL")(t);_.urlString=t=>{if(!_.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};_.truthy=t=>Boolean(t);_.falsy=t=>!t;_.nan=t=>Number.isNaN(t);_.primitive=t=>_.null_(t)||Qke(typeof t);_.integer=t=>Number.isInteger(t);_.safeInteger=t=>Number.isSafeInteger(t);_.plainObject=t=>{if(sz.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};_.typedArray=t=>yke(Sd(t));var kke=t=>_.safeInteger(t)&&t>=0;_.arrayLike=t=>!_.nullOrUndefined(t)&&!_.function_(t)&&kke(t.length);_.inRange=(t,e)=>{if(_.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(_.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var xke=1,Pke=["innerHTML","ownerDocument","style","attributes","nodeValue"];_.domElement=t=>_.object(t)&&t.nodeType===xke&&_.string(t.nodeName)&&!_.plainObject(t)&&Pke.every(e=>e in t);_.observable=t=>{var e,r,i,n;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((n=(i=t)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};_.nodeStream=t=>_.object(t)&&_.function_(t.pipe)&&!_.observable(t);_.infinite=t=>t===Infinity||t===-Infinity;var oz=t=>e=>_.integer(e)&&Math.abs(e%2)===t;_.evenInteger=oz(0);_.oddInteger=oz(1);_.emptyArray=t=>_.array(t)&&t.length===0;_.nonEmptyArray=t=>_.array(t)&&t.length>0;_.emptyString=t=>_.string(t)&&t.length===0;_.nonEmptyString=t=>_.string(t)&&t.length>0;var Dke=t=>_.string(t)&&!/\S/.test(t);_.emptyStringOrWhitespace=t=>_.emptyString(t)||Dke(t);_.emptyObject=t=>_.object(t)&&!_.map(t)&&!_.set(t)&&Object.keys(t).length===0;_.nonEmptyObject=t=>_.object(t)&&!_.map(t)&&!_.set(t)&&Object.keys(t).length>0;_.emptySet=t=>_.set(t)&&t.size===0;_.nonEmptySet=t=>_.set(t)&&t.size>0;_.emptyMap=t=>_.map(t)&&t.size===0;_.nonEmptyMap=t=>_.map(t)&&t.size>0;_.propertyKey=t=>_.any([_.string,_.number,_.symbol],t);_.formData=t=>hr("FormData")(t);_.urlSearchParams=t=>hr("URLSearchParams")(t);var az=(t,e,r)=>{if(!_.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};_.any=(t,...e)=>(_.array(t)?t:[t]).some(i=>az(Array.prototype.some,i,e));_.all=(t,...e)=>az(Array.prototype.every,t,e);var We=(t,e,r,i={})=>{if(!t){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(r.map(o=>`\`${_(o)}\``))].join(", ")}`:`received value of type \`${_(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};Za.assert={undefined:t=>We(_.undefined(t),"undefined",t),string:t=>We(_.string(t),"string",t),number:t=>We(_.number(t),"number",t),bigint:t=>We(_.bigint(t),"bigint",t),function_:t=>We(_.function_(t),"Function",t),null_:t=>We(_.null_(t),"null",t),class_:t=>We(_.class_(t),"Class",t),boolean:t=>We(_.boolean(t),"boolean",t),symbol:t=>We(_.symbol(t),"symbol",t),numericString:t=>We(_.numericString(t),"string with a number",t),array:(t,e)=>{We(_.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>We(_.buffer(t),"Buffer",t),nullOrUndefined:t=>We(_.nullOrUndefined(t),"null or undefined",t),object:t=>We(_.object(t),"Object",t),iterable:t=>We(_.iterable(t),"Iterable",t),asyncIterable:t=>We(_.asyncIterable(t),"AsyncIterable",t),generator:t=>We(_.generator(t),"Generator",t),asyncGenerator:t=>We(_.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>We(_.nativePromise(t),"native Promise",t),promise:t=>We(_.promise(t),"Promise",t),generatorFunction:t=>We(_.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>We(_.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>We(_.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>We(_.boundFunction(t),"Function",t),regExp:t=>We(_.regExp(t),"RegExp",t),date:t=>We(_.date(t),"Date",t),error:t=>We(_.error(t),"Error",t),map:t=>We(_.map(t),"Map",t),set:t=>We(_.set(t),"Set",t),weakMap:t=>We(_.weakMap(t),"WeakMap",t),weakSet:t=>We(_.weakSet(t),"WeakSet",t),int8Array:t=>We(_.int8Array(t),"Int8Array",t),uint8Array:t=>We(_.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>We(_.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>We(_.int16Array(t),"Int16Array",t),uint16Array:t=>We(_.uint16Array(t),"Uint16Array",t),int32Array:t=>We(_.int32Array(t),"Int32Array",t),uint32Array:t=>We(_.uint32Array(t),"Uint32Array",t),float32Array:t=>We(_.float32Array(t),"Float32Array",t),float64Array:t=>We(_.float64Array(t),"Float64Array",t),bigInt64Array:t=>We(_.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>We(_.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>We(_.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>We(_.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>We(_.dataView(t),"DataView",t),urlInstance:t=>We(_.urlInstance(t),"URL",t),urlString:t=>We(_.urlString(t),"string with a URL",t),truthy:t=>We(_.truthy(t),"truthy",t),falsy:t=>We(_.falsy(t),"falsy",t),nan:t=>We(_.nan(t),"NaN",t),primitive:t=>We(_.primitive(t),"primitive",t),integer:t=>We(_.integer(t),"integer",t),safeInteger:t=>We(_.safeInteger(t),"integer",t),plainObject:t=>We(_.plainObject(t),"plain object",t),typedArray:t=>We(_.typedArray(t),"TypedArray",t),arrayLike:t=>We(_.arrayLike(t),"array-like",t),domElement:t=>We(_.domElement(t),"HTMLElement",t),observable:t=>We(_.observable(t),"Observable",t),nodeStream:t=>We(_.nodeStream(t),"Node.js Stream",t),infinite:t=>We(_.infinite(t),"infinite number",t),emptyArray:t=>We(_.emptyArray(t),"empty array",t),nonEmptyArray:t=>We(_.nonEmptyArray(t),"non-empty array",t),emptyString:t=>We(_.emptyString(t),"empty string",t),nonEmptyString:t=>We(_.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>We(_.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>We(_.emptyObject(t),"empty object",t),nonEmptyObject:t=>We(_.nonEmptyObject(t),"non-empty object",t),emptySet:t=>We(_.emptySet(t),"empty set",t),nonEmptySet:t=>We(_.nonEmptySet(t),"non-empty set",t),emptyMap:t=>We(_.emptyMap(t),"empty map",t),nonEmptyMap:t=>We(_.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>We(_.propertyKey(t),"PropertyKey",t),formData:t=>We(_.formData(t),"FormData",t),urlSearchParams:t=>We(_.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>We(_.evenInteger(t),"even integer",t),oddInteger:t=>We(_.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>We(_.directInstanceOf(t,e),"T",t),inRange:(t,e)=>We(_.inRange(t,e),"in range",t),any:(t,...e)=>We(_.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>We(_.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(_,{class:{value:_.class_},function:{value:_.function_},null:{value:_.null_}});Object.defineProperties(Za.assert,{class:{value:Za.assert.class_},function:{value:Za.assert.function_},null:{value:Za.assert.null_}});Za.default=_;vw.exports=_;vw.exports.default=_;vw.exports.assert=Za.assert});var Az=w((Gst,Rx)=>{"use strict";var Fx=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},kd=class{static fn(e){return(...r)=>new kd((i,n,s)=>{r.push(s),e(...r).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,i)=>{this._reject=i;let n=a=>{this._isPending=!1,r(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Fx(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(kd.prototype,Promise.prototype);Rx.exports=kd;Rx.exports.CancelError=Fx});var lz=w((Nx,Lx)=>{"use strict";Object.defineProperty(Nx,"__esModule",{value:!0});var Rke=require("tls"),Tx=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let i=typeof r.connect=="function",n=typeof r.secureConnect=="function",s=typeof r.close=="function",o=()=>{i&&r.connect(),t instanceof Rke.TLSSocket&&n&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),s&&t.once("close",r.close)};t.writable&&!t.connecting?o():t.connecting?t.once("connect",o):t.destroyed&&s&&r.close(t._hadError)};Nx.default=Tx;Lx.exports=Tx;Lx.exports.default=Tx});var cz=w((Ox,Mx)=>{"use strict";Object.defineProperty(Ox,"__esModule",{value:!0});var Fke=lz(),Nke=Number(process.versions.node.split(".")[0]),Ux=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||Nke>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),Fke.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?i(t.socket):t.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?n():t.prependOnceListener("finish",n),t.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,r(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};Ox.default=Ux;Mx.exports=Ux;Mx.exports.default=Ux});var Cz=w((Yst,Kx)=>{"use strict";var{V4MAPPED:Lke,ADDRCONFIG:Tke,ALL:uz,promises:{Resolver:gz},lookup:Oke}=require("dns"),{promisify:Hx}=require("util"),Mke=require("os"),Wg=Symbol("cacheableLookupCreateConnection"),jx=Symbol("cacheableLookupInstance"),fz=Symbol("expires"),Uke=typeof uz=="number",hz=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Kke=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},pz=()=>{let t=!1,e=!1;for(let r of Object.values(Mke.networkInterfaces()))for(let i of r)if(!i.internal&&(i.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},Hke=t=>Symbol.iterator in t,dz={ttl:!0},jke={all:!0},Gx=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new gz,lookup:o=Oke}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Hx(o),this._resolver instanceof gz?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Hx(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Hx(this._resolver.resolve6.bind(this._resolver))),this._iface=pz(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,i){if(typeof r=="function"?(i=r,r={}):typeof r=="number"&&(r={family:r}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(n=>{r.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let i=await this.query(e);if(r.family===6){let n=i.filter(s=>s.family===6);r.hints&Lke&&(Uke&&r.hints&uz||n.length===0)?Kke(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&Tke){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return r.all?i:i[0]}async query(e){let r=await this._cache.get(e);if(!r){let i=this._pending[e];if(i)r=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,r=await n}}return r=r.map(i=>N({},i)),r}async _resolve(e){let r=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,dz),this._resolve6(e,dz)].map(c=>r(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(r){return{entries:[],cacheTtl:0}}}async _set(e,r,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,r[fz]=Date.now()+i;try{await this._cache.set(e,r,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}Hke(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,jke);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let i=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,i),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[fz];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[Wg](r,i))}uninstall(e){if(hz(e),e[Wg]){if(e[jx]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Wg],delete e[Wg],delete e[jx]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=pz(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};Kx.exports=Gx;Kx.exports.default=Gx});var Iz=w((qst,Yx)=>{"use strict";var Gke=typeof URL=="undefined"?require("url").URL:URL,Yke="text/plain",qke="us-ascii",mz=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Jke=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let i=r[1].split(";"),n=r[2],s=e?"":r[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===qke)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==Yke)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},Ez=(t,e)=>{if(e=N({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return Jke(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new Gke(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];mz(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])mz(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};Yx.exports=Ez;Yx.exports.default=Ez});var Bz=w((Jst,yz)=>{yz.exports=wz;function wz(t,e){if(t&&e)return wz(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(i){r[i]=t[i]}),r;function r(){for(var i=new Array(arguments.length),n=0;n{var bz=Bz();qx.exports=bz(Sw);qx.exports.strict=bz(Qz);Sw.proto=Sw(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Sw(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Qz(this)},configurable:!0})});function Sw(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function Qz(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var Wx=w((zst,vz)=>{var Wke=Jx(),zke=function(){},_ke=function(t){return t.setHeader&&typeof t.abort=="function"},Vke=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},Sz=function(t,e,r){if(typeof e=="function")return Sz(t,null,e);e||(e={}),r=Wke(r||zke);var i=t._writableState,n=t._readableState,s=e.readable||e.readable!==!1&&t.readable,o=e.writable||e.writable!==!1&&t.writable,a=function(){t.writable||l()},l=function(){o=!1,s||r.call(t)},c=function(){s=!1,o||r.call(t)},u=function(p){r.call(t,p?new Error("exited with error code: "+p):null)},g=function(p){r.call(t,p)},f=function(){if(s&&!(n&&n.ended))return r.call(t,new Error("premature close"));if(o&&!(i&&i.ended))return r.call(t,new Error("premature close"))},h=function(){t.req.on("finish",l)};return _ke(t)?(t.on("complete",l),t.on("abort",f),t.req?h():t.on("request",h)):o&&!i&&(t.on("end",a),t.on("close",a)),Vke(t)&&t.on("exit",u),t.on("end",c),t.on("finish",l),e.error!==!1&&t.on("error",g),t.on("close",f),function(){t.removeListener("complete",l),t.removeListener("abort",f),t.removeListener("request",h),t.req&&t.req.removeListener("finish",l),t.removeListener("end",a),t.removeListener("close",a),t.removeListener("finish",l),t.removeListener("exit",u),t.removeListener("end",c),t.removeListener("error",g),t.removeListener("close",f)}};vz.exports=Sz});var Pz=w((_st,kz)=>{var Xke=Jx(),Zke=Wx(),zx=require("fs"),xd=function(){},$ke=/^v?\.0/.test(process.version),kw=function(t){return typeof t=="function"},exe=function(t){return!$ke||!zx?!1:(t instanceof(zx.ReadStream||xd)||t instanceof(zx.WriteStream||xd))&&kw(t.close)},txe=function(t){return t.setHeader&&kw(t.abort)},rxe=function(t,e,r,i){i=Xke(i);var n=!1;t.on("close",function(){n=!0}),Zke(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,exe(t))return t.close(xd);if(txe(t))return t.abort();if(kw(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},xz=function(t){t()},ixe=function(t,e){return t.pipe(e)},nxe=function(){var t=Array.prototype.slice.call(arguments),e=kw(t[t.length-1]||xd)&&t.pop()||xd;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,i=t.map(function(n,s){var o=s0;return rxe(n,o,a,function(l){r||(r=l),l&&i.forEach(xz),!o&&(i.forEach(xz),e(r))})});return t.reduce(ixe)};kz.exports=nxe});var Rz=w((Vst,Dz)=>{"use strict";var{PassThrough:sxe}=require("stream");Dz.exports=t=>{t=N({},t);let{array:e}=t,{encoding:r}=t,i=r==="buffer",n=!1;e?n=!(r||i):r=r||"utf8",i&&(r=null);let s=new sxe({objectMode:n});r&&s.setEncoding(r);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var Fz=w((Xst,zg)=>{"use strict";var oxe=Pz(),axe=Rz(),_x=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function xw(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e=N({maxBuffer:Infinity},e);let{maxBuffer:r}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=oxe(t,axe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new _x)})}),i.getBufferedValue()}zg.exports=xw;zg.exports.default=xw;zg.exports.buffer=(t,e)=>xw(t,te(N({},e),{encoding:"buffer"}));zg.exports.array=(t,e)=>xw(t,te(N({},e),{array:!0}));zg.exports.MaxBufferError=_x});var Lz=w(($st,Nz)=>{"use strict";var Axe=[200,203,204,206,300,301,404,405,410,414,501],lxe=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],cxe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},uxe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Vx(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let i of r){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function gxe(t){let e=[];for(let r in t){let i=t[r];e.push(i===!0?r:r+"="+i)}if(!!e.length)return e.join(", ")}Nz.exports=class{constructor(e,r,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=Vx(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=Vx(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":gxe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!r.headers["cache-control"]&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&lxe.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||Axe.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=Vx(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of r)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let i in e)cxe[i]||(r[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete r[n]}if(r.warning){let i=r.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?r.warning=i.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let r=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(r-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let n=r["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?r["if-none-match"]=n.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),!r||!r.headers)throw Error("Response headers missing");let i=!1;if(r.status!==void 0&&r.status!=304?i=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in r.headers&&!uxe[o]?r.headers[o]:this._resHeaders[o];let s=Object.assign({},r,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Pw=w((eot,Tz)=>{"use strict";Tz.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var Uz=w((tot,Oz)=>{"use strict";var fxe=require("stream").Readable,hxe=Pw(),Mz=class extends fxe{constructor(e,r,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=hxe(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};Oz.exports=Mz});var Hz=w((rot,Kz)=>{"use strict";var pxe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];Kz.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(pxe));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var Gz=w((iot,jz)=>{"use strict";var dxe=require("stream").PassThrough,Cxe=Hz(),mxe=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new dxe;return Cxe(t,e),t.pipe(e)};jz.exports=mxe});var Yz=w(Xx=>{Xx.stringify=function t(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",i=Array.isArray(e);r=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(r+=","),n=!1,i?e[s]==null?r+="null":r+=t(e[s]):e[s]!==void 0&&(r+=t(s)+":"+t(e[s])))}return r+=i?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};Xx.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var zz=w((sot,qz)=>{"use strict";var Exe=require("events"),Jz=Yz(),Ixe=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(require(e[r]))(t)}return new Map},Wz=class extends Exe{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:Jz.stringify,deserialize:Jz.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=Ixe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return r&&r.raw?n:n.value}})}set(e,r,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return r={value:r,expires:s},this.opts.serialize(r)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};qz.exports=Wz});var Xz=w((oot,_z)=>{"use strict";var yxe=require("events"),Dw=require("url"),wxe=Iz(),Bxe=Fz(),Zx=Lz(),Vz=Uz(),bxe=Pw(),Qxe=Gz(),vxe=zz(),ea=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new vxe({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,i)=>{let n;if(typeof r=="string")n=$x(Dw.parse(r)),r={};else if(r instanceof Dw.URL)n=$x(Dw.parse(r.toString())),r={};else{let[g,...f]=(r.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=$x(te(N({},r),{pathname:g,search:h}))}r=N(N({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},r),Sxe(n)),r.headers=bxe(r.headers);let s=new yxe,o=wxe(Dw.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${r.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),m=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let S=Zx.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!S.modified){let x=S.policy.responseHeaders();y=new Vz(l.statusCode,x,l.body,l.url),y.cachePolicy=S.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new Zx(g,y,g),y.fromCache=!1);let Q;g.cache&&y.cachePolicy.storable()?(Q=Qxe(y),(async()=>{try{let S=Bxe.buffer(y);if(await Promise.race([p,new Promise(U=>y.once("end",U))]),f)return;let x=await S,M={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:x},Y=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(Y=Y?Math.min(Y,g.maxTtl):g.maxTtl),await this.cache.set(a,M,Y)}catch(S){s.emit("error",new ea.CacheError(S))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(S){s.emit("error",new ea.CacheError(S))}})(),s.emit("response",Q||y),typeof i=="function"&&i(Q||y)};try{let y=e(g,m);y.once("error",h),y.once("abort",h),s.emit("request",y)}catch(y){s.emit("error",new ea.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(h);let m=Zx.fromObject(p.cachePolicy);if(m.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=m.responseHeaders(),Q=new Vz(p.statusCode,y,p.body,p.url);Q.cachePolicy=m,Q.fromCache=!0,s.emit("response",Q),typeof i=="function"&&i(Q)}else l=p,h.headers=m.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new ea.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(r)}catch(h){r.automaticFailover&&!c&&u(r),s.emit("error",new ea.CacheError(h))}})(),s}}};function Sxe(t){let e=N({},t);return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function $x(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}ea.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};ea.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};_z.exports=ea});var $z=w((aot,Zz)=>{"use strict";var kxe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];Zz.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(kxe)),i={};for(let n of r)n in e||(i[n]={get(){let s=t[n];return typeof s=="function"?s.bind(t):s},set(s){t[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var t4=w((Aot,e4)=>{"use strict";var{Transform:xxe,PassThrough:Pxe}=require("stream"),eP=require("zlib"),Dxe=$z();e4.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof eP.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new xxe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new Pxe({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?eP.createBrotliDecompress():eP.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),Dxe(t,s),t.pipe(n).pipe(o).pipe(s),s}});var tP=w((lot,r4)=>{"use strict";var i4=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};r4.exports=i4});var iP=w((cot,n4)=>{"use strict";var Rxe=require("events"),Fxe=require("tls"),Nxe=require("http2"),Lxe=tP(),gn=Symbol("currentStreamsCount"),s4=Symbol("request"),Fs=Symbol("cachedOriginSet"),_g=Symbol("gracefullyClosing"),Txe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Oxe=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},Mxe=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,rP=(t,e)=>{for(let r of t)r[Fs].lengthe[Fs].includes(i))&&r[gn]+e[gn]<=e.remoteSettings.maxConcurrentStreams&&o4(r)},Uxe=(t,e)=>{for(let r of t)e[Fs].lengthr[Fs].includes(i))&&e[gn]+r[gn]<=r.remoteSettings.maxConcurrentStreams&&o4(e)},a4=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[eA.kCurrentStreamsCount]{t[_g]=!0,t[gn]===0&&t.close()},eA=class extends Rxe{constructor({timeout:e=6e4,maxSessions:r=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Lxe({maxSize:n})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let i of Txe)e[i]&&(r+=`:${e[i]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let i=this.queue[e][r];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(r),a=eA.normalizeOrigin(e,r&&r.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let m=p.remoteSettings.maxConcurrentStreams;if(m=m||p[_g]||p.destroyed)continue;h||(g=m),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let m=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(m)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=Nxe.connect(e,N({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));f[gn]=0,f[_g]=!1;let h=()=>f[gn]{this.tlsSessionCache.set(u,y)}),f.once("error",y=>{for(let{reject:Q}of i)Q(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error("Session closed without receiving a SETTINGS frame");y.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:Q}of i)Q(y);l()}this._tryToCreateNewSession(o,a)});let m=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[Fs])if(y in this.queue[o]){let{listeners:Q}=this.queue[o][y];for(;Q.length!==0&&h();)Q.shift().resolve(f);let S=this.queue[o];if(S[y].listeners.length===0&&(delete S[y],Object.keys(S).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[Fs]=f.originSet,!!h()&&(m(),rP(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error("Agent has been destroyed");for(let Q of i)Q.reject(y);f.destroy();return}f[Fs]=f.originSet;{let y=this.sessions;if(o in y){let Q=y[o];Q.splice(Oxe(Q,f,Mxe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),m(),l(),f[gn]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),f.on("remoteSettings",()=>{m(),rP(this.sessions[o],f)})}),f[s4]=f.request,f.request=(y,Q)=>{if(f[_g])throw new Error("The session is gracefully closing. No new streams are allowed.");let S=f[s4](y,Q);return f.ref(),++f[gn],f[gn]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,S.once("close",()=>{if(p=h(),--f[gn],!f.destroyed&&!f.closed&&(Uxe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let x=f[gn]===0;x&&f.unref(),x&&(this._freeSessionsCount>this.maxFreeSessions||f[_g])?f.close():(rP(this.sessions[o],f),m())}}),S}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return eA.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),Fxe.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[gn]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return a4({agent:this,isFree:!0})}get busySessions(){return a4({agent:this,isFree:!1})}};eA.kCurrentStreamsCount=gn;eA.kGracefullyClosing=_g;n4.exports={Agent:eA,globalAgent:new eA}});var nP=w((uot,A4)=>{"use strict";var{Readable:Kxe}=require("stream"),l4=class extends Kxe{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};A4.exports=l4});var sP=w((got,c4)=>{"use strict";c4.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var g4=w((fot,u4)=>{"use strict";u4.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var h4=w((hot,f4)=>{"use strict";f4.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var d4=w((dot,p4)=>{"use strict";var Vg=(t,e,r)=>{p4.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};Vg(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],i=Array.isArray(r);return i&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${i?"one of":"of"} type ${r}. Received ${typeof t[2]}`});Vg(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);Vg(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);Vg(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);Vg(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);Vg(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var lP=w((Cot,C4)=>{"use strict";var Hxe=require("http2"),{Writable:jxe}=require("stream"),{Agent:m4,globalAgent:Gxe}=iP(),Yxe=nP(),qxe=sP(),Jxe=g4(),Wxe=h4(),{ERR_INVALID_ARG_TYPE:oP,ERR_INVALID_PROTOCOL:zxe,ERR_HTTP_HEADERS_SENT:E4,ERR_INVALID_HTTP_TOKEN:_xe,ERR_HTTP_INVALID_HEADER_VALUE:Vxe,ERR_INVALID_CHAR:Xxe}=d4(),{HTTP2_HEADER_STATUS:I4,HTTP2_HEADER_METHOD:y4,HTTP2_HEADER_PATH:w4,HTTP2_METHOD_CONNECT:Zxe}=Hxe.constants,Wi=Symbol("headers"),aP=Symbol("origin"),AP=Symbol("session"),B4=Symbol("options"),Rw=Symbol("flushedHeaders"),Pd=Symbol("jobs"),$xe=/^[\^`\-\w!#$%&*+.|~]+$/,ePe=/[^\t\u0020-\u007E\u0080-\u00FF]/,b4=class extends jxe{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=qxe(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:N({},e)):r=N(N({},e),r),r.h2session)this[AP]=r.h2session;else if(r.agent===!1)this.agent=new m4({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new m4({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=Gxe;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new oP("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new zxe(r.protocol,"https:");let s=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,o=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:a}=r;if(r.timeout=void 0,this[Wi]=Object.create(null),this[Pd]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[l,c]of Object.entries(r.headers))this.setHeader(l,c);r.auth&&!("authorization"in this[Wi])&&(this[Wi].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[B4]=r,s===443?(this[aP]=`https://${o}`,":authority"in this[Wi]||(this[Wi][":authority"]=o)):(this[aP]=`https://${o}:${s}`,":authority"in this[Wi]||(this[Wi][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[Rw]=!1}get method(){return this[Wi][y4]}set method(e){e&&(this[Wi][y4]=e.toUpperCase())}get path(){return this[Wi][w4]}set path(e){e&&(this[Wi][w4]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,r,i);this._request?n():this[Pd].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[Pd].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[Rw]||this.destroyed)return;this[Rw]=!0;let e=this.method===Zxe,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||Jxe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new Yxe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[I4],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[I4]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[Pd])o();this.emit("socket",this.socket)};if(this[AP])try{r(this[AP].request(this[Wi]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[aP],this[B4],this[Wi]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new oP("name","string",e);return this[Wi][e.toLowerCase()]}get headersSent(){return this[Rw]}removeHeader(e){if(typeof e!="string")throw new oP("name","string",e);if(this.headersSent)throw new E4("remove");delete this[Wi][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new E4("set");if(typeof e!="string"||!$xe.test(e)&&!Wxe(e))throw new _xe("Header name",e);if(typeof r=="undefined")throw new Vxe(r,e);if(ePe.test(r))throw new Xxe("header content",e);this[Wi][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[Pd].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};C4.exports=b4});var v4=w((mot,Q4)=>{"use strict";var tPe=require("tls");Q4.exports=(t={})=>new Promise((e,r)=>{let i=tPe.connect(t,()=>{t.resolveSocket?(i.off("error",r),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",r)})});var k4=w((Eot,S4)=>{"use strict";var rPe=require("net");S4.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),rPe.isIP(e)?"":e}});var D4=w((Iot,cP)=>{"use strict";var x4=require("http"),uP=require("https"),iPe=v4(),nPe=tP(),sPe=lP(),oPe=k4(),aPe=sP(),Fw=new nPe({maxSize:100}),Dd=new Map,P4=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{t.emit("free",e,r)};e.on("free",i);let n=()=>{t.removeSocket(e,r)};e.on("close",n);let s=()=>{t.removeSocket(e,r),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),t.emit("free",e,r)},APe=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Fw.has(e)){if(Dd.has(e))return(await Dd.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=iPe(t);Dd.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Fw.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=uP,l=uP.Agent.prototype.createConnection;i?i.createConnection===l?P4(i,s,t):s.destroy():a.createConnection===l?P4(a,s,t):s.destroy()}return Dd.delete(e),o}catch(s){throw Dd.delete(e),s}}return Fw.get(e)};cP.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=aPe(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e=te(N(N({ALPNProtocols:["h2","http/1.1"]},t),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||oPe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?uP.globalAgent:x4.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await APe(e)==="h2"?(n&&(e.agent=n.http2),new sPe(e,r)):x4.request(e,r)};cP.exports.protocolCache=Fw});var F4=w((yot,R4)=>{"use strict";var lPe=require("http2"),cPe=iP(),gP=lP(),uPe=nP(),gPe=D4(),fPe=(t,e,r)=>new gP(t,e,r),hPe=(t,e,r)=>{let i=new gP(t,e,r);return i.end(),i};R4.exports=te(N(te(N({},lPe),{ClientRequest:gP,IncomingMessage:uPe}),cPe),{request:fPe,get:hPe,auto:gPe})});var hP=w(fP=>{"use strict";Object.defineProperty(fP,"__esModule",{value:!0});var N4=$a();fP.default=t=>N4.default.nodeStream(t)&&N4.default.function_(t.getBoundary)});var M4=w(pP=>{"use strict";Object.defineProperty(pP,"__esModule",{value:!0});var L4=require("fs"),T4=require("util"),O4=$a(),pPe=hP(),dPe=T4.promisify(L4.stat);pP.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(O4.default.string(t))return Buffer.byteLength(t);if(O4.default.buffer(t))return t.length;if(pPe.default(t))return T4.promisify(t.getLength.bind(t))();if(t instanceof L4.ReadStream){let{size:r}=await dPe(t.path);return r===0?void 0:r}}});var CP=w(dP=>{"use strict";Object.defineProperty(dP,"__esModule",{value:!0});function CPe(t,e,r){let i={};for(let n of r)i[n]=(...s)=>{e.emit(n,...s)},t.on(n,i[n]);return()=>{for(let n of r)t.off(n,i[n])}}dP.default=CPe});var U4=w(mP=>{"use strict";Object.defineProperty(mP,"__esModule",{value:!0});mP.default=()=>{let t=[];return{once(e,r,i){e.once(r,i),t.push({origin:e,event:r,fn:i})},unhandleAll(){for(let e of t){let{origin:r,event:i,fn:n}=e;r.removeListener(i,n)}t.length=0}}}});var H4=w(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});Rd.TimeoutError=void 0;var mPe=require("net"),EPe=U4(),K4=Symbol("reentry"),IPe=()=>{},EP=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};Rd.TimeoutError=EP;Rd.default=(t,e,r)=>{if(K4 in t)return IPe;t[K4]=!0;let i=[],{once:n,unhandleAll:s}=EPe.default(),o=(g,f,h)=>{var p;let m=setTimeout(f,g,g,h);(p=m.unref)===null||p===void 0||p.call(m);let y=()=>{clearTimeout(m)};return i.push(y),y},{host:a,hostname:l}=r,c=(g,f)=>{t.destroy(new EP(g,f))},u=()=>{for(let g of i)g();s()};if(t.once("error",g=>{if(u(),t.listenerCount("error")===0)throw g}),t.once("close",u),n(t,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};t.setTimeout(e.socket,g),i.push(()=>{t.removeListener("timeout",g)})}return n(t,"socket",g=>{var f;let{socketPath:h}=t;if(g.connecting){let p=Boolean(h!=null?h:mPe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let m=o(e.lookup,c,"lookup");n(g,"lookup",m)}if(typeof e.connect!="undefined"){let m=()=>o(e.connect,c,"connect");p?n(g,"connect",m()):n(g,"lookup",y=>{y===null&&n(g,"connect",m())})}typeof e.secureConnect!="undefined"&&r.protocol==="https:"&&n(g,"connect",()=>{let m=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",m)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(t,"upload-complete",p())}):n(t,"upload-complete",p())}}),typeof e.response!="undefined"&&n(t,"upload-complete",()=>{let g=o(e.response,c,"response");n(t,"response",g)}),u}});var G4=w(IP=>{"use strict";Object.defineProperty(IP,"__esModule",{value:!0});var j4=$a();IP.default=t=>{t=t;let e={protocol:t.protocol,hostname:j4.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return j4.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var Y4=w(yP=>{"use strict";Object.defineProperty(yP,"__esModule",{value:!0});var yPe=require("url"),wPe=["protocol","host","hostname","port","pathname","search"];yP.default=(t,e)=>{var r,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(i=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&i!==void 0?i:""}`}let n=new yPe.URL(t);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of wPe)e[s]&&(n[s]=e[s].toString());return n}});var J4=w(wP=>{"use strict";Object.defineProperty(wP,"__esModule",{value:!0});var q4=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};wP.default=q4});var bP=w(BP=>{"use strict";Object.defineProperty(BP,"__esModule",{value:!0});var BPe=async t=>{let e=[],r=0;for await(let i of t)e.push(i),r+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};BP.default=BPe});var z4=w(Yc=>{"use strict";Object.defineProperty(Yc,"__esModule",{value:!0});Yc.dnsLookupIpVersionToFamily=Yc.isDnsLookupIpVersion=void 0;var W4={auto:0,ipv4:4,ipv6:6};Yc.isDnsLookupIpVersion=t=>t in W4;Yc.dnsLookupIpVersionToFamily=t=>{if(Yc.isDnsLookupIpVersion(t))return W4[t];throw new Error("Invalid DNS lookup IP version")}});var QP=w(Nw=>{"use strict";Object.defineProperty(Nw,"__esModule",{value:!0});Nw.isResponseOk=void 0;Nw.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var V4=w(vP=>{"use strict";Object.defineProperty(vP,"__esModule",{value:!0});var _4=new Set;vP.default=t=>{_4.has(t)||(_4.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var X4=w(SP=>{"use strict";Object.defineProperty(SP,"__esModule",{value:!0});var Ir=$a(),bPe=(t,e)=>{if(Ir.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Ir.assert.any([Ir.default.string,Ir.default.undefined],t.encoding),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],t.resolveBodyOnly),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],t.methodRewriting),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],t.isStream),Ir.assert.any([Ir.default.string,Ir.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry=N({},e.retry):t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Ir.default.object(r)?(t.retry=N(N({},t.retry),r),t.retry.methods=[...new Set(t.retry.methods.map(i=>i.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):Ir.default.number(r)&&(t.retry.limit=r),Ir.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Ir.default.number))),Ir.default.object(t.pagination)){e&&(t.pagination=N(N({},e.pagination),t.pagination));let{pagination:i}=t;if(!Ir.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Ir.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Ir.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Ir.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};SP.default=bPe});var Z4=w(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});Fd.retryAfterStatusCodes=void 0;Fd.retryAfterStatusCodes=new Set([413,429,503]);var QPe=({attemptCount:t,retryOptions:e,error:r,retryAfter:i})=>{if(t>e.limit)return 0;let n=e.methods.includes(r.options.method),s=e.errorCodes.includes(r.code),o=r.response&&e.statusCodes.includes(r.response.statusCode);if(!n||!s&&!o)return 0;if(r.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(r.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(t-1)*1e3+a};Fd.default=QPe});var Ld=w(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.UnsupportedProtocolError=qt.ReadError=qt.TimeoutError=qt.UploadError=qt.CacheError=qt.HTTPError=qt.MaxRedirectsError=qt.RequestError=qt.setNonEnumerableProperties=qt.knownHookEvents=qt.withoutBody=qt.kIsNormalizedAlready=void 0;var $4=require("util"),e_=require("stream"),vPe=require("fs"),al=require("url"),t_=require("http"),kP=require("http"),SPe=require("https"),kPe=cz(),xPe=Cz(),r_=Xz(),PPe=t4(),DPe=F4(),RPe=Pw(),me=$a(),FPe=M4(),i_=hP(),NPe=CP(),n_=H4(),LPe=G4(),s_=Y4(),TPe=J4(),OPe=bP(),o_=z4(),MPe=QP(),Al=V4(),UPe=X4(),KPe=Z4(),xP,Ri=Symbol("request"),Lw=Symbol("response"),Xg=Symbol("responseSize"),Zg=Symbol("downloadedSize"),$g=Symbol("bodySize"),ef=Symbol("uploadedSize"),Tw=Symbol("serverResponsesPiped"),a_=Symbol("unproxyEvents"),A_=Symbol("isFromCache"),PP=Symbol("cancelTimeouts"),l_=Symbol("startedReading"),tf=Symbol("stopReading"),Ow=Symbol("triggerRead"),ll=Symbol("body"),Nd=Symbol("jobs"),c_=Symbol("originalResponse"),u_=Symbol("retryTimeout");qt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var HPe=me.default.string(process.versions.brotli);qt.withoutBody=new Set(["GET","HEAD"]);qt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function jPe(t){for(let e in t){let r=t[e];if(!me.default.string(r)&&!me.default.number(r)&&!me.default.boolean(r)&&!me.default.null_(r)&&!me.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function GPe(t){return me.default.object(t)&&!("statusCode"in t)}var DP=new TPe.default,YPe=async t=>new Promise((e,r)=>{let i=n=>{r(n)};t.pending||e(),t.once("error",i),t.once("ready",()=>{t.off("error",i),e()})}),qPe=new Set([300,301,302,303,304,307,308]),JPe=["context","body","json","form"];qt.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of JPe)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var fi=class extends Error{constructor(e,r,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,i instanceof RP?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Lw]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,me.default.string(r.stack)&&me.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`).reverse(),a=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` +`)}${a.reverse().join(` +`)}`}}};qt.RequestError=fi;var FP=class extends fi{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};qt.MaxRedirectsError=FP;var NP=class extends fi{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};qt.HTTPError=NP;var LP=class extends fi{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};qt.CacheError=LP;var TP=class extends fi{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};qt.UploadError=TP;var OP=class extends fi{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};qt.TimeoutError=OP;var Mw=class extends fi{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};qt.ReadError=Mw;var MP=class extends fi{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};qt.UnsupportedProtocolError=MP;var WPe=["socket","connect","continue","information","upgrade","timeout"],RP=class extends e_.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[Zg]=0,this[ef]=0,this.requestInitialized=!1,this[Tw]=new Set,this.redirects=[],this[tf]=!1,this[Ow]=!1,this[Nd]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof kP.IncomingMessage&&(this.options.headers=N(N({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),qt.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){me.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof vPe.ReadStream&&await YPe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Ri])===null||c===void 0||c.destroy();return}for(let g of this[Nd])g();this[Nd].length=0,this.requestInitialized=!0}catch(u){if(u instanceof fi){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(me.default.object(e)&&!me.default.urlInstance(e))r=N(N(N({},i),e),r);else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r=N(N({},i),r),e!==void 0&&(r.url=e),me.default.urlInstance(r.url)&&(r.url=new al.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),me.assert.any([me.default.string,me.default.undefined],r.method),me.assert.any([me.default.object,me.default.undefined],r.headers),me.assert.any([me.default.string,me.default.urlInstance,me.default.undefined],r.prefixUrl),me.assert.any([me.default.object,me.default.undefined],r.cookieJar),me.assert.any([me.default.object,me.default.string,me.default.undefined],r.searchParams),me.assert.any([me.default.object,me.default.string,me.default.undefined],r.cache),me.assert.any([me.default.object,me.default.number,me.default.undefined],r.timeout),me.assert.any([me.default.object,me.default.undefined],r.context),me.assert.any([me.default.object,me.default.undefined],r.hooks),me.assert.any([me.default.boolean,me.default.undefined],r.decompress),me.assert.any([me.default.boolean,me.default.undefined],r.ignoreInvalidCookies),me.assert.any([me.default.boolean,me.default.undefined],r.followRedirect),me.assert.any([me.default.number,me.default.undefined],r.maxRedirects),me.assert.any([me.default.boolean,me.default.undefined],r.throwHttpErrors),me.assert.any([me.default.boolean,me.default.undefined],r.http2),me.assert.any([me.default.boolean,me.default.undefined],r.allowGetBody),me.assert.any([me.default.string,me.default.undefined],r.localAddress),me.assert.any([o_.isDnsLookupIpVersion,me.default.undefined],r.dnsLookupIpVersion),me.assert.any([me.default.object,me.default.undefined],r.https),me.assert.any([me.default.boolean,me.default.undefined],r.rejectUnauthorized),r.https&&(me.assert.any([me.default.boolean,me.default.undefined],r.https.rejectUnauthorized),me.assert.any([me.default.function_,me.default.undefined],r.https.checkServerIdentity),me.assert.any([me.default.string,me.default.object,me.default.array,me.default.undefined],r.https.certificateAuthority),me.assert.any([me.default.string,me.default.object,me.default.array,me.default.undefined],r.https.key),me.assert.any([me.default.string,me.default.object,me.default.array,me.default.undefined],r.https.certificate),me.assert.any([me.default.string,me.default.undefined],r.https.passphrase),me.assert.any([me.default.string,me.default.buffer,me.default.array,me.default.undefined],r.https.pfx)),me.assert.any([me.default.object,me.default.undefined],r.cacheOptions),me.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers=N({},r.headers):r.headers=RPe(N(N({},i==null?void 0:i.headers),r.headers)),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(i==null?void 0:i.searchParams)){let h;if(me.default.string(r.searchParams)||r.searchParams instanceof al.URLSearchParams)h=new al.URLSearchParams(r.searchParams);else{jPe(r.searchParams),h=new al.URLSearchParams;for(let p in r.searchParams){let m=r.searchParams[p];m===null?h.append(p,""):m!==void 0&&h.append(p,m)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,m)=>{h.has(m)||h.append(m,p)}),r.searchParams=h}if(r.username=(s=r.username)!==null&&s!==void 0?s:"",r.password=(o=r.password)!==null&&o!==void 0?o:"",me.default.undefined(r.prefixUrl)?r.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),me.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=s_.default(r.prefixUrl+r.url,r)}else(me.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=s_.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:h}=r;Object.defineProperty(r,"prefixUrl",{set:m=>{let y=r.url;if(!y.href.startsWith(m))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${m}: ${y.href}`);r.url=new al.URL(m+y.href.slice(h.length)),h=m},get:()=>h});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new al.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new MP(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:u}=r;if(u){let{setCookie:h,getCookieString:p}=u;me.assert.function_(h),me.assert.function_(p),h.length===4&&p.length===0&&(h=$4.promisify(h.bind(r.cookieJar)),p=$4.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=r;if(g&&(DP.has(g)||DP.set(g,new r_((h,p)=>{let m=h[Ri](h,p);return me.default.promise(m)&&(m.once=(y,Q)=>{if(y==="error")m.catch(Q);else if(y==="abort")(async()=>{try{(await m).once("abort",Q)}catch(S){}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return m}),m},g))),r.cacheOptions=N({},r.cacheOptions),r.dnsCache===!0)xP||(xP=new xPe.default),r.dnsCache=xP;else if(!me.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${me.default(r.dnsCache)}`);me.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout=N(N({},i.timeout),r.timeout):r.timeout=N({},r.timeout),r.context||(r.context={});let f=r.hooks===(i==null?void 0:i.hooks);r.hooks=N({},r.hooks);for(let h of qt.knownHookEvents)if(h in r.hooks)if(me.default.array(r.hooks[h]))r.hooks[h]=[...r.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${me.default(r.hooks[h])}`);else r.hooks[h]=[];if(i&&!f)for(let h of qt.knownHookEvents)i.hooks[h].length>0&&(r.hooks[h]=[...i.hooks[h],...r.hooks[h]]);if("family"in r&&Al.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https=N(N({},i.https),r.https)),"rejectUnauthorized"in r&&Al.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&Al.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&Al.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&Al.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&Al.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&Al.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&Al.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let h in r.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return r.maxRedirects=(l=r.maxRedirects)!==null&&l!==void 0?l:0,qt.setNonEnumerableProperties([i,c],r),UPe.default(r,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,i=!me.default.undefined(e.form),n=!me.default.undefined(e.json),s=!me.default.undefined(e.body),o=i||n||s,a=qt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof e_.Readable)&&!me.default.string(e.body)&&!me.default.buffer(e.body)&&!i_.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!me.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!me.default.string(r["content-type"]);s?(i_.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[ll]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[ll]=new al.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[ll]=e.stringifyJson(e.json));let c=await FPe.default(this[ll],e.headers);me.default.undefined(r["content-length"])&&me.default.undefined(r["transfer-encoding"])&&!a&&!me.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[$g]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[c_]=e,r.decompress&&(e=PPe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:t_.STATUS_CODES[n],s.url=r.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[A_]=s.isFromCache,this[Xg]=Number(e.headers["content-length"])||void 0,this[Lw]=e,e.once("end",()=>{this[Xg]=this[Zg],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new Mw(a,this))}),e.once("aborted",()=>{this._beforeError(new Mw({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(me.default.object(r.cookieJar)&&o){let a=o.map(async l=>r.cookieJar.setCookie(l,i.toString()));r.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(r.followRedirect&&e.headers.location&&qPe.has(n)){if(e.resume(),this[Ri]&&(this[PP](),delete this[Ri],this[a_]()),(n===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[ll]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new FP(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new al.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(c.username=r.username,c.password=r.password),this.redirects.push(u),r.url=c;for(let g of r.hooks.beforeRedirect)await g(r,s);this.emit("redirect",s,r),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(r.isStream&&r.throwHttpErrors&&!MPe.isResponseOk(s)){this._beforeError(new NP(s));return}e.on("readable",()=>{this[Ow]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[Tw])if(!a.headersSent){for(let l in e.headers){let c=r.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:i,url:n}=r;kPe.default(e),this[PP]=n_.default(e,i,n);let s=r.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof n_.TimeoutError?new OP(l,this.timings,this):new fi(l.message,l,this),this._beforeError(l)}),this[a_]=NPe.default(e,this,WPe),this[Ri]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[ll],a=this.redirects.length===0?this:e;me.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new TP(l,this))})):(this._unlockWrite(),me.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((i,n)=>{Object.assign(r,LPe.default(e)),delete r.url;let s,o=DP.get(r.cache)(r,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});r.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,r,i,n,s;let{options:o}=this,{headers:a}=o;for(let Q in a)if(me.default.undefined(a[Q]))delete a[Q];else if(me.default.null_(a[Q]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${Q}\` header`);if(o.decompress&&me.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=HPe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let Q=await o.cookieJar.getCookieString(o.url.toString());me.default.nonEmptyString(Q)&&(o.headers.cookie=Q)}for(let Q of o.hooks.beforeRequest){let S=await Q(o);if(!me.default.undefined(S)){o.request=()=>S;break}}o.body&&this[ll]!==o.body&&(this[ll]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let Q=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(Q==null?void 0:Q.groups){let{socketPath:S,path:x}=Q.groups;Object.assign(o,{socketPath:S,path:x,host:""})}}let f=g.protocol==="https:",h;o.http2?h=DPe.auto:h=f?SPe.request:t_.request;let p=(e=o.request)!==null&&e!==void 0?e:h,m=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Ri]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=o_.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(Q){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let Q=await m(g,y);me.default.undefined(Q)&&(Q=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),GPe(Q)?this._onRequest(Q):this.writable?(this.once("finish",()=>{this._onResponse(Q)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(Q)}catch(Q){throw Q instanceof r_.CacheError?new LP(Q,this):new fi(Q.message,Q,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new fi(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[tf])return;let{options:r}=this,i=this.retryCount+1;this[tf]=!0,e instanceof fi||(e=new fi(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await OPe.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await r.retry.calculateDelay({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:KPe.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new fi(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new fi(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[u_]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[Ow]=!0;let e=this[Lw];if(e&&!this[tf]){e.readableLength&&(this[Ow]=!1);let r;for(;(r=e.read())!==null;){this[Zg]+=r.length,this[l_]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(r)}}}_write(e,r,i){let n=()=>{this._writeRequest(e,r,i)};this.requestInitialized?n():this[Nd].push(n)}_writeRequest(e,r,i){this[Ri].destroyed||(this._progressCallbacks.push(()=>{this[ef]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Ri].write(e,r,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Ri in this)){e();return}if(this[Ri].destroyed){e();return}this[Ri].end(i=>{i||(this[$g]=this[ef],this.emit("uploadProgress",this.uploadProgress),this[Ri].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[Nd].push(r)}_destroy(e,r){var i;this[tf]=!0,clearTimeout(this[u_]),Ri in this&&(this[PP](),((i=this[Lw])===null||i===void 0?void 0:i.complete)||this[Ri].destroy()),e!==null&&!me.default.undefined(e)&&!(e instanceof fi)&&(e=new fi(e.message,e,this)),r(e)}get _isAboutToError(){return this[tf]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[Ri])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[c_])===null||i===void 0?void 0:i.complete)}get socket(){var e,r;return(r=(e=this[Ri])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[Xg]?e=this[Zg]/this[Xg]:this[Xg]===this[Zg]?e=1:e=0,{percent:e,transferred:this[Zg],total:this[Xg]}}get uploadProgress(){let e;return this[$g]?e=this[ef]/this[$g]:this[$g]===this[ef]?e=1:e=0,{percent:e,transferred:this[ef],total:this[$g]}}get timings(){var e;return(e=this[Ri])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[A_]}pipe(e,r){if(this[l_])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof kP.ServerResponse&&this[Tw].add(e),super.pipe(e,r)}unpipe(e){return e instanceof kP.ServerResponse&&this[Tw].delete(e),super.unpipe(e),this}};qt.default=RP});var Td=w(ho=>{"use strict";var zPe=ho&&ho.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),_Pe=ho&&ho.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&zPe(e,t,r)};Object.defineProperty(ho,"__esModule",{value:!0});ho.CancelError=ho.ParseError=void 0;var g_=Ld(),f_=class extends g_.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};ho.ParseError=f_;var h_=class extends g_.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};ho.CancelError=h_;_Pe(Ld(),ho)});var d_=w(UP=>{"use strict";Object.defineProperty(UP,"__esModule",{value:!0});var p_=Td(),VPe=(t,e,r,i)=>{let{rawBody:n}=t;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":r(n.toString());if(e==="buffer")return n;throw new p_.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new p_.ParseError(s,t)}};UP.default=VPe});var KP=w(cl=>{"use strict";var XPe=cl&&cl.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),ZPe=cl&&cl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&XPe(e,t,r)};Object.defineProperty(cl,"__esModule",{value:!0});var $Pe=require("events"),eDe=$a(),tDe=Az(),Uw=Td(),C_=d_(),m_=Ld(),rDe=CP(),iDe=bP(),E_=QP(),nDe=["request","response","redirect","uploadProgress","downloadProgress"];function I_(t){let e,r,i=new $Pe.EventEmitter,n=new tDe((o,a,l)=>{let c=u=>{let g=new m_.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new Uw.CancelError(g))),e=g,g.once("response",async p=>{var m;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await iDe.default(g),p.rawBody=y}catch(M){return}if(g._isAboutToError)return;let Q=((m=p.headers["content-encoding"])!==null&&m!==void 0?m:"").toLowerCase(),S=["gzip","deflate","br"].includes(Q),{options:x}=g;if(S&&!x.decompress)p.body=y;else try{p.body=C_.default(p,x.responseType,x.parseJson,x.encoding)}catch(M){if(p.body=y.toString(),E_.isResponseOk(p)){g._beforeError(M);return}}try{for(let[M,Y]of x.hooks.afterResponse.entries())p=await Y(p,async U=>{let J=m_.default.normalizeArguments(void 0,te(N({},U),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),x);J.hooks.afterResponse=J.hooks.afterResponse.slice(0,M);for(let ee of J.hooks.beforeRetry)await ee(J);let W=I_(J);return l(()=>{W.catch(()=>{}),W.cancel()}),W})}catch(M){g._beforeError(new Uw.RequestError(M.message,M,g));return}if(!E_.isResponseOk(p)){g._beforeError(new Uw.HTTPError(p));return}r=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:m}=g;if(p instanceof Uw.HTTPError&&!m.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,m)=>{var y,Q;if(h===((y=m.request)===null||y===void 0?void 0:y.options.body)&&eDe.default.nodeStream((Q=m.request)===null||Q===void 0?void 0:Q.options.body)){f(m);return}c(p)}),rDe.default(g,i,nDe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=r.request;return C_.default(r,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}cl.default=I_;ZPe(Td(),cl)});var y_=w(HP=>{"use strict";Object.defineProperty(HP,"__esModule",{value:!0});var sDe=Td();function oDe(t,...e){let r=(async()=>{if(t instanceof sDe.RequestError)try{for(let n of e)if(n)for(let s of n)t=await s(t)}catch(n){t=n}throw t})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}HP.default=oDe});var b_=w(jP=>{"use strict";Object.defineProperty(jP,"__esModule",{value:!0});var w_=$a();function B_(t){for(let e of Object.values(t))(w_.default.plainObject(e)||w_.default.array(e))&&B_(e);return Object.freeze(t)}jP.default=B_});var v_=w(Q_=>{"use strict";Object.defineProperty(Q_,"__esModule",{value:!0})});var GP=w(Ns=>{"use strict";var aDe=Ns&&Ns.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),ADe=Ns&&Ns.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&aDe(e,t,r)};Object.defineProperty(Ns,"__esModule",{value:!0});Ns.defaultHandler=void 0;var S_=$a(),Ls=KP(),lDe=y_(),Kw=Ld(),cDe=b_(),uDe={RequestError:Ls.RequestError,CacheError:Ls.CacheError,ReadError:Ls.ReadError,HTTPError:Ls.HTTPError,MaxRedirectsError:Ls.MaxRedirectsError,TimeoutError:Ls.TimeoutError,ParseError:Ls.ParseError,CancelError:Ls.CancelError,UnsupportedProtocolError:Ls.UnsupportedProtocolError,UploadError:Ls.UploadError},gDe=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Hw}=Kw.default,k_=(...t)=>{let e;for(let r of t)e=Hw(void 0,r,e);return e},fDe=t=>t.isStream?new Kw.default(void 0,t):Ls.default(t),hDe=t=>"defaults"in t&&"options"in t.defaults,pDe=["get","post","put","patch","head","delete"];Ns.defaultHandler=(t,e)=>e(t);var x_=(t,e)=>{if(t)for(let r of t)r(e)},P_=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>t.handlers[l++](u,l===t.handlers.length?fDe:c);if(S_.default.plainObject(i)){let u=N(N({},i),n);Kw.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{x_(t.options.hooks.init,n),x_((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=Hw(i,n,s!=null?s:t.options);if(g[Kw.kIsNormalizedAlready]=!0,u)throw new Ls.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return lDe.default(u,t.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[t.options],s=[...t._rawHandlers],o;for(let a of i)hDe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Ns.defaultHandler),s.length===0&&s.push(Ns.defaultHandler),P_({options:k_(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=Hw(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!S_.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of r(i,n))s.push(o);return s},e.paginate.each=r,e.stream=(i,n)=>e(i,te(N({},n),{isStream:!0}));for(let i of pDe)e[i]=(n,s)=>e(n,te(N({},s),{method:i})),e.stream[i]=(n,s)=>e(n,te(N({},s),{method:i,isStream:!0}));return Object.assign(e,uDe),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:cDe.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=k_,e};Ns.default=P_;ADe(v_(),Ns)});var Gw=w((tA,jw)=>{"use strict";var dDe=tA&&tA.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),D_=tA&&tA.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&dDe(e,t,r)};Object.defineProperty(tA,"__esModule",{value:!0});var CDe=require("url"),R_=GP(),mDe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let i of e){let n=i.split(";");if(n[1].includes("next")){r=n[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new CDe.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[R_.defaultHandler],mutableDefaults:!1},YP=R_.default(mDe);tA.default=YP;jw.exports=YP;jw.exports.default=YP;jw.exports.__esModule=!0;D_(GP(),tA);D_(KP(),tA)});var T_=w(rf=>{"use strict";var Yot=require("net"),EDe=require("tls"),qP=require("http"),F_=require("https"),IDe=require("events"),qot=require("assert"),yDe=require("util");rf.httpOverHttp=wDe;rf.httpsOverHttp=BDe;rf.httpOverHttps=bDe;rf.httpsOverHttps=QDe;function wDe(t){var e=new rA(t);return e.request=qP.request,e}function BDe(t){var e=new rA(t);return e.request=qP.request,e.createSocket=N_,e.defaultPort=443,e}function bDe(t){var e=new rA(t);return e.request=F_.request,e}function QDe(t){var e=new rA(t);return e.request=F_.request,e.createSocket=N_,e.defaultPort=443,e}function rA(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||qP.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=L_(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};rA.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=JP({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),ul("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){ul("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){ul("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return ul("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,r(f)}function u(g){o.removeAllListeners(),ul(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};rA.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function N_(t,e){var r=this;rA.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=JP({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=EDe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function L_(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function JP(t){for(var e=1,r=arguments.length;e{O_.exports=T_()});var z_=w((Jw,XP)=>{var W_=Object.assign({},require("fs")),ZP=function(){var t=typeof document!="undefined"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!="undefined"&&(t=t||__filename),function(e){e=e||{};var r=typeof e!="undefined"?e:{},i,n;r.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in r)r.hasOwnProperty(o)&&(s[o]=r[o]);var a=[],l="./this.program",c=function(d,E){throw E},u=!1,g=!0,f="";function h(d){return r.locateFile?r.locateFile(d,f):f+d}var p,m,y,Q;g&&(u?f=require("path").dirname(f)+"/":f=__dirname+"/",p=function(E,I){var D=ba(E);return D?I?D:D.toString():(y||(y=W_),Q||(Q=require("path")),E=Q.normalize(E),y.readFileSync(E,I?null:"utf8"))},m=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),Ae(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),a=process.argv.slice(2),c=function(d){process.exit(d)},r.inspect=function(){return"[Emscripten Module object]"});var S=r.print||console.log.bind(console),x=r.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(r[o]=s[o]);s=null,r.arguments&&(a=r.arguments),r.thisProgram&&(l=r.thisProgram),r.quit&&(c=r.quit);var M=16;function Y(d,E){return E||(E=M),Math.ceil(d/E)*E}var U=0,J=function(d){U=d},W;r.wasmBinary&&(W=r.wasmBinary);var ee=r.noExitRuntime||!0;typeof WebAssembly!="object"&&Sr("no native wasm support detected");function Z(d,E,I){switch(E=E||"i8",E.charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":return pe[d>>0];case"i8":return pe[d>>0];case"i16":return be[d>>1];case"i32":return fe[d>>2];case"i64":return fe[d>>2];case"float":return Ht[d>>2];case"double":return Mt[d>>3];default:Sr("invalid type for getValue: "+E)}return null}var A,ne=!1,le;function Ae(d,E){d||Sr("Assertion failed: "+E)}function T(d){var E=r["_"+d];return Ae(E,"Cannot call unknown function "+d+", make sure it is exported"),E}function L(d,E,I,D,O){var V={string:function(nt){var It=0;if(nt!=null&&nt!==0){var ke=(nt.length<<2)+1;It=B(ke),Qe(nt,It,ke)}return It},array:function(nt){var It=B(nt.length);return Ue(nt,It),It}};function ie(nt){return E==="string"?re(nt):E==="boolean"?Boolean(nt):nt}var Be=T(d),Ce=[],_e=0;if(D)for(var ot=0;ot=D);)++O;if(O-E>16&&d.subarray&&we)return we.decode(d.subarray(E,O));for(var V="";E>10,56320|_e&1023)}}return V}function re(d,E){return d?qe(X,d,E):""}function se(d,E,I,D){if(!(D>0))return 0;for(var O=I,V=I+D-1,ie=0;ie=55296&&Be<=57343){var Ce=d.charCodeAt(++ie);Be=65536+((Be&1023)<<10)|Ce&1023}if(Be<=127){if(I>=V)break;E[I++]=Be}else if(Be<=2047){if(I+1>=V)break;E[I++]=192|Be>>6,E[I++]=128|Be&63}else if(Be<=65535){if(I+2>=V)break;E[I++]=224|Be>>12,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}else{if(I+3>=V)break;E[I++]=240|Be>>18,E[I++]=128|Be>>12&63,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}}return E[I]=0,I-O}function Qe(d,E,I){return se(d,X,E,I)}function he(d){for(var E=0,I=0;I=55296&&D<=57343&&(D=65536+((D&1023)<<10)|d.charCodeAt(++I)&1023),D<=127?++E:D<=2047?E+=2:D<=65535?E+=3:E+=4}return E}function Fe(d){var E=he(d)+1,I=Et(E);return I&&se(d,pe,I,E),I}function Ue(d,E){pe.set(d,E)}function xe(d,E){return d%E>0&&(d+=E-d%E),d}var ve,pe,X,be,ce,fe,gt,Ht,Mt;function mi(d){ve=d,r.HEAP8=pe=new Int8Array(d),r.HEAP16=be=new Int16Array(d),r.HEAP32=fe=new Int32Array(d),r.HEAPU8=X=new Uint8Array(d),r.HEAPU16=ce=new Uint16Array(d),r.HEAPU32=gt=new Uint32Array(d),r.HEAPF32=Ht=new Float32Array(d),r.HEAPF64=Mt=new Float64Array(d)}var jt=r.INITIAL_MEMORY||16777216,Qr,Ti=[],_s=[],Un=[],Kn=!1;function vr(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)Ia(r.preRun.shift());ko(Ti)}function Hn(){Kn=!0,!r.noFSInit&&!v.init.initialized&&v.init(),fs.init(),ko(_s)}function us(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Du(r.postRun.shift());ko(Un)}function Ia(d){Ti.unshift(d)}function SA(d){_s.unshift(d)}function Du(d){Un.unshift(d)}var gs=0,kA=null,ya=null;function Ru(d){return d}function xA(d){gs++,r.monitorRunDependencies&&r.monitorRunDependencies(gs)}function PA(d){if(gs--,r.monitorRunDependencies&&r.monitorRunDependencies(gs),gs==0&&(kA!==null&&(clearInterval(kA),kA=null),ya)){var E=ya;ya=null,E()}}r.preloadedImages={},r.preloadedAudios={};function Sr(d){r.onAbort&&r.onAbort(d),d+="",x(d),ne=!0,le=1,d="abort("+d+"). Build with -s ASSERTIONS=1 for more info.";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var jl="data:application/octet-stream;base64,";function Fu(d){return d.startsWith(jl)}var So="data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EJABIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAgACgCVEEVQQAQFCAAKAJQECUgAEEANgJsDAELAkAgAC8BTkUEQCAAKAJoKAIEQQRxRQ0BCyAAKAJkIAApAzBCFnwQLBogACAAKAJkEDA3AyACQCAAKQMgIAAvAU6tWgRAIAAoAmgoAgRBBHFFDQEgACkDICAALwFOrVENAQsgACgCVEEVQQAQFCAAKAJQECUgAEEANgJsDAILIAAvAU4EQCAAKAJkIAAvAU6tEB4gAC8BTkEAIAAoAlQQUCEBIAAoAlAgATYCKCABRQRAIAAoAlAQJSAAQQA2AmwMAwsLCwJAIAAoAlApAyAgACkDWFoEQCAAKAJkIAAoAlApAyAgACkDWH0QLBogACAAKAJkIAAoAlApAxgQHiIBNgIcIAFFBEAgACgCVEEVQQAQFCAAKAJQECUgAEEANgJsDAMLIAAgACgCHCAAKAJQKQMYECkiATYCLCABRQRAIAAoAlRBDkEAEBQgACgCUBAlIABBADYCbAwDCwwBCyAAQQA2AiwgACgCaCgCACAAKAJQKQMgQQAQJ0EASARAIAAoAlQgACgCaCgCABAXIAAoAlAQJSAAQQA2AmwMAgsgACgCaCgCABBJIAAoAlApAyBSBEAgACgCVEETQQAQFCAAKAJQECUgAEEANgJsDAILCyAAIAAoAlApAxg3AzggAEIANwNAA0ACQCAAKQM4UA0AIABBADoAGyAAKQNAIAAoAlApAwhRBEAgACgCUC0ALEEBcQ0BIAApAzhCLlQNASAAKAJQQoCABCAAKAJUEI8BQQFxRQRAIAAoAlAQJSAAKAIsEBYgAEEANgJsDAQLIABBAToAGwsjAEEQayIBJAAgAUHYABAYIgU2AggCQCAFRQRAIAFBADYCDAwBCyABKAIIEFMgASABKAIINgIMCyABKAIMIQUgAUEQaiQAIAUhASAAKAJQKAIAIAApA0CnQQR0aiABNgIAAkAgAQRAIAAgACgCUCgCACAAKQNAp0EEdGooAgAgACgCaCgCACAAKAIsQQAgACgCVBCMASIJNwMQIAlCAFkNAQsCQCAALQAbQQFxRQ0AIwBBEGsiASAAKAJUNgIMIAEoAgwoAgBBE0cNACAAKAJUQRVBABAUCyAAKAJQECUgACgCLBAWIABBADYCbAwDCyAAIAApA0BCAXw3A0AgACAAKQM4IAApAxB9NwM4DAELCwJAIAApA0AgACgCUCkDCFEEQCAAKQM4UA0BCyAAKAJUQRVBABAUIAAoAiwQFiAAKAJQECUgAEEANgJsDAELIAAoAmgoAgRBBHEEQAJAIAAoAiwEQCAAIAAoAiwQR0EBcToADwwBCyAAIAAoAmgoAgAQSTcDACAAKQMAQgBTBEAgACgCVCAAKAJoKAIAEBcgACgCUBAlIABBADYCbAwDCyAAIAApAwAgACgCUCkDICAAKAJQKQMYfFE6AA8LIAAtAA9BAXFFBEAgACgCVEEVQQAQFCAAKAIsEBYgACgCUBAlIABBADYCbAwCCwsgACgCLBAWIAAgACgCUDYCbAsgACgCbCEBIABB8ABqJAAgAiABNgJIIAEEQAJAIAIoAkwEQCACKQMgQgBXBEAgAiACKAJYIAIoAkwgAkEQahBoNwMgCyACIAIoAlggAigCSCACQRBqEGg3AygCQCACKQMgIAIpAyhTBEAgAigCTBAlIAIgAigCSDYCTCACIAIpAyg3AyAMAQsgAigCSBAlCwwBCyACIAIoAkg2AkwCQCACKAJYKAIEQQRxBEAgAiACKAJYIAIoAkwgAkEQahBoNwMgDAELIAJCADcDIAsLIAJBADYCSAsgAiACKAJEQQFqNgJEIAIoAgwgAigCRAJ/IwBBEGsiACACKAIMNgIMIAAoAgwoAgQLa6wQLBoMAQsLIAIoAgwQFiACKQMgQgBTBEAgAigCWEEIaiACQRBqEEUgAigCTBAlIAJBADYCXAwBCyACIAIoAkw2AlwLIAIoAlwhACACQeAAaiQAIAMgADYCWCAARQRAIAMoAmAgAygCXEEIahBFIwBBEGsiACADKAJoNgIMIAAoAgwiACAAKAIwQQFqNgIwIAMoAlwQPCADQQA2AmwMAQsgAygCXCADKAJYKAIANgJAIAMoAlwgAygCWCkDCDcDMCADKAJcIAMoAlgpAxA3AzggAygCXCADKAJYKAIoNgIgIAMoAlgQFSADKAJcKAJQIQAgAygCXCkDMCEJIAMoAlxBCGohAiMAQSBrIgEkACABIAA2AhggASAJNwMQIAEgAjYCDAJAIAEpAxBQBEAgAUEBOgAfDAELIwBBIGsiACABKQMQNwMQIAAgACkDELpEAAAAAAAA6D+jOQMIAkAgACsDCEQAAOD////vQWQEQCAAQX82AgQMAQsgAAJ/IAArAwgiCkQAAAAAAADwQWMgCkQAAAAAAAAAAGZxBEAgCqsMAQtBAAs2AgQLAkAgACgCBEGAgICAeEsEQCAAQYCAgIB4NgIcDAELIAAgACgCBEEBazYCBCAAIAAoAgQgACgCBEEBdnI2AgQgACAAKAIEIAAoAgRBAnZyNgIEIAAgACgCBCAAKAIEQQR2cjYCBCAAIAAoAgQgACgCBEEIdnI2AgQgACAAKAIEIAAoAgRBEHZyNgIEIAAgACgCBEEBajYCBCAAIAAoAgQ2AhwLIAEgACgCHDYCCCABKAIIIAEoAhgoAgBNBEAgAUEBOgAfDAELIAEoAhggASgCCCABKAIMEFpBAXFFBEAgAUEAOgAfDAELIAFBAToAHwsgAS0AHxogAUEgaiQAIANCADcDEANAIAMpAxAgAygCXCkDMFQEQCADIAMoAlwoAkAgAykDEKdBBHRqKAIAKAIwQQBBACADKAJgEEY2AgwgAygCDEUEQCMAQRBrIgAgAygCaDYCDCAAKAIMIgAgACgCMEEBajYCMCADKAJcEDwgA0EANgJsDAMLIAMoAlwoAlAgAygCDCADKQMQQQggAygCXEEIahB0QQFxRQRAAkAgAygCXCgCCEEKRgRAIAMoAmRBBHFFDQELIAMoAmAgAygCXEEIahBFIwBBEGsiACADKAJoNgIMIAAoAgwiACAAKAIwQQFqNgIwIAMoAlwQPCADQQA2AmwMBAsLIAMgAykDEEIBfDcDEAwBCwsgAygCXCADKAJcKAIUNgIYIAMgAygCXDYCbAsgAygCbCEAIANB8ABqJAAgBCAANgI4CyAEKAI4RQRAIAQoAlgQLxogBEEANgJcDAELIAQgBCgCODYCXAsgBCgCXCEAIARB4ABqJAAgAAuOAQEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAJBADYCBCACKAIIBEAjAEEQayIAIAIoAgg2AgwgAiAAKAIMKAIANgIEIAIoAggQrAFBAUYEQCMAQRBrIgAgAigCCDYCDEG0mwEgACgCDCgCBDYCAAsLIAIoAgwEQCACKAIMIAIoAgQ2AgALIAJBEGokAAuVAQEBfyMAQRBrIgEkACABIAA2AggCQAJ/IwBBEGsiACABKAIINgIMIAAoAgwpAxhCgIAQg1ALBEAgASgCCCgCAARAIAEgASgCCCgCABCeAUEBcToADwwCCyABQQE6AA8MAQsgASABKAIIQQBCAEESECA+AgQgASABKAIEQQBHOgAPCyABLQAPQQFxIQAgAUEQaiQAIAALfwEBfyMAQSBrIgMkACADIAA2AhggAyABNwMQIANBADYCDCADIAI2AggCQCADKQMQQv///////////wBWBEAgAygCCEEEQT0QFCADQX82AhwMAQsgAyADKAIYIAMpAxAgAygCDCADKAIIEGo2AhwLIAMoAhwhACADQSBqJAAgAAt9ACACQQFGBEAgASAAKAIIIAAoAgRrrH0hAQsCQCAAKAIUIAAoAhxLBEAgAEEAQQAgACgCJBEBABogACgCFEUNAQsgAEEANgIcIABCADcDECAAIAEgAiAAKAIoEQ8AQgBTDQAgAEIANwIEIAAgACgCAEFvcTYCAEEADwtBfwvhAgECfyMAQSBrIgMkAAJ/AkACQEGnEiABLAAAEKIBRQRAQbSbAUEcNgIADAELQZgJEBgiAg0BC0EADAELIAJBAEGQARAzIAFBKxCiAUUEQCACQQhBBCABLQAAQfIARhs2AgALAkAgAS0AAEHhAEcEQCACKAIAIQEMAQsgAEEDQQAQBCIBQYAIcUUEQCADIAFBgAhyNgIQIABBBCADQRBqEAQaCyACIAIoAgBBgAFyIgE2AgALIAJB/wE6AEsgAkGACDYCMCACIAA2AjwgAiACQZgBajYCLAJAIAFBCHENACADIANBGGo2AgAgAEGTqAEgAxAODQAgAkEKOgBLCyACQRo2AiggAkEbNgIkIAJBHDYCICACQR02AgxB6J8BKAIARQRAIAJBfzYCTAsgAkGsoAEoAgA2AjhBrKABKAIAIgAEQCAAIAI2AjQLQaygASACNgIAIAILIQAgA0EgaiQAIAAL8AEBAn8CfwJAIAFB/wFxIgMEQCAAQQNxBEADQCAALQAAIgJFDQMgAiABQf8BcUYNAyAAQQFqIgBBA3ENAAsLAkAgACgCACICQX9zIAJBgYKECGtxQYCBgoR4cQ0AIANBgYKECGwhAwNAIAIgA3MiAkF/cyACQYGChAhrcUGAgYKEeHENASAAKAIEIQIgAEEEaiEAIAJBgYKECGsgAkF/c3FBgIGChHhxRQ0ACwsDQCAAIgItAAAiAwRAIAJBAWohACADIAFB/wFxRw0BCwsgAgwCCyAAEC4gAGoMAQsgAAsiAEEAIAAtAAAgAUH/AXFGGwsYACAAKAJMQX9MBEAgABCkAQ8LIAAQpAELYAIBfgJ/IAAoAighAkEBIQMgAEIAIAAtAABBgAFxBH9BAkEBIAAoAhQgACgCHEsbBUEBCyACEQ8AIgFCAFkEfiAAKAIUIAAoAhxrrCABIAAoAgggACgCBGusfXwFIAELC2sBAX8gAARAIAAoAkxBf0wEQCAAEG4PCyAAEG4PC0GwoAEoAgAEQEGwoAEoAgAQpQEhAQtBrKABKAIAIgAEQANAIAAoAkwaIAAoAhQgACgCHEsEQCAAEG4gAXIhAQsgACgCOCIADQALCyABCyIAIAAgARACIgBBgWBPBH9BtJsBQQAgAGs2AgBBfwUgAAsLUwEDfwJAIAAoAgAsAABBMGtBCk8NAANAIAAoAgAiAiwAACEDIAAgAkEBajYCACABIANqQTBrIQEgAiwAAUEwa0EKTw0BIAFBCmwhAQwACwALIAELuwIAAkAgAUEUSw0AAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4KAAECAwQFBgcICQoLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASsDADkDAA8LIAAgAkEYEQQACwt/AgF/AX4gAL0iA0I0iKdB/w9xIgJB/w9HBHwgAkUEQCABIABEAAAAAAAAAABhBH9BAAUgAEQAAAAAAADwQ6IgARCpASEAIAEoAgBBQGoLNgIAIAAPCyABIAJB/gdrNgIAIANC/////////4eAf4NCgICAgICAgPA/hL8FIAALC5sCACAARQRAQQAPCwJ/AkAgAAR/IAFB/wBNDQECQEGQmQEoAgAoAgBFBEAgAUGAf3FBgL8DRg0DDAELIAFB/w9NBEAgACABQT9xQYABcjoAASAAIAFBBnZBwAFyOgAAQQIMBAsgAUGAsANPQQAgAUGAQHFBgMADRxtFBEAgACABQT9xQYABcjoAAiAAIAFBDHZB4AFyOgAAIAAgAUEGdkE/cUGAAXI6AAFBAwwECyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBAwECwtBtJsBQRk2AgBBfwVBAQsMAQsgACABOgAAQQELC+MBAQJ/IAJBAEchAwJAAkACQCAAQQNxRQ0AIAJFDQAgAUH/AXEhBANAIAAtAAAgBEYNAiACQQFrIgJBAEchAyAAQQFqIgBBA3FFDQEgAg0ACwsgA0UNAQsCQCAALQAAIAFB/wFxRg0AIAJBBEkNACABQf8BcUGBgoQIbCEDA0AgACgCACADcyIEQX9zIARBgYKECGtxQYCBgoR4cQ0BIABBBGohACACQQRrIgJBA0sNAAsLIAJFDQAgAUH/AXEhAQNAIAEgAC0AAEYEQCAADwsgAEEBaiEAIAJBAWsiAg0ACwtBAAtaAQF/IwBBEGsiASAANgIIAkACQCABKAIIKAIAQQBOBEAgASgCCCgCAEGAFCgCAEgNAQsgAUEANgIMDAELIAEgASgCCCgCAEECdEGQFGooAgA2AgwLIAEoAgwL+QIBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIIAQgBCgCGCAEKAIYIAQpAxAgBCgCDCAEKAIIEK4BIgA2AgACQCAARQRAIARBADYCHAwBCyAEKAIAEEhBAEgEQCAEKAIYQQhqIAQoAgAQFyAEKAIAEBsgBEEANgIcDAELIAQoAhghAiMAQRBrIgAkACAAIAI2AgggAEEYEBgiAjYCBAJAIAJFBEAgACgCCEEIakEOQQAQFCAAQQA2AgwMAQsgACgCBCAAKAIINgIAIwBBEGsiAiAAKAIEQQRqNgIMIAIoAgxBADYCACACKAIMQQA2AgQgAigCDEEANgIIIAAoAgRBADoAECAAKAIEQQA2AhQgACAAKAIENgIMCyAAKAIMIQIgAEEQaiQAIAQgAjYCBCACRQRAIAQoAgAQGyAEQQA2AhwMAQsgBCgCBCAEKAIANgIUIAQgBCgCBDYCHAsgBCgCHCEAIARBIGokACAAC7cOAgN/AX4jAEHAAWsiBSQAIAUgADYCuAEgBSABNgK0ASAFIAI3A6gBIAUgAzYCpAEgBUIANwOYASAFQgA3A5ABIAUgBDYCjAECQCAFKAK4AUUEQCAFQQA2ArwBDAELAkAgBSgCtAEEQCAFKQOoASAFKAK0ASkDMFQNAQsgBSgCuAFBCGpBEkEAEBQgBUEANgK8AQwBCwJAIAUoAqQBQQhxDQAgBSgCtAEoAkAgBSkDqAGnQQR0aigCCEUEQCAFKAK0ASgCQCAFKQOoAadBBHRqLQAMQQFxRQ0BCyAFKAK4AUEIakEPQQAQFCAFQQA2ArwBDAELIAUoArQBIAUpA6gBIAUoAqQBQQhyIAVByABqEH5BAEgEQCAFKAK4AUEIakEUQQAQFCAFQQA2ArwBDAELIAUoAqQBQSBxBEAgBSAFKAKkAUEEcjYCpAELAkAgBSkDmAFQBEAgBSkDkAFQDQELIAUoAqQBQQRxRQ0AIAUoArgBQQhqQRJBABAUIAVBADYCvAEMAQsCQCAFKQOYAVAEQCAFKQOQAVANAQsgBSkDmAEgBSkDmAEgBSkDkAF8WARAIAUpA2AgBSkDmAEgBSkDkAF8Wg0BCyAFKAK4AUEIakESQQAQFCAFQQA2ArwBDAELIAUpA5ABUARAIAUgBSkDYCAFKQOYAX03A5ABCyAFIAUpA5ABIAUpA2BUOgBHIAUgBSgCpAFBIHEEf0EABSAFLwF6QQBHC0EBcToARSAFIAUoAqQBQQRxBH9BAAUgBS8BeEEARwtBAXE6AEQgBQJ/IAUoAqQBQQRxBEBBACAFLwF4DQEaCyAFLQBHQX9zC0EBcToARiAFLQBFQQFxBEAgBSgCjAFFBEAgBSAFKAK4ASgCHDYCjAELIAUoAowBRQRAIAUoArgBQQhqQRpBABAUIAVBADYCvAEMAgsLIAUpA2hQBEAgBSAFKAK4AUEAQgBBABB9NgK8AQwBCwJAAkAgBS0AR0EBcUUNACAFLQBFQQFxDQAgBS0AREEBcQ0AIAUgBSkDkAE3AyAgBSAFKQOQATcDKCAFQQA7ATggBSAFKAJwNgIwIAVC3AA3AwggBSAFKAK0ASgCACAFKQOYASAFKQOQASAFQQhqQQAgBSgCtAEgBSkDqAEgBSgCuAFBCGoQXyIANgKIAQwBCyAFIAUoArQBIAUpA6gBIAUoAqQBIAUoArgBQQhqED8iADYCBCAARQRAIAVBADYCvAEMAgsgBSAFKAK0ASgCAEIAIAUpA2ggBUHIAGogBSgCBC8BDEEBdkEDcSAFKAK0ASAFKQOoASAFKAK4AUEIahBfIgA2AogBCyAARQRAIAVBADYCvAEMAQsCfyAFKAKIASEAIAUoArQBIQMjAEEQayIBJAAgASAANgIMIAEgAzYCCCABKAIMIAEoAgg2AiwgASgCCCEDIAEoAgwhBCMAQSBrIgAkACAAIAM2AhggACAENgIUAkAgACgCGCgCSCAAKAIYKAJEQQFqTQRAIAAgACgCGCgCSEEKajYCDCAAIAAoAhgoAkwgACgCDEECdBBONgIQIAAoAhBFBEAgACgCGEEIakEOQQAQFCAAQX82AhwMAgsgACgCGCAAKAIMNgJIIAAoAhggACgCEDYCTAsgACgCFCEEIAAoAhgoAkwhBiAAKAIYIgcoAkQhAyAHIANBAWo2AkQgA0ECdCAGaiAENgIAIABBADYCHAsgACgCHCEDIABBIGokACABQRBqJAAgA0EASAsEQCAFKAKIARAbIAVBADYCvAEMAQsgBS0ARUEBcQRAIAUgBS8BekEAEHsiADYCACAARQRAIAUoArgBQQhqQRhBABAUIAVBADYCvAEMAgsgBSAFKAK4ASAFKAKIASAFLwF6QQAgBSgCjAEgBSgCABEFADYChAEgBSgCiAEQGyAFKAKEAUUEQCAFQQA2ArwBDAILIAUgBSgChAE2AogBCyAFLQBEQQFxBEAgBSAFKAK4ASAFKAKIASAFLwF4ELABNgKEASAFKAKIARAbIAUoAoQBRQRAIAVBADYCvAEMAgsgBSAFKAKEATYCiAELIAUtAEZBAXEEQCAFIAUoArgBIAUoAogBQQEQrwE2AoQBIAUoAogBEBsgBSgChAFFBEAgBUEANgK8AQwCCyAFIAUoAoQBNgKIAQsCQCAFLQBHQQFxRQ0AIAUtAEVBAXFFBEAgBS0AREEBcUUNAQsgBSgCuAEhASAFKAKIASEDIAUpA5gBIQIgBSkDkAEhCCMAQSBrIgAkACAAIAE2AhwgACADNgIYIAAgAjcDECAAIAg3AwggACgCGCAAKQMQIAApAwhBAEEAQQBCACAAKAIcQQhqEF8hASAAQSBqJAAgBSABNgKEASAFKAKIARAbIAUoAoQBRQRAIAVBADYCvAEMAgsgBSAFKAKEATYCiAELIAUgBSgCiAE2ArwBCyAFKAK8ASEAIAVBwAFqJAAgAAuEAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCEAJAIAMoAhRFBEAgAygCGEEIakESQQAQFCADQQA2AhwMAQsgA0E4EBgiADYCDCAARQRAIAMoAhhBCGpBDkEAEBQgA0EANgIcDAELIwBBEGsiACADKAIMQQhqNgIMIAAoAgxBADYCACAAKAIMQQA2AgQgACgCDEEANgIIIAMoAgwgAygCEDYCACADKAIMQQA2AgQgAygCDEIANwMoQQBBAEEAEBohACADKAIMIAA2AjAgAygCDEIANwMYIAMgAygCGCADKAIUQRQgAygCDBBhNgIcCyADKAIcIQAgA0EgaiQAIAALQwEBfyMAQRBrIgMkACADIAA2AgwgAyABNgIIIAMgAjYCBCADKAIMIAMoAgggAygCBEEAQQAQsgEhACADQRBqJAAgAAtJAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDCgCrEAgASgCDCgCqEAoAgQRAgAgASgCDBA4IAEoAgwQFQsgAUEQaiQAC5QFAQF/IwBBMGsiBSQAIAUgADYCKCAFIAE2AiQgBSACNgIgIAUgAzoAHyAFIAQ2AhggBUEANgIMAkAgBSgCJEUEQCAFKAIoQQhqQRJBABAUIAVBADYCLAwBCyAFIAUoAiAgBS0AH0EBcRCzASIANgIMIABFBEAgBSgCKEEIakEQQQAQFCAFQQA2AiwMAQsgBSgCICEBIAUtAB9BAXEhAiAFKAIYIQMgBSgCDCEEIwBBIGsiACQAIAAgATYCGCAAIAI6ABcgACADNgIQIAAgBDYCDCAAQbDAABAYIgE2AggCQCABRQRAIABBADYCHAwBCyMAQRBrIgEgACgCCDYCDCABKAIMQQA2AgAgASgCDEEANgIEIAEoAgxBADYCCCAAKAIIAn8gAC0AF0EBcQRAIAAoAhhBf0cEfyAAKAIYQX5GBUEBC0EBcQwBC0EAC0EARzoADiAAKAIIIAAoAgw2AqhAIAAoAgggACgCGDYCFCAAKAIIIAAtABdBAXE6ABAgACgCCEEAOgAMIAAoAghBADoADSAAKAIIQQA6AA8gACgCCCgCqEAoAgAhAQJ/AkAgACgCGEF/RwRAIAAoAhhBfkcNAQtBCAwBCyAAKAIYC0H//wNxIAAoAhAgACgCCCABEQEAIQEgACgCCCABNgKsQCABRQRAIAAoAggQOCAAKAIIEBUgAEEANgIcDAELIAAgACgCCDYCHAsgACgCHCEBIABBIGokACAFIAE2AhQgAUUEQCAFKAIoQQhqQQ5BABAUIAVBADYCLAwBCyAFIAUoAiggBSgCJEETIAUoAhQQYSIANgIQIABFBEAgBSgCFBCxASAFQQA2AiwMAQsgBSAFKAIQNgIsCyAFKAIsIQAgBUEwaiQAIAALzAEBAX8jAEEgayICIAA2AhggAiABOgAXIAICfwJAIAIoAhhBf0cEQCACKAIYQX5HDQELQQgMAQsgAigCGAs7AQ4gAkEANgIQAkADQCACKAIQQdSXASgCAEkEQCACKAIQQQxsQdiXAWovAQAgAi8BDkYEQCACLQAXQQFxBEAgAiACKAIQQQxsQdiXAWooAgQ2AhwMBAsgAiACKAIQQQxsQdiXAWooAgg2AhwMAwUgAiACKAIQQQFqNgIQDAILAAsLIAJBADYCHAsgAigCHAvkAQEBfyMAQSBrIgMkACADIAA6ABsgAyABNgIUIAMgAjYCECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";Fu(So)||(So=h(So));function Nu(d){try{if(d==So&&W)return new Uint8Array(W);var E=ba(d);if(E)return E;if(m)return m(d);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(I){Sr(I)}}function Qh(d,E){var I,D,O;try{O=Nu(d),D=new WebAssembly.Module(O),I=new WebAssembly.Instance(D,E)}catch(ie){var V=ie.toString();throw x("failed to compile wasm module: "+V),(V.includes("imported Memory")||V.includes("memory import"))&&x("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),ie}return[I,D]}function vh(){var d={a:Qa};function E(O,V){var ie=O.exports;r.asm=ie,A=r.asm.u,mi(A.buffer),Qr=r.asm.pa,SA(r.asm.v),PA("wasm-instantiate")}if(xA("wasm-instantiate"),r.instantiateWasm)try{var I=r.instantiateWasm(d,E);return I}catch(O){return x("Module.instantiateWasm callback failed with error: "+O),!1}var D=Qh(So,d);return E(D[0]),r.asm}var oe,Oi;function ko(d){for(;d.length>0;){var E=d.shift();if(typeof E=="function"){E(r);continue}var I=E.func;typeof I=="number"?E.arg===void 0?Qr.get(I)():Qr.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function jn(d,E){var I=new Date(fe[d>>2]*1e3);fe[E>>2]=I.getUTCSeconds(),fe[E+4>>2]=I.getUTCMinutes(),fe[E+8>>2]=I.getUTCHours(),fe[E+12>>2]=I.getUTCDate(),fe[E+16>>2]=I.getUTCMonth(),fe[E+20>>2]=I.getUTCFullYear()-1900,fe[E+24>>2]=I.getUTCDay(),fe[E+36>>2]=0,fe[E+32>>2]=0;var D=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),O=(I.getTime()-D)/(1e3*60*60*24)|0;return fe[E+28>>2]=O,jn.GMTString||(jn.GMTString=Fe("GMT")),fe[E+40>>2]=jn.GMTString,E}function Lu(d,E){return jn(d,E)}var vt={splitPath:function(d){var E=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,D=d.length-1;D>=0;D--){var O=d[D];O==="."?d.splice(D,1):O===".."?(d.splice(D,1),I++):I&&(d.splice(D,1),I--)}if(E)for(;I;I--)d.unshift("..");return d},normalize:function(d){var E=d.charAt(0)==="/",I=d.substr(-1)==="/";return d=vt.normalizeArray(d.split("/").filter(function(D){return!!D}),!E).join("/"),!d&&!E&&(d="."),d&&I&&(d+="/"),(E?"/":"")+d},dirname:function(d){var E=vt.splitPath(d),I=E[0],D=E[1];return!I&&!D?".":(D&&(D=D.substr(0,D.length-1)),I+D)},basename:function(d){if(d==="/")return"/";d=vt.normalize(d),d=d.replace(/\/$/,"");var E=d.lastIndexOf("/");return E===-1?d:d.substr(E+1)},extname:function(d){return vt.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return vt.normalize(d.join("/"))},join2:function(d,E){return vt.normalize(d+"/"+E)}};function Gl(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=require("crypto");return function(){return E.randomBytes(1)[0]}}catch(I){}return function(){Sr("randomDevice")}}var Gn={resolve:function(){for(var d="",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var D=I>=0?arguments[I]:v.cwd();if(typeof D!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!D)return"";d=D+"/"+d,E=D.charAt(0)==="/"}return d=vt.normalizeArray(d.split("/").filter(function(O){return!!O}),!E).join("/"),(E?"/":"")+d||"."},relative:function(d,E){d=Gn.resolve(d).substr(1),E=Gn.resolve(E).substr(1);function I(_e){for(var ot=0;ot<_e.length&&_e[ot]==="";ot++);for(var wt=_e.length-1;wt>=0&&_e[wt]==="";wt--);return ot>wt?[]:_e.slice(ot,wt-ot+1)}for(var D=I(d.split("/")),O=I(E.split("/")),V=Math.min(D.length,O.length),ie=V,Be=0;Be0?E=D.slice(0,O).toString("utf-8"):E=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(E=window.prompt("Input: "),E!==null&&(E+=` +`)):typeof readline=="function"&&(E=readline(),E!==null&&(E+=` +`));if(!E)return null;d.input=RA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(S(qe(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(S(qe(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(x(qe(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(x(qe(d.output,0)),d.output=[])}}};function hs(d){for(var E=Y(d,65536),I=Et(E);d=E)){var D=1024*1024;E=Math.max(E,I*(I>>0),I!=0&&(E=Math.max(E,256));var O=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(O.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=v.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,v.isDir(d.mode)?E.size=4096:v.isFile(d.mode)?E.size=d.usedBytes:v.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&&pt.resizeFileStorage(d,E.size)},lookup:function(d,E){throw v.genericErrors[44]},mknod:function(d,E,I,D){return pt.createNode(d,E,I,D)},rename:function(d,E,I){if(v.isDir(d.mode)){var D;try{D=v.lookupNode(E,I)}catch(V){}if(D)for(var O in D.contents)throw new v.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=v.lookupNode(d,E);for(var D in I.contents)throw new v.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[".",".."];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var D=pt.createNode(d,E,511|40960,0);return D.link=I,D},readlink:function(d){if(!v.isLink(d.mode))throw new v.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,D,O){var V=d.node.contents;if(O>=d.node.usedBytes)return 0;var ie=Math.min(d.node.usedBytes-O,D);if(ie>8&&V.subarray)E.set(V.subarray(O,O+ie),I);else for(var Be=0;Be0||D+I>2)}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),vt.join.apply(null,E)},flagsForNode:function(d){d&=~2097152,d&=~2048,d&=~32768,d&=~524288;var E=0;for(var I in lt.flagsForNodeMap)d&I&&(E|=lt.flagsForNodeMap[I],d^=I);if(d)throw new v.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=lt.realPath(d),I;try{I=Oe.lstatSync(E)}catch(D){throw D.code?new v.ErrnoError(lt.convertNodeCode(D)):D}return lt.isWindows&&!I.blksize&&(I.blksize=4096),lt.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=lt.realPath(d);try{if(E.mode!==void 0&&(Oe.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var D=new Date(E.timestamp);Oe.utimesSync(I,D,D)}E.size!==void 0&&Oe.truncateSync(I,E.size)}catch(O){throw O.code?new v.ErrnoError(lt.convertNodeCode(O)):O}},lookup:function(d,E){var I=vt.join2(lt.realPath(d),E),D=lt.getMode(I);return lt.createNode(d,E,D)},mknod:function(d,E,I,D){var O=lt.createNode(d,E,I,D),V=lt.realPath(O);try{v.isDir(O.mode)?Oe.mkdirSync(V,O.mode):Oe.writeFileSync(V,"",{mode:O.mode})}catch(ie){throw ie.code?new v.ErrnoError(lt.convertNodeCode(ie)):ie}return O},rename:function(d,E,I){var D=lt.realPath(d),O=vt.join2(lt.realPath(E),I);try{Oe.renameSync(D,O)}catch(V){throw V.code?new v.ErrnoError(lt.convertNodeCode(V)):V}d.name=I},unlink:function(d,E){var I=vt.join2(lt.realPath(d),E);try{Oe.unlinkSync(I)}catch(D){throw D.code?new v.ErrnoError(lt.convertNodeCode(D)):D}},rmdir:function(d,E){var I=vt.join2(lt.realPath(d),E);try{Oe.rmdirSync(I)}catch(D){throw D.code?new v.ErrnoError(lt.convertNodeCode(D)):D}},readdir:function(d){var E=lt.realPath(d);try{return Oe.readdirSync(E)}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}},symlink:function(d,E,I){var D=vt.join2(lt.realPath(d),E);try{Oe.symlinkSync(I,D)}catch(O){throw O.code?new v.ErrnoError(lt.convertNodeCode(O)):O}},readlink:function(d){var E=lt.realPath(d);try{return E=Oe.readlinkSync(E),E=Mu.relative(Mu.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=lt.realPath(d.node);try{v.isFile(d.node.mode)&&(d.nfd=Oe.openSync(E,lt.flagsForNode(d.flags)))}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}},close:function(d){try{v.isFile(d.node.mode)&&d.nfd&&Oe.closeSync(d.nfd)}catch(E){throw E.code?new v.ErrnoError(lt.convertNodeCode(E)):E}},read:function(d,E,I,D,O){if(D===0)return 0;try{return Oe.readSync(d.nfd,lt.bufferFrom(E.buffer),I,D,O)}catch(V){throw new v.ErrnoError(lt.convertNodeCode(V))}},write:function(d,E,I,D,O){try{return Oe.writeSync(d.nfd,lt.bufferFrom(E.buffer),I,D,O)}catch(V){throw new v.ErrnoError(lt.convertNodeCode(V))}},llseek:function(d,E,I){var D=E;if(I===1)D+=d.position;else if(I===2&&v.isFile(d.node.mode))try{var O=Oe.fstatSync(d.nfd);D+=O.size}catch(V){throw new v.ErrnoError(lt.convertNodeCode(V))}if(D<0)throw new v.ErrnoError(28);return D},mmap:function(d,E,I,D,O,V){if(E!==0)throw new v.ErrnoError(28);if(!v.isFile(d.node.mode))throw new v.ErrnoError(43);var ie=hs(I);return lt.stream_ops.read(d,pe,ie,I,D),{ptr:ie,allocated:!0}},msync:function(d,E,I,D,O){if(!v.isFile(d.node.mode))throw new v.ErrnoError(43);if(O&2)return 0;var V=lt.stream_ops.write(d,E,0,D,I,!1);return 0}}},mn={lookupPath:function(d){return{path:d,node:{mode:lt.getMode(d)}}},createStandardStreams:function(){v.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)v.streams[d]={fd:d,nfd:d,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){v.isDir(d)?Oe.mkdirSync(d,E):Oe.writeFileSync(d,"",{mode:E})},mkdir:function(){Oe.mkdirSync.apply(void 0,arguments)},symlink:function(){Oe.symlinkSync.apply(void 0,arguments)},rename:function(){Oe.renameSync.apply(void 0,arguments)},rmdir:function(){Oe.rmdirSync.apply(void 0,arguments)},readdir:function(){Oe.readdirSync.apply(void 0,arguments)},unlink:function(){Oe.unlinkSync.apply(void 0,arguments)},readlink:function(){return Oe.readlinkSync.apply(void 0,arguments)},stat:function(){return Oe.statSync.apply(void 0,arguments)},lstat:function(){return Oe.lstatSync.apply(void 0,arguments)},chmod:function(){Oe.chmodSync.apply(void 0,arguments)},fchmod:function(){Oe.fchmodSync.apply(void 0,arguments)},chown:function(){Oe.chownSync.apply(void 0,arguments)},fchown:function(){Oe.fchownSync.apply(void 0,arguments)},truncate:function(){Oe.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new v.ErrnoError(28);Oe.ftruncateSync.apply(void 0,arguments)},utime:function(){Oe.utimesSync.apply(void 0,arguments)},open:function(d,E,I,D){typeof E=="string"&&(E=Xs.modeStringToFlags(E));var O=Oe.openSync(d,lt.flagsForNode(E),I),V=D!=null?D:v.nextfd(O),ie={fd:V,nfd:O,position:0,path:d,flags:E,seekable:!0};return v.streams[V]=ie,ie},close:function(d){d.stream_ops||Oe.closeSync(d.nfd),v.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return Xs.llseek(d,E,I);var D=E;if(I===1)D+=d.position;else if(I===2)D+=Oe.fstatSync(d.nfd).size;else if(I!==0)throw new v.ErrnoError(xo.EINVAL);if(D<0)throw new v.ErrnoError(xo.EINVAL);return d.position=D,D},read:function(d,E,I,D,O){if(d.stream_ops)return Xs.read(d,E,I,D,O);var V=typeof O!="undefined";!V&&d.seekable&&(O=d.position);var ie=Oe.readSync(d.nfd,lt.bufferFrom(E.buffer),I,D,O);return V||(d.position+=ie),ie},write:function(d,E,I,D,O){if(d.stream_ops)return Xs.write(d,E,I,D,O);d.flags&+"1024"&&v.llseek(d,0,+"2");var V=typeof O!="undefined";!V&&d.seekable&&(O=d.position);var ie=Oe.writeSync(d.nfd,lt.bufferFrom(E.buffer),I,D,O);return V||(d.position+=ie),ie},allocate:function(){throw new v.ErrnoError(xo.EOPNOTSUPP)},mmap:function(d,E,I,D,O,V){if(d.stream_ops)return Xs.mmap(d,E,I,D,O,V);if(E!==0)throw new v.ErrnoError(28);var ie=hs(I);return v.read(d,pe,ie,I,D),{ptr:ie,allocated:!0}},msync:function(d,E,I,D,O){return d.stream_ops?Xs.msync(d,E,I,D,O):(O&2||v.write(d,E,0,D,I),0)},munmap:function(){return 0},ioctl:function(){throw new v.ErrnoError(xo.ENOTTY)}},v={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=Gn.resolve(v.cwd(),d),E=E||{},!d)return{path:"",node:null};var I={follow_mount:!0,recurse_count:0};for(var D in I)E[D]===void 0&&(E[D]=I[D]);if(E.recurse_count>8)throw new v.ErrnoError(32);for(var O=vt.normalizeArray(d.split("/").filter(function(ut){return!!ut}),!1),V=v.root,ie="/",Be=0;Be40)throw new v.ErrnoError(32)}}return{path:ie,node:V}},getPath:function(d){for(var E;;){if(v.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!=="/"?I+"/"+E:I+E:I}E=E?d.name+"/"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,D=0;D>>0)%v.nameTable.length},hashAddNode:function(d){var E=v.hashName(d.parent.id,d.name);d.name_next=v.nameTable[E],v.nameTable[E]=d},hashRemoveNode:function(d){var E=v.hashName(d.parent.id,d.name);if(v.nameTable[E]===d)v.nameTable[E]=d.name_next;else for(var I=v.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=v.mayLookup(d);if(I)throw new v.ErrnoError(I,d);for(var D=v.hashName(d.id,E),O=v.nameTable[D];O;O=O.name_next){var V=O.name;if(O.parent.id===d.id&&V===E)return O}return v.lookup(d,E)},createNode:function(d,E,I,D){var O=new v.FSNode(d,E,I,D);return v.hashAddNode(O),O},destroyNode:function(d){v.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)==32768},isDir:function(d){return(d&61440)==16384},isLink:function(d){return(d&61440)==40960},isChrdev:function(d){return(d&61440)==8192},isBlkdev:function(d){return(d&61440)==24576},isFIFO:function(d){return(d&61440)==4096},isSocket:function(d){return(d&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(d){var E=v.flagModes[d];if(typeof E=="undefined")throw new Error("Unknown file open mode: "+d);return E},flagsToPermissionString:function(d){var E=["r","w","rw"][d&3];return d&512&&(E+="w"),E},nodePermissions:function(d,E){return v.ignorePermissions?0:E.includes("r")&&!(d.mode&292)||E.includes("w")&&!(d.mode&146)||E.includes("x")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=v.nodePermissions(d,"x");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=v.lookupNode(d,E);return 20}catch(D){}return v.nodePermissions(d,"wx")},mayDelete:function(d,E,I){var D;try{D=v.lookupNode(d,E)}catch(V){return V.errno}var O=v.nodePermissions(d,"wx");if(O)return O;if(I){if(!v.isDir(D.mode))return 54;if(v.isRoot(D)||v.getPath(D)===v.cwd())return 10}else if(v.isDir(D.mode))return 31;return 0},mayOpen:function(d,E){return d?v.isLink(d.mode)?32:v.isDir(d.mode)&&(v.flagsToPermissionString(E)!=="r"||E&512)?31:v.nodePermissions(d,v.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||v.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!v.streams[I])return I;throw new v.ErrnoError(33)},getStream:function(d){return v.streams[d]},createStream:function(d,E,I){v.FSStream||(v.FSStream=function(){},v.FSStream.prototype={object:{get:function(){return this.node},set:function(ie){this.node=ie}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var D=new v.FSStream;for(var O in d)D[O]=d[O];d=D;var V=v.nextfd(E,I);return d.fd=V,v.streams[V]=d,d},closeStream:function(d){v.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=v.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new v.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){v.devices[d]={stream_ops:E}},getDevice:function(d){return v.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var D=I.pop();E.push(D),I.push.apply(I,D.mounts)}return E},syncfs:function(d,E){typeof d=="function"&&(E=d,d=!1),v.syncFSRequests++,v.syncFSRequests>1&&x("warning: "+v.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var I=v.getMounts(v.root.mount),D=0;function O(ie){return v.syncFSRequests--,E(ie)}function V(ie){if(ie)return V.errored?void 0:(V.errored=!0,O(ie));++D>=I.length&&O(null)}I.forEach(function(ie){if(!ie.type.syncfs)return V(null);ie.type.syncfs(ie,d,V)})},mount:function(d,E,I){var D=I==="/",O=!I,V;if(D&&v.root)throw new v.ErrnoError(10);if(!D&&!O){var ie=v.lookupPath(I,{follow_mount:!1});if(I=ie.path,V=ie.node,v.isMountpoint(V))throw new v.ErrnoError(10);if(!v.isDir(V.mode))throw new v.ErrnoError(54)}var Be={type:d,opts:E,mountpoint:I,mounts:[]},Ce=d.mount(Be);return Ce.mount=Be,Be.root=Ce,D?v.root=Ce:V&&(V.mounted=Be,V.mount&&V.mount.mounts.push(Be)),Ce},unmount:function(d){var E=v.lookupPath(d,{follow_mount:!1});if(!v.isMountpoint(E.node))throw new v.ErrnoError(28);var I=E.node,D=I.mounted,O=v.getMounts(D);Object.keys(v.nameTable).forEach(function(ie){for(var Be=v.nameTable[ie];Be;){var Ce=Be.name_next;O.includes(Be.mount)&&v.destroyNode(Be),Be=Ce}}),I.mounted=null;var V=I.mount.mounts.indexOf(D);I.mount.mounts.splice(V,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var D=v.lookupPath(d,{parent:!0}),O=D.node,V=vt.basename(d);if(!V||V==="."||V==="..")throw new v.ErrnoError(28);var ie=v.mayCreate(O,V);if(ie)throw new v.ErrnoError(ie);if(!O.node_ops.mknod)throw new v.ErrnoError(63);return O.node_ops.mknod(O,V,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,v.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=511|512,E|=16384,v.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split("/"),D="",O=0;Othis.length-1||ut<0)){var nt=ut%this.chunkSize,It=ut/this.chunkSize|0;return this.getter(It)[nt]}},V.prototype.setDataGetter=function(ut){this.getter=ut},V.prototype.cacheLength=function(){var ut=new XMLHttpRequest;if(ut.open("HEAD",I,!1),ut.send(null),!(ut.status>=200&&ut.status<300||ut.status===304))throw new Error("Couldn't load "+I+". Status: "+ut.status);var nt=Number(ut.getResponseHeader("Content-length")),It,ke=(It=ut.getResponseHeader("Accept-Ranges"))&&It==="bytes",Jn=(It=ut.getResponseHeader("Content-Encoding"))&&It==="gzip",Mi=1024*1024;ke||(Mi=nt);var OA=function(ps,va){if(ps>va)throw new Error("invalid range ("+ps+", "+va+") or no bytes requested!");if(va>nt-1)throw new Error("only "+nt+" bytes available! programmer error!");var Yr=new XMLHttpRequest;if(Yr.open("GET",I,!1),nt!==Mi&&Yr.setRequestHeader("Range","bytes="+ps+"-"+va),typeof Uint8Array!="undefined"&&(Yr.responseType="arraybuffer"),Yr.overrideMimeType&&Yr.overrideMimeType("text/plain; charset=x-user-defined"),Yr.send(null),!(Yr.status>=200&&Yr.status<300||Yr.status===304))throw new Error("Couldn't load "+I+". Status: "+Yr.status);return Yr.response!==void 0?new Uint8Array(Yr.response||[]):RA(Yr.responseText||"",!0)},Gr=this;Gr.setDataGetter(function(ps){var va=ps*Mi,Yr=(ps+1)*Mi-1;if(Yr=Math.min(Yr,nt-1),typeof Gr.chunks[ps]=="undefined"&&(Gr.chunks[ps]=OA(va,Yr)),typeof Gr.chunks[ps]=="undefined")throw new Error("doXHR failed!");return Gr.chunks[ps]}),(Jn||!nt)&&(Mi=nt=1,nt=this.getter(0).length,Mi=nt,S("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=nt,this._chunkSize=Mi,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var ie=new V;Object.defineProperties(ie,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var Be={isDevice:!1,contents:ie}}else var Be={isDevice:!1,url:I};var Ce=v.createFile(d,E,Be,D,O);Be.contents?Ce.contents=Be.contents:Be.url&&(Ce.contents=null,Ce.url=Be.url),Object.defineProperties(Ce,{usedBytes:{get:function(){return this.contents.length}}});var _e={},ot=Object.keys(Ce.stream_ops);return ot.forEach(function(wt){var ut=Ce.stream_ops[wt];_e[wt]=function(){return v.forceLoadFile(Ce),ut.apply(null,arguments)}}),_e.read=function(ut,nt,It,ke,Jn){v.forceLoadFile(Ce);var Mi=ut.node.contents;if(Jn>=Mi.length)return 0;var OA=Math.min(Mi.length-Jn,ke);if(Mi.slice)for(var Gr=0;Gr>2]=D.dev,fe[I+4>>2]=0,fe[I+8>>2]=D.ino,fe[I+12>>2]=D.mode,fe[I+16>>2]=D.nlink,fe[I+20>>2]=D.uid,fe[I+24>>2]=D.gid,fe[I+28>>2]=D.rdev,fe[I+32>>2]=0,Oi=[D.size>>>0,(oe=D.size,+Math.abs(oe)>=1?oe>0?(Math.min(+Math.floor(oe/4294967296),4294967295)|0)>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],fe[I+40>>2]=Oi[0],fe[I+44>>2]=Oi[1],fe[I+48>>2]=4096,fe[I+52>>2]=D.blocks,fe[I+56>>2]=D.atime.getTime()/1e3|0,fe[I+60>>2]=0,fe[I+64>>2]=D.mtime.getTime()/1e3|0,fe[I+68>>2]=0,fe[I+72>>2]=D.ctime.getTime()/1e3|0,fe[I+76>>2]=0,Oi=[D.ino>>>0,(oe=D.ino,+Math.abs(oe)>=1?oe>0?(Math.min(+Math.floor(oe/4294967296),4294967295)|0)>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],fe[I+80>>2]=Oi[0],fe[I+84>>2]=Oi[1],0},doMsync:function(d,E,I,D,O){var V=X.slice(d,d+I);v.msync(E,V,O,I,D)},doMkdir:function(d,E){return d=vt.normalize(d),d[d.length-1]==="/"&&(d=d.substr(0,d.length-1)),v.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return v.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var D=v.readlink(d),O=Math.min(I,he(D)),V=pe[E+O];return Qe(D,E,I+1),pe[E+O]=V,O},doAccess:function(d,E){if(E&~7)return-28;var I,D=v.lookupPath(d,{follow:!0});if(I=D.node,!I)return-44;var O="";return E&4&&(O+="r"),E&2&&(O+="w"),E&1&&(O+="x"),O&&v.nodePermissions(I,O)?-2:0},doDup:function(d,E,I){var D=v.getStream(I);return D&&v.close(D),v.open(d,E,0,I,I).fd},doReadv:function(d,E,I,D){for(var O=0,V=0;V>2],Be=fe[E+(V*8+4)>>2],Ce=v.read(d,pe,ie,Be,D);if(Ce<0)return-1;if(O+=Ce,Ce>2],Be=fe[E+(V*8+4)>>2],Ce=v.write(d,pe,ie,Be,D);if(Ce<0)return-1;O+=Ce}return O},varargs:void 0,get:function(){Tt.varargs+=4;var d=fe[Tt.varargs-4>>2];return d},getStr:function(d){var E=re(d);return E},getStreamFromFD:function(d){var E=v.getStream(d);if(!E)throw new v.ErrnoError(8);return E},get64:function(d,E){return d}};function Tu(d,E){try{return d=Tt.getStr(d),v.chmod(d,E),0}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),-I.errno}}function Yl(d){return fe[Rt()>>2]=d,d}function Sh(d,E,I){Tt.varargs=I;try{var D=Tt.getStreamFromFD(d);switch(E){case 0:{var O=Tt.get();if(O<0)return-28;var V;return V=v.open(D.path,D.flags,0,O),V.fd}case 1:case 2:return 0;case 3:return D.flags;case 4:{var O=Tt.get();return D.flags|=O,0}case 12:{var O=Tt.get(),ie=0;return be[O+ie>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Yl(28),-1;default:return-28}}catch(Be){return(typeof v=="undefined"||!(Be instanceof v.ErrnoError))&&Sr(Be),-Be.errno}}function kh(d,E){try{var I=Tt.getStreamFromFD(d);return Tt.doStat(v.stat,I.path,E)}catch(D){return(typeof v=="undefined"||!(D instanceof v.ErrnoError))&&Sr(D),-D.errno}}function xh(d,E,I){Tt.varargs=I;try{var D=Tt.getStreamFromFD(d);switch(E){case 21509:case 21505:return D.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return D.tty?0:-59;case 21519:{if(!D.tty)return-59;var O=Tt.get();return fe[O>>2]=0,0}case 21520:return D.tty?-28:-59;case 21531:{var O=Tt.get();return v.ioctl(D,E,O)}case 21523:return D.tty?0:-59;case 21524:return D.tty?0:-59;default:Sr("bad ioctl syscall "+E)}}catch(V){return(typeof v=="undefined"||!(V instanceof v.ErrnoError))&&Sr(V),-V.errno}}function Ph(d,E,I){Tt.varargs=I;try{var D=Tt.getStr(d),O=I?Tt.get():0,V=v.open(D,E,O);return V.fd}catch(ie){return(typeof v=="undefined"||!(ie instanceof v.ErrnoError))&&Sr(ie),-ie.errno}}function Dh(d,E){try{return d=Tt.getStr(d),E=Tt.getStr(E),v.rename(d,E),0}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),-I.errno}}function G(d){try{return d=Tt.getStr(d),v.rmdir(d),0}catch(E){return(typeof v=="undefined"||!(E instanceof v.ErrnoError))&&Sr(E),-E.errno}}function yt(d,E){try{return d=Tt.getStr(d),Tt.doStat(v.stat,d,E)}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),-I.errno}}function DA(d){try{return d=Tt.getStr(d),v.unlink(d),0}catch(E){return(typeof v=="undefined"||!(E instanceof v.ErrnoError))&&Sr(E),-E.errno}}function $i(d,E,I){X.copyWithin(d,E,E+I)}function ql(d){try{return A.grow(d-ve.byteLength+65535>>>16),mi(A.buffer),1}catch(E){}}function $e(d){var E=X.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var D=1;D<=4;D*=2){var O=E*(1+.2/D);O=Math.min(O,d+100663296);var V=Math.min(I,xe(Math.max(d,O),65536)),ie=ql(V);if(ie)return!0}return!1}function wa(d){try{var E=Tt.getStreamFromFD(d);return v.close(E),0}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),I.errno}}function Ou(d,E){try{var I=Tt.getStreamFromFD(d),D=I.tty?2:v.isDir(I.mode)?3:v.isLink(I.mode)?7:4;return pe[E>>0]=D,0}catch(O){return(typeof v=="undefined"||!(O instanceof v.ErrnoError))&&Sr(O),O.errno}}function SE(d,E,I,D){try{var O=Tt.getStreamFromFD(d),V=Tt.doReadv(O,E,I);return fe[D>>2]=V,0}catch(ie){return(typeof v=="undefined"||!(ie instanceof v.ErrnoError))&&Sr(ie),ie.errno}}function Rh(d,E,I,D,O){try{var V=Tt.getStreamFromFD(d),ie=4294967296,Be=I*ie+(E>>>0),Ce=9007199254740992;return Be<=-Ce||Be>=Ce?-61:(v.llseek(V,Be,D),Oi=[V.position>>>0,(oe=V.position,+Math.abs(oe)>=1?oe>0?(Math.min(+Math.floor(oe/4294967296),4294967295)|0)>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],fe[O>>2]=Oi[0],fe[O+4>>2]=Oi[1],V.getdents&&Be===0&&D===0&&(V.getdents=null),0)}catch(_e){return(typeof v=="undefined"||!(_e instanceof v.ErrnoError))&&Sr(_e),_e.errno}}function kE(d,E,I,D){try{var O=Tt.getStreamFromFD(d),V=Tt.doWritev(O,E,I);return fe[D>>2]=V,0}catch(ie){return(typeof v=="undefined"||!(ie instanceof v.ErrnoError))&&Sr(ie),ie.errno}}function gr(d){J(d)}function Yn(d){var E=Date.now()/1e3|0;return d&&(fe[d>>2]=E),E}function Jl(){if(Jl.called)return;Jl.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),D=E.getTimezoneOffset(),O=I.getTimezoneOffset(),V=Math.max(D,O);fe[iQ()>>2]=V*60,fe[rQ()>>2]=Number(D!=O);function ie(wt){var ut=wt.toTimeString().match(/\(([A-Za-z ]+)\)$/);return ut?ut[1]:"GMT"}var Be=ie(E),Ce=ie(I),_e=Fe(Be),ot=Fe(Ce);O>2]=_e,fe[Yu()+4>>2]=ot):(fe[Yu()>>2]=ot,fe[Yu()+4>>2]=_e)}function Fh(d){Jl();var E=Date.UTC(fe[d+20>>2]+1900,fe[d+16>>2],fe[d+12>>2],fe[d+8>>2],fe[d+4>>2],fe[d>>2],0),I=new Date(E);fe[d+24>>2]=I.getUTCDay();var D=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),O=(I.getTime()-D)/(1e3*60*60*24)|0;return fe[d+28>>2]=O,I.getTime()/1e3|0}var Vs=function(d,E,I,D){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=v.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=D},Ba=292|73,En=146;if(Object.defineProperties(Vs.prototype,{read:{get:function(){return(this.mode&Ba)===Ba},set:function(d){d?this.mode|=Ba:this.mode&=~Ba}},write:{get:function(){return(this.mode&En)===En},set:function(d){d?this.mode|=En:this.mode&=~En}},isFolder:{get:function(){return v.isDir(this.mode)}},isDevice:{get:function(){return v.isChrdev(this.mode)}}}),v.FSNode=Vs,v.staticInit(),g){var Oe=W_,Mu=require("path");lt.staticInit()}if(g){var Wl=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new v.ErrnoError(xo[E.code]):E}}},Xs=Object.assign({},v);for(var zl in mn)v[zl]=Wl(mn[zl])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");function RA(d,E,I){var D=I>0?I:he(d)+1,O=new Array(D),V=se(d,O,0,O.length);return E&&(O.length=V),O}var Uu=typeof atob=="function"?atob:function(d){var E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",I="",D,O,V,ie,Be,Ce,_e,ot=0;d=d.replace(/[^A-Za-z0-9\+\/\=]/g,"");do ie=E.indexOf(d.charAt(ot++)),Be=E.indexOf(d.charAt(ot++)),Ce=E.indexOf(d.charAt(ot++)),_e=E.indexOf(d.charAt(ot++)),D=ie<<2|Be>>4,O=(Be&15)<<4|Ce>>2,V=(Ce&3)<<6|_e,I=I+String.fromCharCode(D),Ce!==64&&(I=I+String.fromCharCode(O)),_e!==64&&(I=I+String.fromCharCode(V));while(ot0||(vr(),gs>0))return;function E(){Ke||(Ke=!0,r.calledRun=!0,!ne&&(Hn(),i(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),us()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),E()},1)):E()}if(r.run=TA,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return TA(),e}}();typeof Jw=="object"&&typeof XP=="object"?XP.exports=ZP:typeof define=="function"&&define.amd?define([],function(){return ZP}):typeof Jw=="object"&&(Jw.createModule=ZP)});var E5=w((Pat,m5)=>{function GDe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var YDe=Array.isArray;I5.exports=YDe});var v5=w((Rat,y5)=>{var w5=Kc(),qDe=E5(),JDe=Os(),WDe=Id(),zDe=1/0,B5=w5?w5.prototype:void 0,b5=B5?B5.toString:void 0;function Q5(t){if(typeof t=="string")return t;if(JDe(t))return qDe(t,Q5)+"";if(WDe(t))return b5?b5.call(t):"";var e=t+"";return e=="0"&&1/t==-zDe?"-0":e}y5.exports=Q5});var nf=w((Fat,S5)=>{var _De=v5();function VDe(t){return t==null?"":_De(t)}S5.exports=VDe});var sD=w((Nat,k5)=>{function XDe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(n);++i{var ZDe=sD();function $De(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:ZDe(t,e,r)}x5.exports=$De});var oD=w((Tat,D5)=>{var eRe="\\ud800-\\udfff",tRe="\\u0300-\\u036f",rRe="\\ufe20-\\ufe2f",iRe="\\u20d0-\\u20ff",nRe=tRe+rRe+iRe,sRe="\\ufe0e\\ufe0f",oRe="\\u200d",aRe=RegExp("["+oRe+eRe+nRe+sRe+"]");function ARe(t){return aRe.test(t)}D5.exports=ARe});var F5=w((Oat,R5)=>{function lRe(t){return t.split("")}R5.exports=lRe});var H5=w((Mat,N5)=>{var L5="\\ud800-\\udfff",cRe="\\u0300-\\u036f",uRe="\\ufe20-\\ufe2f",gRe="\\u20d0-\\u20ff",fRe=cRe+uRe+gRe,hRe="\\ufe0e\\ufe0f",pRe="["+L5+"]",aD="["+fRe+"]",AD="\\ud83c[\\udffb-\\udfff]",dRe="(?:"+aD+"|"+AD+")",T5="[^"+L5+"]",O5="(?:\\ud83c[\\udde6-\\uddff]){2}",M5="[\\ud800-\\udbff][\\udc00-\\udfff]",CRe="\\u200d",U5=dRe+"?",K5="["+hRe+"]?",mRe="(?:"+CRe+"(?:"+[T5,O5,M5].join("|")+")"+K5+U5+")*",ERe=K5+U5+mRe,IRe="(?:"+[T5+aD+"?",aD,O5,M5,pRe].join("|")+")",yRe=RegExp(AD+"(?="+AD+")|"+IRe+ERe,"g");function wRe(t){return t.match(yRe)||[]}N5.exports=wRe});var G5=w((Uat,j5)=>{var BRe=F5(),bRe=oD(),QRe=H5();function vRe(t){return bRe(t)?QRe(t):BRe(t)}j5.exports=vRe});var q5=w((Kat,Y5)=>{var SRe=P5(),kRe=oD(),xRe=G5(),PRe=nf();function DRe(t){return function(e){e=PRe(e);var r=kRe(e)?xRe(e):void 0,i=r?r[0]:e.charAt(0),n=r?SRe(r,1).join(""):e.slice(1);return i[t]()+n}}Y5.exports=DRe});var W5=w((Hat,J5)=>{var RRe=q5(),FRe=RRe("toUpperCase");J5.exports=FRe});var tB=w((jat,z5)=>{var NRe=nf(),LRe=W5();function TRe(t){return LRe(NRe(t).toLowerCase())}z5.exports=TRe});var _5=w((Gat,rB)=>{function ORe(){var t=0,e=1,r=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,m=15,y=16,Q=17,S=0,x=1,M=2,Y=3,U=4;function J(A,ne){return 55296<=A.charCodeAt(ne)&&A.charCodeAt(ne)<=56319&&56320<=A.charCodeAt(ne+1)&&A.charCodeAt(ne+1)<=57343}function W(A,ne){ne===void 0&&(ne=0);var le=A.charCodeAt(ne);if(55296<=le&&le<=56319&&ne=1){var Ae=A.charCodeAt(ne-1),T=le;return 55296<=Ae&&Ae<=56319?(Ae-55296)*1024+(T-56320)+65536:T}return le}function ee(A,ne,le){var Ae=[A].concat(ne).concat([le]),T=Ae[Ae.length-2],L=le,Ee=Ae.lastIndexOf(p);if(Ee>1&&Ae.slice(1,Ee).every(function(re){return re==i})&&[i,h,Q].indexOf(A)==-1)return M;var we=Ae.lastIndexOf(n);if(we>0&&Ae.slice(1,we).every(function(re){return re==n})&&[f,n].indexOf(T)==-1)return Ae.filter(function(re){return re==n}).length%2==1?Y:U;if(T==t&&L==e)return S;if(T==r||T==t||T==e)return L==p&&ne.every(function(re){return re==i})?M:x;if(L==r||L==t||L==e)return x;if(T==o&&(L==o||L==a||L==c||L==u))return S;if((T==c||T==a)&&(L==a||L==l))return S;if((T==u||T==l)&&L==l)return S;if(L==i||L==m)return S;if(L==s)return S;if(T==f)return S;var qe=Ae.indexOf(i)!=-1?Ae.lastIndexOf(i)-1:Ae.length-2;return[h,Q].indexOf(Ae[qe])!=-1&&Ae.slice(qe+1,-1).every(function(re){return re==i})&&L==p||T==m&&[y,Q].indexOf(L)!=-1?S:ne.indexOf(n)!=-1?M:T==n&&L==n?S:x}this.nextBreak=function(A,ne){if(ne===void 0&&(ne=0),ne<0)return 0;if(ne>=A.length-1)return A.length;for(var le=Z(W(A,ne)),Ae=[],T=ne+1;T{var MRe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,iB;function URe(){if(iB)return iB;if(typeof Intl.Segmenter!="undefined"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return iB=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=_5(),e=new t;return iB=r=>e.splitGraphemes(r)}}V5.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=r-e,n="",s=0,o=0;for(;t.length>0;){let a=t.match(MRe)||[t,t,void 0],l=URe()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),t=t.slice(a[0].length)}return n}});var sf=w((EAt,u6)=>{"use strict";var g6=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),mAt=u6.exports=t=>t?Object.keys(t).map(e=>[g6.has(e)?g6.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var of=w((IAt,f6)=>{"use strict";var ZRe=require("events"),h6=require("stream"),qd=Bp(),p6=require("string_decoder").StringDecoder,sA=Symbol("EOF"),Jd=Symbol("maybeEmitEnd"),hl=Symbol("emittedEnd"),lB=Symbol("emittingEnd"),cB=Symbol("closed"),d6=Symbol("read"),gD=Symbol("flush"),C6=Symbol("flushChunk"),Nn=Symbol("encoding"),oA=Symbol("decoder"),uB=Symbol("flowing"),Wd=Symbol("paused"),zd=Symbol("resume"),pn=Symbol("bufferLength"),m6=Symbol("bufferPush"),fD=Symbol("bufferShift"),_i=Symbol("objectMode"),Vi=Symbol("destroyed"),E6=global._MP_NO_ITERATOR_SYMBOLS_!=="1",$Re=E6&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),eFe=E6&&Symbol.iterator||Symbol("iterator not implemented"),I6=t=>t==="end"||t==="finish"||t==="prefinish",tFe=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,rFe=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);f6.exports=class y6 extends h6{constructor(e){super();this[uB]=!1,this[Wd]=!1,this.pipes=new qd,this.buffer=new qd,this[_i]=e&&e.objectMode||!1,this[_i]?this[Nn]=null:this[Nn]=e&&e.encoding||null,this[Nn]==="buffer"&&(this[Nn]=null),this[oA]=this[Nn]?new p6(this[Nn]):null,this[sA]=!1,this[hl]=!1,this[lB]=!1,this[cB]=!1,this.writable=!0,this.readable=!0,this[pn]=0,this[Vi]=!1}get bufferLength(){return this[pn]}get encoding(){return this[Nn]}set encoding(e){if(this[_i])throw new Error("cannot set encoding in objectMode");if(this[Nn]&&e!==this[Nn]&&(this[oA]&&this[oA].lastNeed||this[pn]))throw new Error("cannot change encoding");this[Nn]!==e&&(this[oA]=e?new p6(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[oA].write(r)))),this[Nn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[_i]}set objectMode(e){this[_i]=this[_i]||!!e}write(e,r,i){if(this[sA])throw new Error("write after end");return this[Vi]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof r=="function"&&(i=r,r="utf8"),r||(r="utf8"),!this[_i]&&!Buffer.isBuffer(e)&&(rFe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):tFe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[pn]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[_i]&&!(r===this[Nn]&&!this[oA].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Nn]&&(e=this[oA].write(e)),this.flowing?(this[pn]!==0&&this[gD](!0),this.emit("data",e)):this[m6](e),this[pn]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Vi])return null;try{return this[pn]===0||e===0||e>this[pn]?null:(this[_i]&&(e=null),this.buffer.length>1&&!this[_i]&&(this.encoding?this.buffer=new qd([Array.from(this.buffer).join("")]):this.buffer=new qd([Buffer.concat(Array.from(this.buffer),this[pn])])),this[d6](e||null,this.buffer.head.value))}finally{this[Jd]()}}[d6](e,r){return e===r.length||e===null?this[fD]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[pn]-=e),this.emit("data",r),!this.buffer.length&&!this[sA]&&this.emit("drain"),r}end(e,r,i){return typeof e=="function"&&(i=e,e=null),typeof r=="function"&&(i=r,r="utf8"),e&&this.write(e,r),i&&this.once("end",i),this[sA]=!0,this.writable=!1,(this.flowing||!this[Wd])&&this[Jd](),this}[zd](){this[Vi]||(this[Wd]=!1,this[uB]=!0,this.emit("resume"),this.buffer.length?this[gD]():this[sA]?this[Jd]():this.emit("drain"))}resume(){return this[zd]()}pause(){this[uB]=!1,this[Wd]=!0}get destroyed(){return this[Vi]}get flowing(){return this[uB]}get paused(){return this[Wd]}[m6](e){return this[_i]?this[pn]+=1:this[pn]+=e.length,this.buffer.push(e)}[fD](){return this.buffer.length&&(this[_i]?this[pn]-=1:this[pn]-=this.buffer.head.value.length),this.buffer.shift()}[gD](e){do;while(this[C6](this[fD]()));!e&&!this.buffer.length&&!this[sA]&&this.emit("drain")}[C6](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Vi])return;let i=this[hl];r=r||{},e===process.stdout||e===process.stderr?r.end=!1:r.end=r.end!==!1;let n={dest:e,opts:r,ondrain:s=>this[zd]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[zd](),i&&n.opts.end&&n.dest.end(),e}addListener(e,r){return this.on(e,r)}on(e,r){try{return super.on(e,r)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[zd]():I6(e)&&this[hl]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[hl]}[Jd](){!this[lB]&&!this[hl]&&!this[Vi]&&this.buffer.length===0&&this[sA]&&(this[lB]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[cB]&&this.emit("close"),this[lB]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==Vi&&this[Vi])return;if(e==="data"){if(!r)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(r)===!1&&this.pause())}else if(e==="end"){if(this[hl]===!0)return;this[hl]=!0,this.readable=!1,this[oA]&&(r=this[oA].end(),r&&(this.pipes.forEach(n=>n.dest.write(r)),super.emit("data",r))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[cB]=!0,!this[hl]&&!this[Vi]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=r,arguments.length>2)for(let n=2;n{e.push(i),this[_i]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[_i]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[_i]?Promise.reject(new Error("cannot concat in objectMode")):this[Nn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Vi,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[$Re](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[sA])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[sA]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Vi,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[eFe](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Vi]?(e?this.emit("error",e):this.emit(Vi),this):(this[Vi]=!0,this.buffer=new qd,this[pn]=0,typeof this.close=="function"&&!this[cB]&&this.close(),e?this.emit("error",e):this.emit(Vi),this)}static isStream(e){return!!e&&(e instanceof y6||e instanceof h6||e instanceof ZRe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var B6=w((yAt,w6)=>{var iFe=require("zlib").constants||{ZLIB_VERNUM:4736};w6.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},iFe))});var wD=w(ss=>{"use strict";var hD=require("assert"),pl=require("buffer").Buffer,b6=require("zlib"),Wc=ss.constants=B6(),nFe=of(),Q6=pl.concat,zc=Symbol("_superWrite"),_d=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},sFe=Symbol("opts"),Vd=Symbol("flushFlag"),v6=Symbol("finishFlushFlag"),pD=Symbol("fullFlushFlag"),pr=Symbol("handle"),gB=Symbol("onError"),af=Symbol("sawError"),dD=Symbol("level"),CD=Symbol("strategy"),mD=Symbol("ended"),wAt=Symbol("_defaultFullFlush"),ED=class extends nFe{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[af]=!1,this[mD]=!1,this[sFe]=e,this[Vd]=e.flush,this[v6]=e.finishFlush;try{this[pr]=new b6[r](e)}catch(i){throw new _d(i)}this[gB]=i=>{this[af]||(this[af]=!0,this.close(),this.emit("error",i))},this[pr].on("error",i=>this[gB](new _d(i))),this.once("end",()=>this.close)}close(){this[pr]&&(this[pr].close(),this[pr]=null,this.emit("close"))}reset(){if(!this[af])return hD(this[pr],"zlib binding closed"),this[pr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[pD]),this.write(Object.assign(pl.alloc(0),{[Vd]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[v6]),this[mD]=!0,super.end(null,null,i)}get ended(){return this[mD]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=pl.from(e,r)),this[af])return;hD(this[pr],"zlib binding closed");let n=this[pr]._handle,s=n.close;n.close=()=>{};let o=this[pr].close;this[pr].close=()=>{},pl.concat=c=>c;let a;try{let c=typeof e[Vd]=="number"?e[Vd]:this[Vd];a=this[pr]._processChunk(e,c),pl.concat=Q6}catch(c){pl.concat=Q6,this[gB](new _d(c))}finally{this[pr]&&(this[pr]._handle=n,n.close=s,this[pr].close=o,this[pr].removeAllListeners("error"))}this[pr]&&this[pr].on("error",c=>this[gB](new _d(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[zc](pl.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[pr].params(e,r)}finally{this[pr].flush=i}this[pr]&&(this[dD]=e,this[CD]=r)}}}},S6=class extends dl{constructor(e){super(e,"Deflate")}},k6=class extends dl{constructor(e){super(e,"Inflate")}},ID=Symbol("_portable"),x6=class extends dl{constructor(e){super(e,"Gzip");this[ID]=e&&!!e.portable}[zc](e){return this[ID]?(this[ID]=!1,e[9]=255,super[zc](e)):super[zc](e)}},P6=class extends dl{constructor(e){super(e,"Gunzip")}},D6=class extends dl{constructor(e){super(e,"DeflateRaw")}},R6=class extends dl{constructor(e){super(e,"InflateRaw")}},F6=class extends dl{constructor(e){super(e,"Unzip")}},yD=class extends ED{constructor(e,r){e=e||{},e.flush=e.flush||Wc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Wc.BROTLI_OPERATION_FINISH,super(e,r),this[pD]=Wc.BROTLI_OPERATION_FLUSH}},N6=class extends yD{constructor(e){super(e,"BrotliCompress")}},L6=class extends yD{constructor(e){super(e,"BrotliDecompress")}};ss.Deflate=S6;ss.Inflate=k6;ss.Gzip=x6;ss.Gunzip=P6;ss.DeflateRaw=D6;ss.InflateRaw=R6;ss.Unzip=F6;typeof b6.BrotliCompress=="function"?(ss.BrotliCompress=N6,ss.BrotliDecompress=L6):ss.BrotliCompress=ss.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var Xd=w(fB=>{"use strict";fB.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);fB.code=new Map(Array.from(fB.name).map(t=>[t[1],t[0]]))});var Zd=w((SAt,T6)=>{"use strict";var QAt=Xd(),oFe=of(),BD=Symbol("slurp");T6.exports=class extends oFe{constructor(e,r,i){super();switch(this.pause(),this.extended=r,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,r&&this[BD](r),i&&this[BD](i,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-r),this.blockRemain=Math.max(0,n-r),this.ignore?!0:i>=r?super.write(e):super.write(e.slice(0,i))}[BD](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var U6=w(bD=>{"use strict";var kAt=bD.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?AFe(t,e):aFe(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},aFe=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},AFe=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var i=e.length;i>1;i--){var n=t&255;t=Math.floor(t/256),r?e[i-1]=O6(n):n===0?e[i-1]=0:(r=!0,e[i-1]=M6(n))}},xAt=bD.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=cFe(t.slice(1,t.length));else if(r===255)i=lFe(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},lFe=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=O6(s):s===0?o=s:(i=!0,o=M6(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},cFe=t=>{for(var e=t.length,r=0,i=e-1;i>-1;i--){var n=t[i];n!==0&&(r+=n*Math.pow(256,e-i-1))}return r},O6=t=>(255^t)&255,M6=t=>(255^t)+1&255});var lf=w((DAt,K6)=>{"use strict";var QD=Xd(),Af=require("path").posix,H6=U6(),vD=Symbol("slurp"),os=Symbol("type"),j6=class{constructor(e,r,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[os]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,i,n):e&&this.set(e)}decode(e,r,i,n){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=_c(e,r,100),this.mode=Cl(e,r+100,8),this.uid=Cl(e,r+108,8),this.gid=Cl(e,r+116,8),this.size=Cl(e,r+124,12),this.mtime=SD(e,r+136,12),this.cksum=Cl(e,r+148,12),this[vD](i),this[vD](n,!0),this[os]=_c(e,r+156,1),this[os]===""&&(this[os]="0"),this[os]==="0"&&this.path.substr(-1)==="/"&&(this[os]="5"),this[os]==="5"&&(this.size=0),this.linkpath=_c(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=_c(e,r+265,32),this.gname=_c(e,r+297,32),this.devmaj=Cl(e,r+329,8),this.devmin=Cl(e,r+337,8),e[r+475]!==0){let o=_c(e,r+345,155);this.path=o+"/"+this.path}else{let o=_c(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=SD(e,r+476,12),this.ctime=SD(e,r+488,12)}let s=8*32;for(let o=r;o=r+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=uFe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=Vc(e,r,100,s)||this.needPax,this.needPax=ml(e,r+100,8,this.mode)||this.needPax,this.needPax=ml(e,r+108,8,this.uid)||this.needPax,this.needPax=ml(e,r+116,8,this.gid)||this.needPax,this.needPax=ml(e,r+124,12,this.size)||this.needPax,this.needPax=kD(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[os].charCodeAt(0),this.needPax=Vc(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=Vc(e,r+265,32,this.uname)||this.needPax,this.needPax=Vc(e,r+297,32,this.gname)||this.needPax,this.needPax=ml(e,r+329,8,this.devmaj)||this.needPax,this.needPax=ml(e,r+337,8,this.devmin)||this.needPax,this.needPax=Vc(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=Vc(e,r+345,155,o)||this.needPax:(this.needPax=Vc(e,r+345,130,o)||this.needPax,this.needPax=kD(e,r+476,12,this.atime)||this.needPax,this.needPax=kD(e,r+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=r;l{let r=100,i=t,n="",s,o=Af.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=Af.join(Af.basename(n),i),n=Af.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},_c=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),SD=(t,e,r)=>gFe(Cl(t,e,r)),gFe=t=>t===null?null:new Date(t*1e3),Cl=(t,e,r)=>t[e]&128?H6.parse(t.slice(e,e+r)):fFe(t,e,r),hFe=t=>isNaN(t)?null:t,fFe=(t,e,r)=>hFe(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),pFe={12:8589934591,8:2097151},ml=(t,e,r,i)=>i===null?!1:i>pFe[r]||i<0?(H6.encode(i,t.slice(e,e+r)),!0):(dFe(t,e,r,i),!1),dFe=(t,e,r,i)=>t.write(CFe(i,r),e,r,"ascii"),CFe=(t,e)=>mFe(Math.floor(t).toString(8),e),mFe=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",kD=(t,e,r,i)=>i===null?!1:ml(t,e,r,i.getTime()/1e3),EFe=new Array(156).join("\0"),Vc=(t,e,r,i)=>i===null?!1:(t.write(i+EFe,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);K6.exports=j6});var pB=w((RAt,G6)=>{"use strict";var IFe=lf(),yFe=require("path"),hB=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),i=512*Math.ceil(1+r/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new IFe({path:("PaxHeader/"+yFe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,r,"utf8");for(let s=r+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};hB.parse=(t,e,r)=>new hB(wFe(BFe(t),e),r);var wFe=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,BFe=t=>t.replace(/\n$/,"").split(` +`).reduce(bFe,Object.create(null)),bFe=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};G6.exports=hB});var dB=w((FAt,Y6)=>{"use strict";Y6.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var PD=w((NAt,q6)=>{"use strict";var CB=["|","<",">","?",":"],xD=CB.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),QFe=new Map(CB.map((t,e)=>[t,xD[e]])),vFe=new Map(xD.map((t,e)=>[t,CB[e]]));q6.exports={encode:t=>CB.reduce((e,r)=>e.split(r).join(QFe.get(r)),t),decode:t=>xD.reduce((e,r)=>e.split(r).join(vFe.get(r)),t)}});var W6=w((LAt,J6)=>{"use strict";J6.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var OD=w((KAt,z6)=>{"use strict";var _6=of(),V6=pB(),X6=lf(),TAt=Zd(),ra=require("fs"),cf=require("path"),OAt=Xd(),SFe=16*1024*1024,Z6=Symbol("process"),$6=Symbol("file"),eV=Symbol("directory"),DD=Symbol("symlink"),tV=Symbol("hardlink"),$d=Symbol("header"),mB=Symbol("read"),RD=Symbol("lstat"),EB=Symbol("onlstat"),FD=Symbol("onread"),ND=Symbol("onreadlink"),LD=Symbol("openfile"),TD=Symbol("onopenfile"),Xc=Symbol("close"),IB=Symbol("mode"),rV=dB(),kFe=PD(),iV=W6(),yB=rV(class extends _6{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||SFe,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&cf.win32.isAbsolute(e)){let n=cf.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=kFe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||cf.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[EB](this.statCache.get(this.absolute)):this[RD]()}[RD](){ra.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[EB](r)})}[EB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=xFe(e),this.emit("stat",e),this[Z6]()}[Z6](){switch(this.type){case"File":return this[$6]();case"Directory":return this[eV]();case"SymbolicLink":return this[DD]();default:return this.end()}}[IB](e){return iV(e,this.type==="Directory",this.portable)}[$d](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new X6({path:this.path,linkpath:this.linkpath,mode:this[IB](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new V6({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[eV](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[$d](),this.end()}[DD](){ra.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[ND](r)})}[ND](e){this.linkpath=e.replace(/\\/g,"/"),this[$d](),this.end()}[tV](e){this.type="Link",this.linkpath=cf.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[$d](),this.end()}[$6](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[tV](r)}this.linkCache.set(e,this.absolute)}if(this[$d](),this.stat.size===0)return this.end();this[LD]()}[LD](){ra.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[TD](r)})}[TD](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[mB](e,n,0,n.length,0,this.stat.size,r)}[mB](e,r,i,n,s,o,a){ra.read(e,r,i,n,s,(l,c)=>{if(l)return this[Xc](e,()=>this.emit("error",l));this[FD](e,r,i,n,s,o,a,c)})}[Xc](e,r){ra.close(e,r)}[FD](e,r,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[Xc](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[Xc](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(r=Buffer.allocUnsafe(n),i=0),n=r.length-i,this[mB](e,r,i,n,s,o,a)}}),nV=class extends yB{constructor(e,r){super(e,r)}[RD](){this[EB](ra.lstatSync(this.absolute))}[DD](){this[ND](ra.readlinkSync(this.absolute))}[LD](){this[TD](ra.openSync(this.absolute,"r"))}[mB](e,r,i,n,s,o,a){let l=!0;try{let c=ra.readSync(e,r,i,n,s);this[FD](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[Xc](e,()=>{})}catch(c){}}}[Xc](e,r){ra.closeSync(e),r()}},PFe=rV(class extends _6{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[IB](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(cf.isAbsolute(this.path)&&!this.preservePaths){let n=cf.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new X6({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new V6({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[IB](e){return iV(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});yB.Sync=nV;yB.Tar=PFe;var xFe=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";z6.exports=yB});var xB=w((jAt,sV)=>{"use strict";var MD=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},DFe=of(),RFe=wD(),FFe=Zd(),UD=OD(),NFe=UD.Sync,LFe=UD.Tar,TFe=Bp(),oV=Buffer.alloc(1024),wB=Symbol("onStat"),BB=Symbol("ended"),ia=Symbol("queue"),uf=Symbol("current"),Zc=Symbol("process"),bB=Symbol("processing"),aV=Symbol("processJob"),na=Symbol("jobs"),KD=Symbol("jobDone"),QB=Symbol("addFSEntry"),AV=Symbol("addTarEntry"),HD=Symbol("stat"),jD=Symbol("readdir"),vB=Symbol("onreaddir"),SB=Symbol("pipe"),lV=Symbol("entry"),GD=Symbol("entryOpt"),YD=Symbol("writeEntryClass"),cV=Symbol("write"),qD=Symbol("ondrain"),kB=require("fs"),uV=require("path"),OFe=dB(),JD=OFe(class extends DFe{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[YD]=UD,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new RFe.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[qD]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[qD]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[ia]=new TFe,this[na]=0,this.jobs=+e.jobs||4,this[bB]=!1,this[BB]=!1}[cV](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[BB]=!0,this[Zc](),this}write(e){if(this[BB])throw new Error("write after end");return e instanceof FFe?this[AV](e):this[QB](e),this.flowing}[AV](e){let r=uV.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new MD(e.path,r,!1);i.entry=new LFe(e,this[GD](i)),i.entry.on("end",n=>this[KD](i)),this[na]+=1,this[ia].push(i)}this[Zc]()}[QB](e){let r=uV.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[ia].push(new MD(e,r)),this[Zc]()}[HD](e){e.pending=!0,this[na]+=1;let r=this.follow?"stat":"lstat";kB[r](e.absolute,(i,n)=>{e.pending=!1,this[na]-=1,i?this.emit("error",i):this[wB](e,n)})}[wB](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[Zc]()}[jD](e){e.pending=!0,this[na]+=1,kB.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[na]-=1,r)return this.emit("error",r);this[vB](e,i)})}[vB](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[Zc]()}[Zc](){if(!this[bB]){this[bB]=!0;for(let e=this[ia].head;e!==null&&this[na]this.warn(r,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[lV](e){this[na]+=1;try{return new this[YD](e.path,this[GD](e)).on("end",()=>this[KD](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[qD](){this[uf]&&this[uf].entry&&this[uf].entry.resume()}[SB](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[QB](o+n)});let r=e.entry,i=this.zip;i?r.on("data",n=>{i.write(n)||r.pause()}):r.on("data",n=>{super.write(n)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),gV=class extends JD{constructor(e){super(e);this[YD]=NFe}pause(){}resume(){}[HD](e){let r=this.follow?"statSync":"lstatSync";this[wB](e,kB[r](e.absolute))}[jD](e,r){this[vB](e,kB.readdirSync(e.absolute))}[SB](e){let r=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[QB](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[cV](n)})}};JD.Sync=gV;sV.exports=JD});var Cf=w(eC=>{"use strict";var MFe=of(),UFe=require("events").EventEmitter,Ms=require("fs"),PB=process.binding("fs"),GAt=PB.writeBuffers,KFe=PB.FSReqWrap||PB.FSReqCallback,gf=Symbol("_autoClose"),sa=Symbol("_close"),tC=Symbol("_ended"),or=Symbol("_fd"),fV=Symbol("_finished"),$c=Symbol("_flags"),WD=Symbol("_flush"),zD=Symbol("_handleChunk"),_D=Symbol("_makeBuf"),VD=Symbol("_mode"),DB=Symbol("_needDrain"),ff=Symbol("_onerror"),hf=Symbol("_onopen"),XD=Symbol("_onread"),eu=Symbol("_onwrite"),El=Symbol("_open"),Il=Symbol("_path"),tu=Symbol("_pos"),oa=Symbol("_queue"),pf=Symbol("_read"),hV=Symbol("_readSize"),yl=Symbol("_reading"),RB=Symbol("_remain"),pV=Symbol("_size"),FB=Symbol("_write"),df=Symbol("_writing"),NB=Symbol("_defaultFlag"),ZD=class extends MFe{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[or]=typeof r.fd=="number"?r.fd:null,this[Il]=e,this[hV]=r.readSize||16*1024*1024,this[yl]=!1,this[pV]=typeof r.size=="number"?r.size:Infinity,this[RB]=this[pV],this[gf]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[or]=="number"?this[pf]():this[El]()}get fd(){return this[or]}get path(){return this[Il]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[El](){Ms.open(this[Il],"r",(e,r)=>this[hf](e,r))}[hf](e,r){e?this[ff](e):(this[or]=r,this.emit("open",r),this[pf]())}[_D](){return Buffer.allocUnsafe(Math.min(this[hV],this[RB]))}[pf](){if(!this[yl]){this[yl]=!0;let e=this[_D]();if(e.length===0)return process.nextTick(()=>this[XD](null,0,e));Ms.read(this[or],e,0,e.length,null,(r,i,n)=>this[XD](r,i,n))}}[XD](e,r,i){this[yl]=!1,e?this[ff](e):this[zD](r,i)&&this[pf]()}[sa](){this[gf]&&typeof this[or]=="number"&&(Ms.close(this[or],e=>this.emit("close")),this[or]=null)}[ff](e){this[yl]=!0,this[sa](),this.emit("error",e)}[zD](e,r){let i=!1;return this[RB]-=e,e>0&&(i=super.write(ethis[hf](e,r))}[hf](e,r){this[NB]&&this[$c]==="r+"&&e&&e.code==="ENOENT"?(this[$c]="w",this[El]()):e?this[ff](e):(this[or]=r,this.emit("open",r),this[WD]())}end(e,r){e&&this.write(e,r),this[tC]=!0,!this[df]&&!this[oa].length&&typeof this[or]=="number"&&this[eu](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[tC]?(this.emit("error",new Error("write() after end()")),!1):this[or]===null||this[df]||this[oa].length?(this[oa].push(e),this[DB]=!0,!1):(this[df]=!0,this[FB](e),!0)}[FB](e){Ms.write(this[or],e,0,e.length,this[tu],(r,i)=>this[eu](r,i))}[eu](e,r){e?this[ff](e):(this[tu]!==null&&(this[tu]+=r),this[oa].length?this[WD]():(this[df]=!1,this[tC]&&!this[fV]?(this[fV]=!0,this[sa](),this.emit("finish")):this[DB]&&(this[DB]=!1,this.emit("drain"))))}[WD](){if(this[oa].length===0)this[tC]&&this[eu](null,0);else if(this[oa].length===1)this[FB](this[oa].pop());else{let e=this[oa];this[oa]=[],HFe(this[or],e,this[tu],(r,i)=>this[eu](r,i))}}[sa](){this[gf]&&typeof this[or]=="number"&&(Ms.close(this[or],e=>this.emit("close")),this[or]=null)}},CV=class extends $D{[El](){let e;try{e=Ms.openSync(this[Il],this[$c],this[VD])}catch(r){if(this[NB]&&this[$c]==="r+"&&r&&r.code==="ENOENT")return this[$c]="w",this[El]();throw r}this[hf](null,e)}[sa](){if(this[gf]&&typeof this[or]=="number"){try{Ms.closeSync(this[or])}catch(e){}this[or]=null,this.emit("close")}}[FB](e){try{this[eu](null,Ms.writeSync(this[or],e,0,e.length,this[tu]))}catch(r){this[eu](r,0)}}},HFe=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new KFe;s.oncomplete=n,PB.writeBuffers(t,e,r,s)};eC.ReadStream=ZD;eC.ReadStreamSync=dV;eC.WriteStream=$D;eC.WriteStreamSync=CV});var nC=w((WAt,mV)=>{"use strict";var jFe=dB(),qAt=require("path"),GFe=lf(),YFe=require("events"),qFe=Bp(),JFe=1024*1024,WFe=Zd(),EV=pB(),zFe=wD(),eR=Buffer.from([31,139]),Us=Symbol("state"),ru=Symbol("writeEntry"),aA=Symbol("readEntry"),tR=Symbol("nextEntry"),IV=Symbol("processEntry"),Ks=Symbol("extendedHeader"),rC=Symbol("globalExtendedHeader"),wl=Symbol("meta"),yV=Symbol("emitMeta"),yr=Symbol("buffer"),AA=Symbol("queue"),iu=Symbol("ended"),wV=Symbol("emittedEnd"),nu=Symbol("emit"),Ln=Symbol("unzip"),LB=Symbol("consumeChunk"),TB=Symbol("consumeChunkSub"),rR=Symbol("consumeBody"),BV=Symbol("consumeMeta"),bV=Symbol("consumeHeader"),OB=Symbol("consuming"),iR=Symbol("bufferConcat"),nR=Symbol("maybeEnd"),iC=Symbol("writing"),Bl=Symbol("aborted"),MB=Symbol("onDone"),su=Symbol("sawValidEntry"),UB=Symbol("sawNullBlock"),KB=Symbol("sawEOF"),_Fe=t=>!0;mV.exports=jFe(class extends YFe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[su]=null,this.on(MB,r=>{(this[Us]==="begin"||this[su]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(MB,e.ondone):this.on(MB,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||JFe,this.filter=typeof e.filter=="function"?e.filter:_Fe,this.writable=!0,this.readable=!1,this[AA]=new qFe,this[yr]=null,this[aA]=null,this[ru]=null,this[Us]="begin",this[wl]="",this[Ks]=null,this[rC]=null,this[iu]=!1,this[Ln]=null,this[Bl]=!1,this[UB]=!1,this[KB]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[bV](e,r){this[su]===null&&(this[su]=!1);let i;try{i=new GFe(e,r,this[Ks],this[rC])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[UB]?(this[KB]=!0,this[Us]==="begin"&&(this[Us]="header"),this[nu]("eof")):(this[UB]=!0,this[nu]("nullBlock"));else if(this[UB]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[ru]=new WFe(i,this[Ks],this[rC]);if(!this[su])if(s.remain){let o=()=>{s.invalid||(this[su]=!0)};s.on("end",o)}else this[su]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[nu]("ignoredEntry",s),this[Us]="ignore",s.resume()):s.size>0&&(this[wl]="",s.on("data",o=>this[wl]+=o),this[Us]="meta"):(this[Ks]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[nu]("ignoredEntry",s),this[Us]=s.remain?"ignore":"header",s.resume()):(s.remain?this[Us]="body":(this[Us]="header",s.end()),this[aA]?this[AA].push(s):(this[AA].push(s),this[tR]())))}}}[IV](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[aA]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[tR]()),r=!1)):(this[aA]=null,r=!1),r}[tR](){do;while(this[IV](this[AA].shift()));if(!this[AA].length){let e=this[aA];!e||e.flowing||e.size===e.remain?this[iC]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[rR](e,r){let i=this[ru],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[Us]="header",this[ru]=null,i.end()),s.length}[BV](e,r){let i=this[ru],n=this[rR](e,r);return this[ru]||this[yV](i),n}[nu](e,r,i){!this[AA].length&&!this[aA]?this.emit(e,r,i):this[AA].push([e,r,i])}[yV](e){switch(this[nu]("meta",this[wl]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[Ks]=EV.parse(this[wl],this[Ks],!1);break;case"GlobalExtendedHeader":this[rC]=EV.parse(this[wl],this[rC],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[Ks]=this[Ks]||Object.create(null),this[Ks].path=this[wl].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[Ks]=this[Ks]||Object.create(null),this[Ks].linkpath=this[wl].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[Bl]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[Bl])return;if(this[Ln]===null&&e){if(this[yr]&&(e=Buffer.concat([this[yr],e]),this[yr]=null),e.lengththis[LB](s)),this[Ln].on("error",s=>this.abort(s)),this[Ln].on("end",s=>{this[iu]=!0,this[LB]()}),this[iC]=!0;let n=this[Ln][i?"end":"write"](e);return this[iC]=!1,n}}this[iC]=!0,this[Ln]?this[Ln].write(e):this[LB](e),this[iC]=!1;let r=this[AA].length?!1:this[aA]?this[aA].flowing:!0;return!r&&!this[AA].length&&this[aA].once("drain",i=>this.emit("drain")),r}[iR](e){e&&!this[Bl]&&(this[yr]=this[yr]?Buffer.concat([this[yr],e]):e)}[nR](){if(this[iu]&&!this[wV]&&!this[Bl]&&!this[OB]){this[wV]=!0;let e=this[ru];if(e&&e.blockRemain){let r=this[yr]?this[yr].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[yr]&&e.write(this[yr]),e.end()}this[nu](MB)}}[LB](e){if(this[OB])this[iR](e);else if(!e&&!this[yr])this[nR]();else{if(this[OB]=!0,this[yr]){this[iR](e);let r=this[yr];this[yr]=null,this[TB](r)}else this[TB](e);for(;this[yr]&&this[yr].length>=512&&!this[Bl]&&!this[KB];){let r=this[yr];this[yr]=null,this[TB](r)}this[OB]=!1}(!this[yr]||this[iu])&&this[nR]()}[TB](e){let r=0,i=e.length;for(;r+512<=i&&!this[Bl]&&!this[KB];)switch(this[Us]){case"begin":case"header":this[bV](e,r),r+=512;break;case"ignore":case"body":r+=this[rR](e,r);break;case"meta":r+=this[BV](e,r);break;default:throw new Error("invalid state: "+this[Us])}r{"use strict";var VFe=sf(),vV=nC(),mf=require("fs"),XFe=Cf(),SV=require("path"),zAt=QV.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=VFe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&$Fe(i,e),i.noResume||ZFe(i),i.file&&i.sync?eNe(i):i.file?tNe(i,r):kV(i)},ZFe=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},$Fe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||SV.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(SV.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},eNe=t=>{let e=kV(t),r=t.file,i=!0,n;try{let s=mf.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new vV(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),mf.stat(n,(l,c)=>{if(l)a(l);else{let u=new XFe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},kV=t=>new vV(t)});var NV=w((ZAt,xV)=>{"use strict";var rNe=sf(),jB=xB(),VAt=require("fs"),PV=Cf(),DV=HB(),RV=require("path"),XAt=xV.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=rNe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?iNe(i,e):i.file?nNe(i,e,r):i.sync?sNe(i,e):oNe(i,e)},iNe=(t,e)=>{let r=new jB.Sync(t),i=new PV.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),FV(r,e)},nNe=(t,e,r)=>{let i=new jB(t),n=new PV.WriteStream(t.file,{mode:t.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return sR(i,e),r?s.then(r,r):s},FV=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?DV({file:RV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},sR=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return DV({file:RV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>sR(t,e));t.add(r)}t.end()},sNe=(t,e)=>{let r=new jB.Sync(t);return FV(r,e),r},oNe=(t,e)=>{let r=new jB(t);return sR(r,e),r}});var oR=w((tlt,LV)=>{"use strict";var aNe=sf(),TV=xB(),$At=nC(),Hs=require("fs"),OV=Cf(),MV=HB(),UV=require("path"),KV=lf(),elt=LV.exports=(t,e,r)=>{let i=aNe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?ANe(i,e):lNe(i,e,r)},ANe=(t,e)=>{let r=new TV.Sync(t),i=!0,n,s;try{try{n=Hs.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=Hs.openSync(t.file,"w+");else throw l}let o=Hs.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,t.mtimeCache&&t.mtimeCache.set(l.path,l.mtime)}i=!1,cNe(t,r,s,n,e)}finally{if(i)try{Hs.closeSync(n)}catch(o){}}},cNe=(t,e,r,i,n)=>{let s=new OV.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),uNe(e,n)},lNe=(t,e,r)=>{e=Array.from(e);let i=new TV(t),n=(o,a,l)=>{let c=(p,m)=>{p?Hs.close(o,y=>l(p)):l(null,m)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,m)=>{if(p)return c(p);if(g+=m,g<512&&m)return Hs.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let y=new KV(f);if(!y.cksumValid)return c(null,u);let Q=512*Math.ceil(y.size/512);if(u+Q+512>a||(u+=Q+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(y.path,y.mtime),g=0,Hs.read(o,f,0,512,u,h)};Hs.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",Hs.open(t.file,l,c);if(u)return a(u);Hs.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,m)=>{if(p)return a(p);let y=new OV.WriteStream(t.file,{fd:g,start:m});i.pipe(y),y.on("error",a),y.on("close",o),HV(i,e)})})};Hs.open(t.file,l,c)});return r?s.then(r,r):s},uNe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?MV({file:UV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},HV=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return MV({file:UV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>HV(t,e));t.add(r)}t.end()}});var GV=w((ilt,jV)=>{"use strict";var gNe=sf(),fNe=oR(),rlt=jV.exports=(t,e,r)=>{let i=gNe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),hNe(i),fNe(i,e,r)},hNe=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,i)=>e(r,i)&&!(t.mtimeCache.get(r)>i.mtime):(r,i)=>!(t.mtimeCache.get(r)>i.mtime)}});var JV=w((nlt,YV)=>{var{promisify:qV}=require("util"),bl=require("fs"),pNe=t=>{if(!t)t={mode:511,fs:bl};else if(typeof t=="object")t=N({mode:511,fs:bl},t);else if(typeof t=="number")t={mode:t,fs:bl};else if(typeof t=="string")t={mode:parseInt(t,8),fs:bl};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||bl.mkdir,t.mkdirAsync=qV(t.mkdir),t.stat=t.stat||t.fs.stat||bl.stat,t.statAsync=qV(t.stat),t.statSync=t.statSync||t.fs.statSync||bl.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||bl.mkdirSync,t};YV.exports=pNe});var zV=w((slt,WV)=>{var dNe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:CNe,parse:mNe}=require("path"),ENe=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=CNe(t),dNe==="win32"){let e=/[*|"<>?:]/,{root:r}=mNe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};WV.exports=ENe});var $V=w((olt,_V)=>{var{dirname:VV}=require("path"),XV=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?XV(t,VV(e),e):void 0),ZV=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?ZV(t,VV(e),e):void 0}};_V.exports={findMade:XV,findMadeSync:ZV}});var lR=w((alt,e9)=>{var{dirname:t9}=require("path"),aR=(t,e,r)=>{e.recursive=!1;let i=t9(t);return i===t?e.mkdirAsync(t,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return aR(i,e).then(s=>aR(t,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(s=>{if(s.isDirectory())return r;throw n},()=>{throw n})})},AR=(t,e,r)=>{let i=t9(t);if(e.recursive=!1,i===t)try{return e.mkdirSync(t,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(t,e),r||t}catch(n){if(n.code==="ENOENT")return AR(t,e,AR(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};e9.exports={mkdirpManual:aR,mkdirpManualSync:AR}});var n9=w((Alt,r9)=>{var{dirname:i9}=require("path"),{findMade:INe,findMadeSync:yNe}=$V(),{mkdirpManual:wNe,mkdirpManualSync:BNe}=lR(),bNe=(t,e)=>(e.recursive=!0,i9(t)===t?e.mkdirAsync(t,e):INe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return wNe(t,e);throw n}))),QNe=(t,e)=>{if(e.recursive=!0,i9(t)===t)return e.mkdirSync(t,e);let i=yNe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return BNe(t,e);throw n}};r9.exports={mkdirpNative:bNe,mkdirpNativeSync:QNe}});var A9=w((llt,s9)=>{var o9=require("fs"),vNe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,cR=vNe.replace(/^v/,"").split("."),a9=+cR[0]>10||+cR[0]==10&&+cR[1]>=12,SNe=a9?t=>t.mkdir===o9.mkdir:()=>!1,kNe=a9?t=>t.mkdirSync===o9.mkdirSync:()=>!1;s9.exports={useNative:SNe,useNativeSync:kNe}});var h9=w((clt,l9)=>{var Ef=JV(),If=zV(),{mkdirpNative:c9,mkdirpNativeSync:u9}=n9(),{mkdirpManual:g9,mkdirpManualSync:f9}=lR(),{useNative:xNe,useNativeSync:PNe}=A9(),yf=(t,e)=>(t=If(t),e=Ef(e),xNe(e)?c9(t,e):g9(t,e)),DNe=(t,e)=>(t=If(t),e=Ef(e),PNe(e)?u9(t,e):f9(t,e));yf.sync=DNe;yf.native=(t,e)=>c9(If(t),Ef(e));yf.manual=(t,e)=>g9(If(t),Ef(e));yf.nativeSync=(t,e)=>u9(If(t),Ef(e));yf.manualSync=(t,e)=>f9(If(t),Ef(e));l9.exports=yf});var y9=w((ult,p9)=>{"use strict";var js=require("fs"),ou=require("path"),RNe=js.lchown?"lchown":"chown",FNe=js.lchownSync?"lchownSync":"chownSync",d9=js.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),C9=(t,e,r)=>{try{return js[FNe](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},NNe=(t,e,r)=>{try{return js.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},LNe=d9?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):js.chown(t,e,r,i)}:(t,e,r,i)=>i,uR=d9?(t,e,r)=>{try{return C9(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;NNe(t,e,r)}}:(t,e,r)=>C9(t,e,r),TNe=process.version,m9=(t,e,r)=>js.readdir(t,e,r),ONe=(t,e)=>js.readdirSync(t,e);/^v4\./.test(TNe)&&(m9=(t,e,r)=>js.readdir(t,r));var GB=(t,e,r,i)=>{js[RNe](t,e,r,LNe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},E9=(t,e,r,i,n)=>{if(typeof e=="string")return js.lstat(ou.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,E9(t,o,r,i,n)});if(e.isDirectory())gR(ou.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=ou.resolve(t,e.name);GB(o,r,i,n)});else{let s=ou.resolve(t,e.name);GB(s,r,i,n)}},gR=(t,e,r,i)=>{m9(t,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return GB(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return GB(t,e,r,i)}};s.forEach(c=>E9(t,c,e,r,l))})},MNe=(t,e,r,i)=>{if(typeof e=="string")try{let n=js.lstatSync(ou.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&I9(ou.resolve(t,e.name),r,i),uR(ou.resolve(t,e.name),r,i)},I9=(t,e,r)=>{let i;try{i=ONe(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return uR(t,e,r);throw n}return i&&i.length&&i.forEach(n=>MNe(t,n,e,r)),uR(t,e,r)};p9.exports=gR;gR.sync=I9});var Q9=w((hlt,fR)=>{"use strict";var w9=h9(),Gs=require("fs"),YB=require("path"),B9=y9(),hR=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},sC=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},glt=fR.exports=(t,e,r)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(y,Q)=>{y?r(y):(g.set(t,!0),Q&&l?B9(Q,o,a,S=>h(S)):s?Gs.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return h();if(t===f)return Gs.stat(t,(y,Q)=>{(y||!Q.isDirectory())&&(y=new sC(t,y&&y.code||"ENOTDIR")),h(y)});if(c)return w9(t,{mode:n}).then(y=>h(null,y),h);let m=YB.relative(f,t).split(/\/|\\/);qB(f,m,n,g,u,f,null,h)},qB=(t,e,r,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=t+"/"+l;if(i.get(c))return qB(c,e,r,i,n,s,o,a);Gs.mkdir(c,r,b9(c,e,r,i,n,s,o,a))},b9=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&YB.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new sC(s,l.code));Gs.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())qB(t,e,r,i,n,s,o,a);else if(n)Gs.unlink(t,g=>{if(g)return a(g);Gs.mkdir(t,r,b9(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new hR(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,qB(t,e,r,i,n,s,o,a)},flt=fR.exports.sync=(t,e)=>{let r=e.umask,i=e.mode|448,n=(i&r)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=y=>{u.set(t,!0),y&&a&&B9.sync(y,s,o),n&&Gs.chmodSync(t,i)};if(u&&u.get(t)===!0)return f();if(t===g){let y=!1,Q="ENOTDIR";try{y=Gs.statSync(t).isDirectory()}catch(S){Q=S.code}finally{if(!y)throw new sC(t,Q)}f();return}if(l)return f(w9.sync(t,i));let p=YB.relative(g,t).split(/\/|\\/),m=null;for(let y=p.shift(),Q=g;y&&(Q+="/"+y);y=p.shift())if(!u.get(Q))try{Gs.mkdirSync(Q,i),m=m||Q,u.set(Q,!0)}catch(S){if(S.path&&YB.dirname(S.path)===g&&(S.code==="ENOTDIR"||S.code==="ENOENT"))return new sC(g,S.code);let x=Gs.lstatSync(Q);if(x.isDirectory()){u.set(Q,!0);continue}else if(c){Gs.unlinkSync(Q),Gs.mkdirSync(Q,i),m=m||Q,u.set(Q,!0);continue}else if(x.isSymbolicLink())return new hR(Q,Q+"/"+p.join("/"))}return f(m)}});var k9=w((plt,v9)=>{var S9=require("assert");v9.exports=()=>{let t=new Map,e=new Map,{join:r}=require("path"),i=u=>r(u).split(/[\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(r(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(f=>t.get(f)),dirs:[...g.dirs].map(f=>t.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let m=t.get(p);S9.equal(m[0],u),m.length===1?t.delete(p):(m.shift(),typeof m[0]=="function"?h.add(m[0]):m[0].forEach(y=>h.add(y)))}),f.forEach(p=>{let m=t.get(p);S9(m[0]instanceof Set),m[0].size===1&&m.length===1?t.delete(p):m[0].size===1?(m.shift(),h.add(m[0])):m[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=t.get(h);p?p.push(g):t.set(h,[g])}),f.forEach(h=>{let p=t.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):t.set(h,[new Set([g])])}),a(g)}}}});var D9=w((dlt,x9)=>{var UNe=process.env.__FAKE_PLATFORM__||process.platform,KNe=UNe==="win32",HNe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:jNe,O_TRUNC:GNe,O_WRONLY:YNe,UV_FS_O_FILEMAP:P9=0}=HNe.constants,qNe=KNe&&!!P9,JNe=512*1024,WNe=P9|GNe|jNe|YNe;x9.exports=qNe?t=>t"w"});var BR=w((Ilt,R9)=>{"use strict";var zNe=require("assert"),Clt=require("events").EventEmitter,_Ne=nC(),$t=require("fs"),VNe=Cf(),lA=require("path"),pR=Q9(),mlt=pR.sync,F9=PD(),XNe=k9(),N9=Symbol("onEntry"),dR=Symbol("checkFs"),L9=Symbol("checkFs2"),CR=Symbol("isReusable"),cA=Symbol("makeFs"),mR=Symbol("file"),ER=Symbol("directory"),JB=Symbol("link"),T9=Symbol("symlink"),O9=Symbol("hardlink"),M9=Symbol("unsupported"),Elt=Symbol("unknown"),U9=Symbol("checkPath"),wf=Symbol("mkdir"),dn=Symbol("onError"),WB=Symbol("pending"),K9=Symbol("pend"),Bf=Symbol("unpend"),IR=Symbol("ended"),yR=Symbol("maybeClose"),wR=Symbol("skip"),oC=Symbol("doChown"),aC=Symbol("uid"),AC=Symbol("gid"),H9=require("crypto"),j9=D9(),zB=()=>{throw new Error("sync function called cb somehow?!?")},ZNe=(t,e)=>{if(process.platform!=="win32")return $t.unlink(t,e);let r=t+".DELETE."+H9.randomBytes(16).toString("hex");$t.rename(t,r,i=>{if(i)return e(i);$t.unlink(r,e)})},$Ne=t=>{if(process.platform!=="win32")return $t.unlinkSync(t);let e=t+".DELETE."+H9.randomBytes(16).toString("hex");$t.renameSync(t,e),$t.unlinkSync(e)},G9=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,_B=class extends _Ne{constructor(e){if(e||(e={}),e.ondone=r=>{this[IR]=!0,this[yR]()},super(e),this.reservations=XNe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[WB]=0,this[IR]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=lA.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[N9](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[yR](){this[IR]&&this[WB]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[U9](e){if(this.strip){let r=e.path.split(/\/|\\/);if(r.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let r=e.path;if(r.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;if(lA.win32.isAbsolute(r)){let i=lA.win32.parse(r);e.path=r.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:r})}}if(this.win32){let r=lA.win32.parse(e.path);e.path=r.root===""?F9.encode(e.path):r.root+F9.encode(e.path.substr(r.root.length))}return lA.isAbsolute(e.path)?e.absolute=e.path:e.absolute=lA.resolve(this.cwd,e.path),!0}[N9](e){if(!this[U9](e))return e.resume();switch(zNe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[dR](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[M9](e)}}[dn](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[Bf](),r.resume())}[wf](e,r,i){pR(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[oC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[aC](e){return G9(this.uid,e.uid,this.processUid)}[AC](e){return G9(this.gid,e.gid,this.processGid)}[mR](e,r){let i=e.mode&4095||this.fmode,n=new VNe.WriteStream(e.absolute,{flags:j9(e.size),mode:i,autoClose:!1});n.on("error",l=>this[dn](l,e));let s=1,o=l=>{if(l)return this[dn](l,e);--s==0&&$t.close(n.fd,c=>{r(),c?this[dn](c,e):this[Bf]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;$t.futimes(u,g,f,h=>h?$t.utimes(c,g,f,p=>o(p&&h)):o())}if(this[oC](e)){s++;let g=this[aC](e),f=this[AC](e);$t.fchown(u,g,f,h=>h?$t.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[dn](l,e)),e.pipe(a)),a.pipe(n)}[ER](e,r){let i=e.mode&4095||this.dmode;this[wf](e.absolute,i,n=>{if(n)return r(),this[dn](n,e);let s=1,o=a=>{--s==0&&(r(),this[Bf](),e.resume())};e.mtime&&!this.noMtime&&(s++,$t.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[oC](e)&&(s++,$t.chown(e.absolute,this[aC](e),this[AC](e),o)),o()})}[M9](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[T9](e,r){this[JB](e,e.linkpath,"symlink",r)}[O9](e,r){this[JB](e,lA.resolve(this.cwd,e.linkpath),"link",r)}[K9](){this[WB]++}[Bf](){this[WB]--,this[yR]()}[wR](e){this[Bf](),e.resume()}[CR](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[dR](e){this[K9]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[L9](e,i))}[L9](e,r){this[wf](lA.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[dn](i,e);$t.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[wR](e),r()):n||this[CR](e,s)?this[cA](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[cA](null,e,r):$t.chmod(e.absolute,e.mode,o=>this[cA](o,e,r)):$t.rmdir(e.absolute,o=>this[cA](o,e,r)):ZNe(e.absolute,o=>this[cA](o,e,r))})})}[cA](e,r,i){if(e)return this[dn](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[mR](r,i);case"Link":return this[O9](r,i);case"SymbolicLink":return this[T9](r,i);case"Directory":case"GNUDumpDir":return this[ER](r,i)}}[JB](e,r,i,n){$t[i](r,e.absolute,s=>{if(s)return this[dn](s,e);n(),this[Bf](),e.resume()})}},Y9=class extends _B{constructor(e){super(e)}[dR](e){let r=this[wf](lA.dirname(e.absolute),this.dmode,zB);if(r)return this[dn](r,e);try{let i=$t.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[wR](e);if(this[CR](e,i))return this[cA](null,e,zB);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&$t.chmodSync(e.absolute,e.mode):$t.rmdirSync(e.absolute):$Ne(e.absolute),this[cA](null,e,zB)}catch(n){return this[dn](n,e)}}catch(i){return this[cA](null,e,zB)}}[mR](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{$t.closeSync(o)}catch(u){c=u}(l||c)&&this[dn](l||c,e)},s,o;try{o=$t.openSync(e.absolute,j9(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[dn](l,e)),e.pipe(a)),a.on("data",l=>{try{$t.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{$t.futimesSync(o,u,g)}catch(f){try{$t.utimesSync(e.absolute,u,g)}catch(h){c=f}}}if(this[oC](e)){let u=this[aC](e),g=this[AC](e);try{$t.fchownSync(o,u,g)}catch(f){try{$t.chownSync(e.absolute,u,g)}catch(h){c=c||f}}}n(c)})}[ER](e,r){let i=e.mode&4095||this.dmode,n=this[wf](e.absolute,i);if(n)return this[dn](n,e);if(e.mtime&&!this.noMtime)try{$t.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[oC](e))try{$t.chownSync(e.absolute,this[aC](e),this[AC](e))}catch(s){}e.resume()}[wf](e,r){try{return pR.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(i){return i}}[JB](e,r,i,n){try{$t[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[dn](s,e)}}};_B.Sync=Y9;R9.exports=_B});var _9=w((wlt,q9)=>{"use strict";var eLe=sf(),VB=BR(),J9=require("fs"),W9=Cf(),z9=require("path"),ylt=q9.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=eLe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&tLe(i,e),i.file&&i.sync?rLe(i):i.file?iLe(i,r):i.sync?nLe(i):sLe(i)},tLe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||z9.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(z9.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},rLe=t=>{let e=new VB.Sync(t),r=t.file,i=!0,n,s=J9.statSync(r),o=t.maxReadSize||16*1024*1024;new W9.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},iLe=(t,e)=>{let r=new VB(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),J9.stat(n,(l,c)=>{if(l)a(l);else{let u=new W9.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},nLe=t=>new VB.Sync(t),sLe=t=>new VB(t)});var V9=w(hi=>{"use strict";hi.c=hi.create=NV();hi.r=hi.replace=oR();hi.t=hi.list=HB();hi.u=hi.update=GV();hi.x=hi.extract=_9();hi.Pack=xB();hi.Unpack=BR();hi.Parse=nC();hi.ReadEntry=Zd();hi.WriteEntry=OD();hi.Header=lf();hi.Pax=pB();hi.types=Xd()});var t7=w((Qlt,e7)=>{var QR;e7.exports.getContent=()=>(typeof QR=="undefined"&&(QR=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),QR)});var a7=w((vR,o7)=>{(function(t,e){typeof vR=="object"?o7.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(vR,function(){function t(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function r(n,s,o,a,l,c,u){var g="",f=0,h,p,m=a.slice(0);if(m.push([s,o])&&a.length>0&&(a.forEach(function(Q,S){S>0&&(g+=(Q[1]?" ":"\u2502")+" "),!p&&Q[0]===s&&(p=!0)}),g+=t(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var y=e(s,c);y.forEach(function(Q){h=++f===y.length,r(Q,s[Q],h,m,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;r(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return r(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var gA=w(xR=>{"use strict";Object.defineProperty(xR,"__esModule",{value:!0});xR.default=f7;function f7(){}f7.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(m){return n?(setTimeout(function(){n(void 0,m)},0),!0):m}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(r),count:r.length}]);function h(){for(var m=-1*c;m<=c;m+=2){var y=void 0,Q=g[m-1],S=g[m+1],x=(S?S.newPos:0)-m;Q&&(g[m-1]=void 0);var M=Q&&Q.newPos+1=a&&x+1>=l)return o(fLe(s,y.components,r,e,s.useLongestToken));g[m]=y}c++}if(n)(function m(){setTimeout(function(){if(c>u)return n();h()||m()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?m:h}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&t.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function hLe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var p7=w(lC=>{"use strict";Object.defineProperty(lC,"__esModule",{value:!0});lC.diffChars=pLe;lC.characterDiff=void 0;var CLe=dLe(gA());function dLe(t){return t&&t.__esModule?t:{default:t}}var h7=new CLe.default;lC.characterDiff=h7;function pLe(t,e,r){return h7.diff(t,e,r)}});var DR=w(PR=>{"use strict";Object.defineProperty(PR,"__esModule",{value:!0});PR.generateOptions=mLe;function mLe(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var m7=w(bf=>{"use strict";Object.defineProperty(bf,"__esModule",{value:!0});bf.diffWords=ELe;bf.diffWordsWithSpace=ILe;bf.wordDiff=void 0;var wLe=yLe(gA()),BLe=DR();function yLe(t){return t&&t.__esModule?t:{default:t}}var d7=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,C7=/\S/,cC=new wLe.default;bf.wordDiff=cC;cC.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!C7.test(t)&&!C7.test(e)};cC.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0});Qf.diffLines=bLe;Qf.diffTrimmedLines=QLe;Qf.lineDiff=void 0;var SLe=vLe(gA()),kLe=DR();function vLe(t){return t&&t.__esModule?t:{default:t}}var XB=new SLe.default;Qf.lineDiff=XB;XB.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i{"use strict";Object.defineProperty(uC,"__esModule",{value:!0});uC.diffSentences=xLe;uC.sentenceDiff=void 0;var DLe=PLe(gA());function PLe(t){return t&&t.__esModule?t:{default:t}}var RR=new DLe.default;uC.sentenceDiff=RR;RR.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function xLe(t,e,r){return RR.diff(t,e,r)}});var I7=w(gC=>{"use strict";Object.defineProperty(gC,"__esModule",{value:!0});gC.diffCss=RLe;gC.cssDiff=void 0;var NLe=FLe(gA());function FLe(t){return t&&t.__esModule?t:{default:t}}var FR=new NLe.default;gC.cssDiff=FR;FR.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function RLe(t,e,r){return FR.diff(t,e,r)}});var w7=w(vf=>{"use strict";Object.defineProperty(vf,"__esModule",{value:!0});vf.diffJson=LLe;vf.canonicalize=$B;vf.jsonDiff=void 0;var y7=TLe(gA()),OLe=ZB();function TLe(t){return t&&t.__esModule?t:{default:t}}function e0(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?e0=function(r){return typeof r}:e0=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},e0(t)}var MLe=Object.prototype.toString,au=new y7.default;vf.jsonDiff=au;au.useLongestToken=!0;au.tokenize=OLe.lineDiff.tokenize;au.castInput=function(t){var e=this.options,r=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o=="undefined"?r:o}:i;return typeof t=="string"?t:JSON.stringify($B(t,null,null,n),n," ")};au.equals=function(t,e){return y7.default.prototype.equals.call(au,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function LLe(t,e,r){return au.diff(t,e,r)}function $B(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(fC,"__esModule",{value:!0});fC.diffArrays=ULe;fC.arrayDiff=void 0;var HLe=KLe(gA());function KLe(t){return t&&t.__esModule?t:{default:t}}var hC=new HLe.default;fC.arrayDiff=hC;hC.tokenize=function(t){return t.slice()};hC.join=hC.removeEmpty=function(t){return t};function ULe(t,e,r){return hC.diff(t,e,r)}});var t0=w(NR=>{"use strict";Object.defineProperty(NR,"__esModule",{value:!0});NR.parsePatch=jLe;function jLe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.split(/\r\n|[\n\v\f\r\x85]/),i=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],n=[],s=0;function o(){var c={};for(n.push(c);s{"use strict";Object.defineProperty(LR,"__esModule",{value:!0});LR.default=GLe;function GLe(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var S7=w(r0=>{"use strict";Object.defineProperty(r0,"__esModule",{value:!0});r0.applyPatch=Q7;r0.applyPatches=YLe;var v7=t0(),JLe=qLe(b7());function qLe(t){return t&&t.__esModule?t:{default:t}}function Q7(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,v7.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(T,L,Ee,we){return L===we},a=0,l=r.fuzzFactor||0,c=0,u=0,g,f;function h(T,L){for(var Ee=0;Ee0?we[0]:" ",re=we.length>0?we.substr(1):we;if(qe===" "||qe==="-"){if(!o(L+1,i[L],qe,re)&&(a++,a>l))return!1;L++}}return!0}for(var p=0;p0?ee[0]:" ",A=ee.length>0?ee.substr(1):ee,ne=U.linedelimiters[W];if(Z===" ")J++;else if(Z==="-")i.splice(J,1),n.splice(J,1);else if(Z==="+")i.splice(J,0,A),n.splice(J,0,ne),J++;else if(Z==="\\"){var le=U.lines[W-1]?U.lines[W-1][0]:null;le==="+"?g=!0:le==="-"&&(f=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else f&&(i.push(""),n.push(` +`));for(var Ae=0;Ae{"use strict";Object.defineProperty(pC,"__esModule",{value:!0});pC.structuredPatch=k7;pC.createTwoFilesPatch=x7;pC.createPatch=WLe;var zLe=ZB();function TR(t){return XLe(t)||VLe(t)||_Le()}function _Le(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function VLe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function XLe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(U.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(Y=f).push.apply(Y,TR(M.map(function(Ae){return(x.added?"+":"-")+Ae}))),x.added?p+=M.length:h+=M.length}else{if(u)if(M.length<=o.context*2&&S=a.length-2&&M.length<=o.context){var A=/\n$/.test(r),ne=/\n$/.test(i),le=M.length==0&&f.length>Z.oldLines;!A&&le&&f.splice(Z.oldLines,0,"\\ No newline at end of file"),(!A&&!le||!ne)&&f.push("\\ No newline at end of file")}c.push(Z),u=0,g=0,f=[]}h+=M.length,p+=M.length}},y=0;y{"use strict";Object.defineProperty(i0,"__esModule",{value:!0});i0.arrayEqual=ZLe;i0.arrayStartsWith=P7;function ZLe(t,e){return t.length!==e.length?!1:P7(t,e)}function P7(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(n0,"__esModule",{value:!0});n0.calcLineCount=R7;n0.merge=$Le;var eTe=OR(),tTe=t0(),MR=D7();function Sf(t){return nTe(t)||iTe(t)||rTe()}function rTe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function iTe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function nTe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(HR,"__esModule",{value:!0});HR.convertChangesToDMP=ATe;function ATe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(jR,"__esModule",{value:!0});jR.convertChangesToXML=lTe;function lTe(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(cTe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function cTe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var _7=w(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Object.defineProperty(Kr,"Diff",{enumerable:!0,get:function(){return uTe.default}});Object.defineProperty(Kr,"diffChars",{enumerable:!0,get:function(){return gTe.diffChars}});Object.defineProperty(Kr,"diffWords",{enumerable:!0,get:function(){return q7.diffWords}});Object.defineProperty(Kr,"diffWordsWithSpace",{enumerable:!0,get:function(){return q7.diffWordsWithSpace}});Object.defineProperty(Kr,"diffLines",{enumerable:!0,get:function(){return J7.diffLines}});Object.defineProperty(Kr,"diffTrimmedLines",{enumerable:!0,get:function(){return J7.diffTrimmedLines}});Object.defineProperty(Kr,"diffSentences",{enumerable:!0,get:function(){return fTe.diffSentences}});Object.defineProperty(Kr,"diffCss",{enumerable:!0,get:function(){return hTe.diffCss}});Object.defineProperty(Kr,"diffJson",{enumerable:!0,get:function(){return W7.diffJson}});Object.defineProperty(Kr,"canonicalize",{enumerable:!0,get:function(){return W7.canonicalize}});Object.defineProperty(Kr,"diffArrays",{enumerable:!0,get:function(){return pTe.diffArrays}});Object.defineProperty(Kr,"applyPatch",{enumerable:!0,get:function(){return z7.applyPatch}});Object.defineProperty(Kr,"applyPatches",{enumerable:!0,get:function(){return z7.applyPatches}});Object.defineProperty(Kr,"parsePatch",{enumerable:!0,get:function(){return dTe.parsePatch}});Object.defineProperty(Kr,"merge",{enumerable:!0,get:function(){return CTe.merge}});Object.defineProperty(Kr,"structuredPatch",{enumerable:!0,get:function(){return GR.structuredPatch}});Object.defineProperty(Kr,"createTwoFilesPatch",{enumerable:!0,get:function(){return GR.createTwoFilesPatch}});Object.defineProperty(Kr,"createPatch",{enumerable:!0,get:function(){return GR.createPatch}});Object.defineProperty(Kr,"convertChangesToDMP",{enumerable:!0,get:function(){return mTe.convertChangesToDMP}});Object.defineProperty(Kr,"convertChangesToXML",{enumerable:!0,get:function(){return ETe.convertChangesToXML}});var uTe=ITe(gA()),gTe=p7(),q7=m7(),J7=ZB(),fTe=E7(),hTe=I7(),W7=w7(),pTe=B7(),z7=S7(),dTe=t0(),CTe=j7(),GR=OR(),mTe=G7(),ETe=Y7();function ITe(t){return t&&t.__esModule?t:{default:t}}});var o0=w((Cct,V7)=>{var yTe=Os(),wTe=Id(),BTe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,bTe=/^\w*$/;function QTe(t,e){if(yTe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||wTe(t)?!0:bTe.test(t)||!BTe.test(t)||e!=null&&t in Object(e)}V7.exports=QTe});var a0=w((mct,X7)=>{var vTe=Hc(),STe=Rn(),kTe="[object AsyncFunction]",xTe="[object Function]",PTe="[object GeneratorFunction]",DTe="[object Proxy]";function RTe(t){if(!STe(t))return!1;var e=vTe(t);return e==xTe||e==PTe||e==kTe||e==DTe}X7.exports=RTe});var $7=w((Ect,Z7)=>{var FTe=Rs(),NTe=FTe["__core-js_shared__"];Z7.exports=NTe});var rX=w((Ict,eX)=>{var YR=$7(),tX=function(){var t=/[^.]+$/.exec(YR&&YR.keys&&YR.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function LTe(t){return!!tX&&tX in t}eX.exports=LTe});var qR=w((yct,iX)=>{var TTe=Function.prototype,OTe=TTe.toString;function MTe(t){if(t!=null){try{return OTe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}iX.exports=MTe});var sX=w((wct,nX)=>{var UTe=a0(),KTe=rX(),HTe=Rn(),jTe=qR(),GTe=/[\\^$.*+?()[\]{}|]/g,YTe=/^\[object .+?Constructor\]$/,qTe=Function.prototype,JTe=Object.prototype,WTe=qTe.toString,zTe=JTe.hasOwnProperty,_Te=RegExp("^"+WTe.call(zTe).replace(GTe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function VTe(t){if(!HTe(t)||KTe(t))return!1;var e=UTe(t)?_Te:YTe;return e.test(jTe(t))}nX.exports=VTe});var aX=w((Bct,oX)=>{function XTe(t,e){return t==null?void 0:t[e]}oX.exports=XTe});var vl=w((bct,AX)=>{var ZTe=sX(),$Te=aX();function eOe(t,e){var r=$Te(t,e);return ZTe(r)?r:void 0}AX.exports=eOe});var dC=w((Qct,lX)=>{var tOe=vl(),rOe=tOe(Object,"create");lX.exports=rOe});var gX=w((vct,cX)=>{var uX=dC();function iOe(){this.__data__=uX?uX(null):{},this.size=0}cX.exports=iOe});var hX=w((Sct,fX)=>{function nOe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}fX.exports=nOe});var dX=w((kct,pX)=>{var sOe=dC(),oOe="__lodash_hash_undefined__",aOe=Object.prototype,AOe=aOe.hasOwnProperty;function lOe(t){var e=this.__data__;if(sOe){var r=e[t];return r===oOe?void 0:r}return AOe.call(e,t)?e[t]:void 0}pX.exports=lOe});var mX=w((xct,CX)=>{var cOe=dC(),uOe=Object.prototype,gOe=uOe.hasOwnProperty;function fOe(t){var e=this.__data__;return cOe?e[t]!==void 0:gOe.call(e,t)}CX.exports=fOe});var IX=w((Pct,EX)=>{var hOe=dC(),pOe="__lodash_hash_undefined__";function dOe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=hOe&&e===void 0?pOe:e,this}EX.exports=dOe});var wX=w((Dct,yX)=>{var COe=gX(),mOe=hX(),EOe=dX(),IOe=mX(),yOe=IX();function kf(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function wOe(){this.__data__=[],this.size=0}BX.exports=wOe});var xf=w((Fct,QX)=>{function BOe(t,e){return t===e||t!==t&&e!==e}QX.exports=BOe});var CC=w((Nct,vX)=>{var bOe=xf();function QOe(t,e){for(var r=t.length;r--;)if(bOe(t[r][0],e))return r;return-1}vX.exports=QOe});var kX=w((Lct,SX)=>{var vOe=CC(),SOe=Array.prototype,kOe=SOe.splice;function xOe(t){var e=this.__data__,r=vOe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():kOe.call(e,r,1),--this.size,!0}SX.exports=xOe});var PX=w((Tct,xX)=>{var POe=CC();function DOe(t){var e=this.__data__,r=POe(e,t);return r<0?void 0:e[r][1]}xX.exports=DOe});var RX=w((Oct,DX)=>{var ROe=CC();function FOe(t){return ROe(this.__data__,t)>-1}DX.exports=FOe});var NX=w((Mct,FX)=>{var NOe=CC();function LOe(t,e){var r=this.__data__,i=NOe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}FX.exports=LOe});var mC=w((Uct,LX)=>{var TOe=bX(),OOe=kX(),MOe=PX(),UOe=RX(),KOe=NX();function Pf(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var HOe=vl(),jOe=Rs(),GOe=HOe(jOe,"Map");TX.exports=GOe});var UX=w((Hct,OX)=>{var MX=wX(),YOe=mC(),qOe=A0();function JOe(){this.size=0,this.__data__={hash:new MX,map:new(qOe||YOe),string:new MX}}OX.exports=JOe});var HX=w((jct,KX)=>{function WOe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}KX.exports=WOe});var EC=w((Gct,jX)=>{var zOe=HX();function _Oe(t,e){var r=t.__data__;return zOe(e)?r[typeof e=="string"?"string":"hash"]:r.map}jX.exports=_Oe});var YX=w((Yct,GX)=>{var VOe=EC();function XOe(t){var e=VOe(this,t).delete(t);return this.size-=e?1:0,e}GX.exports=XOe});var JX=w((qct,qX)=>{var ZOe=EC();function $Oe(t){return ZOe(this,t).get(t)}qX.exports=$Oe});var zX=w((Jct,WX)=>{var eMe=EC();function tMe(t){return eMe(this,t).has(t)}WX.exports=tMe});var VX=w((Wct,_X)=>{var rMe=EC();function iMe(t,e){var r=rMe(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}_X.exports=iMe});var l0=w((zct,XX)=>{var nMe=UX(),sMe=YX(),oMe=JX(),aMe=zX(),AMe=VX();function Df(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var $X=l0(),lMe="Expected a function";function JR(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(lMe);var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=r.cache;if(s.has(n))return s.get(n);var o=t.apply(this,i);return r.cache=s.set(n,o)||s,o};return r.cache=new(JR.Cache||$X),r}JR.Cache=$X;ZX.exports=JR});var rZ=w((Vct,tZ)=>{var cMe=eZ(),uMe=500;function gMe(t){var e=cMe(t,function(i){return r.size===uMe&&r.clear(),i}),r=e.cache;return e}tZ.exports=gMe});var nZ=w((Xct,iZ)=>{var fMe=rZ(),hMe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,pMe=/\\(\\)?/g,dMe=fMe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(hMe,function(r,i,n,s){e.push(n?s.replace(pMe,"$1"):i||r)}),e});iZ.exports=dMe});var Rf=w((Zct,sZ)=>{var CMe=Os(),mMe=o0(),EMe=nZ(),IMe=nf();function yMe(t,e){return CMe(t)?t:mMe(t,e)?[t]:EMe(IMe(t))}sZ.exports=yMe});var lu=w(($ct,oZ)=>{var wMe=Id(),BMe=1/0;function bMe(t){if(typeof t=="string"||wMe(t))return t;var e=t+"";return e=="0"&&1/t==-BMe?"-0":e}oZ.exports=bMe});var IC=w((eut,aZ)=>{var QMe=Rf(),vMe=lu();function SMe(t,e){e=QMe(e,t);for(var r=0,i=e.length;t!=null&&r{var kMe=vl(),xMe=function(){try{var t=kMe(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();AZ.exports=xMe});var Ff=w((rut,lZ)=>{var cZ=WR();function PMe(t,e,r){e=="__proto__"&&cZ?cZ(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}lZ.exports=PMe});var c0=w((iut,uZ)=>{var DMe=Ff(),RMe=xf(),FMe=Object.prototype,NMe=FMe.hasOwnProperty;function LMe(t,e,r){var i=t[e];(!(NMe.call(t,e)&&RMe(i,r))||r===void 0&&!(e in t))&&DMe(t,e,r)}uZ.exports=LMe});var yC=w((nut,gZ)=>{var TMe=9007199254740991,OMe=/^(?:0|[1-9]\d*)$/;function MMe(t,e){var r=typeof t;return e=e==null?TMe:e,!!e&&(r=="number"||r!="symbol"&&OMe.test(t))&&t>-1&&t%1==0&&t{var UMe=c0(),KMe=Rf(),HMe=yC(),hZ=Rn(),jMe=lu();function GMe(t,e,r,i){if(!hZ(t))return t;e=KMe(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var YMe=IC(),qMe=zR(),JMe=Rf();function WMe(t,e,r){for(var i=-1,n=e.length,s={};++i{function zMe(t,e){return t!=null&&e in Object(t)}CZ.exports=zMe});var IZ=w((Aut,EZ)=>{var _Me=Hc(),VMe=Zo(),XMe="[object Arguments]";function ZMe(t){return VMe(t)&&_Me(t)==XMe}EZ.exports=ZMe});var wC=w((lut,yZ)=>{var wZ=IZ(),$Me=Zo(),BZ=Object.prototype,e1e=BZ.hasOwnProperty,t1e=BZ.propertyIsEnumerable,r1e=wZ(function(){return arguments}())?wZ:function(t){return $Me(t)&&e1e.call(t,"callee")&&!t1e.call(t,"callee")};yZ.exports=r1e});var u0=w((cut,bZ)=>{var i1e=9007199254740991;function n1e(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=i1e}bZ.exports=n1e});var _R=w((uut,QZ)=>{var s1e=Rf(),o1e=wC(),a1e=Os(),A1e=yC(),l1e=u0(),c1e=lu();function u1e(t,e,r){e=s1e(e,t);for(var i=-1,n=e.length,s=!1;++i{var g1e=mZ(),f1e=_R();function h1e(t,e){return t!=null&&f1e(t,e,g1e)}vZ.exports=h1e});var kZ=w((fut,SZ)=>{var p1e=dZ(),d1e=VR();function C1e(t,e){return p1e(t,e,function(r,i){return d1e(t,i)})}SZ.exports=C1e});var g0=w((hut,xZ)=>{function m1e(t,e){for(var r=-1,i=e.length,n=t.length;++r{var DZ=Kc(),E1e=wC(),I1e=Os(),RZ=DZ?DZ.isConcatSpreadable:void 0;function y1e(t){return I1e(t)||E1e(t)||!!(RZ&&t&&t[RZ])}PZ.exports=y1e});var TZ=w((dut,NZ)=>{var w1e=g0(),B1e=FZ();function LZ(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=B1e),n||(n=[]);++s0&&r(a)?e>1?LZ(a,e-1,r,i,n):w1e(n,a):i||(n[n.length]=a)}return n}NZ.exports=LZ});var MZ=w((Cut,OZ)=>{var b1e=TZ();function Q1e(t){var e=t==null?0:t.length;return e?b1e(t,1):[]}OZ.exports=Q1e});var KZ=w((mut,UZ)=>{function v1e(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}UZ.exports=v1e});var XR=w((Eut,HZ)=>{var S1e=KZ(),jZ=Math.max;function k1e(t,e,r){return e=jZ(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=jZ(i.length-e,0),o=Array(s);++n{function x1e(t){return function(){return t}}GZ.exports=x1e});var f0=w((yut,qZ)=>{function P1e(t){return t}qZ.exports=P1e});var zZ=w((wut,JZ)=>{var D1e=YZ(),WZ=WR(),R1e=f0(),F1e=WZ?function(t,e){return WZ(t,"toString",{configurable:!0,enumerable:!1,value:D1e(e),writable:!0})}:R1e;JZ.exports=F1e});var VZ=w((But,_Z)=>{var N1e=800,L1e=16,T1e=Date.now;function O1e(t){var e=0,r=0;return function(){var i=T1e(),n=L1e-(i-r);if(r=i,n>0){if(++e>=N1e)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}_Z.exports=O1e});var ZR=w((but,XZ)=>{var M1e=zZ(),U1e=VZ(),K1e=U1e(M1e);XZ.exports=K1e});var $Z=w((Qut,ZZ)=>{var H1e=MZ(),j1e=XR(),G1e=ZR();function Y1e(t){return G1e(j1e(t,void 0,H1e),t+"")}ZZ.exports=Y1e});var t$=w((vut,e$)=>{var q1e=kZ(),J1e=$Z(),W1e=J1e(function(t,e){return t==null?{}:q1e(t,e)});e$.exports=W1e});var h$=w((wft,u$)=>{"use strict";var AF;try{AF=Map}catch(t){}var lF;try{lF=Set}catch(t){}function g$(t,e,r){if(!t||typeof t!="object"||typeof t=="function")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);if(Array.isArray(t))return t.map(f$);if(AF&&t instanceof AF)return new Map(Array.from(t.entries()));if(lF&&t instanceof lF)return new Set(Array.from(t.values()));if(t instanceof Object){e.push(t);var i=Object.create(t);r.push(i);for(var n in t){var s=e.findIndex(function(o){return o===t[n]});i[n]=s>-1?r[s]:g$(t[n],e,r)}return i}return t}function f$(t){return g$(t,[],[])}u$.exports=f$});var vC=w(cF=>{"use strict";Object.defineProperty(cF,"__esModule",{value:!0});cF.default=rUe;var iUe=Object.prototype.toString,nUe=Error.prototype.toString,sUe=RegExp.prototype.toString,oUe=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",aUe=/^Symbol\((.*)\)(.*)$/;function AUe(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function p$(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return AUe(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return oUe.call(t).replace(aUe,"Symbol($1)");let i=iUe.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+nUe.call(t)+"]":i==="RegExp"?sUe.call(t):null}function rUe(t,e){let r=p$(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=p$(this[i],e);return s!==null?s:n},2)}});var fA=w(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.default=Bi.array=Bi.object=Bi.boolean=Bi.date=Bi.number=Bi.string=Bi.mixed=void 0;var d$=lUe(vC());function lUe(t){return t&&t.__esModule?t:{default:t}}var C$={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:i})=>{let n=i!=null&&i!==r,s=`${t} must be a \`${e}\` type, but the final value was: \`${(0,d$.default)(r,!0)}\``+(n?` (cast from the value \`${(0,d$.default)(i,!0)}\`).`:".");return r===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};Bi.mixed=C$;var m$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};Bi.string=m$;var E$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};Bi.number=E$;var I$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};Bi.date=I$;var y$={isValue:"${path} field must be ${value}"};Bi.boolean=y$;var w$={noUnknown:"${path} field has unspecified keys: ${unknown}"};Bi.object=w$;var B$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Bi.array=B$;var cUe=Object.assign(Object.create(null),{mixed:C$,string:m$,number:E$,date:I$,object:w$,array:B$,boolean:y$});Bi.default=cUe});var Q$=w((Qft,b$)=>{var uUe=Object.prototype,gUe=uUe.hasOwnProperty;function fUe(t,e){return t!=null&&gUe.call(t,e)}b$.exports=fUe});var SC=w((vft,v$)=>{var hUe=Q$(),pUe=_R();function dUe(t,e){return t!=null&&pUe(t,e,hUe)}v$.exports=dUe});var Lf=w(C0=>{"use strict";Object.defineProperty(C0,"__esModule",{value:!0});C0.default=void 0;var CUe=t=>t&&t.__isYupSchema__;C0.default=CUe});var x$=w(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});m0.default=void 0;var mUe=S$(SC()),EUe=S$(Lf());function S$(t){return t&&t.__esModule?t:{default:t}}var k$=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,mUe.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=r,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,r){let i=this.refs.map(s=>s.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),n=this.fn.apply(e,i.concat(e,r));if(n===void 0||n===e)return e;if(!(0,EUe.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},IUe=k$;m0.default=IUe});var gF=w(uF=>{"use strict";Object.defineProperty(uF,"__esModule",{value:!0});uF.default=yUe;function yUe(t){return t==null?[]:[].concat(t)}});var cu=w(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});E0.default=void 0;var wUe=P$(vC()),BUe=P$(gF());function P$(t){return t&&t.__esModule?t:{default:t}}function fF(){return fF=Object.assign||function(t){for(var e=1;e(0,wUe.default)(r[s])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,i,n){super();this.name="ValidationError",this.value=r,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,BUe.default)(e).forEach(s=>{kC.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,kC)}};E0.default=kC});var I0=w(hF=>{"use strict";Object.defineProperty(hF,"__esModule",{value:!0});hF.default=QUe;var pF=vUe(cu());function vUe(t){return t&&t.__esModule?t:{default:t}}var SUe=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function QUe(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=SUe(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new pF.default(o,s,l)):c(null,s);for(let f=0;f{function kUe(t){return function(e,r,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[t?a:++n];if(r(s[l],l,s)===!1)break}return e}}D$.exports=kUe});var dF=w((Fft,F$)=>{var xUe=R$(),PUe=xUe();F$.exports=PUe});var L$=w((Nft,N$)=>{function DUe(t,e){for(var r=-1,i=Array(t);++r{function RUe(){return!1}T$.exports=RUe});var PC=w((xC,Tf)=>{var FUe=Rs(),NUe=O$(),M$=typeof xC=="object"&&xC&&!xC.nodeType&&xC,U$=M$&&typeof Tf=="object"&&Tf&&!Tf.nodeType&&Tf,LUe=U$&&U$.exports===M$,K$=LUe?FUe.Buffer:void 0,TUe=K$?K$.isBuffer:void 0,OUe=TUe||NUe;Tf.exports=OUe});var j$=w((Tft,H$)=>{var MUe=Hc(),UUe=u0(),KUe=Zo(),HUe="[object Arguments]",jUe="[object Array]",GUe="[object Boolean]",YUe="[object Date]",qUe="[object Error]",JUe="[object Function]",WUe="[object Map]",zUe="[object Number]",_Ue="[object Object]",VUe="[object RegExp]",XUe="[object Set]",ZUe="[object String]",$Ue="[object WeakMap]",eKe="[object ArrayBuffer]",tKe="[object DataView]",rKe="[object Float32Array]",iKe="[object Float64Array]",nKe="[object Int8Array]",sKe="[object Int16Array]",oKe="[object Int32Array]",aKe="[object Uint8Array]",AKe="[object Uint8ClampedArray]",lKe="[object Uint16Array]",cKe="[object Uint32Array]",wr={};wr[rKe]=wr[iKe]=wr[nKe]=wr[sKe]=wr[oKe]=wr[aKe]=wr[AKe]=wr[lKe]=wr[cKe]=!0;wr[HUe]=wr[jUe]=wr[eKe]=wr[GUe]=wr[tKe]=wr[YUe]=wr[qUe]=wr[JUe]=wr[WUe]=wr[zUe]=wr[_Ue]=wr[VUe]=wr[XUe]=wr[ZUe]=wr[$Ue]=!1;function uKe(t){return KUe(t)&&UUe(t.length)&&!!wr[MUe(t)]}H$.exports=uKe});var y0=w((Oft,G$)=>{function gKe(t){return function(e){return t(e)}}G$.exports=gKe});var w0=w((DC,Of)=>{var fKe=ux(),Y$=typeof DC=="object"&&DC&&!DC.nodeType&&DC,RC=Y$&&typeof Of=="object"&&Of&&!Of.nodeType&&Of,hKe=RC&&RC.exports===Y$,CF=hKe&&fKe.process,pKe=function(){try{var t=RC&&RC.require&&RC.require("util").types;return t||CF&&CF.binding&&CF.binding("util")}catch(e){}}();Of.exports=pKe});var B0=w((Mft,q$)=>{var dKe=j$(),CKe=y0(),J$=w0(),W$=J$&&J$.isTypedArray,mKe=W$?CKe(W$):dKe;q$.exports=mKe});var mF=w((Uft,z$)=>{var EKe=L$(),IKe=wC(),yKe=Os(),wKe=PC(),BKe=yC(),bKe=B0(),QKe=Object.prototype,vKe=QKe.hasOwnProperty;function SKe(t,e){var r=yKe(t),i=!r&&IKe(t),n=!r&&!i&&wKe(t),s=!r&&!i&&!n&&bKe(t),o=r||i||n||s,a=o?EKe(t.length,String):[],l=a.length;for(var c in t)(e||vKe.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||BKe(c,l)))&&a.push(c);return a}z$.exports=SKe});var b0=w((Kft,_$)=>{var kKe=Object.prototype;function xKe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||kKe;return t===r}_$.exports=xKe});var EF=w((Hft,V$)=>{function PKe(t,e){return function(r){return t(e(r))}}V$.exports=PKe});var Z$=w((jft,X$)=>{var DKe=EF(),RKe=DKe(Object.keys,Object);X$.exports=RKe});var eee=w((Gft,$$)=>{var FKe=b0(),NKe=Z$(),LKe=Object.prototype,TKe=LKe.hasOwnProperty;function OKe(t){if(!FKe(t))return NKe(t);var e=[];for(var r in Object(t))TKe.call(t,r)&&r!="constructor"&&e.push(r);return e}$$.exports=OKe});var FC=w((Yft,tee)=>{var MKe=a0(),UKe=u0();function KKe(t){return t!=null&&UKe(t.length)&&!MKe(t)}tee.exports=KKe});var Mf=w((qft,ree)=>{var HKe=mF(),jKe=eee(),GKe=FC();function YKe(t){return GKe(t)?HKe(t):jKe(t)}ree.exports=YKe});var IF=w((Jft,iee)=>{var qKe=dF(),JKe=Mf();function WKe(t,e){return t&&qKe(t,e,JKe)}iee.exports=WKe});var see=w((Wft,nee)=>{var zKe=mC();function _Ke(){this.__data__=new zKe,this.size=0}nee.exports=_Ke});var aee=w((zft,oee)=>{function VKe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}oee.exports=VKe});var lee=w((_ft,Aee)=>{function XKe(t){return this.__data__.get(t)}Aee.exports=XKe});var uee=w((Vft,cee)=>{function ZKe(t){return this.__data__.has(t)}cee.exports=ZKe});var fee=w((Xft,gee)=>{var $Ke=mC(),e2e=A0(),t2e=l0(),r2e=200;function i2e(t,e){var r=this.__data__;if(r instanceof $Ke){var i=r.__data__;if(!e2e||i.length{var n2e=mC(),s2e=see(),o2e=aee(),a2e=lee(),A2e=uee(),l2e=fee();function Uf(t){var e=this.__data__=new n2e(t);this.size=e.size}Uf.prototype.clear=s2e;Uf.prototype.delete=o2e;Uf.prototype.get=a2e;Uf.prototype.has=A2e;Uf.prototype.set=l2e;hee.exports=Uf});var dee=w(($ft,pee)=>{var c2e="__lodash_hash_undefined__";function u2e(t){return this.__data__.set(t,c2e),this}pee.exports=u2e});var mee=w((eht,Cee)=>{function g2e(t){return this.__data__.has(t)}Cee.exports=g2e});var Iee=w((tht,Eee)=>{var f2e=l0(),h2e=dee(),p2e=mee();function Q0(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new f2e;++e{function d2e(t,e){for(var r=-1,i=t==null?0:t.length;++r{function C2e(t,e){return t.has(e)}Bee.exports=C2e});var yF=w((nht,Qee)=>{var m2e=Iee(),E2e=wee(),I2e=bee(),y2e=1,w2e=2;function B2e(t,e,r,i,n,s){var o=r&y2e,a=t.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(t),u=s.get(e);if(c&&u)return c==e&&u==t;var g=-1,f=!0,h=r&w2e?new m2e:void 0;for(s.set(t,e),s.set(e,t);++g{var b2e=Rs(),Q2e=b2e.Uint8Array;vee.exports=Q2e});var kee=w((oht,See)=>{function v2e(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}See.exports=v2e});var Pee=w((aht,xee)=>{function S2e(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}xee.exports=S2e});var Lee=w((Aht,Dee)=>{var Ree=Kc(),Fee=wF(),k2e=xf(),x2e=yF(),P2e=kee(),D2e=Pee(),R2e=1,F2e=2,N2e="[object Boolean]",L2e="[object Date]",T2e="[object Error]",O2e="[object Map]",M2e="[object Number]",U2e="[object RegExp]",K2e="[object Set]",H2e="[object String]",j2e="[object Symbol]",G2e="[object ArrayBuffer]",Y2e="[object DataView]",Nee=Ree?Ree.prototype:void 0,BF=Nee?Nee.valueOf:void 0;function q2e(t,e,r,i,n,s,o){switch(r){case Y2e:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case G2e:return!(t.byteLength!=e.byteLength||!s(new Fee(t),new Fee(e)));case N2e:case L2e:case M2e:return k2e(+t,+e);case T2e:return t.name==e.name&&t.message==e.message;case U2e:case H2e:return t==e+"";case O2e:var a=P2e;case K2e:var l=i&R2e;if(a||(a=D2e),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=F2e,o.set(t,e);var u=x2e(a(t),a(e),i,n,s,o);return o.delete(t),u;case j2e:if(BF)return BF.call(t)==BF.call(e)}return!1}Dee.exports=q2e});var bF=w((lht,Tee)=>{var J2e=g0(),W2e=Os();function z2e(t,e,r){var i=e(t);return W2e(t)?i:J2e(i,r(t))}Tee.exports=z2e});var Mee=w((cht,Oee)=>{function _2e(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function V2e(){return[]}Uee.exports=V2e});var v0=w((ght,Kee)=>{var X2e=Mee(),Z2e=QF(),$2e=Object.prototype,eHe=$2e.propertyIsEnumerable,Hee=Object.getOwnPropertySymbols,tHe=Hee?function(t){return t==null?[]:(t=Object(t),X2e(Hee(t),function(e){return eHe.call(t,e)}))}:Z2e;Kee.exports=tHe});var vF=w((fht,jee)=>{var rHe=bF(),iHe=v0(),nHe=Mf();function sHe(t){return rHe(t,nHe,iHe)}jee.exports=sHe});var qee=w((hht,Gee)=>{var Yee=vF(),oHe=1,aHe=Object.prototype,AHe=aHe.hasOwnProperty;function lHe(t,e,r,i,n,s){var o=r&oHe,a=Yee(t),l=a.length,c=Yee(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:AHe.call(e,f)))return!1}var h=s.get(t),p=s.get(e);if(h&&p)return h==e&&p==t;var m=!0;s.set(t,e),s.set(e,t);for(var y=o;++g{var cHe=vl(),uHe=Rs(),gHe=cHe(uHe,"DataView");Jee.exports=gHe});var _ee=w((dht,zee)=>{var fHe=vl(),hHe=Rs(),pHe=fHe(hHe,"Promise");zee.exports=pHe});var Xee=w((Cht,Vee)=>{var dHe=vl(),CHe=Rs(),mHe=dHe(CHe,"Set");Vee.exports=mHe});var $ee=w((mht,Zee)=>{var EHe=vl(),IHe=Rs(),yHe=EHe(IHe,"WeakMap");Zee.exports=yHe});var LC=w((Eht,ete)=>{var SF=Wee(),kF=A0(),xF=_ee(),PF=Xee(),DF=$ee(),tte=Hc(),Kf=qR(),rte="[object Map]",wHe="[object Object]",ite="[object Promise]",nte="[object Set]",ste="[object WeakMap]",ote="[object DataView]",BHe=Kf(SF),bHe=Kf(kF),QHe=Kf(xF),vHe=Kf(PF),SHe=Kf(DF),uu=tte;(SF&&uu(new SF(new ArrayBuffer(1)))!=ote||kF&&uu(new kF)!=rte||xF&&uu(xF.resolve())!=ite||PF&&uu(new PF)!=nte||DF&&uu(new DF)!=ste)&&(uu=function(t){var e=tte(t),r=e==wHe?t.constructor:void 0,i=r?Kf(r):"";if(i)switch(i){case BHe:return ote;case bHe:return rte;case QHe:return ite;case vHe:return nte;case SHe:return ste}return e});ete.exports=uu});var hte=w((Iht,ate)=>{var RF=NC(),kHe=yF(),xHe=Lee(),PHe=qee(),Ate=LC(),lte=Os(),cte=PC(),DHe=B0(),RHe=1,ute="[object Arguments]",gte="[object Array]",S0="[object Object]",FHe=Object.prototype,fte=FHe.hasOwnProperty;function NHe(t,e,r,i,n,s){var o=lte(t),a=lte(e),l=o?gte:Ate(t),c=a?gte:Ate(e);l=l==ute?S0:l,c=c==ute?S0:c;var u=l==S0,g=c==S0,f=l==c;if(f&&cte(t)){if(!cte(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new RF),o||DHe(t)?kHe(t,e,r,i,n,s):xHe(t,e,l,r,i,n,s);if(!(r&RHe)){var h=u&&fte.call(t,"__wrapped__"),p=g&&fte.call(e,"__wrapped__");if(h||p){var m=h?t.value():t,y=p?e.value():e;return s||(s=new RF),n(m,y,r,i,s)}}return f?(s||(s=new RF),PHe(t,e,r,i,n,s)):!1}ate.exports=NHe});var FF=w((yht,pte)=>{var LHe=hte(),dte=Zo();function Cte(t,e,r,i,n){return t===e?!0:t==null||e==null||!dte(t)&&!dte(e)?t!==t&&e!==e:LHe(t,e,r,i,Cte,n)}pte.exports=Cte});var Ete=w((wht,mte)=>{var THe=NC(),OHe=FF(),MHe=1,UHe=2;function KHe(t,e,r,i){var n=r.length,s=n,o=!i;if(t==null)return!s;for(t=Object(t);n--;){var a=r[n];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++n{var HHe=Rn();function jHe(t){return t===t&&!HHe(t)}Ite.exports=jHe});var wte=w((bht,yte)=>{var GHe=NF(),YHe=Mf();function qHe(t){for(var e=YHe(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,GHe(n)]}return e}yte.exports=qHe});var LF=w((Qht,Bte)=>{function JHe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}Bte.exports=JHe});var Qte=w((vht,bte)=>{var WHe=Ete(),zHe=wte(),_He=LF();function VHe(t){var e=zHe(t);return e.length==1&&e[0][2]?_He(e[0][0],e[0][1]):function(r){return r===t||WHe(r,t,e)}}bte.exports=VHe});var k0=w((Sht,vte)=>{var XHe=IC();function ZHe(t,e,r){var i=t==null?void 0:XHe(t,e);return i===void 0?r:i}vte.exports=ZHe});var kte=w((kht,Ste)=>{var $He=FF(),eje=k0(),tje=VR(),rje=o0(),ije=NF(),nje=LF(),sje=lu(),oje=1,aje=2;function Aje(t,e){return rje(t)&&ije(e)?nje(sje(t),e):function(r){var i=eje(r,t);return i===void 0&&i===e?tje(r,t):$He(e,i,oje|aje)}}Ste.exports=Aje});var Pte=w((xht,xte)=>{function lje(t){return function(e){return e==null?void 0:e[t]}}xte.exports=lje});var Rte=w((Pht,Dte)=>{var cje=IC();function uje(t){return function(e){return cje(e,t)}}Dte.exports=uje});var Nte=w((Dht,Fte)=>{var gje=Pte(),fje=Rte(),hje=o0(),pje=lu();function dje(t){return hje(t)?gje(pje(t)):fje(t)}Fte.exports=dje});var TF=w((Rht,Lte)=>{var Cje=Qte(),mje=kte(),Eje=f0(),Ije=Os(),yje=Nte();function wje(t){return typeof t=="function"?t:t==null?Eje:typeof t=="object"?Ije(t)?mje(t[0],t[1]):Cje(t):yje(t)}Lte.exports=wje});var OF=w((Fht,Tte)=>{var Bje=Ff(),bje=IF(),Qje=TF();function vje(t,e){var r={};return e=Qje(e,3),bje(t,function(i,n,s){Bje(r,n,e(i,n,s))}),r}Tte.exports=vje});var TC=w((Nht,Ote)=>{"use strict";function gu(t){this._maxSize=t,this.clear()}gu.prototype.clear=function(){this._size=0,this._values=Object.create(null)};gu.prototype.get=function(t){return this._values[t]};gu.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var Sje=/[^.^\]^[]+|(?=\[\]|\.\.)/g,Mte=/^\d+$/,kje=/^\d/,xje=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,Pje=/^\s*(['"]?)(.*?)(\1)\s*$/,MF=512,Ute=new gu(MF),Kte=new gu(MF),Hte=new gu(MF);Ote.exports={Cache:gu,split:KF,normalizePath:UF,setter:function(t){var e=UF(t);return Kte.get(t)||Kte.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(OC,"__esModule",{value:!0});OC.create=Lje;OC.default=void 0;var Tje=TC(),x0={context:"$",value:"."};function Lje(t,e){return new P0(t,e)}var P0=class{constructor(e,r={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===x0.context,this.isValue=this.key[0]===x0.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?x0.context:this.isValue?x0.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,Tje.getter)(this.path,!0),this.map=r.map}getValue(e,r,i){let n=this.isContext?i:this.isValue?e:r;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};OC.default=P0;P0.prototype.__isYupRef=!0});var jte=w(jF=>{"use strict";Object.defineProperty(jF,"__esModule",{value:!0});jF.default=Oje;var Mje=GF(OF()),D0=GF(cu()),Uje=GF(fu());function GF(t){return t&&t.__esModule?t:{default:t}}function R0(){return R0=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function Oje(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=Kje(r,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=t,{parent:m,context:y}=a;function Q(U){return Uje.default.isRef(U)?U.getValue(n,m,y):U}function S(U={}){let J=(0,Mje.default)(R0({value:n,originalValue:l,label:o,path:U.path||s},h,U.params),Q),W=new D0.default(D0.default.formatError(U.message||p,J),n,J.path,U.type||g);return W.params=J,W}let x=R0({path:s,parent:m,type:g,createError:S,resolve:Q,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(x,n,x)).then(U=>{D0.default.isError(U)?i(U):U?i(null,U):i(S())})}catch(U){i(U)}return}let M;try{var Y;if(M=f.call(x,n,x),typeof((Y=M)==null?void 0:Y.then)=="function")throw new Error(`Validation test of type: "${x.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(U){i(U);return}D0.default.isError(M)?i(M):M?i(null,M):i(S())}return e.OPTIONS=t,e}});var YF=w(MC=>{"use strict";Object.defineProperty(MC,"__esModule",{value:!0});MC.getIn=Gte;MC.default=void 0;var Hje=TC(),jje=t=>t.substr(0,t.length-1).substr(1);function Gte(t,e,r,i=r){let n,s,o;return e?((0,Hje.forEach)(e,(a,l,c)=>{let u=l?jje(a):a;if(t=t.resolve({context:i,parent:n,value:r}),t.innerType){let g=c?parseInt(u,10):0;if(r&&g>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=r,r=r&&r[g],t=t.innerType}if(!c){if(!t.fields||!t.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${t._type}")`);n=r,r=r&&r[u],t=t.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:t,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:t}}var Gje=(t,e,r,i)=>Gte(t,e,r,i).schema,Yje=Gje;MC.default=Yje});var qte=w(F0=>{"use strict";Object.defineProperty(F0,"__esModule",{value:!0});F0.default=void 0;var Yte=qje(fu());function qje(t){return t&&t.__esModule?t:{default:t}}var N0=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let r of this.list)e.push(r);for(let[,r]of this.refs)e.push(r.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){Yte.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){Yte.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,r){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(r(i.value)===e)return!0;return!1}clone(){let e=new N0;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,r){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),r.list.forEach(n=>i.delete(n)),r.refs.forEach(n=>i.delete(n)),i}};F0.default=N0});var pA=w(L0=>{"use strict";Object.defineProperty(L0,"__esModule",{value:!0});L0.default=void 0;var Jte=hA(h$()),Hf=fA(),Jje=hA(x$()),Wte=hA(I0()),T0=hA(jte()),zte=hA(vC()),Wje=hA(fu()),zje=YF(),_je=hA(gF()),_te=hA(cu()),Vte=hA(qte());function hA(t){return t&&t.__esModule?t:{default:t}}function Ys(){return Ys=Object.assign||function(t){for(var e=1;e{this.typeError(Hf.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=Ys({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=Ys({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,Jte.default)(Ys({},this.spec,e)),r}label(e){var r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=r,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,i=e.clone(),n=Ys({},r.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=r._typeError),i._whitelistError||(i._whitelistError=r._whitelistError),i._blacklistError||(i._blacklistError=r._blacklistError),i._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),i.tests=r.tests,i.exclusiveTests=r.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let i=r.conditions;r=r.clone(),r.conditions=[],r=i.reduce((n,s)=>s.resolve(n,e),r),r=r.resolve(e)}return r}cast(e,r={}){let i=this.resolve(Ys({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,zte.default)(e),o=(0,zte.default)(n);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". + +attempted value: ${s} +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,Ys({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,Wte.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,Wte.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(Ys({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(Ys({},r,{value:e})),n;return i._validate(e,Ys({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(_te.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(_te.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,Jte.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=Hf.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=Hf.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=Hf.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,T0.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,_je.default)(e).map(s=>new Wje.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new Jje.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,T0.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=Hf.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,T0.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=Hf.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,T0.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};L0.default=Aa;Aa.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])Aa.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,zje.getIn)(this,e,r,i.context);return o[t](n&&n[s],Ys({},i,{parent:n,path:e}))};for(let t of["equals","is"])Aa.prototype[t]=Aa.prototype.oneOf;for(let t of["not","nope"])Aa.prototype[t]=Aa.prototype.notOneOf;Aa.prototype.optional=Aa.prototype.notRequired});var Zte=w(UC=>{"use strict";Object.defineProperty(UC,"__esModule",{value:!0});UC.create=Xte;UC.default=void 0;var Xje=Vje(pA());function Vje(t){return t&&t.__esModule?t:{default:t}}var qF=Xje.default,Zje=qF;UC.default=Zje;function Xte(){return new qF}Xte.prototype=qF.prototype});var jf=w(O0=>{"use strict";Object.defineProperty(O0,"__esModule",{value:!0});O0.default=void 0;var $je=t=>t==null;O0.default=$je});var ire=w(KC=>{"use strict";Object.defineProperty(KC,"__esModule",{value:!0});KC.create=$te;KC.default=void 0;var eGe=ere(pA()),tre=fA(),rre=ere(jf());function ere(t){return t&&t.__esModule?t:{default:t}}function $te(){return new M0}var M0=class extends eGe.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=tre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,rre.default)(r)||r===!0}})}isFalse(e=tre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,rre.default)(r)||r===!1}})}};KC.default=M0;$te.prototype=M0.prototype});var ore=w(HC=>{"use strict";Object.defineProperty(HC,"__esModule",{value:!0});HC.create=nre;HC.default=void 0;var la=fA(),dA=sre(jf()),tGe=sre(pA());function sre(t){return t&&t.__esModule?t:{default:t}}var rGe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,iGe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,nGe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,sGe=t=>(0,dA.default)(t)||t===t.trim(),oGe={}.toString();function nre(){return new U0}var U0=class extends tGe.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===oGe?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=la.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,dA.default)(i)||i.length===this.resolve(e)}})}min(e,r=la.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,dA.default)(i)||i.length>=this.resolve(e)}})}max(e,r=la.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,dA.default)(i)||i.length<=this.resolve(e)}})}matches(e,r){let i=!1,n,s;return r&&(typeof r=="object"?{excludeEmptyString:i=!1,message:n,name:s}=r:n=r),this.test({name:s||"matches",message:n||la.string.matches,params:{regex:e},test:o=>(0,dA.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=la.string.email){return this.matches(rGe,{name:"email",message:e,excludeEmptyString:!0})}url(e=la.string.url){return this.matches(iGe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=la.string.uuid){return this.matches(nGe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=la.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:sGe})}lowercase(e=la.string.lowercase){return this.transform(r=>(0,dA.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,dA.default)(r)||r===r.toLowerCase()})}uppercase(e=la.string.uppercase){return this.transform(r=>(0,dA.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,dA.default)(r)||r===r.toUpperCase()})}};HC.default=U0;nre.prototype=U0.prototype});var lre=w(jC=>{"use strict";Object.defineProperty(jC,"__esModule",{value:!0});jC.create=are;jC.default=void 0;var hu=fA(),pu=Are(jf()),aGe=Are(pA());function Are(t){return t&&t.__esModule?t:{default:t}}var AGe=t=>t!=+t;function are(){return new K0}var K0=class extends aGe.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!AGe(e)}min(e,r=hu.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,pu.default)(i)||i>=this.resolve(e)}})}max(e,r=hu.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,pu.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=hu.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,pu.default)(i)||ithis.resolve(e)}})}positive(e=hu.number.positive){return this.moreThan(0,e)}negative(e=hu.number.negative){return this.lessThan(0,e)}integer(e=hu.number.integer){return this.test({name:"integer",message:e,test:r=>(0,pu.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,pu.default)(e)?e:e|0)}round(e){var r,i=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,pu.default)(n)?n:Math[e](n))}};jC.default=K0;are.prototype=K0.prototype});var cre=w(JF=>{"use strict";Object.defineProperty(JF,"__esModule",{value:!0});JF.default=lGe;var cGe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function lGe(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=cGe.exec(t)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(r=n[10]*60+n[11],n[9]==="+"&&(r=0-r)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7]))}else i=Date.parse?Date.parse(t):NaN;return i}});var fre=w(GC=>{"use strict";Object.defineProperty(GC,"__esModule",{value:!0});GC.create=WF;GC.default=void 0;var uGe=H0(cre()),ure=fA(),gre=H0(jf()),gGe=H0(fu()),fGe=H0(pA());function H0(t){return t&&t.__esModule?t:{default:t}}var zF=new Date(""),hGe=t=>Object.prototype.toString.call(t)==="[object Date]";function WF(){return new YC}var YC=class extends fGe.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,uGe.default)(e),isNaN(e)?zF:new Date(e))})})}_typeCheck(e){return hGe(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(gGe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,r=ure.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,gre.default)(n)||n>=this.resolve(i)}})}max(e,r=ure.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,gre.default)(n)||n<=this.resolve(i)}})}};GC.default=YC;YC.INVALID_DATE=zF;WF.prototype=YC.prototype;WF.INVALID_DATE=zF});var pre=w((Wht,hre)=>{function pGe(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function dGe(t){return function(e){return t==null?void 0:t[e]}}dre.exports=dGe});var Ere=w((_ht,mre)=>{var CGe=Cre(),mGe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},EGe=CGe(mGe);mre.exports=EGe});var yre=w((Vht,Ire)=>{var IGe=Ere(),yGe=nf(),wGe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,BGe="\\u0300-\\u036f",bGe="\\ufe20-\\ufe2f",QGe="\\u20d0-\\u20ff",vGe=BGe+bGe+QGe,SGe="["+vGe+"]",kGe=RegExp(SGe,"g");function xGe(t){return t=yGe(t),t&&t.replace(wGe,IGe).replace(kGe,"")}Ire.exports=xGe});var Bre=w((Xht,wre)=>{var PGe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function DGe(t){return t.match(PGe)||[]}wre.exports=DGe});var Qre=w((Zht,bre)=>{var RGe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function FGe(t){return RGe.test(t)}bre.exports=FGe});var Yre=w(($ht,vre)=>{var Sre="\\ud800-\\udfff",NGe="\\u0300-\\u036f",LGe="\\ufe20-\\ufe2f",TGe="\\u20d0-\\u20ff",OGe=NGe+LGe+TGe,kre="\\u2700-\\u27bf",xre="a-z\\xdf-\\xf6\\xf8-\\xff",MGe="\\xac\\xb1\\xd7\\xf7",UGe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",KGe="\\u2000-\\u206f",HGe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Pre="A-Z\\xc0-\\xd6\\xd8-\\xde",jGe="\\ufe0e\\ufe0f",Dre=MGe+UGe+KGe+HGe,Rre="['\u2019]",Fre="["+Dre+"]",GGe="["+OGe+"]",Nre="\\d+",YGe="["+kre+"]",Lre="["+xre+"]",Tre="[^"+Sre+Dre+Nre+kre+xre+Pre+"]",qGe="\\ud83c[\\udffb-\\udfff]",JGe="(?:"+GGe+"|"+qGe+")",WGe="[^"+Sre+"]",Ore="(?:\\ud83c[\\udde6-\\uddff]){2}",Mre="[\\ud800-\\udbff][\\udc00-\\udfff]",Gf="["+Pre+"]",zGe="\\u200d",Ure="(?:"+Lre+"|"+Tre+")",_Ge="(?:"+Gf+"|"+Tre+")",Kre="(?:"+Rre+"(?:d|ll|m|re|s|t|ve))?",Hre="(?:"+Rre+"(?:D|LL|M|RE|S|T|VE))?",jre=JGe+"?",Gre="["+jGe+"]?",VGe="(?:"+zGe+"(?:"+[WGe,Ore,Mre].join("|")+")"+Gre+jre+")*",XGe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ZGe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",$Ge=Gre+jre+VGe,eYe="(?:"+[YGe,Ore,Mre].join("|")+")"+$Ge,tYe=RegExp([Gf+"?"+Lre+"+"+Kre+"(?="+[Fre,Gf,"$"].join("|")+")",_Ge+"+"+Hre+"(?="+[Fre,Gf+Ure,"$"].join("|")+")",Gf+"?"+Ure+"+"+Kre,Gf+"+"+Hre,ZGe,XGe,Nre,eYe].join("|"),"g");function rYe(t){return t.match(tYe)||[]}vre.exports=rYe});var Jre=w((ept,qre)=>{var iYe=Bre(),nYe=Qre(),sYe=nf(),oYe=Yre();function aYe(t,e,r){return t=sYe(t),e=r?void 0:e,e===void 0?nYe(t)?oYe(t):iYe(t):t.match(e)||[]}qre.exports=aYe});var _F=w((tpt,Wre)=>{var AYe=pre(),lYe=yre(),cYe=Jre(),uYe="['\u2019]",gYe=RegExp(uYe,"g");function fYe(t){return function(e){return AYe(cYe(lYe(e).replace(gYe,"")),t,"")}}Wre.exports=fYe});var _re=w((rpt,zre)=>{var hYe=_F(),pYe=hYe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});zre.exports=pYe});var Xre=w((ipt,Vre)=>{var dYe=tB(),CYe=_F(),mYe=CYe(function(t,e,r){return e=e.toLowerCase(),t+(r?dYe(e):e)});Vre.exports=mYe});var $re=w((npt,Zre)=>{var EYe=Ff(),IYe=IF(),yYe=TF();function wYe(t,e){var r={};return e=yYe(e,3),IYe(t,function(i,n,s){EYe(r,e(i,n,s),i)}),r}Zre.exports=wYe});var tie=w((spt,VF)=>{VF.exports=function(t){return eie(BYe(t),t)};VF.exports.array=eie;function eie(t,e){var r=t.length,i=new Array(r),n={},s=r,o=bYe(e),a=QYe(t);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(t[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch(m){f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--r]=c}}}function BYe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(XF,"__esModule",{value:!0});XF.default=vYe;var SYe=j0(SC()),kYe=j0(tie()),xYe=TC(),PYe=j0(fu()),DYe=j0(Lf());function j0(t){return t&&t.__esModule?t:{default:t}}function vYe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,xYe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,SYe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),PYe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,DYe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return kYe.default.array(i,r).reverse()}});var nie=w(ZF=>{"use strict";Object.defineProperty(ZF,"__esModule",{value:!0});ZF.default=RYe;function iie(t,e){let r=Infinity;return t.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return r=n,!0}),r}function RYe(t){return(e,r)=>iie(t,e)-iie(t,r)}});var uie=w(qC=>{"use strict";Object.defineProperty(qC,"__esModule",{value:!0});qC.create=sie;qC.default=void 0;var oie=ca(SC()),aie=ca(_re()),FYe=ca(Xre()),NYe=ca($re()),LYe=ca(OF()),TYe=TC(),Aie=fA(),OYe=ca(rie()),lie=ca(nie()),MYe=ca(I0()),UYe=ca(cu()),$F=ca(pA());function ca(t){return t&&t.__esModule?t:{default:t}}function Yf(){return Yf=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function KYe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var HYe=(0,lie.default)([]),G0=class extends $F.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=HYe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return cie(e)||typeof e=="function"}_cast(e,r={}){var i;let n=super._cast(e,r);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=r.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=Yf({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,oie.default)(n,g);if(f){let p,m=n[g];c.path=(r.path?`${r.path}.`:"")+g,f=f.resolve({value:m,context:r.context,parent:l});let y="spec"in f?f.spec:void 0,Q=y==null?void 0:y.strict;if(y==null?void 0:y.strip){u=u||g in n;continue}p=!r.__validating||!Q?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,r={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=r;o=[{schema:this,value:a},...o],r.__validating=!0,r.originalValue=a,r.from=o,super._validate(e,r,(u,g)=>{if(u){if(!UYe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!cie(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,m)=>{let y=h.indexOf(".")===-1?(r.path?`${r.path}.`:"")+h:`${r.path||""}["${h}"]`,Q=this.fields[h];if(Q&&"validate"in Q){Q.validate(g[h],Yf({},r,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),m);return}m(null)});(0,MYe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:r.path},i)})}clone(e){let r=super.clone(e);return r.fields=Yf({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),i=r.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof $F.default&&s instanceof $F.default&&(i[n]=s.concat(o))}return r.withMutation(()=>r.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let i=this.fields[r];e[r]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,lie.default)(Object.keys(n)),r.length){Array.isArray(r[0])||(r=[r]);let s=r.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,OYe.default)(n,i._excludedEdges),i}pick(e){let r={};for(let i of e)this.fields[i]&&(r[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(r)))}omit(e){let r=this.clone(),i=r.fields;r.fields={};for(let n of e)delete i[n];return r.withMutation(()=>r.shape(i))}from(e,r,i){let n=(0,TYe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,oie.default)(s,e)&&(o=Yf({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=Aie.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:r,test(n){if(n==null)return!0;let s=KYe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=Aie.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,NYe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(FYe.default)}snakeCase(){return this.transformKeys(aie.default)}constantCase(){return this.transformKeys(e=>(0,aie.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,LYe.default)(this.fields,r=>r.describe()),e}};qC.default=G0;function sie(t){return new G0(t)}sie.prototype=G0.prototype});var fie=w(JC=>{"use strict";Object.defineProperty(JC,"__esModule",{value:!0});JC.create=gie;JC.default=void 0;var eN=qf(jf()),jYe=qf(Lf()),GYe=qf(vC()),tN=fA(),YYe=qf(I0()),qYe=qf(cu()),JYe=qf(pA());function qf(t){return t&&t.__esModule?t:{default:t}}function Y0(){return Y0=Object.assign||function(t){for(var e=1;e{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(i){r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let i=super._cast(e,r);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,Y0({},r,{path:`${r.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,r={},i){var n,s;let o=[],a=r.sync,l=r.path,c=this.innerType,u=(n=r.abortEarly)!=null?n:this.spec.abortEarly,g=(s=r.recursive)!=null?s:this.spec.recursive,f=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(h,p)=>{if(h){if(!qYe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let m=new Array(p.length);for(let y=0;yc.validate(Q,x,Y)}(0,YYe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:m},i)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,jYe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,GYe.default)(e));return r.innerType=e,r}length(e,r=tN.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,eN.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||tN.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,eN.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||tN.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,eN.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(r):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};JC.default=q0;gie.prototype=q0.prototype});var hie=w(WC=>{"use strict";Object.defineProperty(WC,"__esModule",{value:!0});WC.create=WYe;WC.default=void 0;var _Ye=zYe(Lf());function zYe(t){return t&&t.__esModule?t:{default:t}}function WYe(t){return new rN(t)}var rN=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,_Ye.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,i){return this._resolve(e,r).validate(e,r,i)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,i){return this._resolve(r,i).validateAt(e,r,i)}validateSyncAt(e,r,i){return this._resolve(r,i).validateSyncAt(e,r,i)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},VYe=rN;WC.default=VYe});var pie=w(iN=>{"use strict";Object.defineProperty(iN,"__esModule",{value:!0});iN.default=XYe;var $Ye=ZYe(fA());function ZYe(t){return t&&t.__esModule?t:{default:t}}function XYe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{$Ye.default[e][r]=t[e][r]})})}});var sN=w(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.addMethod=eqe;Object.defineProperty(Br,"MixedSchema",{enumerable:!0,get:function(){return die.default}});Object.defineProperty(Br,"mixed",{enumerable:!0,get:function(){return die.create}});Object.defineProperty(Br,"BooleanSchema",{enumerable:!0,get:function(){return nN.default}});Object.defineProperty(Br,"bool",{enumerable:!0,get:function(){return nN.create}});Object.defineProperty(Br,"boolean",{enumerable:!0,get:function(){return nN.create}});Object.defineProperty(Br,"StringSchema",{enumerable:!0,get:function(){return Cie.default}});Object.defineProperty(Br,"string",{enumerable:!0,get:function(){return Cie.create}});Object.defineProperty(Br,"NumberSchema",{enumerable:!0,get:function(){return mie.default}});Object.defineProperty(Br,"number",{enumerable:!0,get:function(){return mie.create}});Object.defineProperty(Br,"DateSchema",{enumerable:!0,get:function(){return Eie.default}});Object.defineProperty(Br,"date",{enumerable:!0,get:function(){return Eie.create}});Object.defineProperty(Br,"ObjectSchema",{enumerable:!0,get:function(){return Iie.default}});Object.defineProperty(Br,"object",{enumerable:!0,get:function(){return Iie.create}});Object.defineProperty(Br,"ArraySchema",{enumerable:!0,get:function(){return yie.default}});Object.defineProperty(Br,"array",{enumerable:!0,get:function(){return yie.create}});Object.defineProperty(Br,"ref",{enumerable:!0,get:function(){return tqe.create}});Object.defineProperty(Br,"lazy",{enumerable:!0,get:function(){return rqe.create}});Object.defineProperty(Br,"ValidationError",{enumerable:!0,get:function(){return iqe.default}});Object.defineProperty(Br,"reach",{enumerable:!0,get:function(){return nqe.default}});Object.defineProperty(Br,"isSchema",{enumerable:!0,get:function(){return wie.default}});Object.defineProperty(Br,"setLocale",{enumerable:!0,get:function(){return sqe.default}});Object.defineProperty(Br,"BaseSchema",{enumerable:!0,get:function(){return oqe.default}});var die=du(Zte()),nN=du(ire()),Cie=du(ore()),mie=du(lre()),Eie=du(fre()),Iie=du(uie()),yie=du(fie()),tqe=fu(),rqe=hie(),iqe=zC(cu()),nqe=zC(YF()),wie=zC(Lf()),sqe=zC(pie()),oqe=zC(pA());function zC(t){return t&&t.__esModule?t:{default:t}}function Bie(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return Bie=function(){return t},t}function du(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=Bie();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function eqe(t,e,r){if(!t||!(0,wie.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}});var kie=w((Qpt,VC)=>{"use strict";var lqe=process.env.TERM_PROGRAM==="Hyper",cqe=process.platform==="win32",Qie=process.platform==="linux",oN={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},vie=Object.assign({},oN,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),Sie=Object.assign({},oN,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:Qie?"\u25B8":"\u276F",pointerSmall:Qie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});VC.exports=cqe&&!lqe?vie:Sie;Reflect.defineProperty(VC.exports,"common",{enumerable:!1,value:oN});Reflect.defineProperty(VC.exports,"windows",{enumerable:!1,value:vie});Reflect.defineProperty(VC.exports,"other",{enumerable:!1,value:Sie})});var Co=w((vpt,aN)=>{"use strict";var uqe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),gqe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,xie=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},r=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(t.enabled===!1)return s;if(t.visible===!1)return"";let a=""+s,l=a.includes(` +`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=gqe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!uqe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=kie(),t.define=n,t};aN.exports=xie();aN.exports.create=xie});var Xi=w(Lt=>{"use strict";var fqe=Object.prototype.toString,qs=Co(),Pie=!1,AN=[],Die={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};Lt.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);Lt.hasColor=t=>!!t&&qs.hasColor(t);var W0=Lt.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Lt.nativeType=t=>fqe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");Lt.isAsyncFn=t=>Lt.nativeType(t)==="asyncfunction";Lt.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";Lt.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;Lt.scrollDown=(t=[])=>[...t.slice(1),t[0]];Lt.scrollUp=(t=[])=>[t.pop(),...t];Lt.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};Lt.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};Lt.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};Lt.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=` +`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};Lt.unmute=t=>{let e=t.stack.find(i=>qs.keys.color.includes(i));return e?qs[e]:t.stack.find(i=>i.slice(2)==="bg")?qs[e.slice(2)]:i=>i};Lt.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";Lt.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>qs.keys.color.includes(i));if(e){let i=qs["bg"+Lt.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?qs[r.slice(2).toLowerCase()]||t:qs.none};Lt.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>qs.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return qs[Die[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=Die[i];return n&&qs["bg"+Lt.pascal(n)]||t}return qs.none};Lt.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};Lt.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!Lt.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};Lt.mixin=(t,e)=>{if(!W0(t))return e;if(!W0(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&W0(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);W0(n.value)?t[r]=Lt.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};Lt.merge=(...t)=>{let e={};for(let r of t)Lt.mixin(e,r);return e};Lt.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?Lt.define(t,i,n.bind(e)):Lt.define(t,i,n)}};Lt.onExit=t=>{let e=(r,i)=>{Pie||(Pie=!0,AN.forEach(n=>n()),r===!0&&process.exit(128+i))};AN.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),AN.push(t)};Lt.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};Lt.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var Rie=w(Wf=>{"use strict";Wf.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Wf.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Wf.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Wf.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Wf.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var Lie=w((xpt,Fie)=>{"use strict";var Nie=require("readline"),hqe=Rie(),pqe=/^(?:\x1b)([a-zA-Z0-9])$/,dqe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,Cqe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function mqe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function Eqe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var z0=(t="",e={})=>{let r,i=N({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t},e);if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===` +`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=pqe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=dqe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=Cqe[s],i.shift=mqe(s)||i.shift,i.ctrl=Eqe(s)||i.ctrl}return i};z0.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=Nie.createInterface({terminal:!0,input:r});Nie.emitKeypressEvents(r,i);let n=(a,l)=>e(a,z0(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};z0.action=(t,e,r)=>{let i=N(N({},hqe),r);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};Fie.exports=z0});var Oie=w((Ppt,Tie)=>{"use strict";Tie.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),Iqe(t,r,i)}};function Iqe(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var Kie=w((Dpt,Mie)=>{"use strict";var{define:yqe,width:wqe}=Xi(),Uie=class{constructor(e){let r=e.options;yqe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=wqe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=N({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};Mie.exports=Uie});var jie=w((Rpt,Hie)=>{"use strict";var lN=Xi(),Fi=Co(),cN={default:Fi.noop,noop:Fi.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||lN.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||lN.complement(this.primary)},primary:Fi.cyan,success:Fi.green,danger:Fi.magenta,strong:Fi.bold,warning:Fi.yellow,muted:Fi.dim,disabled:Fi.gray,dark:Fi.dim.gray,underline:Fi.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};cN.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Fi.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Fi.visible=t.styles.visible);let e=lN.merge({},cN,t.styles);delete e.merge;for(let r of Object.keys(Fi))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Fi[r]});for(let r of Object.keys(Fi.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Fi[r]});return e};Hie.exports=cN});var Yie=w((Fpt,Gie)=>{"use strict";var uN=process.platform==="win32",CA=Co(),Bqe=Xi(),gN=te(N({},CA.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:CA.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:CA.symbols.question,submitted:CA.symbols.check,cancelled:CA.symbols.cross},separator:{pending:CA.symbols.pointerSmall,submitted:CA.symbols.middot,cancelled:CA.symbols.middot},radio:{off:uN?"( )":"\u25EF",on:uN?"(*)":"\u25C9",disabled:uN?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]});gN.merge=t=>{let e=Bqe.merge({},CA.symbols,gN,t.symbols);return delete e.merge,e};Gie.exports=gN});var Jie=w((Npt,qie)=>{"use strict";var bqe=jie(),Qqe=Yie(),vqe=Xi();qie.exports=t=>{t.options=vqe.merge({},t.options.theme,t.options),t.symbols=Qqe.merge(t.options),t.styles=bqe.merge(t.options)}});var Xie=w((Wie,zie)=>{"use strict";var _ie=process.env.TERM_PROGRAM==="Apple_Terminal",Sqe=Co(),fN=Xi(),mo=zie.exports=Wie,Nr="[",Vie="\x07",hN=!1,Sl=mo.code={bell:Vie,beep:Vie,beginning:`${Nr}G`,down:`${Nr}J`,esc:Nr,getPosition:`${Nr}6n`,hide:`${Nr}?25l`,line:`${Nr}2K`,lineEnd:`${Nr}K`,lineStart:`${Nr}1K`,restorePosition:Nr+(_ie?"8":"u"),savePosition:Nr+(_ie?"7":"s"),screen:`${Nr}2J`,show:`${Nr}?25h`,up:`${Nr}1J`},Cu=mo.cursor={get hidden(){return hN},hide(){return hN=!0,Sl.hide},show(){return hN=!1,Sl.show},forward:(t=1)=>`${Nr}${t}C`,backward:(t=1)=>`${Nr}${t}D`,nextLine:(t=1)=>`${Nr}E`.repeat(t),prevLine:(t=1)=>`${Nr}F`.repeat(t),up:(t=1)=>t?`${Nr}${t}A`:"",down:(t=1)=>t?`${Nr}${t}B`:"",right:(t=1)=>t?`${Nr}${t}C`:"",left:(t=1)=>t?`${Nr}${t}D`:"",to(t,e){return e?`${Nr}${e+1};${t+1}H`:`${Nr}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?Cu.left(-t):t>0?Cu.right(t):"",r+=e<0?Cu.up(-e):e>0?Cu.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=fN.isPrimitive(i)?String(i):"",n=fN.isPrimitive(n)?String(n):"",a=fN.isPrimitive(a)?String(a):"",o){let l=mo.cursor.up(o)+mo.cursor.to(s.length),c=n.length-r;return c>0&&(l+=mo.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+r;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),mo.cursor.move(l)}}},pN=mo.erase={screen:Sl.screen,up:Sl.up,down:Sl.down,line:Sl.line,lineEnd:Sl.lineEnd,lineStart:Sl.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return pN.line+Cu.to(0);let r=s=>[...Sqe.unstyle(s)].length,i=t.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(r(s)-1,0)/e);return(pN.line+Cu.prevLine()).repeat(n-1)+pN.line+Cu.to(0)}});var zf=w((Lpt,Zie)=>{"use strict";var kqe=require("events"),$ie=Co(),dN=Lie(),xqe=Oie(),Pqe=Kie(),Dqe=Jie(),Tn=Xi(),mu=Xie(),_0=class extends kqe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,Dqe(this),xqe(this),this.state=new Pqe(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=Fqe(this.options.margin),this.setMaxListeners(0),Rqe(this)}async keypress(e,r={}){this.keypressed=!0;let i=dN.action(e,dN(e,r),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(mu.code.beep)}cursorHide(){this.stdout.write(mu.cursor.hide()),Tn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(mu.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(mu.cursor.down(e)+mu.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:r,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=mu.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=$ie.unstyle(i);let n=$ie.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` +`),c=l[0],u=l[l.length-1],f=(i+(r?" "+r:"")).length,h=fe.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,Tn.isObject(e)&&(e=e[i.status]||e.pending),Tn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Tn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return Tn.isObject(s)&&(s=s[i.status]||s.pending),Tn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&Tn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=Tn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&Tn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return Tn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Tn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Tn.resolve(this,e,...r)}get base(){return _0.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Tn.height(this.stdout,25)}get width(){return this.options.columns||Tn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function Rqe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function Fqe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?` +`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}Zie.exports=_0});var rne=w((Tpt,ene)=>{"use strict";var Nqe=Xi(),tne={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return tne.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};ene.exports=(t,e={})=>{let r=Nqe.merge({},tne,e.roles);return r[t]||r.default}});var XC=w((Opt,ine)=>{"use strict";var Lqe=Co(),Tqe=zf(),Oqe=rne(),V0=Xi(),{reorder:CN,scrollUp:Mqe,scrollDown:Uqe,isObject:nne,swap:Kqe}=V0,sne=class extends Tqe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");nne(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=Oqe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,V0.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,Lqe.unstyle(e.message).length));let o=N({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n=N({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(n=>this.toggle(n,r));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return one(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=CN(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=r(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=CN(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=CN(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>r&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===r-1?this.alert():e>r&&i===r-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=Mqe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=Uqe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){Kqe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&r.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,r),i),{})}filter(e,r){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return r?o.map(a=>a[r]):o}find(e,r){if(nne(e))return r?e[r]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return r?s[r]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:r,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&r!==!1&&i!==!0&&(s=V0.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(i=>i.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let i=this.find(r);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return one(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:i}=this,n=e.limit||this._limit||r.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function one(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(V0.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let i=r.choices.filter(n=>!t.isDisabled(n));r.enabled=i.every(n=>n.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}ine.exports=sne});var kl=w((Mpt,ane)=>{"use strict";var Hqe=XC(),mN=Xi(),Ane=class extends Hqe{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let i=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!mN.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await this.indicator(e,r)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,r);o&&!mN.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,r),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(mN.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let i=this.margin[0]+r.join(` +`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(r),this.write([n,i,u,g].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};ane.exports=Ane});var une=w((Upt,lne)=>{"use strict";var jqe=kl(),Gqe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},cne=class extends jqe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=Gqe(this.input,e),i=this.choices;this.choices=i.map(n=>te(N({},n),{message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};lne.exports=cne});var IN=w((Kpt,gne)=>{"use strict";var EN=Xi();gne.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=EN.inverse(t.styles.primary),c=m=>l(t.styles.black(m)),u=r,g=" ",f=c(g);if(t.blink&&t.blink.off===!0&&(c=m=>m,f=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=EN.isPrimitive(i)?`${i}`:"",r=EN.isPrimitive(r)?`${r}`:"";let h=i&&i.startsWith(r)&&i!==r,p=h?c(i[r.length]):f;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),h){let m=t.styles.unstyle(u+p);return u+p+a(i.slice(m.length))}return u+p}});var X0=w((Hpt,fne)=>{"use strict";var Yqe=Co(),qqe=kl(),Jqe=IN(),hne=class extends qqe{constructor(e){super(te(N({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,m=this.index===r,y=e.validate||(()=>!0),Q=await this.choiceSeparator(e,r),S=e.message;this.align==="right"&&(S=S.padStart(this.longest+1," ")),this.align==="left"&&(S=S.padEnd(this.longest+1," "));let x=this.values[a]=c||o,M=c?"success":"dark";await y.call(e,x,this.state)!==!0&&(M="danger");let U=n[M](await this.indicator(e,r))+(e.pad||""),J=this.indent(e),W=()=>[J,U,S+Q,c,p].filter(Boolean).join(" ");if(i.submitted)return S=Yqe.unstyle(S),c=g(c),p="",W();if(e.format)c=await e.format.call(this,c,e,r);else{let ee=this.styles.muted;c=Jqe(this,{input:c,initial:o,pos:s,showCursor:m,color:ee})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,x,e,r)),m&&(S=f(S)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),W()}async submit(){return this.value=this.values,super.base.submit.call(this)}};fne.exports=hne});var yN=w((jpt,pne)=>{"use strict";var Wqe=X0(),zqe=()=>{throw new Error("expected prompt to have a custom authenticate method")},dne=(t=zqe)=>{class e extends Wqe{constructor(i){super(i)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return dne(i)}}return e};pne.exports=dne()});var Ene=w((Gpt,Cne)=>{"use strict";var _qe=yN();function Vqe(t,e){return t.username===this.options.username&&t.password===this.options.password}var mne=(t=Vqe)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class r extends _qe.create(t){constructor(n){super(te(N({},n),{choices:e}))}static create(n){return mne(n)}}return r};Cne.exports=mne()});var Z0=w((Ypt,Ine)=>{"use strict";var Xqe=zf(),{isPrimitive:Zqe,hasColor:$qe}=Xi(),yne=class extends Xqe{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:i}=this;return i.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return Zqe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return $qe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(r),this.write([l,a,f].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Ine.exports=yne});var bne=w((qpt,wne)=>{"use strict";var eJe=Z0(),Bne=class extends eJe{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};wne.exports=Bne});var Sne=w((Jpt,Qne)=>{"use strict";var tJe=kl(),rJe=X0(),_f=rJe.prototype,vne=class extends tJe{constructor(e){super(te(N({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():_f.dispatch.call(this,e,r)}append(e,r){return _f.append.call(this,e,r)}delete(e,r){return _f.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?_f.next.call(this):super.next()}prev(){return this.focused.editable?_f.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?_f.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};Qne.exports=vne});var Eu=w((Wpt,kne)=>{"use strict";var iJe=zf(),nJe=IN(),{isPrimitive:sJe}=Xi(),xne=class extends iJe{constructor(e){super(e);this.initial=sJe(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):nJe(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` +`)),this.restore()}};kne.exports=xne});var Dne=w((zpt,Pne)=>{"use strict";var oJe=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),$0=t=>oJe(t).filter(Boolean);Pne.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:$0([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:$0([...s,r]),present:o};case"save":return{past:$0([...i,r]),present:""};case"remove":return o=$0(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var wN=w((_pt,Rne)=>{"use strict";var aJe=Eu(),Fne=Dne(),Nne=class extends aJe{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=Fne(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=Fne("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};Rne.exports=Nne});var One=w((Vpt,Lne)=>{"use strict";var AJe=Eu(),Tne=class extends AJe{format(){return""}};Lne.exports=Tne});var Kne=w((Xpt,Mne)=>{"use strict";var lJe=Eu(),Une=class extends lJe{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Mne.exports=Une});var Gne=w((Zpt,Hne)=>{"use strict";var cJe=kl(),jne=class extends cJe{constructor(e){super(te(N({},e),{multiple:!0}))}};Hne.exports=jne});var BN=w(($pt,Yne)=>{"use strict";var uJe=Eu(),qne=class extends uJe{constructor(e={}){super(N({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};Yne.exports=qne});var Wne=w((edt,Jne)=>{Jne.exports=BN()});var Vne=w((tdt,zne)=>{"use strict";var gJe=Eu(),_ne=class extends gJe{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};zne.exports=_ne});var ese=w((rdt,Xne)=>{"use strict";var fJe=Co(),hJe=XC(),Zne=Xi(),$ne=class extends hJe{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!Zne.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=fJe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=Zne.wordWrap(c,{width:this.widths[0],newline:a}).split(` +`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),r=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...r.map(n=>n.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(r),this.write([a,o,c,g,f].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};Xne.exports=$ne});var nse=w((idt,tse)=>{"use strict";var rse=Co(),pJe=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",ise=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=pJe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},dJe=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uM.name===Q.key);Q.field=n.find(M=>M.name===Q.key),x||(x=new ise(Q),a.push(x)),x.lines.push(Q.line-1);continue}let m=o[o.length-1];m.type==="text"&&m.line===c?m.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};tse.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=N(N({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await dJe(e,i),a=bN("result",t,e),l=bN("format",t,e),c=bN("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},f=!1)=>{let h=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(S,x,M,Y)=>{let U=await c(S,x,M,Y);return U===!1?"Invalid field "+M.name:U};for(let S of n){let x=S.value,M=S.key;if(S.type!=="template"){x&&(g.output+=x);continue}if(S.type==="template"){let Y=s.find(Z=>Z.name===M);e.required===!0&&g.required.add(Y.name);let U=[Y.input,g.values[Y.value],Y.value,x].find(u),W=(Y.field||{}).message||S.inner;if(f){let Z=await p(g.values[M],g,Y,h);if(Z&&typeof Z=="string"||Z===!1){g.invalid.set(M,Z);continue}g.invalid.delete(M);let A=await a(g.values[M],g,Y,h);g.output+=rse.unstyle(A);continue}Y.placeholder=!1;let ee=x;x=await l(x,g,Y,h),U!==x?(g.values[M]=U,x=t.styles.typing(U),g.missing.delete(W)):(g.values[M]=void 0,U=`<${W}>`,x=t.styles.primary(U),Y.placeholder=!0,g.required.has(M)&&g.missing.add(W)),g.missing.has(W)&&g.validating&&(x=t.styles.warning(U)),g.invalid.has(M)&&g.validating&&(x=t.styles.danger(U)),h===g.index&&(ee!==x?x=t.styles.underline(x):x=t.styles.heading(rse.unstyle(x))),h++}x&&(g.output+=x)}let m=g.output.split(` +`).map(S=>" "+S),y=s.length,Q=0;for(let S of s)g.invalid.has(S.name)&&S.lines.forEach(x=>{m[x][0]===" "&&(m[x]=g.styles.danger(g.symbols.bullet)+m[x].slice(1))}),t.isValue(g.values[S.name])&&Q++;return g.completed=(Q/y*100).toFixed(0),g.output=m.join(` +`),g.output}};function bN(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var ase=w((ndt,sse)=>{"use strict";var CJe=Co(),mJe=nse(),EJe=zf(),ose=class extends EJe{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await mJe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,` +`].find(S=>S!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",m=await this.format(p),y=await this.footer();m&&(c+=" "+m),f&&!m&&this.state.completed===0&&(c+=" "+f),this.clear(n);let Q=[u,c,h,y,g.trim()];this.write(Q.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} +`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=CJe.unstyle(i).split(` +`).map(a=>a.slice(1)).join(` +`);return this.value={values:n,result:o},super.submit()}};sse.exports=ose});var cse=w((sdt,Ase)=>{"use strict";var IJe="(Use + to sort)",yJe=kl(),lse=class extends yJe{constructor(e){super(te(N({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,IJe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};Ase.exports=lse});var fse=w((odt,use)=>{"use strict";var wJe=XC(),gse=class extends wJe{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=BJe(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=x=>(x?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,r),h=this.indent(e),p=h+e.scale.map((x,M)=>c(M===e.scaleIdx)).join(a),m=x=>x===e.scaleIdx?g(x):x,y=h+e.scale.map((x,M)=>m(M)).join(l),Q=()=>[u,f].filter(Boolean).join(" "),S=()=>[Q(),p,y," "].filter(Boolean).join(` +`);return i&&(p=this.styles.cyan(p),y=this.styles.cyan(y)),S()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([o,a,u,g].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function BJe(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>N({},i));let r=[];for(let i=1;i{hse.exports=wN()});var mse=w((Adt,dse)=>{"use strict";var bJe=Z0(),Cse=class extends bJe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};dse.exports=Cse});var yse=w((ldt,Ese)=>{"use strict";var QJe=kl(),Ise=class extends QJe{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Ese.exports=Ise});var Bse=w(QN=>{"use strict";var wse=Xi(),Ci=(t,e)=>{wse.defineExport(QN,t,e),wse.defineExport(QN,t.toLowerCase(),e)};Ci("AutoComplete",()=>une());Ci("BasicAuth",()=>Ene());Ci("Confirm",()=>bne());Ci("Editable",()=>Sne());Ci("Form",()=>X0());Ci("Input",()=>wN());Ci("Invisible",()=>One());Ci("List",()=>Kne());Ci("MultiSelect",()=>Gne());Ci("Numeral",()=>Wne());Ci("Password",()=>Vne());Ci("Scale",()=>ese());Ci("Select",()=>kl());Ci("Snippet",()=>ase());Ci("Sort",()=>cse());Ci("Survey",()=>fse());Ci("Text",()=>pse());Ci("Toggle",()=>mse());Ci("Quiz",()=>yse())});var Qse=w((udt,bse)=>{bse.exports={ArrayPrompt:XC(),AuthPrompt:yN(),BooleanPrompt:Z0(),NumberPrompt:BN(),StringPrompt:Eu()}});var $C=w((gdt,vse)=>{"use strict";var Sse=require("assert"),vN=require("events"),xl=Xi(),ua=class extends vN{constructor(e,r){super();this.options=xl.merge({},e),this.answers=N({},r)}register(e,r){if(xl.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Sse.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(xl.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=xl.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=xl;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Sse(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||zf()}static get prompts(){return Bse()}static get types(){return Qse()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return xl.mixinEmitter(e,new vN),e}};xl.mixinEmitter(ua,new vN);var SN=ua.prompts;for(let t of Object.keys(SN)){let e=t.toLowerCase(),r=i=>new SN[t](i).run();ua.prompt[e]=r,ua[e]=r,ua[t]||Reflect.defineProperty(ua,t,{get:()=>SN[t]})}var ZC=t=>{xl.defineExport(ua,t,()=>ua.types[t])};ZC("ArrayPrompt");ZC("AuthPrompt");ZC("BooleanPrompt");ZC("NumberPrompt");ZC("StringPrompt");vse.exports=ua});var Kse=w((tCt,Use)=>{function PJe(t,e){for(var r=-1,i=t==null?0:t.length;++r{var DJe=c0(),RJe=Ff();function FJe(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var NJe=Xf(),LJe=Mf();function TJe(t,e){return t&&NJe(e,LJe(e),t)}jse.exports=TJe});var qse=w((nCt,Yse)=>{function OJe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}Yse.exports=OJe});var Wse=w((sCt,Jse)=>{var MJe=Rn(),UJe=b0(),KJe=qse(),HJe=Object.prototype,jJe=HJe.hasOwnProperty;function GJe(t){if(!MJe(t))return KJe(t);var e=UJe(t),r=[];for(var i in t)i=="constructor"&&(e||!jJe.call(t,i))||r.push(i);return r}Jse.exports=GJe});var Zf=w((oCt,zse)=>{var YJe=mF(),qJe=Wse(),JJe=FC();function WJe(t){return JJe(t)?YJe(t,!0):qJe(t)}zse.exports=WJe});var Vse=w((aCt,_se)=>{var zJe=Xf(),_Je=Zf();function VJe(t,e){return t&&zJe(e,_Je(e),t)}_se.exports=VJe});var FN=w((om,$f)=>{var XJe=Rs(),Xse=typeof om=="object"&&om&&!om.nodeType&&om,Zse=Xse&&typeof $f=="object"&&$f&&!$f.nodeType&&$f,ZJe=Zse&&Zse.exports===Xse,$se=ZJe?XJe.Buffer:void 0,eoe=$se?$se.allocUnsafe:void 0;function $Je(t,e){if(e)return t.slice();var r=t.length,i=eoe?eoe(r):new t.constructor(r);return t.copy(i),i}$f.exports=$Je});var NN=w((ACt,toe)=>{function e3e(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var t3e=Xf(),r3e=v0();function i3e(t,e){return t3e(t,r3e(t),e)}roe.exports=i3e});var eb=w((cCt,noe)=>{var n3e=EF(),s3e=n3e(Object.getPrototypeOf,Object);noe.exports=s3e});var LN=w((uCt,soe)=>{var o3e=g0(),a3e=eb(),A3e=v0(),l3e=QF(),c3e=Object.getOwnPropertySymbols,u3e=c3e?function(t){for(var e=[];t;)o3e(e,A3e(t)),t=a3e(t);return e}:l3e;soe.exports=u3e});var aoe=w((gCt,ooe)=>{var g3e=Xf(),f3e=LN();function h3e(t,e){return g3e(t,f3e(t),e)}ooe.exports=h3e});var loe=w((fCt,Aoe)=>{var p3e=bF(),d3e=LN(),C3e=Zf();function m3e(t){return p3e(t,C3e,d3e)}Aoe.exports=m3e});var uoe=w((hCt,coe)=>{var E3e=Object.prototype,I3e=E3e.hasOwnProperty;function y3e(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&I3e.call(t,"index")&&(r.index=t.index,r.input=t.input),r}coe.exports=y3e});var tb=w((pCt,goe)=>{var foe=wF();function w3e(t){var e=new t.constructor(t.byteLength);return new foe(e).set(new foe(t)),e}goe.exports=w3e});var poe=w((dCt,hoe)=>{var B3e=tb();function b3e(t,e){var r=e?B3e(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}hoe.exports=b3e});var Coe=w((CCt,doe)=>{var Q3e=/\w*$/;function v3e(t){var e=new t.constructor(t.source,Q3e.exec(t));return e.lastIndex=t.lastIndex,e}doe.exports=v3e});var woe=w((mCt,moe)=>{var Eoe=Kc(),Ioe=Eoe?Eoe.prototype:void 0,yoe=Ioe?Ioe.valueOf:void 0;function S3e(t){return yoe?Object(yoe.call(t)):{}}moe.exports=S3e});var TN=w((ECt,Boe)=>{var k3e=tb();function x3e(t,e){var r=e?k3e(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}Boe.exports=x3e});var Qoe=w((ICt,boe)=>{var P3e=tb(),D3e=poe(),R3e=Coe(),F3e=woe(),N3e=TN(),L3e="[object Boolean]",T3e="[object Date]",O3e="[object Map]",M3e="[object Number]",U3e="[object RegExp]",K3e="[object Set]",H3e="[object String]",j3e="[object Symbol]",G3e="[object ArrayBuffer]",Y3e="[object DataView]",q3e="[object Float32Array]",J3e="[object Float64Array]",W3e="[object Int8Array]",z3e="[object Int16Array]",_3e="[object Int32Array]",V3e="[object Uint8Array]",X3e="[object Uint8ClampedArray]",Z3e="[object Uint16Array]",$3e="[object Uint32Array]";function eWe(t,e,r){var i=t.constructor;switch(e){case G3e:return P3e(t);case L3e:case T3e:return new i(+t);case Y3e:return D3e(t,r);case q3e:case J3e:case W3e:case z3e:case _3e:case V3e:case X3e:case Z3e:case $3e:return N3e(t,r);case O3e:return new i;case M3e:case H3e:return new i(t);case U3e:return R3e(t);case K3e:return new i;case j3e:return F3e(t)}}boe.exports=eWe});var koe=w((yCt,voe)=>{var tWe=Rn(),Soe=Object.create,rWe=function(){function t(){}return function(e){if(!tWe(e))return{};if(Soe)return Soe(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();voe.exports=rWe});var ON=w((wCt,xoe)=>{var iWe=koe(),nWe=eb(),sWe=b0();function oWe(t){return typeof t.constructor=="function"&&!sWe(t)?iWe(nWe(t)):{}}xoe.exports=oWe});var Doe=w((BCt,Poe)=>{var aWe=LC(),AWe=Zo(),lWe="[object Map]";function cWe(t){return AWe(t)&&aWe(t)==lWe}Poe.exports=cWe});var Loe=w((bCt,Roe)=>{var uWe=Doe(),gWe=y0(),Foe=w0(),Noe=Foe&&Foe.isMap,fWe=Noe?gWe(Noe):uWe;Roe.exports=fWe});var Ooe=w((QCt,Toe)=>{var hWe=LC(),pWe=Zo(),dWe="[object Set]";function CWe(t){return pWe(t)&&hWe(t)==dWe}Toe.exports=CWe});var Hoe=w((vCt,Moe)=>{var mWe=Ooe(),EWe=y0(),Uoe=w0(),Koe=Uoe&&Uoe.isSet,IWe=Koe?EWe(Koe):mWe;Moe.exports=IWe});var Joe=w((SCt,joe)=>{var yWe=NC(),wWe=Kse(),BWe=c0(),bWe=Gse(),QWe=Vse(),vWe=FN(),SWe=NN(),kWe=ioe(),xWe=aoe(),PWe=vF(),DWe=loe(),RWe=LC(),FWe=uoe(),NWe=Qoe(),LWe=ON(),TWe=Os(),OWe=PC(),MWe=Loe(),UWe=Rn(),KWe=Hoe(),HWe=Mf(),jWe=Zf(),GWe=1,YWe=2,qWe=4,Goe="[object Arguments]",JWe="[object Array]",WWe="[object Boolean]",zWe="[object Date]",_We="[object Error]",Yoe="[object Function]",VWe="[object GeneratorFunction]",XWe="[object Map]",ZWe="[object Number]",qoe="[object Object]",$We="[object RegExp]",e8e="[object Set]",t8e="[object String]",r8e="[object Symbol]",i8e="[object WeakMap]",n8e="[object ArrayBuffer]",s8e="[object DataView]",o8e="[object Float32Array]",a8e="[object Float64Array]",A8e="[object Int8Array]",l8e="[object Int16Array]",c8e="[object Int32Array]",u8e="[object Uint8Array]",g8e="[object Uint8ClampedArray]",f8e="[object Uint16Array]",h8e="[object Uint32Array]",dr={};dr[Goe]=dr[JWe]=dr[n8e]=dr[s8e]=dr[WWe]=dr[zWe]=dr[o8e]=dr[a8e]=dr[A8e]=dr[l8e]=dr[c8e]=dr[XWe]=dr[ZWe]=dr[qoe]=dr[$We]=dr[e8e]=dr[t8e]=dr[r8e]=dr[u8e]=dr[g8e]=dr[f8e]=dr[h8e]=!0;dr[_We]=dr[Yoe]=dr[i8e]=!1;function rb(t,e,r,i,n,s){var o,a=e&GWe,l=e&YWe,c=e&qWe;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!UWe(t))return t;var u=TWe(t);if(u){if(o=FWe(t),!a)return SWe(t,o)}else{var g=RWe(t),f=g==Yoe||g==VWe;if(OWe(t))return vWe(t,a);if(g==qoe||g==Goe||f&&!n){if(o=l||f?{}:LWe(t),!a)return l?xWe(t,QWe(o,t)):kWe(t,bWe(o,t))}else{if(!dr[g])return n?t:{};o=NWe(t,g,a)}}s||(s=new yWe);var h=s.get(t);if(h)return h;s.set(t,o),KWe(t)?t.forEach(function(y){o.add(rb(y,e,r,y,t,s))}):MWe(t)&&t.forEach(function(y,Q){o.set(Q,rb(y,e,r,Q,t,s))});var p=c?l?DWe:PWe:l?jWe:HWe,m=u?void 0:p(t);return wWe(m||t,function(y,Q){m&&(Q=y,y=t[Q]),BWe(o,Q,rb(y,e,r,Q,t,s))}),o}joe.exports=rb});var MN=w((kCt,Woe)=>{var p8e=Joe(),d8e=1,C8e=4;function m8e(t){return p8e(t,d8e|C8e)}Woe.exports=m8e});var _oe=w((xCt,zoe)=>{var E8e=zR();function I8e(t,e,r){return t==null?t:E8e(t,e,r)}zoe.exports=I8e});var tae=w((LCt,eae)=>{function y8e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}eae.exports=y8e});var iae=w((TCt,rae)=>{var w8e=IC(),B8e=sD();function b8e(t,e){return e.length<2?t:w8e(t,B8e(e,0,-1))}rae.exports=b8e});var sae=w((OCt,nae)=>{var Q8e=Rf(),v8e=tae(),S8e=iae(),k8e=lu();function x8e(t,e){return e=Q8e(e,t),t=S8e(t,e),t==null||delete t[k8e(v8e(e))]}nae.exports=x8e});var aae=w((MCt,oae)=>{var P8e=sae();function D8e(t,e){return t==null?!0:P8e(t,e)}oae.exports=D8e});var dae=w((hmt,pae)=>{pae.exports={name:"@yarnpkg/cli",version:"3.2.0",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"^3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var VN=w((Jyt,rAe)=>{"use strict";rAe.exports=function(e,r){r===!0&&(r=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof r=="number"?n[r]:n}});var XN=w((Wyt,iAe)=>{"use strict";var Z8e=VN();function nAe(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=Z8e(t);return t=t.substring(t.indexOf("://")+3),nAe(e)?!0:t.indexOf("@"){"use strict";var $8e=VN(),eze=XN(),tze=require("querystring");function rze(t){t=(t||"").trim();var e={protocols:$8e(t),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:t,query:Object.create(null)},r=t.indexOf("://"),i=-1,n=null,s=null;t.startsWith(".")&&(t.startsWith("./")&&(t=t.substring(2)),e.pathname=t,e.protocol="file");var o=t.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||(eze(t)?e.protocol="ssh":((o==="/"||o==="~")&&(t=t.substring(2)),e.protocol="file"))),r!==-1&&(t=t.substring(r+3)),s=t.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=tze.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}sAe.exports=rze});var lAe=w((_yt,aAe)=>{"use strict";var ize="text/plain",nze="us-ascii",AAe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),sze=(t,{stripHash:e})=>{let r=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:i,data:n,hash:s}=r.groups,o=i.split(";");s=e?"":s;let a=!1;o[o.length-1]==="base64"&&(o.pop(),a=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(g=>{let[f,h=""]=g.split("=").map(p=>p.trim());return f==="charset"&&(h=h.toLowerCase(),h===nze)?"":`${f}${h?`=${h}`:""}`}).filter(Boolean)];return a&&u.push("base64"),(u.length!==0||l&&l!==ize)&&u.unshift(l),`data:${u.join(";")},${a?n.trim():n}${s?`#${s}`:""}`},oze=(t,e)=>{if(e=N({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),t=t.trim(),/^data:/i.test(t))return sze(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash?n.hash="":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,"")),n.pathname&&(n.pathname=n.pathname.replace(/(?0){let o=n.pathname.split("/"),a=o[o.length-1];AAe(a,e.removeDirectoryIndex)&&(o=o.slice(0,o.length-1),n.pathname=o.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)(?:[a-z\-\d]{1,63})\.(?:[a-z.\-\d]{2,63})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])AAe(o,e.removeQueryParameters)&&n.searchParams.delete(o);e.removeQueryParameters===!0&&(n.search=""),e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,""));let s=t;return t=n.toString(),!e.removeSingleSlash&&n.pathname==="/"&&!s.endsWith("/")&&n.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};aAe.exports=oze});var uAe=w((Vyt,cAe)=>{"use strict";var aze=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Aze=oAe(),lze=lAe();function cze(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof t!="string"||!t.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":aze(e))!=="object"&&(e={stripHash:!1}),t=lze(t,e));var r=Aze(t);return r}cAe.exports=cze});var hAe=w((Xyt,gAe)=>{"use strict";var uze=uAe(),fAe=XN();function gze(t){var e=uze(t);e.token="";var r=e.user.split(":");return r.length===2&&(r[1]==="x-oauth-basic"?e.token=r[0]:r[0]==="x-token-auth"&&(e.token=r[1])),fAe(e.protocols)||fAe(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}gAe.exports=gze});var dAe=w((Zyt,pAe)=>{"use strict";var fze=hAe();function ZN(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=fze(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return ZN.stringify(this,l)},e.source=r.length>2?r.slice(1-r.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=r[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}ZN.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",i=t.user||"git",n=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+i+"@"+t.resource+r+"/"+t.full_name+n:i+"@"+t.resource+":"+t.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+t.resource+r+"/"+t.full_name+n;case"http":case"https":var s=t.token?hze(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+s+t.resource+r+"/"+t.full_name+n;default:return t.href}};function hze(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}pAe.exports=ZN});var kL=w((nbt,UAe)=>{var Fze=Ff(),Nze=xf();function Lze(t,e,r){(r!==void 0&&!Nze(t[e],r)||r===void 0&&!(e in t))&&Fze(t,e,r)}UAe.exports=Lze});var HAe=w((sbt,KAe)=>{var Tze=FC(),Oze=Zo();function Mze(t){return Oze(t)&&Tze(t)}KAe.exports=Mze});var YAe=w((obt,jAe)=>{var Uze=Hc(),Kze=eb(),Hze=Zo(),jze="[object Object]",Gze=Function.prototype,Yze=Object.prototype,GAe=Gze.toString,qze=Yze.hasOwnProperty,Jze=GAe.call(Object);function Wze(t){if(!Hze(t)||Uze(t)!=jze)return!1;var e=Kze(t);if(e===null)return!0;var r=qze.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&GAe.call(r)==Jze}jAe.exports=Wze});var xL=w((abt,qAe)=>{function zze(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}qAe.exports=zze});var WAe=w((Abt,JAe)=>{var _ze=Xf(),Vze=Zf();function Xze(t){return _ze(t,Vze(t))}JAe.exports=Xze});var $Ae=w((lbt,zAe)=>{var _Ae=kL(),Zze=FN(),$ze=TN(),e4e=NN(),t4e=ON(),VAe=wC(),XAe=Os(),r4e=HAe(),i4e=PC(),n4e=a0(),s4e=Rn(),o4e=YAe(),a4e=B0(),ZAe=xL(),A4e=WAe();function l4e(t,e,r,i,n,s,o){var a=ZAe(t,r),l=ZAe(e,r),c=o.get(l);if(c){_Ae(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var f=XAe(l),h=!f&&i4e(l),p=!f&&!h&&a4e(l);u=l,f||h||p?XAe(a)?u=a:r4e(a)?u=e4e(a):h?(g=!1,u=Zze(l,!0)):p?(g=!1,u=$ze(l,!0)):u=[]:o4e(l)||VAe(l)?(u=a,VAe(a)?u=A4e(a):(!s4e(a)||n4e(a))&&(u=t4e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),_Ae(t,r,u)}zAe.exports=l4e});var rle=w((cbt,ele)=>{var c4e=NC(),u4e=kL(),g4e=dF(),f4e=$Ae(),h4e=Rn(),p4e=Zf(),d4e=xL();function tle(t,e,r,i,n){t!==e&&g4e(e,function(s,o){if(n||(n=new c4e),h4e(s))f4e(t,e,o,r,tle,i,n);else{var a=i?i(d4e(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),u4e(t,o,a)}},p4e)}ele.exports=tle});var nle=w((ubt,ile)=>{var C4e=f0(),m4e=XR(),E4e=ZR();function I4e(t,e){return E4e(m4e(t,e,C4e),t+"")}ile.exports=I4e});var ole=w((gbt,sle)=>{var y4e=xf(),w4e=FC(),B4e=yC(),b4e=Rn();function Q4e(t,e,r){if(!b4e(r))return!1;var i=typeof e;return(i=="number"?w4e(r)&&B4e(e,r.length):i=="string"&&e in r)?y4e(r[e],t):!1}sle.exports=Q4e});var Ale=w((fbt,ale)=>{var v4e=nle(),S4e=ole();function k4e(t){return v4e(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,o&&S4e(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var x4e=rle(),P4e=Ale(),D4e=P4e(function(t,e,r){x4e(t,e,r)});lle.exports=D4e});var vle=w((EQt,Qle)=>{var GL;Qle.exports=()=>(typeof GL=="undefined"&&(GL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),GL)});var Rle=w(qL=>{function nh(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(f=nh(n[g],u))?f.replace("*",c.substring(g.length-1)):bu(i,c,1)}return bu(i,c)}}function o_e(t,e={}){let r=0,i,n=e.browser,s=e.fields||["module","main"];for(n&&!s.includes("browser")&&s.unshift("browser");r{var zL;Mle.exports=()=>(typeof zL=="undefined"&&(zL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),zL)});var Wle=w((tT,rT)=>{(function(t){tT&&typeof tT=="object"&&typeof rT!="undefined"?rT.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window!="undefined"?window.isWindows=t():typeof global!="undefined"?global.isWindows=t():typeof self!="undefined"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var Xle=w((iSt,zle)=>{"use strict";iT.ifExists=E_e;var oh=require("util"),Js=require("path"),_le=Wle(),I_e=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,y_e={createPwshFile:!0,createCmdFile:_le(),fs:require("fs")},w_e=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function Vle(t){let e=N(N({},y_e),t),r=e.fs;return e.fs_={chmod:r.chmod?oh.promisify(r.chmod):async()=>{},mkdir:oh.promisify(r.mkdir),readFile:oh.promisify(r.readFile),stat:oh.promisify(r.stat),unlink:oh.promisify(r.unlink),writeFile:oh.promisify(r.writeFile)},e}async function iT(t,e,r){let i=Vle(r);await i.fs_.stat(t),await B_e(t,e,i)}function E_e(t,e,r){return iT(t,e,r).catch(()=>{})}function b_e(t,e){return e.fs_.unlink(t).catch(()=>{})}async function B_e(t,e,r){let i=await S_e(t,r);return await Q_e(e,r),v_e(t,e,i,r)}function Q_e(t,e){return e.fs_.mkdir(Js.dirname(t),{recursive:!0})}function v_e(t,e,r,i){let n=Vle(i),s=[{generator:P_e,extension:""}];return n.createCmdFile&&s.push({generator:x_e,extension:".cmd"}),n.createPwshFile&&s.push({generator:D_e,extension:".ps1"}),Promise.all(s.map(o=>k_e(t,e+o.extension,r,o.generator,n)))}function R_e(t,e){return b_e(t,e)}function N_e(t,e){return F_e(t,e)}async function S_e(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(I_e);if(!n){let s=Js.extname(t).toLowerCase();return{program:w_e.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function k_e(t,e,r,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[r.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:r.program,args:o}),await R_e(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),N_e(e,n)}function x_e(t,e,r){let n=Js.relative(Js.dirname(e),t).split("/").join("\\"),s=Js.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=nT(r.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=r.progArgs?`${r.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`:"";return o?g+=`@IF EXIST ${o} (\r + ${o} ${l} ${n} ${u}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${a} ${l} ${n} ${u}%*\r +)\r +`:g+=`@${a} ${l} ${n} ${u}%*\r +`,g}function P_e(t,e,r){let i=Js.relative(Js.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Js.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=nT(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,g=r.nodePath?`export NODE_PATH="${l}" +`:"";return s?u+=`${g}if [ -x ${s} ]; then + exec ${s} ${a} ${i} ${c}"$@" +else + exec ${n} ${a} ${i} ${c}"$@" +fi +`:u+=`${g}${n} ${a} ${i} ${c}"$@" +exit $? +`,u}function D_e(t,e,r){let i=Js.relative(Js.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Js.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=nT(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let f=r.progArgs?`${r.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${u}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(h+=` else { + $env:NODE_PATH="${g}" +}`),o?h+=` +$ret=0 +if (Test-Path ${o}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${o} ${l} ${i} ${f}$args + } else { + & ${o} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args + } else { + & ${s} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:h+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args +} else { + & ${s} ${l} ${i} ${f}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,h}function F_e(t,e){return e.fs_.chmod(t,493)}function nT(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(Js.delimiter):Array.from(t),r={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}zle.exports=iT});var IT=w((Ukt,Cce)=>{Cce.exports=require("stream")});var yce=w((Kkt,mce)=>{"use strict";function Ece(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function e5e(t){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return mb.alloc(0);for(var i=mb.allocUnsafe(r>>>0),n=this.head,s=0;n;)o5e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return ro.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=mb.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:s5e,value:function(r,i){return yT(this,e5e({},i,{depth:0,customInspect:!1}))}}]),t}()});var BT=w((Hkt,wce)=>{"use strict";function a5e(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(wT,this,t)):process.nextTick(wT,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(Eb,r):(r._writableState.errorEmitted=!0,process.nextTick(Bce,r,s)):process.nextTick(Bce,r,s):e?(process.nextTick(Eb,r),e(s)):process.nextTick(Eb,r)}),this)}function Bce(t,e){wT(t,e),Eb(t)}function Eb(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function A5e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function wT(t,e){t.emit("error",e)}function l5e(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}wce.exports={destroy:a5e,undestroy:A5e,errorOrDestroy:l5e}});var Nl=w((jkt,bce)=>{"use strict";var Qce={};function Ws(t,e,r){r||(r=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends r{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=r.name,n.prototype.code=t,Qce[t]=n}function vce(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(i=>String(i)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function c5e(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function u5e(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function g5e(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Ws("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Ws("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&c5e(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(u5e(t," argument"))n=`The ${t} ${i} ${vce(e,"type")}`;else{let s=g5e(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${vce(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);Ws("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Ws("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Ws("ERR_STREAM_PREMATURE_CLOSE","Premature close");Ws("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Ws("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Ws("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Ws("ERR_STREAM_WRITE_AFTER_END","write after end");Ws("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Ws("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Ws("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");bce.exports.codes=Qce});var bT=w((Gkt,Sce)=>{"use strict";var f5e=Nl().codes.ERR_INVALID_OPT_VALUE;function h5e(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function p5e(t,e,r,i){var n=h5e(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new f5e(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}Sce.exports={getHighWaterMark:p5e}});var kce=w((Ykt,QT)=>{typeof Object.create=="function"?QT.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:QT.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var Ll=w((qkt,vT)=>{try{if(ST=require("util"),typeof ST.inherits!="function")throw"";vT.exports=ST.inherits}catch(t){vT.exports=kce()}var ST});var Pce=w((Jkt,xce)=>{xce.exports=require("util").deprecate});var PT=w((Wkt,Dce)=>{"use strict";Dce.exports=jr;function Rce(t){var e=this;this.next=null,this.entry=null,this.finish=function(){d5e(e,t)}}var lh;jr.WritableState=_m;var C5e={deprecate:Pce()},Fce=IT(),Ib=require("buffer").Buffer,m5e=global.Uint8Array||function(){};function E5e(t){return Ib.from(t)}function I5e(t){return Ib.isBuffer(t)||t instanceof m5e}var kT=BT(),y5e=bT(),w5e=y5e.getHighWaterMark,Tl=Nl().codes,B5e=Tl.ERR_INVALID_ARG_TYPE,b5e=Tl.ERR_METHOD_NOT_IMPLEMENTED,Q5e=Tl.ERR_MULTIPLE_CALLBACK,v5e=Tl.ERR_STREAM_CANNOT_PIPE,S5e=Tl.ERR_STREAM_DESTROYED,k5e=Tl.ERR_STREAM_NULL_VALUES,x5e=Tl.ERR_STREAM_WRITE_AFTER_END,P5e=Tl.ERR_UNKNOWN_ENCODING,ch=kT.errorOrDestroy;Ll()(jr,Fce);function D5e(){}function _m(t,e,r){lh=lh||vu(),t=t||{},typeof r!="boolean"&&(r=e instanceof lh),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=w5e(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=t.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){R5e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Rce(this)}_m.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(_m.prototype,"buffer",{get:C5e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var yb;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(yb=Function.prototype[Symbol.hasInstance],Object.defineProperty(jr,Symbol.hasInstance,{value:function(e){return yb.call(this,e)?!0:this!==jr?!1:e&&e._writableState instanceof _m}})):yb=function(e){return e instanceof this};function jr(t){lh=lh||vu();var e=this instanceof lh;if(!e&&!yb.call(jr,this))return new jr(t);this._writableState=new _m(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),Fce.call(this)}jr.prototype.pipe=function(){ch(this,new v5e)};function F5e(t,e){var r=new x5e;ch(t,r),process.nextTick(e,r)}function N5e(t,e,r,i){var n;return r===null?n=new k5e:typeof r!="string"&&!e.objectMode&&(n=new B5e("chunk",["string","Buffer"],r)),n?(ch(t,n),process.nextTick(i,n),!1):!0}jr.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&I5e(t);return s&&!Ib.isBuffer(t)&&(t=E5e(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=D5e),i.ending?F5e(this,r):(s||N5e(this,i,t,r))&&(i.pendingcb++,n=L5e(this,i,s,t,e,r)),n};jr.prototype.cork=function(){this._writableState.corked++};jr.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Nce(this,t))};jr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new P5e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(jr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function T5e(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=Ib.from(e,r)),e}Object.defineProperty(jr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function L5e(t,e,r,i,n,s){if(!r){var o=T5e(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var G5e=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};Oce.exports=pa;var Mce=DT(),RT=PT();Ll()(pa,Mce);for(FT=G5e(RT.prototype),wb=0;wb{var bb=require("buffer"),BA=bb.Buffer;function Kce(t,e){for(var r in t)e[r]=t[r]}BA.from&&BA.alloc&&BA.allocUnsafe&&BA.allocUnsafeSlow?Uce.exports=bb:(Kce(bb,NT),NT.Buffer=uh);function uh(t,e,r){return BA(t,e,r)}Kce(BA,uh);uh.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return BA(t,e,r)};uh.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=BA(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};uh.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return BA(t)};uh.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return bb.SlowBuffer(t)}});var OT=w(jce=>{"use strict";var LT=Hce().Buffer,Gce=LT.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function J5e(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function W5e(t){var e=J5e(t);if(typeof e!="string"&&(LT.isEncoding===Gce||!Gce(t)))throw new Error("Unknown encoding: "+t);return e||t}jce.StringDecoder=Xm;function Xm(t){this.encoding=W5e(t);var e;switch(this.encoding){case"utf16le":this.text=_5e,this.end=V5e,e=4;break;case"utf8":this.fillLast=z5e,e=4;break;case"base64":this.text=X5e,this.end=Z5e,e=3;break;default:this.write=$5e,this.end=e6e;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=LT.allocUnsafe(e)}Xm.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function i6e(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:t.lastNeed=n-3),n):0))}function n6e(t,e,r){if((e[0]&192)!=128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return t.lastNeed=2,"\uFFFD"}}function z5e(t){var e=this.lastTotal-this.lastNeed,r=n6e(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function r6e(t,e){var r=i6e(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function t6e(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function _5e(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function V5e(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function X5e(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function Z5e(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function $5e(t){return t.toString(this.encoding)}function e6e(t){return t&&t.length?this.write(t):""}});var Qb=w((Vkt,Yce)=>{"use strict";var qce=Nl().codes.ERR_STREAM_PREMATURE_CLOSE;function s6e(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{"use strict";var vb;function Ol(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var A6e=Qb(),Ml=Symbol("lastResolve"),Su=Symbol("lastReject"),Zm=Symbol("error"),Sb=Symbol("ended"),ku=Symbol("lastPromise"),MT=Symbol("handlePromise"),xu=Symbol("stream");function Ul(t,e){return{value:t,done:e}}function l6e(t){var e=t[Ml];if(e!==null){var r=t[xu].read();r!==null&&(t[ku]=null,t[Ml]=null,t[Su]=null,e(Ul(r,!1)))}}function c6e(t){process.nextTick(l6e,t)}function u6e(t,e){return function(r,i){t.then(function(){if(e[Sb]){r(Ul(void 0,!0));return}e[MT](r,i)},i)}}var g6e=Object.getPrototypeOf(function(){}),f6e=Object.setPrototypeOf((vb={get stream(){return this[xu]},next:function(){var e=this,r=this[Zm];if(r!==null)return Promise.reject(r);if(this[Sb])return Promise.resolve(Ul(void 0,!0));if(this[xu].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[Zm]?a(e[Zm]):o(Ul(void 0,!0))})});var i=this[ku],n;if(i)n=new Promise(u6e(i,this));else{var s=this[xu].read();if(s!==null)return Promise.resolve(Ul(s,!1));n=new Promise(this[MT])}return this[ku]=n,n}},Ol(vb,Symbol.asyncIterator,function(){return this}),Ol(vb,"return",function(){var e=this;return new Promise(function(r,i){e[xu].destroy(null,function(n){if(n){i(n);return}r(Ul(void 0,!0))})})}),vb),g6e),h6e=function(e){var r,i=Object.create(f6e,(r={},Ol(r,xu,{value:e,writable:!0}),Ol(r,Ml,{value:null,writable:!0}),Ol(r,Su,{value:null,writable:!0}),Ol(r,Zm,{value:null,writable:!0}),Ol(r,Sb,{value:e._readableState.endEmitted,writable:!0}),Ol(r,MT,{value:function(s,o){var a=i[xu].read();a?(i[ku]=null,i[Ml]=null,i[Su]=null,s(Ul(a,!1))):(i[Ml]=s,i[Su]=o)},writable:!0}),r));return i[ku]=null,A6e(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[Su];s!==null&&(i[ku]=null,i[Ml]=null,i[Su]=null,s(n)),i[Zm]=n;return}var o=i[Ml];o!==null&&(i[ku]=null,i[Ml]=null,i[Su]=null,o(Ul(void 0,!0))),i[Sb]=!0}),e.on("readable",c6e.bind(null,i)),i};Wce.exports=h6e});var Zce=w((Zkt,_ce)=>{"use strict";function Vce(t,e,r,i,n,s,o){try{var a=t[s](o),l=a.value}catch(c){r(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function p6e(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){Vce(s,i,n,o,a,"next",l)}function a(l){Vce(s,i,n,o,a,"throw",l)}o(void 0)})}}function Xce(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function C6e(t){for(var e=1;e{"use strict";$ce.exports=Kt;var gh;Kt.ReadableState=eue;var $kt=require("events").EventEmitter,tue=function(e,r){return e.listeners(r).length},$m=IT(),kb=require("buffer").Buffer,I6e=global.Uint8Array||function(){};function y6e(t){return kb.from(t)}function w6e(t){return kb.isBuffer(t)||t instanceof I6e}var UT=require("util"),xt;UT&&UT.debuglog?xt=UT.debuglog("stream"):xt=function(){};var B6e=yce(),KT=BT(),b6e=bT(),Q6e=b6e.getHighWaterMark,xb=Nl().codes,v6e=xb.ERR_INVALID_ARG_TYPE,S6e=xb.ERR_STREAM_PUSH_AFTER_EOF,k6e=xb.ERR_METHOD_NOT_IMPLEMENTED,x6e=xb.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,fh,HT,jT;Ll()(Kt,$m);var eE=KT.errorOrDestroy,GT=["error","close","destroy","pause","resume"];function P6e(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function eue(t,e,r){gh=gh||vu(),t=t||{},typeof r!="boolean"&&(r=e instanceof gh),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=Q6e(this,t,"readableHighWaterMark",r),this.buffer=new B6e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(fh||(fh=OT().StringDecoder),this.decoder=new fh(t.encoding),this.encoding=t.encoding)}function Kt(t){if(gh=gh||vu(),!(this instanceof Kt))return new Kt(t);var e=this instanceof gh;this._readableState=new eue(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),$m.call(this)}Object.defineProperty(Kt.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Kt.prototype.destroy=KT.destroy;Kt.prototype._undestroy=KT.undestroy;Kt.prototype._destroy=function(t,e){e(t)};Kt.prototype.push=function(t,e){var r=this._readableState,i;return r.objectMode?i=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=kb.from(t,e),e=""),i=!0),rue(this,t,e,!1,i)};Kt.prototype.unshift=function(t){return rue(this,t,null,!0,!1)};function rue(t,e,r,i,n){xt("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,R6e(t,s);else{var o;if(n||(o=D6e(s,e)),o)eE(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==kb.prototype&&(e=y6e(e)),i)s.endEmitted?eE(t,new x6e):YT(t,s,e,!0);else if(s.ended)eE(t,new S6e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?YT(t,s,e,!1):qT(t,s)):YT(t,s,e,!1)}else i||(s.reading=!1,qT(t,s))}return!s.ended&&(s.length=iue?t=iue:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function nue(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=F6e(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}Kt.prototype.read=function(t){xt("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return xt("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?JT(this):Pb(this),null;if(t=nue(t,e),t===0&&e.ended)return e.length===0&&JT(this),null;var i=e.needReadable;xt("need readable",i),(e.length===0||e.length-t0?n=sue(t,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&JT(this)),n!==null&&this.emit("data",n),n};function R6e(t,e){if(xt("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?Pb(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,oue(t)))}}function Pb(t){var e=t._readableState;xt("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(xt("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(oue,t))}function oue(t){var e=t._readableState;xt("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,WT(t)}function qT(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(N6e,t,e))}function N6e(t,e){for(;!e.reading&&!e.ended&&(e.length1&&aue(i.pipes,t)!==-1)&&!c&&(xt("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(y){xt("onerror",y),m(),t.removeListener("error",f),tue(t,"error")===0&&eE(t,y)}P6e(t,"error",f);function h(){t.removeListener("finish",p),m()}t.once("close",h);function p(){xt("onfinish"),t.removeListener("close",h),m()}t.once("finish",p);function m(){xt("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(xt("pipe resume"),r.resume()),t};function L6e(t){return function(){var r=t._readableState;xt("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&tue(t,"data")&&(r.flowing=!0,WT(t))}}Kt.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):t==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,xt("on readable",i.length,i.reading),i.length?Pb(this):i.reading||process.nextTick(T6e,this)),r};Kt.prototype.addListener=Kt.prototype.on;Kt.prototype.removeListener=function(t,e){var r=$m.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(Aue,this),r};Kt.prototype.removeAllListeners=function(t){var e=$m.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(Aue,this),e};function Aue(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function T6e(t){xt("readable nexttick read 0"),t.read(0)}Kt.prototype.resume=function(){var t=this._readableState;return t.flowing||(xt("resume"),t.flowing=!t.readableListening,O6e(this,t)),t.paused=!1,this};function O6e(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(M6e,t,e))}function M6e(t,e){xt("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),WT(t),e.flowing&&!e.reading&&t.read(0)}Kt.prototype.pause=function(){return xt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(xt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function WT(t){var e=t._readableState;for(xt("flow",e.flowing);e.flowing&&t.read()!==null;);}Kt.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(xt("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),t.on("data",function(o){if(xt("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,t.pause())}});for(var n in t)this[n]===void 0&&typeof t[n]=="function"&&(this[n]=function(a){return function(){return t[a].apply(t,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function JT(t){var e=t._readableState;xt("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(U6e,e,t))}function U6e(t,e){if(xt("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(Kt.from=function(t,e){return jT===void 0&&(jT=Zce()),jT(Kt,t,e)});function aue(t,e){for(var r=0,i=t.length;r{"use strict";lue.exports=bA;var Db=Nl().codes,K6e=Db.ERR_METHOD_NOT_IMPLEMENTED,H6e=Db.ERR_MULTIPLE_CALLBACK,j6e=Db.ERR_TRANSFORM_ALREADY_TRANSFORMING,G6e=Db.ERR_TRANSFORM_WITH_LENGTH_0,Rb=vu();Ll()(bA,Rb);function Y6e(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new H6e);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";uue.exports=tE;var gue=zT();Ll()(tE,gue);function tE(t){if(!(this instanceof tE))return new tE(t);gue.call(this,t)}tE.prototype._transform=function(t,e,r){r(null,t)}});var mue=w((ixt,hue)=>{"use strict";var _T;function J6e(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var pue=Nl().codes,W6e=pue.ERR_MISSING_ARGS,z6e=pue.ERR_STREAM_DESTROYED;function due(t){if(t)throw t}function _6e(t){return t.setHeader&&typeof t.abort=="function"}function V6e(t,e,r,i){i=J6e(i);var n=!1;t.on("close",function(){n=!0}),_T===void 0&&(_T=Qb()),_T(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,_6e(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new z6e("pipe"))}}}function Cue(t){t()}function X6e(t,e){return t.pipe(e)}function Z6e(t){return!t.length||typeof t[t.length-1]!="function"?due:t.pop()}function $6e(){for(var t=arguments.length,e=new Array(t),r=0;r0;return V6e(o,l,c,function(u){n||(n=u),u&&s.forEach(Cue),!l&&(s.forEach(Cue),i(n))})});return e.reduce(X6e)}hue.exports=$6e});var hh=w((zs,rE)=>{var iE=require("stream");process.env.READABLE_STREAM==="disable"&&iE?(rE.exports=iE.Readable,Object.assign(rE.exports,iE),rE.exports.Stream=iE):(zs=rE.exports=DT(),zs.Stream=iE||zs,zs.Readable=zs,zs.Writable=PT(),zs.Duplex=vu(),zs.Transform=zT(),zs.PassThrough=fue(),zs.finished=Qb(),zs.pipeline=mue())});var yue=w((nxt,Eue)=>{"use strict";var{Buffer:Qo}=require("buffer"),Iue=Symbol.for("BufferList");function mr(t){if(!(this instanceof mr))return new mr(t);mr._init.call(this,t)}mr._init=function(e){Object.defineProperty(this,Iue,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};mr.prototype._new=function(e){return new mr(e)};mr.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let i=0;ithis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};mr.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};mr.prototype.copy=function(e,r,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||Qo.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&r||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Qo.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};mr.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let i=this._offset(e),n=this._offset(r),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};mr.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};mr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};mr.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=t.length){let l=o.indexOf(t,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-t.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,t))return l;s++}s=0}return-1};mr.prototype._match=function(t,e){if(this.length-t{"use strict";var VT=hh().Duplex,eVe=Ll(),nE=yue();function Zi(t){if(!(this instanceof Zi))return new Zi(t);if(typeof t=="function"){this._callback=t;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),t=null}nE._init.call(this,t),VT.call(this)}eVe(Zi,VT);Object.assign(Zi.prototype,nE.prototype);Zi.prototype._new=function(e){return new Zi(e)};Zi.prototype._write=function(e,r,i){this._appendBuffer(e),typeof i=="function"&&i()};Zi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Zi.prototype.end=function(e){VT.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Zi.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Zi.prototype._isBufferList=function(e){return e instanceof Zi||e instanceof nE||Zi.isBufferList(e)};Zi.isBufferList=nE.isBufferList;Fb.exports=Zi;Fb.exports.BufferListStream=Zi;Fb.exports.BufferList=nE});var $T=w(ph=>{var tVe=Buffer.alloc,rVe="0000000000000000000",iVe="7777777777777777777",Bue="0".charCodeAt(0),bue=Buffer.from("ustar\0","binary"),nVe=Buffer.from("00","binary"),sVe=Buffer.from("ustar ","binary"),oVe=Buffer.from(" \0","binary"),aVe=parseInt("7777",8),sE=257,XT=263,AVe=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},lVe=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},cVe=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},Que=function(t,e,r,i){for(;re?iVe.slice(0,e)+" ":rVe.slice(0,e-t.length)+t+" "};function uVe(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],i=t.length-1;i>0;i--){var n=t[i];e?r.push(n):r.push(255-n)}var s=0,o=r.length;for(i=0;i=Math.pow(10,r)&&r++,e+r+t};ph.decodeLongPath=function(t,e){return dh(t,0,t.length,e)};ph.encodePax=function(t){var e="";t.name&&(e+=ZT(" path="+t.name+` +`)),t.linkname&&(e+=ZT(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var i in r)e+=ZT(" "+i+"="+r[i]+` +`);return Buffer.from(e)};ph.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(Kl(t.mode&aVe,6),100),e.write(Kl(t.uid,6),108),e.write(Kl(t.gid,6),116),e.write(Kl(t.size,11),124),e.write(Kl(t.mtime.getTime()/1e3|0,11),136),e[156]=Bue+cVe(t.type),t.linkname&&e.write(t.linkname,157),bue.copy(e,sE),nVe.copy(e,XT),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(Kl(t.devmajor||0,6),329),e.write(Kl(t.devminor||0,6),337),i&&e.write(i,345),e.write(Kl(vue(e),6),148),e)};ph.decode=function(t,e,r){var i=t[156]===0?0:t[156]-Bue,n=dh(t,0,100,e),s=Hl(t,100,8),o=Hl(t,108,8),a=Hl(t,116,8),l=Hl(t,124,12),c=Hl(t,136,12),u=lVe(i),g=t[157]===0?null:dh(t,157,100,e),f=dh(t,265,32),h=dh(t,297,32),p=Hl(t,329,8),m=Hl(t,337,8),y=vue(t);if(y===8*32)return null;if(y!==Hl(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(bue.compare(t,sE,sE+6)===0)t[345]&&(n=dh(t,345,155,e)+"/"+n);else if(!(sVe.compare(t,sE,sE+6)===0&&oVe.compare(t,XT,XT+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:m}}});var Fue=w((axt,Sue)=>{var kue=require("util"),gVe=wue(),oE=$T(),xue=hh().Writable,Pue=hh().PassThrough,Due=function(){},Rue=function(t){return t&=511,t&&512-t},fVe=function(t,e){var r=new Nb(t,e);return r.end(),r},hVe=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},Nb=function(t,e){this._parent=t,this.offset=e,Pue.call(this,{autoDestroy:!1})};kue.inherits(Nb,Pue);Nb.prototype.destroy=function(t){this._parent.destroy(t)};var QA=function(t){if(!(this instanceof QA))return new QA(t);xue.call(this,t),t=t||{},this._offset=0,this._buffer=gVe(),this._missing=0,this._partial=!1,this._onparse=Due,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=Rue(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Rue(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=oE.decodePax(r.slice(0,f)),r.consume(f),s()},l=function(){var f=e._header.size;e._pax=oE.decodePax(r.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=oE.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=oE.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=oE.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(p){e.emit("error",p)}if(r.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=hVe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,fVe(e,f),n);return}e._stream=new Nb(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};kue.inherits(QA,xue);QA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};QA.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};QA.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=Due,this._overflow?this._write(this._overflow,void 0,t):t()}};QA.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.lengths&&(o=t.slice(s),t=t.slice(0,s)),i?i.end(t):n.append(t),this._overflow=o,this._onparse()}};QA.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};Sue.exports=QA});var Lue=w((Axt,Nue)=>{Nue.exports=require("fs").constants||require("constants")});var Kue=w((lxt,Tue)=>{var Ch=Lue(),Oue=Wx(),Lb=Ll(),pVe=Buffer.alloc,Mue=hh().Readable,mh=hh().Writable,dVe=require("string_decoder").StringDecoder,Tb=$T(),CVe=parseInt("755",8),mVe=parseInt("644",8),Uue=pVe(1024),eO=function(){},tO=function(t,e){e&=511,e&&t.push(Uue.slice(0,512-e))};function EVe(t){switch(t&Ch.S_IFMT){case Ch.S_IFBLK:return"block-device";case Ch.S_IFCHR:return"character-device";case Ch.S_IFDIR:return"directory";case Ch.S_IFIFO:return"fifo";case Ch.S_IFLNK:return"symlink"}return"file"}var Ob=function(t){mh.call(this),this.written=0,this._to=t,this._destroyed=!1};Lb(Ob,mh);Ob.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};Ob.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Mb=function(){mh.call(this),this.linkname="",this._decoder=new dVe("utf-8"),this._destroyed=!1};Lb(Mb,mh);Mb.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};Mb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var aE=function(){mh.call(this),this._destroyed=!1};Lb(aE,mh);aE.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};aE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var da=function(t){if(!(this instanceof da))return new da(t);Mue.call(this,t),this._drain=eO,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Lb(da,Mue);da.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=eO);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=EVe(t.mode)),t.mode||(t.mode=t.type==="directory"?CVe:mVe),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var n=this.push(e);return tO(i,t.size),n?process.nextTick(r):this._drain=r,new aE}if(t.type==="symlink"&&!t.linkname){var s=new Mb;return Oue(s,function(a){if(a)return i.destroy(),r(a);t.linkname=s.linkname,i._encode(t),r()}),s}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new aE;var o=new Ob(this);return this._stream=o,Oue(o,function(a){if(i._stream=null,a)return i.destroy(),r(a);if(o.written!==t.size)return i.destroy(),r(new Error("size mismatch"));tO(i,t.size),i._finalizing&&i.finalize(),r()}),o}};da.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(Uue),this.push(null))};da.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};da.prototype._encode=function(t){if(!t.pax){var e=Tb.encode(t);if(e){this.push(e);return}}this._encodePax(t)};da.prototype._encodePax=function(t){var e=Tb.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(Tb.encode(r)),this.push(e),tO(this,e.length),r.size=t.size,r.type=t.type,this.push(Tb.encode(r))};da.prototype._read=function(t){var e=this._drain;this._drain=eO,e()};Tue.exports=da});var Hue=w(rO=>{rO.extract=Fue();rO.pack=Kue()});var ege=w((Rxt,Vue)=>{"use strict";var Eh=class{constructor(e,r,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=r||{},this.__providers=Zue(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return AO(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[i,n]of this.entries())e.call(r,n,i,this)}toJSON(){let e={};return this.forEach((r,i)=>{e[i]=r}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let r=e||this.__opts.other;if(r){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(r):RVe(n);for(let[o,a]of s)r(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Eh(this.__specs,this.__opts,Zue(this.__providers).concat(e)),Xue)}};try{let t=require("util");Eh.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function FVe(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function AO(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))FVe(e);else{i||(i={});let n;for(let s of t.__providers){if(n=$ue(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=$ue(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(t):i.default:n}}function $ue(t,e){let r;return e.__isFiggyPudding?r=AO(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var Xue={has(t,e){return e in t.__specs&&AO(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Eh.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};Vue.exports=NVe;function NVe(t,e){function r(...i){return new Proxy(new Eh(t,e,i),Xue)}return r}function Zue(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function RVe(t){return Object.keys(t).map(e=>[e,t[e]])}});var ige=w((Fxt,Ca)=>{"use strict";var lE=require("crypto"),LVe=ege(),TVe=require("stream").Transform,tge=["sha256","sha384","sha512"],OVe=/^[a-z0-9+/]+(?:=?=?)$/i,MVe=/^([^-]+)-([^?]+)([?\S*]*)$/,UVe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,KVe=/^[\x21-\x7E]+$/,Cn=LVe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>HVe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Pu=class{get isHash(){return!0}constructor(e,r){r=Cn(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?UVe:MVe);if(!n||i&&!tge.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=Cn(e),e.strict&&!(tge.some(i=>i===this.algorithm)&&this.digest.match(OVe)&&(this.options||[]).every(i=>i.match(KVe))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},Ih=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=Cn(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>Pu.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=Cn(r);let i=typeof e=="string"?e:cE(e,r);return ma(`${this.toString(r)} ${i}`,r)}hexDigest(){return ma(this,{single:!0}).hexDigest()}match(e,r){r=Cn(r);let i=ma(e,r),n=i.pickAlgorithm(r);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=Cn(e);let r=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>r(n,s)||n)}};Ca.exports.parse=ma;function ma(t,e){if(e=Cn(e),typeof t=="string")return lO(t,e);if(t.algorithm&&t.digest){let r=new Ih;return r[t.algorithm]=[t],lO(cE(r,e),e)}else return lO(cE(t,e),e)}function lO(t,e){return e.single?new Pu(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new Pu(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new Ih)}Ca.exports.stringify=cE;function cE(t,e){return e=Cn(e),t.algorithm&&t.digest?Pu.prototype.toString.call(t,e):typeof t=="string"?cE(ma(t,e),e):Ih.prototype.toString.call(t,e)}Ca.exports.fromHex=jVe;function jVe(t,e,r){r=Cn(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return ma(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}Ca.exports.fromData=GVe;function GVe(t,e){e=Cn(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=lE.createHash(s).update(t).digest("base64"),a=new Pu(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new Ih)}Ca.exports.fromStream=YVe;function YVe(t,e){e=Cn(e);let r=e.Promise||Promise,i=cO(e);return new r((n,s)=>{t.pipe(i),t.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}Ca.exports.checkData=qVe;function qVe(t,e,r){if(r=Cn(r),e=ma(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(r),n=lE.createHash(i).update(t).digest("base64"),s=ma({algorithm:i,digest:n}),o=s.match(e,r);if(o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}Ca.exports.checkStream=JVe;function JVe(t,e,r){r=Cn(r);let i=r.Promise||Promise,n=cO(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}Ca.exports.integrityStream=cO;function cO(t){t=Cn(t);let e=t.integrity&&ma(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(lE.createHash),a=0,l=new TVe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=ma(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let f=new Error(`stream size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=t.size,f.sri=e,l.emit("error",f)}else if(t.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}Ca.exports.create=WVe;function WVe(t){t=Cn(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(lE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new Pu(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Ih)}}}var zVe=new Set(lE.getHashes()),rge=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>zVe.has(t));function HVe(t,e){return rge.indexOf(t.toLowerCase())>=rge.indexOf(e.toLowerCase())?t:e}});var QC={};ft(QC,{BuildType:()=>As,Cache:()=>Nt,Configuration:()=>ye,DEFAULT_LOCK_FILENAME:()=>wx,DEFAULT_RC_FILENAME:()=>yx,FormatType:()=>Di,InstallMode:()=>di,LightReport:()=>uA,LinkType:()=>Qt,Manifest:()=>At,MessageName:()=>$,MultiFetcher:()=>yd,PackageExtensionStatus:()=>qi,PackageExtensionType:()=>yi,Project:()=>ze,ProjectLookup:()=>ol,Report:()=>Ji,ReportError:()=>ct,SettingsType:()=>Ie,StreamReport:()=>Je,TAG_REGEXP:()=>Gg,TelemetryManager:()=>bC,ThrowReport:()=>pi,VirtualFetcher:()=>Bd,Workspace:()=>BC,WorkspaceFetcher:()=>bd,WorkspaceResolver:()=>si,YarnVersion:()=>Ur,execUtils:()=>Fr,folderUtils:()=>hx,formatUtils:()=>ae,hashUtils:()=>Dn,httpUtils:()=>ir,miscUtils:()=>Se,nodeUtils:()=>qg,parseMessageName:()=>BI,scriptUtils:()=>Zt,semverUtils:()=>Wt,stringifyMessageName:()=>YA,structUtils:()=>P,tgzUtils:()=>wi,treeUtils:()=>as});var Fr={};ft(Fr,{EndStrategy:()=>is,ExecError:()=>xx,PipeError:()=>Qw,execvp:()=>Eke,pipevp:()=>$o});var Zh={};ft(Zh,{AliasFS:()=>Pa,CwdFS:()=>_t,DEFAULT_COMPRESSION_LEVEL:()=>ic,FakeFS:()=>KA,Filename:()=>Pt,JailFS:()=>Da,LazyFS:()=>zh,LinkStrategy:()=>jh,NoFS:()=>zE,NodeFS:()=>ar,PortablePath:()=>Me,PosixFS:()=>_h,ProxiedFS:()=>bi,VirtualFS:()=>Jr,ZipFS:()=>Ai,ZipOpenFS:()=>ms,constants:()=>Dr,extendFs:()=>VE,normalizeLineEndings:()=>$l,npath:()=>j,opendir:()=>qE,patchFs:()=>bQ,ppath:()=>k,statUtils:()=>uQ,toFilename:()=>qr,xfs:()=>K});var Dr={};ft(Dr,{SAFE_TIME:()=>cQ,S_IFDIR:()=>Sa,S_IFLNK:()=>xa,S_IFMT:()=>zn,S_IFREG:()=>ka});var zn=61440,Sa=16384,ka=32768,xa=40960,cQ=456789e3;var uQ={};ft(uQ,{BigIntStatsEntry:()=>Uh,DEFAULT_MODE:()=>Mh,DirEntry:()=>sM,StatEntry:()=>MA,areStatsEqual:()=>fQ,clearStats:()=>ME,convertToBigIntStats:()=>UE,makeDefaultStats:()=>Kh,makeEmptyStats:()=>dfe});var gQ=ge(require("util"));var Mh=ka|420,sM=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&zn)===Sa}isFIFO(){return!1}isFile(){return(this.mode&zn)===ka}isSocket(){return!1}isSymbolicLink(){return(this.mode&zn)===xa}},MA=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Mh;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&zn)===Sa}isFIFO(){return!1}isFile(){return(this.mode&zn)===ka}isSocket(){return!1}isSymbolicLink(){return(this.mode&zn)===xa}},Uh=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Mh);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(zn))===BigInt(Sa)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(zn))===BigInt(ka)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(zn))===BigInt(xa)}};function Kh(){return new MA}function dfe(){return ME(Kh())}function ME(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):gQ.types.isDate(r)&&(t[e]=new Date(0))}return t}function UE(t){let e=new Uh;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):gQ.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function fQ(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,i=e;return!(r.atimeNs!==i.atimeNs||r.mtimeNs!==i.mtimeNs||r.ctimeNs!==i.ctimeNs||r.birthtimeNs!==i.birthtimeNs)}var HE=ge(require("fs"));var Hh=ge(require("path")),oM;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(oM||(oM={}));var Me={root:"/",dot:"."},Pt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},j=Object.create(Hh.default),k=Object.create(Hh.default.posix);j.cwd=()=>process.cwd();k.cwd=()=>hQ(process.cwd());k.resolve=(...t)=>t.length>0&&k.isAbsolute(t[0])?Hh.default.posix.resolve(...t):Hh.default.posix.resolve(k.cwd(),...t);var aM=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};j.fromPortablePath=AM;j.toPortablePath=hQ;j.contains=(t,e)=>aM(j,t,e);k.contains=(t,e)=>aM(k,t,e);var Cfe=/^([a-zA-Z]:.*)$/,mfe=/^\/\/(\.\/)?(.*)$/,Efe=/^\/([a-zA-Z]:.*)$/,Ife=/^\/unc\/(\.dot\/)?(.*)$/;function AM(t){if(process.platform!=="win32")return t;let e,r;if(e=t.match(Efe))t=e[1];else if(r=t.match(Ife))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function hQ(t){if(process.platform!=="win32")return t;t=t.replace(/\\/g,"/");let e,r;return(e=t.match(Cfe))?t=`/${e[1]}`:(r=t.match(mfe))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function KE(t,e){return t===j?AM(e):hQ(e)}function qr(t){if(j.parse(t).dir!==""||k.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var jE=new Date(cQ*1e3),jh;(function(r){r.Allow="allow",r.ReadOnly="readOnly"})(jh||(jh={}));async function lM(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:jE,mtime:jE}:await r.lstatPromise(o);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await pQ(a,l,g,t,s,r,o,te(N({},n),{didParentExist:!0}));for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function pQ(t,e,r,i,n,s,o,a){var h,p;let l=a.didParentExist?await yfe(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:jE,mtime:jE}:c,f;switch(!0){case c.isDirectory():f=await wfe(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():f=await Bfe(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await bfe(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>r(n,u,g)),f=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function yfe(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function wfe(t,e,r,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(t.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!=="EEXIST")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?te(N({},c),{didParentExist:!1}):c;if(c.stableSort)for(let h of g.sort())await pQ(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await pQ(t,e,r,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var dQ=new WeakMap;function CQ(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===jh.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function Qfe(t,e,r,i,n){let s=dQ.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,HE.default.constants.COPYFILE_FICLONE_FORCE),dQ.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")dQ.set(t,!1),await CQ(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,HE.default.constants.COPYFILE_FICLONE_FORCE):CQ(t,e,r,i,n)}async function Bfe(t,e,r,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?Qfe(i,n,a,l,u):async()=>i.copyFilePromise(a,n,HE.default.constants.COPYFILE_FICLONE):u!==null?CQ(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function bfe(t,e,r,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;return t.push(async()=>{await i.symlinkPromise(KE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function Cs(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function GE(t){return Cs("EBUSY",t)}function Gh(t,e){return Cs("ENOSYS",`${t}, ${e}`)}function UA(t){return Cs("EINVAL",`invalid argument, ${t}`)}function en(t){return Cs("EBADF",`bad file descriptor, ${t}`)}function to(t){return Cs("ENOENT",`no such file or directory, ${t}`)}function Do(t){return Cs("ENOTDIR",`not a directory, ${t}`)}function Yh(t){return Cs("EISDIR",`illegal operation on a directory, ${t}`)}function YE(t){return Cs("EEXIST",`file already exists, ${t}`)}function In(t){return Cs("EROFS",`read-only filesystem, ${t}`)}function cM(t){return Cs("ENOTEMPTY",`directory not empty, ${t}`)}function uM(t){return Cs("EOPNOTSUPP",`operation not supported, ${t}`)}function gM(){return Cs("ERR_DIR_CLOSED","Directory handle was closed")}var mQ=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var fM=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw gM()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e!="undefined"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}};function qE(t,e,r,i){let n=()=>{let s=r.shift();return typeof s=="undefined"?null:Object.assign(t.statSync(t.pathUtils.join(e,s)),{name:s})};return new fM(e,n,i)}var hM=ge(require("os"));var KA=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(r)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:r=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(r){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!=="EBUSY"&&o.code!=="ENOTEMPTY")throw o;ssetTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(i.isDirectory()){if(r)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep);for(let s=2;s<=n.length;++s){let o=n.slice(0,s).join(this.pathUtils.sep);if(!this.existsSync(o)){try{await this.mkdirPromise(o)}catch(a){if(a.code==="EEXIST")continue;throw a}if(r!=null&&await this.chmodPromise(o,r),i!=null)await this.utimesPromise(o,i[0],i[1]);else{let a=await this.statPromise(this.pathUtils.dirname(o));await this.utimesPromise(o,a.atime,a.mtime)}}}}mkdirpSync(e,{chmod:r,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep);for(let s=2;s<=n.length;++s){let o=n.slice(0,s).join(this.pathUtils.sep);if(!this.existsSync(o)){try{this.mkdirSync(o)}catch(a){if(a.code==="EEXIST")continue;throw a}if(r!=null&&this.chmodSync(o,r),i!=null)this.utimesSync(o,i[0],i[1]);else{let a=this.statSync(this.pathUtils.dirname(o));this.utimesSync(o,a.atime,a.mtime)}}}}async copyPromise(e,r,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await lM(this,e,i,r,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,r,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(r),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(r);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(r,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(r);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(r);this.symlinkSync(KE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${s.mode.toString(8).padStart(6,"0")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,r,i={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,i):this.changeFileTextPromise(e,r,i)}async changeFileBufferPromise(e,r,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch(s){}Buffer.compare(n,r)!==0&&await this.writeFilePromise(e,r,{mode:i})}async changeFileTextPromise(e,r,{automaticNewlines:i,mode:n}={}){let s="";try{s=await this.readFilePromise(e,"utf8")}catch(a){}let o=i?$l(s,r):r;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,r,i={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,i):this.changeFileTextSync(e,r,i)}changeFileBufferSync(e,r,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch(s){}Buffer.compare(n,r)!==0&&this.writeFileSync(e,r,{mode:i})}changeFileTextSync(e,r,{automaticNewlines:i=!1,mode:n}={}){let s="";try{s=this.readFileSync(e,"utf8")}catch(a){}let o=i?$l(s,r):r;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(i){if(i.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw i}}moveSync(e,r){try{this.renameSync(e,r)}catch(i){if(i.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw i}}async lockPromise(e,r){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} +`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} +`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},ec=class extends KA{constructor(){super(k)}};function vfe(t){let e=t.match(/\r?\n/g);if(e===null)return hM.EOL;let r=e.filter(n=>n===`\r +`).length,i=e.length-r;return r>i?`\r +`:` +`}function $l(t,e){return e.replace(/\r?\n/g,vfe(t))}var qu=ge(require("fs")),EQ=ge(require("stream")),mM=ge(require("util")),IQ=ge(require("zlib"));var pM=ge(require("fs"));var ar=class extends ec{constructor(e=pM.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Me.root}resolve(e){return k.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(j.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(j.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(j.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(j.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(j.fromPortablePath(e),r):this.realFs.opendirSync(j.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?j.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?j.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(j.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>j.toPortablePath(r))}realpathSync(e){return j.toPortablePath(this.realFs.realpathSync(j.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(j.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(j.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(j.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(j.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(j.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(j.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(j.fromPortablePath(e),r):this.realFs.statSync(j.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(j.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(j.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(j.fromPortablePath(e),r):this.realFs.lstatSync(j.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(j.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(j.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(j.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(j.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(j.fromPortablePath(e),j.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(j.fromPortablePath(e),j.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(j.fromPortablePath(e),j.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(j.fromPortablePath(e),j.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?j.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?j.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?j.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?j.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i):this.realFs.writeFileSync(n,r)}async unlinkPromise(e){return await new Promise((r,i)=>{this.realFs.unlink(j.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(j.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(j.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(j.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw Gh("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,j.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw Gh("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,j.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(j.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(j.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(j.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(j.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(j.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(j.fromPortablePath(e),j.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(j.fromPortablePath(e),j.fromPortablePath(r))}async symlinkPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.symlink(j.fromPortablePath(e.replace(/\/+$/,"")),j.fromPortablePath(r),i,this.makeCallback(n,s))})}symlinkSync(e,r,i){return this.realFs.symlinkSync(j.fromPortablePath(e.replace(/\/+$/,"")),j.fromPortablePath(r),i)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?j.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?j.fromPortablePath(e):e;return this.realFs.readFileSync(i,r)}async readdirPromise(e,r){return await new Promise((i,n)=>{(r==null?void 0:r.withFileTypes)?this.realFs.readdir(j.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(j.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,r){return(r==null?void 0:r.withFileTypes)?this.realFs.readdirSync(j.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(j.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(j.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>j.toPortablePath(r))}readlinkSync(e){return j.toPortablePath(this.realFs.readlinkSync(j.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(j.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(j.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(j.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(j.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(j.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var dM=ge(require("events"));var tc;(function(r){r.Change="change",r.Stop="stop"})(tc||(tc={}));var rc;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(rc||(rc={}));function CM(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var qh=class extends dM.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=rc.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=r,this.bigint=i,this.lastStats=this.stat()}static create(e,r,i){let n=new qh(e,r,i);return n.start(),n}start(){CM(this.status,rc.Ready),this.status=rc.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(tc.Change,this.lastStats,this.lastStats)},3)}stop(){CM(this.status,rc.Running),this.status=rc.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(tc.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){let r=this.bigint?new Uh:new MA;return ME(r)}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;fQ(i,n)||(this.lastStats=i,this.emit(tc.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(tc.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(tc.Change,e);let r=this.changeListeners.get(e);typeof r!="undefined"&&clearInterval(r),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var JE=new WeakMap;function WE(t,e,r,i){let n,s,o,a;switch(typeof r){case"function":n=!1,s=!0,o=5007,a=r;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=r),a=i;break}let l=JE.get(t);typeof l=="undefined"&&JE.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=qh.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Jh(t,e,r){let i=JE.get(t);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof r=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function Wh(t){let e=JE.get(t);if(typeof e!="undefined")for(let r of e.keys())Jh(t,r)}var ic="mixed";function Sfe(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if(mM.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function EM(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Ai=class extends ec{constructor(e,r){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=r.libzip;let i=r;if(this.level=typeof i.level!="undefined"?i.level:ic,e!=null||(e=EM()),typeof e=="string"){let{baseFs:o=new ar}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(r.stats)this.stats=r.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=Kh();else throw o}else this.stats=Kh();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),r.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(j.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(Me.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(r,r+e);return Buffer.from(n)}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw GE("archive closed, close");Wh(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)||this.stats.mode===Mh?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,EM(),{mode:e});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof e!="undefined"&&this.baseFs.chmodSync(this.path,e)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return k.resolve(Me.root,e)}async openPromise(e,r,i){return this.openSync(e,r,i)}openSync(e,r,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,r){return this.opendirSync(e,r)}opendirSync(e,r={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw to(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw Do(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return qE(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,r,i,n,s){return this.readSync(e,r,i,n,s)}readSync(e,r,i=0,n=r.byteLength,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw en("read");let a=s===-1||s===null?o.cursor:s,l=this.readFileSync(o.p);l.copy(r,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,r,i,n,s){return typeof r=="string"?this.writeSync(e,r,s):this.writeSync(e,r,i,n,s)}writeSync(e,r,i,n,s){throw typeof this.fds.get(e)=="undefined"?en("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw en("read");this.fds.delete(e)}createReadStream(e,{encoding:r}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new EQ.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,r);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:r}={}){if(this.readOnly)throw In(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new EQ.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),r),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let r=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw to(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw GE(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=k.resolve(Me.root,e);return this.entries.has(i)||this.listings.has(i)}let r;try{r=this.resolveFilename(`stat '${e}'`,e)}catch(i){return!1}return this.entries.has(r)||this.listings.has(r)}async accessPromise(e,r){return this.accessSync(e,r)}accessSync(e,r=qu.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw to(`access '${e}'`);if(this.readOnly&&r&qu.constants.W_OK)throw In(`access '${e}'`)}async statPromise(e,r){return this.statSync(e,r)}statSync(e,r){let i=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw to(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Do(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,r)}async fstatPromise(e,r){return this.fstatSync(e,r)}fstatSync(e,r){let i=this.fds.get(e);if(typeof i=="undefined")throw en("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw to(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw Do(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,r)}async lstatPromise(e,r){return this.lstatSync(e,r)}lstatSync(e,r){let i=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw to(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Do(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,r)}statImpl(e,r,i={}){let n=this.entries.get(r);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),f=(this.libzip.struct.statMtime(s)>>>0)*1e3,h=f,p=f,m=f,y=new Date(h),Q=new Date(p),S=new Date(m),x=new Date(f),M=this.listings.has(r)?Sa:this.isSymbolicLink(n)?xa:ka,Y=M===Sa?493:420,U=M|this.getUnixMode(n,Y)&511,J=this.libzip.struct.statCrc(s),W=Object.assign(new MA,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:y,birthtime:Q,ctime:S,mtime:x,atimeMs:h,birthtimeMs:p,ctimeMs:m,mtimeMs:f,mode:U,crc:J});return i.bigint===!0?UE(W):W}if(this.listings.has(r)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=new Date(u),m=new Date(g),y=new Date(f),Q=new Date(h),S=Sa|493,x=0,M=Object.assign(new MA,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:m,ctime:y,mtime:Q,atimeMs:u,birthtimeMs:g,ctimeMs:f,mtimeMs:h,mode:S,crc:x});return i.bigint===!0?UE(M):M}throw new Error("Unreachable")}getUnixMode(e,r){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?r:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let r=this.listings.get(e);if(r)return r;this.registerListing(k.dirname(e)).add(k.basename(e));let n=new Set;return this.listings.set(e,n),n}registerEntry(e,r){this.registerListing(k.dirname(e)).add(k.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(k.dirname(e));r==null||r.delete(k.basename(e))}unregisterEntry(e){this.unregisterListing(e);let r=this.entries.get(e);this.entries.delete(e),typeof r!="undefined"&&(this.fileSources.delete(r),this.isSymbolicLink(r)&&this.symlinkCount--)}deleteEntry(e,r){if(this.unregisterEntry(e),this.libzip.delete(this.zip,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,r,i=!0){if(!this.ready)throw GE(`archive closed, ${e}`);let n=k.resolve(Me.root,r);if(n==="/")return Me.root;let s=this.entries.get(n);if(i&&s!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(s)){let o=this.getFileSource(s).toString();return this.resolveFilename(e,k.resolve(k.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,k.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw to(e);if(!a)throw Do(e);if(n=k.resolve(o,k.basename(n)),!i||this.symlinkCount===0)break;let c=this.libzip.name.locate(this.zip,n.slice(1));if(c===-1)break;if(this.isSymbolicLink(c)){let u=this.getFileSource(c).toString();n=k.resolve(k.dirname(n),u)}else break}return n}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,r);if(s===0)throw this.libzip.free(r),this.makeLibzipError(r);return s}allocateSource(e){let{buffer:r,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,r,i,0,!0);if(n===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,r){let i=Buffer.isBuffer(r)?r:Buffer.from(r),n=k.relative(Me.root,e),s=this.allocateSource(r);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&zn)===xa}getFileSource(e,r={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),f=Buffer.from(g);if(a===0)return this.fileSources.set(e,f),f;if(r.asyncDecompress)return new Promise((h,p)=>{IQ.default.inflateRaw(f,(m,y)=>{m?p(m):(this.fileSources.set(e,y),h(y))})});{let h=IQ.default.inflateRawSync(f);return this.fileSources.set(e,h),h}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async chmodPromise(e,r){return this.chmodSync(e,r)}chmodSync(e,r){if(this.readOnly)throw In(`chmod '${e}'`);r&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,ka|0)&~511|r;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,r,i){return this.chownSync(e,r,i)}chownSync(e,r,i){throw new Error("Unimplemented")}async renamePromise(e,r){return this.renameSync(e,r)}renameSync(e,r){throw new Error("Unimplemented")}async copyFilePromise(e,r,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,r,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,r,i=0){if(this.readOnly)throw In(`copyfile '${e} -> '${r}'`);if((i&qu.constants.COPYFILE_FICLONE_FORCE)!=0)throw Gh("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw UA(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&(qu.constants.COPYFILE_EXCL|qu.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw YE(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw In(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=N({flag:"a"},i)),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw In(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=N({flag:"a"},i)),this.writeFileSync(e,r,i)}fdToPath(e,r){var n;let i=(n=this.fds.get(e))==null?void 0:n.p;if(typeof i=="undefined")throw en(r);return i}async writeFilePromise(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(o,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&await this.chmodPromise(a,s)}writeFileSync(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(o),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&this.chmodSync(a,s)}prepareWriteFile(e,r){if(typeof e=="number"&&(e=this.fdToPath(e,"read")),this.readOnly)throw In(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw Yh(`open '${e}'`);let n=null,s=null;typeof r=="string"?n=r:typeof r=="object"&&({encoding:n=null,mode:s=null}=r);let o=this.entries.get(i);return{encoding:n,mode:s,resolvedP:i,index:o}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw In(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw Yh(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw UA(`unlink '${e}'`);this.deleteEntry(r,i)}async utimesPromise(e,r,i){return this.utimesSync(e,r,i)}utimesSync(e,r,i){if(this.readOnly)throw In(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,r,i){return this.lutimesSync(e,r,i)}lutimesSync(e,r,i){if(this.readOnly)throw In(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,r){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,Sfe(r),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,r){return this.mkdirSync(e,r)}mkdirSync(e,{mode:r=493,recursive:i=!1}={}){if(i){this.mkdirpSync(e,{chmod:r});return}if(this.readOnly)throw In(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw YE(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,r)}async rmdirPromise(e,r){return this.rmdirSync(e,r)}rmdirSync(e,{recursive:r=!1}={}){if(this.readOnly)throw In(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw Do(`rmdir '${e}'`);if(n.size>0)throw cM(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw UA(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,k.relative(Me.root,e));if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,r),r}async linkPromise(e,r){return this.linkSync(e,r)}linkSync(e,r){throw uM(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw In(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw Yh(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw YE(`symlink '${e}' -> '${r}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(xa|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return r?i.toString(r):i}readFileSync(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=this.readFileBuffer(e);return r?i.toString(r):i}readFileBuffer(e,r={asyncDecompress:!1}){typeof e=="number"&&(e=this.fdToPath(e,"read"));let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw to(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Do(`open '${e}'`);if(this.listings.has(i))throw Yh("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,r)}async readdirPromise(e,r){return this.readdirSync(e,r)}readdirSync(e,r){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw to(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw Do(`scandir '${e}'`);let s=[...n];return(r==null?void 0:r.withFileTypes)?s.map(o=>Object.assign(this.statImpl("lstat",k.join(e,o)),{name:o})):s}async readlinkPromise(e){let r=this.prepareReadlink(e);return(await this.getFileSource(r,{asyncDecompress:!0})).toString()}readlinkSync(e){let r=this.prepareReadlink(e);return this.getFileSource(r).toString()}prepareReadlink(e){let r=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(r)&&!this.listings.has(r))throw to(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw Do(`open '${e}'`);if(this.listings.has(r))throw UA(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw UA(`readlink '${e}'`);return i}async truncatePromise(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw UA(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(r,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw UA(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(r,0);return s.copy(o),this.writeFileSync(e,o)}watch(e,r,i){let n;switch(typeof r){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=r);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,r,i){let n=k.resolve(Me.root,e);return WE(this,n,r,i)}unwatchFile(e,r){let i=k.resolve(Me.root,e);return Jh(this,i,r)}};var bi=class extends KA{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,i){return this.baseFs.openPromise(this.mapToBase(e),r,i)}openSync(e,r,i){return this.baseFs.openSync(this.mapToBase(e),r,i)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async chownPromise(e,r,i){return this.baseFs.chownPromise(this.mapToBase(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.mapToBase(e),r,i)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),i)}copyFileSync(e,r,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),i)}async appendFilePromise(e,r,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,i)}async writeFilePromise(e,r,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,i){return this.baseFs.utimesPromise(this.mapToBase(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.mapToBase(e),r,i)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,r){return r==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),r):this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return r==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),r):this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}watch(e,r,i){return this.baseFs.watch(this.mapToBase(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.mapToBase(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var Pa=class extends bi{constructor(e,{baseFs:r,pathUtils:i}){super(i);this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var _t=class extends bi{constructor(e,{baseFs:r=new ar}={}){super(k);this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?k.normalize(e):this.baseFs.resolve(k.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var IM=Me.root,Da=class extends bi{constructor(e,{baseFs:r=new ar}={}){super(k);this.target=this.pathUtils.resolve(Me.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Me.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(IM,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(IM,this.pathUtils.relative(this.target,e))}};var zh=class extends bi{constructor(e,r){super(r);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var st=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),yQ=class extends KA{constructor(){super(k)}getExtractHint(){throw st()}getRealPath(){throw st()}resolve(){throw st()}async openPromise(){throw st()}openSync(){throw st()}async opendirPromise(){throw st()}opendirSync(){throw st()}async readPromise(){throw st()}readSync(){throw st()}async writePromise(){throw st()}writeSync(){throw st()}async closePromise(){throw st()}closeSync(){throw st()}createWriteStream(){throw st()}createReadStream(){throw st()}async realpathPromise(){throw st()}realpathSync(){throw st()}async readdirPromise(){throw st()}readdirSync(){throw st()}async existsPromise(e){throw st()}existsSync(e){throw st()}async accessPromise(){throw st()}accessSync(){throw st()}async statPromise(){throw st()}statSync(){throw st()}async fstatPromise(e){throw st()}fstatSync(e){throw st()}async lstatPromise(e){throw st()}lstatSync(e){throw st()}async chmodPromise(){throw st()}chmodSync(){throw st()}async chownPromise(){throw st()}chownSync(){throw st()}async mkdirPromise(){throw st()}mkdirSync(){throw st()}async rmdirPromise(){throw st()}rmdirSync(){throw st()}async linkPromise(){throw st()}linkSync(){throw st()}async symlinkPromise(){throw st()}symlinkSync(){throw st()}async renamePromise(){throw st()}renameSync(){throw st()}async copyFilePromise(){throw st()}copyFileSync(){throw st()}async appendFilePromise(){throw st()}appendFileSync(){throw st()}async writeFilePromise(){throw st()}writeFileSync(){throw st()}async unlinkPromise(){throw st()}unlinkSync(){throw st()}async utimesPromise(){throw st()}utimesSync(){throw st()}async readFilePromise(){throw st()}readFileSync(){throw st()}async readlinkPromise(){throw st()}readlinkSync(){throw st()}async truncatePromise(){throw st()}truncateSync(){throw st()}watch(){throw st()}watchFile(){throw st()}unwatchFile(){throw st()}},zE=yQ;zE.instance=new yQ;var _h=class extends bi{constructor(e){super(j);this.baseFs=e}mapFromBase(e){return j.fromPortablePath(e)}mapToBase(e){return j.toPortablePath(e)}};var kfe=/^[0-9]+$/,wQ=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,xfe=/^([^/]+-)?[a-f0-9]+$/,Jr=class extends bi{static makeVirtualPath(e,r,i){if(k.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!k.basename(r).match(xfe))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=k.relative(k.dirname(e),i).split("/"),o=0;for(;o{let r=t.indexOf(e);if(r<=0)return null;let i=r;for(;r>=0&&(i=r+e.length,t[i]!==k.sep);){if(t[r-1]===k.sep)return null;r=t.indexOf(e,i)}return t.length>i&&t[i]!==k.sep?null:t.slice(0,i)},ms=class extends ec{constructor({libzip:e,baseFs:r=new ar,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3,fileExtensions:l=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!="function"?()=>e:e,this.baseFs=r,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a,this.fileExtensions=l}static async openPromise(e,r){let i=new ms(r);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance=="undefined"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(Wh(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(Wh(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,r){let i=this.nextFd++|Ra;return this.fdMap.set(i,[e,r]),i}async openPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,r,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,r,i)))}openSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,r,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,r,i)))}async opendirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,r),async(i,{subPath:n})=>await i.opendirPromise(n,r),{requireSubpath:!1})}opendirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,r),(i,{subPath:n})=>i.opendirSync(n,r),{requireSubpath:!1})}async readPromise(e,r,i,n,s){if((e&Ra)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&Ra)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&Ra)==0)return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("write");let[a,l]=o;return typeof r=="string"?await a.writePromise(l,r,i):await a.writePromise(l,r,i,n,s)}writeSync(e,r,i,n,s){if((e&Ra)==0)return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("writeSync");let[a,l]=o;return typeof r=="string"?a.writeSync(l,r,i):a.writeSync(l,r,i,n,s)}async closePromise(e){if((e&Ra)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw en("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&Ra)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw en("closeSync");this.fdMap.delete(e);let[i,n]=r;return i.closeSync(n)}createReadStream(e,r){return e===null?this.baseFs.createReadStream(e,r):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,r),(i,{archivePath:n,subPath:s})=>{let o=i.createReadStream(s,r);return o.path=j.fromPortablePath(this.pathUtils.join(n,s)),o})}createWriteStream(e,r){return e===null?this.baseFs.createWriteStream(e,r):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,r),(i,{subPath:n})=>i.createWriteStream(n,r))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Me.root,await r.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Me.root,r.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(r,{subPath:i})=>await r.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(r,{subPath:i})=>r.existsSync(i))}async accessPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,r),async(i,{subPath:n})=>await i.accessPromise(n,r))}accessSync(e,r){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,r),(i,{subPath:n})=>i.accessSync(n,r))}async statPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,r),async(i,{subPath:n})=>await i.statPromise(n,r))}statSync(e,r){return this.makeCallSync(e,()=>this.baseFs.statSync(e,r),(i,{subPath:n})=>i.statSync(n,r))}async fstatPromise(e,r){if((e&Ra)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw en("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&Ra)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw en("fstatSync");let[n,s]=i;return n.fstatSync(s,r)}async lstatPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,r),async(i,{subPath:n})=>await i.lstatPromise(n,r))}lstatSync(e,r){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,r),(i,{subPath:n})=>i.lstatSync(n,r))}async chmodPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,r),async(i,{subPath:n})=>await i.chmodPromise(n,r))}chmodSync(e,r){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,r),(i,{subPath:n})=>i.chmodSync(n,r))}async chownPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,r,i),async(n,{subPath:s})=>await n.chownPromise(s,r,i))}chownSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,r,i),(n,{subPath:s})=>n.chownSync(s,r,i))}async renamePromise(e,r){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.renamePromise(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(r,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,r){return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.renameSync(e,r),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(r,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,r,i=0){let n=async(s,o,a,l)=>{if((i&Vh.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Vh.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.copyFilePromise(e,r,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(r,async()=>await n(s,o,this.baseFs,r),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,r,i=0){let n=(s,o,a,l)=>{if((i&Vh.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Vh.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.copyFileSync(e,r,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(r,()=>n(s,o,this.baseFs,r),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,r,i),async(n,{subPath:s})=>await n.appendFilePromise(s,r,i))}appendFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,r,i),(n,{subPath:s})=>n.appendFileSync(s,r,i))}async writeFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,r,i),async(n,{subPath:s})=>await n.writeFilePromise(s,r,i))}writeFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,r,i),(n,{subPath:s})=>n.writeFileSync(s,r,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(r,{subPath:i})=>await r.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(r,{subPath:i})=>r.unlinkSync(i))}async utimesPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,r,i),async(n,{subPath:s})=>await n.utimesPromise(s,r,i))}utimesSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,r,i),(n,{subPath:s})=>n.utimesSync(s,r,i))}async mkdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,r),async(i,{subPath:n})=>await i.mkdirPromise(n,r))}mkdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,r),(i,{subPath:n})=>i.mkdirSync(n,r))}async rmdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,r),async(i,{subPath:n})=>await i.rmdirPromise(n,r))}rmdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,r),(i,{subPath:n})=>i.rmdirSync(n,r))}async linkPromise(e,r){return await this.makeCallPromise(r,async()=>await this.baseFs.linkPromise(e,r),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,r){return this.makeCallSync(r,()=>this.baseFs.linkSync(e,r),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,r,i){return await this.makeCallPromise(r,async()=>await this.baseFs.symlinkPromise(e,r,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,r,i){return this.makeCallSync(r,()=>this.baseFs.symlinkSync(e,r,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,r){return this.makeCallPromise(e,async()=>{switch(r){case"utf8":return await this.baseFs.readFilePromise(e,r);default:return await this.baseFs.readFilePromise(e,r)}},async(i,{subPath:n})=>await i.readFilePromise(n,r))}readFileSync(e,r){return this.makeCallSync(e,()=>{switch(r){case"utf8":return this.baseFs.readFileSync(e,r);default:return this.baseFs.readFileSync(e,r)}},(i,{subPath:n})=>i.readFileSync(n,r))}async readdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,r),async(i,{subPath:n})=>await i.readdirPromise(n,r),{requireSubpath:!1})}readdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,r),(i,{subPath:n})=>i.readdirSync(n,r),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(r,{subPath:i})=>await r.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(r,{subPath:i})=>r.readlinkSync(i))}async truncatePromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,r),async(i,{subPath:n})=>await i.truncatePromise(n,r))}truncateSync(e,r){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,r),(i,{subPath:n})=>i.truncateSync(n,r))}watch(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,r,i),(n,{subPath:s})=>n.watch(s,r,i))}watchFile(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,r,i),()=>WE(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>Jh(this,e,r))}async makeCallPromise(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await r();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await r():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await r()}makeCallSync(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return r();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?r():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let r="";for(;;){let i=e.substring(r.length),n;if(!this.fileExtensions)n=yM(i,".zip");else for(let s of this.fileExtensions)if(n=yM(i,s),n)break;if(!n)return null;if(r=this.pathUtils.join(r,n),this.isZip.has(r)===!1){if(this.notZip.has(r))continue;try{if(!this.baseFs.lstatSync(r).isFile()){this.notZip.add(r);continue}}catch{return null}this.isZip.add(r)}return{archivePath:r,subPath:this.pathUtils.join(Me.root,e.substring(r.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let r=Date.now(),i=r+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(r>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-r).unref())}async getZipPromise(e,r){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new Ai(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await r(n.zipFs)}finally{n.refCount-=1}}else{let n=new Ai(e,await i());try{return await r(n)}finally{n.saveAndClose()}}}getZipSync(e,r){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new Ai(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,r(n.zipFs)}else{let n=new Ai(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var Xh=ge(require("util"));var _E=ge(require("url"));var BQ=class extends bi{constructor(e){super(j);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof _E.URL?(0,_E.fileURLToPath)(e):e}};var Pfe=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),wM=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),Dfe=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function bQ(t,e){e=new BQ(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Xh.promisify.custom])!="undefined"&&(s[Xh.promisify.custom]=o[Xh.promisify.custom])};{r(t,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),r(t,"read",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of wM){let n=i.replace(/Promise$/,"");if(typeof t[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;r(t,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}}),r(t,"readSync",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of Pfe){let n=i;if(typeof t[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&r(t,n,s.bind(e))}t.realpathSync.native=t.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=t.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let o of wM){let a=o.replace(/Promise$/,"");if(typeof n[a]=="undefined")continue;let l=e[o];typeof l!="undefined"&&o!=="open"&&r(n,a,l.bind(e))}class s{constructor(a){this.fd=a}}for(let o of Dfe){let a=o.replace(/Promise$/,""),l=e[o];typeof l!="undefined"&&r(s.prototype,a,function(...c){return l.call(e,this.fd,...c)})}r(n,"open",async(...o)=>{let a=await e.openPromise(...o);return new s(a)})}}t.read[Xh.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n})}function VE(t,e){let r=Object.create(t);return bQ(r,e),r}var BM=ge(require("os"));function bM(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}var ro=new Set,QQ=null;function QM(){if(QQ)return QQ;let t=j.toPortablePath(BM.default.tmpdir()),e=K.realpathSync(t);return process.once("exit",()=>{K.rmtempSync()}),QQ={tmpdir:t,realTmpdir:e}}var K=Object.assign(new ar,{detachTemp(t){ro.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=QM();for(;;){let i=bM("xfs-");try{this.mkdirSync(k.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=k.join(r,i);if(ro.add(n),typeof t=="undefined")return n;try{return t(n)}finally{if(ro.has(n)){ro.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=QM();for(;;){let i=bM("xfs-");try{await this.mkdirPromise(k.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=k.join(r,i);if(ro.add(n),typeof t=="undefined")return n;try{return await t(n)}finally{if(ro.has(n)){ro.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(ro.values()).map(async t=>{try{await K.removePromise(t,{maxRetries:0}),ro.delete(t)}catch{}}))},rmtempSync(){for(let t of ro)try{K.removeSync(t),ro.delete(t)}catch{}}});var Sx=ge(LQ());var op={};ft(op,{parseResolution:()=>rI,parseShell:()=>ZE,parseSyml:()=>Qi,stringifyArgument:()=>UQ,stringifyArgumentSegment:()=>KQ,stringifyArithmeticExpression:()=>tI,stringifyCommand:()=>MQ,stringifyCommandChain:()=>_u,stringifyCommandChainThen:()=>OQ,stringifyCommandLine:()=>$E,stringifyCommandLineThen:()=>TQ,stringifyEnvSegment:()=>eI,stringifyRedirectArgument:()=>$h,stringifyResolution:()=>iI,stringifyShell:()=>zu,stringifyShellLine:()=>zu,stringifySyml:()=>Na,stringifyValueArgument:()=>sc});var p1=ge(h1());function ZE(t,e={isGlobPattern:()=>!1}){try{return(0,p1.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function zu(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:i},n)=>`${$E(r)}${i===";"?n!==t.length-1||e?";":"":" &"}`).join(" ")}function $E(t){return`${_u(t.chain)}${t.then?` ${TQ(t.then)}`:""}`}function TQ(t){return`${t.type} ${$E(t.line)}`}function _u(t){return`${MQ(t)}${t.then?` ${OQ(t.then)}`:""}`}function OQ(t){return`${t.type} ${_u(t.chain)}`}function MQ(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>eI(e)).join(" ")} `:""}${t.args.map(e=>UQ(e)).join(" ")}`;case"subshell":return`(${zu(t.subshell)})${t.args.length>0?` ${t.args.map(e=>$h(e)).join(" ")}`:""}`;case"group":return`{ ${zu(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>$h(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>eI(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function eI(t){return`${t.name}=${t.args[0]?sc(t.args[0]):""}`}function UQ(t){switch(t.type){case"redirection":return $h(t);case"argument":return sc(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function $h(t){return`${t.subtype} ${t.args.map(e=>sc(e)).join(" ")}`}function sc(t){return t.segments.map(e=>KQ(e)).join("")}function KQ(t){let e=(i,n)=>n?`"${i}"`:i,r=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${zu(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue=="undefined"?typeof t.alternativeValue=="undefined"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(i=>sc(i)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(i=>sc(i)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${tI(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function tI(t){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},r=(n,s)=>s?`( ${n} )`:n,i=n=>r(tI(n),!["number","variable"].includes(n.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${i(t.left)} ${e(t.type)} ${i(t.right)}`}}var m1=ge(C1());function rI(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,m1.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function iI(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var hI=ge(AK()),uK=ge(cK()),Kde=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,gK=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],$Q=class{constructor(e){this.data=e}};function fK(t){return t.match(Kde)?t:JSON.stringify(t)}function hK(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>hK(t[e])):!1}function ev(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${fK(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let i=" ".repeat(e);return` +${t.map(s=>`${i}- ${ev(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof $Q?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=gK.indexOf(l),g=gK.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!hK(i[l])).map((l,c)=>{let u=i[l],g=fK(l),f=ev(u,e+1,!0),h=c>0||r?s:"";return f.startsWith(` +`)?`${h}${g}:${f}`:`${h}${g}: ${f}`}).join(e===0?` +`:"")||` +`;return r?` +${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function Na(t){try{let e=ev(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}Na.PreserveOrdering=$Q;function Hde(t){return t.endsWith(` +`)||(t+=` +`),(0,uK.parse)(t)}var jde=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function Gde(t){if(jde.test(t))return Hde(t);let e=(0,hI.safeLoad)(t,{schema:hI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Qi(t){return Gde(t)}var rz=ge(dK()),yw=ge(hc());var Cp={};ft(Cp,{Builtins:()=>pv,Cli:()=>Is,Command:()=>Re,Option:()=>z,UsageError:()=>Pe,formatMarkdownish:()=>Ki});var pc=0,ap=1,tn=2,rv="",vi="\0",ng=-1,iv=/^(-h|--help)(?:=([0-9]+))?$/,pI=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,yK=/^-[a-zA-Z]{2,}$/,nv=/^([^=]+)=([\s\S]*)$/,sv=process.env.DEBUG_CLI==="1";var Pe=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},Ap=class extends Error{constructor(e,r){super();if(this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===r[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} + +${this.candidates.map(({usage:n})=>`$ ${n}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${i} +${ov(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${ov(e)}`}},av=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${ov(e)}`}},ov=t=>`While running ${t.filter(e=>e!==vi).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var lp=Symbol("clipanion/isOption");function rn(t){return te(N({},t),{[lp]:!0})}function No(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function dI(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function cp(t,e){return e.length===1?new Pe(`${t}: ${dI(e[0],!0)}`):new Pe(`${t}: +${e.map(r=>` +- ${dI(r)}`).join("")}`)}function up(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw cp(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var Re=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Es(),sg)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw cp("Invalid option schema",l);for(let[,g]of c)g()}else if(r!=null)throw new Error("Invalid command schema");let i=await this.execute();return typeof i!="undefined"?i:0}};Re.isOption=lp;Re.Default=[];var DK=80,cv=Array(DK).fill("\u2501");for(let t=0;t<=24;++t)cv[cv.length-t]=`[38;5;${232+t}m\u2501`;var uv={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},RK={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function QCe(t){let e=t.split(` +`),r=e.filter(n=>n.match(/\S/)),i=r.length>0?r.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` +`)}function Ki(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=QCe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` +`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),t?`${t} +`:""}var hv=ge(require("tty"));function wn(t){sv&&console.log(t)}var FK={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:ng};function NK(){return{nodes:[sn(),sn(),sn()]}}function SCe(t){let e=NK(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r(pc)}function xCe(t,{prefix:e=""}={}){if(sv){wn(`${e}Nodes are:`);for(let r=0;rl!==tn).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===tn))throw new Ap(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=PCe(a)}if(i.length>0){wn(" Results:");for(let s of i)wn(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else wn(" No results");return i}function DCe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,vi)){for(let{to:r}of t.statics[vi])if(r===ap)return!0}return!1}function FCe(t,e,r){let i=r&&e.length>0?[""]:[],n=TK(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let m=t.nodes[p],y=Object.keys(m.statics);for(let Q of Object.keys(m.statics)){let S=y[0];for(let{to:x,reducer:M}of m.statics[S])M==="pushPath"&&(u||l.push(S),g.push(x))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=DCe(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==vi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===tn)continue;let p=RCe(f,c);if(p!==null)for(let m of p)a([...i,m],l)}}return[...s].sort()}function LCe(t,e){let r=TK(t,[...e,vi]);return NCe(e,r.map(({state:i})=>i))}function PCe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function NCe(t,e){let r=e.filter(g=>g.selectedIndex!==null);if(r.length===0)throw new Error;let i=r.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new Ap(t,r.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=TCe(c);if(u.length>1)throw new av(t,u.map(g=>g.candidateUsage));return u[0]}function TCe(t){let e=[],r=[];for(let i of t)i.selectedIndex===ng?r.push(i):e.push(i);return r.length>0&&e.push(te(N({},FK),{path:OK(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])})),e}function OK(t,e,...r){return e===void 0?Array.from(t):OK(t.filter((i,n)=>i===e[n]),...r)}function sn(){return{dynamics:[],shortcuts:[],statics:{}}}function LK(t){return t===ap||t===tn}function fv(t,e=0){return{to:LK(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function vCe(t,e=0){let r=sn();for(let[i,n]of t.dynamics)r.dynamics.push([i,fv(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(fv(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>fv(s,e));return r}function Si(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function og(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function La(t,e,r,i,n){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:i,reducer:n})}function mI(t,e,r,i){if(Array.isArray(e)){let[n,...s]=e;return t[n](r,i,...s)}else return t[e](r,i)}function RCe(t,e){let r=Array.isArray(t)?EI[t[0]]:EI[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var EI={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,i)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&yK.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(nv);return!t.ignoreOptions&&!!n&&pI.test(n[1])&&r.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&iv.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&pI.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!pI.test(e)};EI.isOption.suggest=(t,e,r=!0)=>r?null:[e];var gv={setCandidateState:(t,e,r)=>N(N({},t),r),setSelectedIndex:(t,e,r)=>te(N({},t),{selectedIndex:r}),pushBatch:(t,e)=>te(N({},t),{options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(nv);return te(N({},t),{options:t.options.concat({name:r,value:i})})},pushPath:(t,e)=>te(N({},t),{path:t.path.concat(e)}),pushPositional:(t,e)=>te(N({},t),{positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>te(N({},t),{positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>te(N({},t),{positionals:t.positionals.concat({value:e,extra:Vn})}),pushTrue:(t,e,r=e)=>te(N({},t),{options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>te(N({},t),{options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>te(N({},t),{options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i=te(N({},t),{options:[...t.options]}),n=t.options[t.options.length-1];return n.value=((r=n.value)!==null&&r!==void 0?r:[]).concat([e]),i},setStringValue:(t,e)=>{let r=te(N({},t),{options:[...t.options]}),i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>te(N({},t),{ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(iv);return typeof i!="undefined"?te(N({},t),{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):te(N({},t),{options:[{name:"-c",value:String(r)}]})},setError:(t,e,r)=>e===vi?te(N({},t),{errorMessage:`${r}.`}):te(N({},t),{errorMessage:`${r} ("${e}").`}),setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return te(N({},t),{errorMessage:`Not enough arguments to option ${r.name}.`})}},Vn=Symbol(),MK=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:i,proxy:n})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===Vn)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==Vn?this.arity.extra.push(e):this.arity.extra!==Vn&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===Vn)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Vn?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=NK(),r=pc,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=io(e,sn()),La(e,pc,rv,r,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=r;if(a.length>0){let f=io(e,sn());og(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=io(e,sn());Si(e,l,"isHelp",f,["useHelp",this.cliIndex]),La(e,f,vi,ap,["setSelectedIndex",ng]),this.registerOptions(e,l)}this.arity.leading.length>0&&La(e,l,vi,tn,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&La(e,h,vi,tn,["setError","Not enough positional arguments"]),Si(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Vn||this.arity.extra.length>0){let f=io(e,sn());if(og(e,c,f),this.arity.extra===Vn){let h=io(e,sn());this.arity.proxy||this.registerOptions(e,h),Si(e,c,s,h,"pushExtraNoLimits"),Si(e,h,s,h,"pushExtraNoLimits"),og(e,h,f)}else for(let h=0;h0&&La(e,u,vi,tn,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Si(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Si(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=io(e,sn());for(let o of i.names)Si(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eLCe(i,n),suggest:(n,s)=>FCe(i,n,s)}}};var dp=class extends Re{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new dp(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}};var UK=Symbol("clipanion/errorCommand");function OCe(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY?8:1}var Is=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new pp({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,r={}){let i=new Is(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[Re.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case ng:return dp.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[UK]=a,l}}break}}async run(e,r){var i;let n,s=N(N({},Is.defaultContext),r),o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,N(N({},s),u)),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?MCe(s):KK,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?Ki(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?Ki(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?Ki(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([f,h])=>[Ki(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage!="undefined";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof Re?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Ki(l,{format:this.format(r),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` +`),(c!==""||u.length>0)&&(a+=`${this.format(r).header("Usage")} +`,a+=` +`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(r).bold(n)}${g} +`,f.length>0){a+=` +`,a+=`${uv.header("Options")} +`;let h=f.reduce((p,m)=>Math.max(p,m.definition.length),0);a+=` +`;for(let{definition:p,description:m}of f)a+=` ${this.format(r).bold(p.padEnd(h))} ${Ki(m,{format:this.format(r),paragraphs:!1})}`}if(c!==""&&(a+=` +`,a+=`${this.format(r).header("Details")} +`,a+=` +`,a+=Ki(c,{format:this.format(r),paragraphs:!0})),u.length>0){a+=` +`,a+=`${this.format(r).header("Examples")} +`;for(let[h,p]of u)a+=` +`,a+=Ki(h,{format:this.format(r),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(r).bold(n)}${l} +`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage=="undefined")continue;let p=typeof f.usage.category!="undefined"?Ki(f.usage.category,{format:this.format(r),paragraphs:!1}):null,m=l.get(p);typeof m=="undefined"&&l.set(p,m=[]);let{usage:y}=this.getUsageByIndex(h);m.push({commandClass:f,usage:y})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel!="undefined",g=typeof this.binaryVersion!="undefined";u||g?(u&&g?a+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:u?a+=`${this.format(r).header(`${this.binaryLabel}`)} +`:a+=`${this.format(r).header(`${this.binaryVersion}`)} +`,a+=` ${this.format(r).bold(n)}${this.binaryName} +`):a+=`${this.format(r).bold(n)}${this.binaryName} +`;for(let f of c){let h=l.get(f).slice().sort((m,y)=>m.usage.localeCompare(y.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=` +`,a+=`${this.format(r).header(`${p}`)} +`;for(let{commandClass:m,usage:y}of h){let Q=m.usage.description||"undocumented";a+=` +`,a+=` ${this.format(r).bold(y)} +`,a+=` ${Ki(Q,{format:this.format(r),paragraphs:!1})}`}}a+=` +`,a+=Ki("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return a}error(e,r){var i,{colored:n,command:s=(i=e[UK])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} +`;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=` +`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} +`),o}format(e){var r;return((r=e!=null?e:this.enableColors)!==null&&r!==void 0?r:Is.defaultContext.colorDepth>1)?uv:RK}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};Is.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in hv.default.WriteStream.prototype?hv.default.WriteStream.prototype.getColorDepth():OCe()};var HK;function MCe(t){let e=HK;if(typeof e=="undefined"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return KK;let{AsyncLocalStorage:r}=require("async_hooks");e=HK=new r;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l=="undefined"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l=="undefined"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return r=>e.run(t,r)}function KK(t){return t()}var pv={};ft(pv,{DefinitionsCommand:()=>II,HelpCommand:()=>yI,VersionCommand:()=>wI});var II=class extends Re{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};II.paths=[["--clipanion=definitions"]];var yI=class extends Re{async execute(){this.context.stdout.write(this.cli.usage())}};yI.paths=[["-h"],["--help"]];var wI=class extends Re{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};wI.paths=[["-v"],["--version"]];var z={};ft(z,{Array:()=>jK,Boolean:()=>GK,Counter:()=>YK,Proxy:()=>qK,Rest:()=>JK,String:()=>WK,applyValidator:()=>up,cleanValidationError:()=>dI,formatError:()=>cp,isOptionSymbol:()=>lp,makeCommandOption:()=>rn,rerouteArguments:()=>No});function jK(t,e,r){let[i,n]=No(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return rn({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function GK(t,e,r){let[i,n]=No(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return rn({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function YK(t,e,r){let[i,n]=No(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return rn({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function qK(t={}){return rn({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function JK(t={}){return rn({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===Vn||a.extra===!1&&oo)}})}function UCe(t,e,r){let[i,n]=No(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return rn({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?up(g!=null?g:c,f,n.validator):f}})}function KCe(t={}){let{required:e=!0}=t;return rn({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){var s;for(let o=0;oc8,areIdentsEqual:()=>fd,areLocatorsEqual:()=>hd,areVirtualPackagesEquivalent:()=>uSe,bindDescriptor:()=>lSe,bindLocator:()=>cSe,convertDescriptorToLocator:()=>uw,convertLocatorToDescriptor:()=>nx,convertPackageToLocator:()=>ASe,convertToIdent:()=>aSe,convertToManifestRange:()=>hSe,copyPackage:()=>cd,devirtualizeDescriptor:()=>ud,devirtualizeLocator:()=>gd,getIdentVendorPath:()=>lx,isPackageCompatible:()=>pw,isVirtualDescriptor:()=>il,isVirtualLocator:()=>Xo,makeDescriptor:()=>rr,makeIdent:()=>Vo,makeLocator:()=>cn,makeRange:()=>fw,parseDescriptor:()=>nl,parseFileStyleRange:()=>gSe,parseIdent:()=>An,parseLocator:()=>Mc,parseRange:()=>Kg,prettyDependent:()=>YS,prettyDescriptor:()=>sr,prettyIdent:()=>gi,prettyLocator:()=>Bt,prettyLocatorNoColors:()=>Ax,prettyRange:()=>cw,prettyReference:()=>dd,prettyResolution:()=>qS,prettyWorkspace:()=>Cd,renamePackage:()=>ld,slugifyIdent:()=>ax,slugifyLocator:()=>Hg,sortDescriptors:()=>jg,stringifyDescriptor:()=>Pn,stringifyIdent:()=>Ot,stringifyLocator:()=>Ps,tryParseDescriptor:()=>pd,tryParseIdent:()=>u8,tryParseLocator:()=>gw,virtualizeDescriptor:()=>sx,virtualizePackage:()=>ox});var Ug=ge(require("querystring")),a8=ge(ti()),A8=ge(bY());var ae={};ft(ae,{LogLevel:()=>go,Style:()=>Pc,Type:()=>Ge,addLogFilterSupport:()=>nd,applyColor:()=>rs,applyHyperlink:()=>Fg,applyStyle:()=>Ly,json:()=>Dc,jsonOrPretty:()=>G0e,mark:()=>VS,pretty:()=>et,prettyField:()=>Jo,prettyList:()=>_S,supportsColor:()=>Fy,supportsHyperlinks:()=>WS,tuple:()=>uo});var rd=ge(IS()),id=ge(hc());var QJ=ge(ts()),vJ=ge(gJ());var Se={};ft(Se,{AsyncActions:()=>EJ,BufferStream:()=>mJ,CachingStrategy:()=>xc,DefaultStream:()=>IJ,allSettledSafe:()=>co,assertNever:()=>US,bufferStream:()=>Dg,buildIgnorePattern:()=>U0e,convertMapsToIndexableObjects:()=>Ry,dynamicRequire:()=>Rg,escapeRegExp:()=>N0e,getArrayWithDefault:()=>kg,getFactoryWithDefault:()=>qa,getMapWithDefault:()=>xg,getSetWithDefault:()=>kc,isIndexableObject:()=>KS,isPathLike:()=>K0e,isTaggedYarnVersion:()=>F0e,mapAndFilter:()=>qo,mapAndFind:()=>$p,overrideType:()=>MS,parseBoolean:()=>td,parseOptionalBoolean:()=>bJ,prettifyAsyncErrors:()=>Pg,prettifySyncErrors:()=>HS,releaseAfterUseAsync:()=>T0e,replaceEnvVariables:()=>jS,sortMap:()=>xn,tryParseOptionalBoolean:()=>GS,validateEnum:()=>L0e});var fJ=ge(ts()),hJ=ge(ag()),pJ=ge(ti()),OS=ge(require("stream"));function F0e(t){return!!(pJ.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function N0e(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function MS(t){}function US(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function L0e(t,e){let r=Object.values(t);if(!r.includes(e))throw new Pe(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(i=>JSON.stringify(i)).join(", ")})`);return e}function qo(t,e){let r=[];for(let i of t){let n=e(i);n!==dJ&&r.push(n)}return r}var dJ=Symbol();qo.skip=dJ;function $p(t,e){for(let r of t){let i=e(r);if(i!==CJ)return i}}var CJ=Symbol();$p.skip=CJ;function KS(t){return typeof t=="object"&&t!==null}async function co(t){let e=await Promise.allSettled(t),r=[];for(let i of e){if(i.status==="rejected")throw i.reason;r.push(i.value)}return r}function Ry(t){if(t instanceof Map&&(t=Object.fromEntries(t)),KS(t))for(let e of Object.keys(t)){let r=t[e];KS(r)&&(t[e]=Ry(r))}return t}function qa(t,e,r){let i=t.get(e);return typeof i=="undefined"&&t.set(e,i=r()),i}function kg(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=[]),r}function kc(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Set),r}function xg(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Map),r}async function T0e(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function Pg(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function HS(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Dg(t){return await new Promise((e,r)=>{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var mJ=class extends OS.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}};function O0e(){let t,e;return{promise:new Promise((i,n)=>{t=i,e=n}),resolve:t,reject:e}}var EJ=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,hJ.default)(e)}set(e,r){let i=this.deferred.get(e);typeof i=="undefined"&&this.deferred.set(e,i=O0e());let n=this.limit(()=>r());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,r){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>r(i))}async wait(){await Promise.all(this.promises.values())}},IJ=class extends OS.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},ed=eval("require");function yJ(t){return ed(j.fromPortablePath(t))}function wJ(path){let physicalPath=j.fromPortablePath(path),currentCacheEntry=ed.cache[physicalPath];delete ed.cache[physicalPath];let result;try{result=yJ(physicalPath);let freshCacheEntry=ed.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{ed.cache[physicalPath]=currentCacheEntry}return result}var BJ=new Map;function M0e(t){let e=BJ.get(t),r=K.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let i=wJ(t);return BJ.set(t,{mtime:r.mtimeMs,instance:i}),i}var xc;(function(i){i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node"})(xc||(xc={}));function Rg(t,{cachingStrategy:e=2}={}){switch(e){case 0:return wJ(t);case 1:return M0e(t);case 2:return yJ(t);default:throw new Error("Unsupported caching strategy")}}function xn(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function U0e(t){return t.length===0?null:t.map(e=>`(${fJ.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function jS(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new Pe(`Environment variable not found (${n})`)})}function td(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function bJ(t){return typeof t=="undefined"?t:td(t)}function GS(t){try{return bJ(t)}catch{return null}}function K0e(t){return!!(j.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}var Qt;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Qt||(Qt={}));var yi;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(yi||(yi={}));var qi;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(qi||(qi={}));var Ge={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},Pc;(function(e){e[e.BOLD=2]="BOLD"})(Pc||(Pc={}));var JS=id.default.GITHUB_ACTIONS?{level:2}:rd.default.supportsColor?{level:rd.default.supportsColor.level}:{level:0},Fy=JS.level!==0,WS=Fy&&!id.default.GITHUB_ACTIONS&&!id.default.CIRCLE&&!id.default.GITLAB,zS=new rd.default.Instance(JS),H0e=new Map([[Ge.NO_HINT,null],[Ge.NULL,["#a853b5",129]],[Ge.SCOPE,["#d75f00",166]],[Ge.NAME,["#d7875f",173]],[Ge.RANGE,["#00afaf",37]],[Ge.REFERENCE,["#87afff",111]],[Ge.NUMBER,["#ffd700",220]],[Ge.PATH,["#d75fd7",170]],[Ge.URL,["#d75fd7",170]],[Ge.ADDED,["#5faf00",70]],[Ge.REMOVED,["#d70000",160]],[Ge.CODE,["#87afff",111]],[Ge.SIZE,["#ffd700",220]]]),Ds=t=>t,Ny={[Ge.NUMBER]:Ds({pretty:(t,e)=>`${e}`,json:t=>t}),[Ge.IDENT]:Ds({pretty:(t,e)=>gi(t,e),json:t=>Ot(t)}),[Ge.LOCATOR]:Ds({pretty:(t,e)=>Bt(t,e),json:t=>Ps(t)}),[Ge.DESCRIPTOR]:Ds({pretty:(t,e)=>sr(t,e),json:t=>Pn(t)}),[Ge.RESOLUTION]:Ds({pretty:(t,{descriptor:e,locator:r})=>qS(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:Pn(t),locator:e!==null?Ps(e):null})}),[Ge.DEPENDENT]:Ds({pretty:(t,{locator:e,descriptor:r})=>YS(t,e,r),json:({locator:t,descriptor:e})=>({locator:Ps(t),descriptor:Pn(e)})}),[Ge.PACKAGE_EXTENSION]:Ds({pretty:(t,e)=>{switch(e.type){case yi.Dependency:return`${gi(t,e.parentDescriptor)} \u27A4 ${rs(t,"dependencies",Ge.CODE)} \u27A4 ${gi(t,e.descriptor)}`;case yi.PeerDependency:return`${gi(t,e.parentDescriptor)} \u27A4 ${rs(t,"peerDependencies",Ge.CODE)} \u27A4 ${gi(t,e.descriptor)}`;case yi.PeerDependencyMeta:return`${gi(t,e.parentDescriptor)} \u27A4 ${rs(t,"peerDependenciesMeta",Ge.CODE)} \u27A4 ${gi(t,An(e.selector))} \u27A4 ${rs(t,e.key,Ge.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case yi.Dependency:return`${Ot(t.parentDescriptor)} > ${Ot(t.descriptor)}`;case yi.PeerDependency:return`${Ot(t.parentDescriptor)} >> ${Ot(t.descriptor)}`;case yi.PeerDependencyMeta:return`${Ot(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Ge.SETTING]:Ds({pretty:(t,e)=>(t.get(e),Fg(t,rs(t,e,Ge.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Ge.DURATION]:Ds({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),i=Math.ceil((e-r*60*1e3)/1e3);return i===0?`${r}m`:`${r}m ${i}s`}else{let r=Math.floor(e/1e3),i=e-r*1e3;return i===0?`${r}s`:`${r}s ${i}ms`}},json:t=>t}),[Ge.SIZE]:Ds({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],i=r.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return rs(t,`${s} ${r[i-1]}`,Ge.NUMBER)},json:t=>t}),[Ge.PATH]:Ds({pretty:(t,e)=>rs(t,j.fromPortablePath(e),Ge.PATH),json:t=>j.fromPortablePath(t)}),[Ge.MARKDOWN]:Ds({pretty:(t,{text:e,format:r,paragraphs:i})=>Ki(e,{format:r,paragraphs:i}),json:({text:t})=>t})};function uo(t,e){return[e,t]}function Ly(t,e,r){return t.get("enableColors")&&r&2&&(e=rd.default.bold(e)),e}function rs(t,e,r){if(!t.get("enableColors"))return e;let i=H0e.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:JS.level>=3?i[0]:i[1],s=typeof n=="number"?zS.ansi256(n):n.startsWith("#")?zS.hex(n):zS[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var j0e=!!process.env.KONSOLE_VERSION;function Fg(t,e,r){return t.get("enableHyperlinks")?j0e?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function et(t,e,r){if(e===null)return rs(t,"null",Ge.NULL);if(Object.prototype.hasOwnProperty.call(Ny,r))return Ny[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return rs(t,e,r)}function _S(t,e,r,{separator:i=", "}={}){return[...e].map(n=>et(t,n,r)).join(i)}function Dc(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(Ny,e))return MS(e),Ny[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function G0e(t,e,[r,i]){return t?Dc(r,i):et(e,r,i)}function VS(t){return{Check:rs(t,"\u2713","green"),Cross:rs(t,"\u2718","red"),Question:rs(t,"?","cyan")}}function Jo(t,{label:e,value:[r,i]}){return`${et(t,e,Ge.CODE)}: ${et(t,r,i)}`}var go;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(go||(go={}));function nd(t,{configuration:e}){let r=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of r){let f=g.get("level");if(typeof f=="undefined")continue;let h=g.get("code");typeof h!="undefined"&&i.set(h,f);let p=g.get("text");typeof p!="undefined"&&n.set(p,f);let m=g.get("pattern");typeof m!="undefined"&&s.push([QJ.default.matcher(m,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===$.UNNAMED)return h;let p=n.size>0||s.length>0?(0,vJ.default)(f):f;if(n.size>0){let m=n.get(p);if(typeof m!="undefined")return m!=null?m:h}if(s.length>0){for(let[m,y]of s)if(m(p))return y!=null?y:h}if(i.size>0){let m=i.get(YA(g));if(typeof m!="undefined")return m!=null?m:h}return h},a=t.reportInfo,l=t.reportWarning,c=t.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case go.Info:a.call(g,f,h);break;case go.Warning:l.call(g,f!=null?f:$.UNNAMED,h);break;case go.Error:c.call(g,f!=null?f:$.UNNAMED,h);break}};t.reportInfo=function(...g){return u(this,...g,go.Info)},t.reportWarning=function(...g){return u(this,...g,go.Warning)},t.reportError=function(...g){return u(this,...g,go.Error)}}var Dn={};ft(Dn,{checksumFile:()=>Aw,checksumPattern:()=>lw,makeHash:()=>ln});var aw=ge(require("crypto")),ix=ge(rx());function ln(...t){let e=(0,aw.createHash)("sha512"),r="";for(let i of t)typeof i=="string"?r+=i:i&&(r&&(e.update(r),r=""),e.update(i));return r&&e.update(r),e.digest("hex")}async function Aw(t,{baseFs:e,algorithm:r}={baseFs:K,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,aw.createHash)(r),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function lw(t,{cwd:e}){let i=(await(0,ix.default)(t,{cwd:j.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,ix.default)([t,...i],{cwd:j.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=j.toPortablePath(a),u=await K.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await K.readlinkPromise(c))):u.isFile()&&l.push(await K.readFilePromise(c)),l.join("\0")})),o=(0,aw.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var Ad="virtual:",sSe=5,l8=/(os|cpu|libc)=([a-z0-9_-]+)/,oSe=(0,A8.makeParser)(l8);function Vo(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:ln(t,e),scope:t,name:e}}function rr(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:ln(t.identHash,e),range:e}}function cn(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:ln(t.identHash,e),reference:e}}function aSe(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function uw(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function nx(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function ASe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function ld(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function cd(t){return ld(t,t)}function sx(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return rr(t,`virtual:${e}#${t.range}`)}function ox(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return ld(t,cn(t,`virtual:${e}#${t.reference}`))}function il(t){return t.range.startsWith(Ad)}function Xo(t){return t.reference.startsWith(Ad)}function ud(t){if(!il(t))throw new Error("Not a virtual descriptor");return rr(t,t.range.replace(/^[^#]*#/,""))}function gd(t){if(!Xo(t))throw new Error("Not a virtual descriptor");return cn(t,t.reference.replace(/^[^#]*#/,""))}function lSe(t,e){return t.range.includes("::")?t:rr(t,`${t.range}::${Ug.default.stringify(e)}`)}function cSe(t,e){return t.reference.includes("::")?t:cn(t,`${t.reference}::${Ug.default.stringify(e)}`)}function fd(t,e){return t.identHash===e.identHash}function c8(t,e){return t.descriptorHash===e.descriptorHash}function hd(t,e){return t.locatorHash===e.locatorHash}function uSe(t,e){if(!Xo(t))throw new Error("Invalid package type");if(!Xo(e))throw new Error("Invalid package type");if(!fd(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let i=e.dependencies.get(r.identHash);if(!i||!c8(r,i))return!1}return!0}function An(t){let e=u8(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function u8(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return Vo(n,i)}function nl(t,e=!1){let r=pd(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function pd(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid range (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return rr(Vo(o,n),a)}function Mc(t,e=!1){let r=gw(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function gw(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid reference (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return cn(Vo(o,n),a)}function Kg(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let i=typeof r[1]!="undefined"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof r[3]!="undefined"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${t})`);let s=typeof r[3]!="undefined"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),o=(e==null?void 0:e.parseSelector)?Ug.default.parse(s):s,a=typeof r[4]!="undefined"?Ug.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function gSe(t,{protocol:e}){let{selector:r,params:i}=Kg(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:Mc(i.locator,!0),path:r}}function g8(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function fSe(t){return t===null?!1:Object.entries(t).length>0}function fw({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${g8(e)}#`),n+=g8(r),fSe(i)&&(n+=`::${Ug.default.stringify(i)}`),n}function hSe(t){let{params:e,protocol:r,source:i,selector:n}=Kg(t);for(let s in e)s.startsWith("__")&&delete e[s];return fw({protocol:r,source:i,params:e,selector:n})}function Ot(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function Pn(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function Ps(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function ax(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function Hg(t){let{protocol:e,selector:r}=Kg(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=a8.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${ax(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${ax(t)}-${s}-${t.locatorHash.slice(0,o)}`;return qr(a)}function gi(t,e){return e.scope?`${et(t,`@${e.scope}/`,Ge.SCOPE)}${et(t,e.name,Ge.NAME)}`:`${et(t,e.name,Ge.NAME)}`}function hw(t){if(t.startsWith(Ad)){let e=hw(t.substring(t.indexOf("#")+1)),r=t.substring(Ad.length,Ad.length+sSe);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function cw(t,e){return`${et(t,hw(e),Ge.RANGE)}`}function sr(t,e){return`${gi(t,e)}${et(t,"@",Ge.RANGE)}${cw(t,e.range)}`}function dd(t,e){return`${et(t,hw(e),Ge.REFERENCE)}`}function Bt(t,e){return`${gi(t,e)}${et(t,"@",Ge.REFERENCE)}${dd(t,e.reference)}`}function Ax(t){return`${Ot(t)}@${hw(t.reference)}`}function jg(t){return xn(t,[e=>Ot(e),e=>e.range])}function Cd(t,e){return gi(t,e.locator)}function qS(t,e,r){let i=il(e)?ud(e):e;return r===null?`${sr(t,i)} \u2192 ${VS(t).Cross}`:i.identHash===r.identHash?`${sr(t,i)} \u2192 ${dd(t,r.reference)}`:`${sr(t,i)} \u2192 ${Bt(t,r)}`}function YS(t,e,r){return r===null?`${Bt(t,e)}`:`${Bt(t,e)} (via ${cw(t,r.range)})`}function lx(t){return`node_modules/${Ot(t)}`}function pw(t,e){return t.conditions?oSe(t.conditions,r=>{let[,i,n]=r.match(l8),s=e[i];return s?s.includes(n):!0}):!0}var f8={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Ot(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==Ot(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(rr(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=Cd(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning($.INVALID_MANIFEST,i.message)}}};var C8=ge(ti());var md=class{supportsDescriptor(e,r){return!!(e.range.startsWith(md.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(md.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.getWorkspaceByCwd(e.reference.slice(md.protocol.length));return te(N({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:Qt.SOFT,conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},si=md;si.protocol="workspace:";var Wt={};ft(Wt,{SemVer:()=>h8.SemVer,clean:()=>dSe,satisfiesWithPrereleases:()=>Uc,validRange:()=>fo});var dw=ge(ti()),h8=ge(ti()),p8=new Map;function Uc(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=p8.get(i);if(typeof n=="undefined")try{n=new dw.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{p8.set(i,n||null)}else if(n===null)return!1;let s;try{s=new dw.default.SemVer(t,n)}catch(o){return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var d8=new Map;function fo(t){if(t.indexOf(":")!==-1)return null;let e=d8.get(t);if(typeof e!="undefined")return e;try{e=new dw.default.Range(t)}catch{e=null}return d8.set(t,e),e}var pSe=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/;function dSe(t){let e=pSe.exec(t);return e?e[1]:null}var sl=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new ar}={}){let i=k.join(e,"package.json");try{return await sl.fromFile(i,{baseFs:r})}catch(n){if(n.code==="ENOENT")return null;throw n}}static async find(e,{baseFs:r}={}){let i=await sl.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new ar}={}){let i=new sl;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new sl;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse(E8(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=m8(e)}async loadFile(e,{baseFs:r=new ar}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(E8(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=m8(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=An(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!="string"?i.push(new Error("Parsing failed for the 'libc' field")):s.push(o)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=un(e.main):this.main=null,typeof e.module=="string"?this.module=un(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=un(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(un(s),typeof o=="string"?un(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,un(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=An(s);this.bin.set(a.name,un(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(si.protocol)&&!fo(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=rr(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=nl(s),l=this.ensureDependencyMeta(a),c=Cw(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Cw(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Cw(o.unplugged,{yamlCompatibilityMode:r});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=nl(s),l=this.ensurePeerDependencyMeta(a),c=Cw(o.optional,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:rI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=un(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=un(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=un(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(un(s),typeof o=="string"?un(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,un(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,un(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(un(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.dependencies.set(l.identHash,l);let c=rr(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(cx("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(cx("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(cx("libc",this.libc)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return sl.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return sl.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!C8.default.valid(e.range))throw new Error(`Invalid meta field range for '${Pn(e)}'`);let r=Ot(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(r);n||this.dependenciesMeta.set(r,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Pn(e)}'`);let r=Ot(e),i=this.peerDependenciesMeta.get(r);return i||this.peerDependenciesMeta.set(r,i={}),i}setRawField(e,r,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=r,a=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Ot(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=te(N({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:o})=>o)}):e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Ot(o)),l=!1;if(r&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...jg(i).map(o=>({[Ot(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...jg(n).map(o=>({[Ot(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...jg(this.devDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...jg(this.peerDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of xn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of xn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?Pn(rr(An(o),l)):o,g=N({},c);r&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...xn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[iI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},At=sl;At.fileName="package.json",At.allDependencies=["dependencies","devDependencies","peerDependencies"],At.hardDependencies=["dependencies","devDependencies"];function m8(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function E8(t){return t.charCodeAt(0)===65279?t.slice(1):t}function un(t){return t.replace(/\\/g,"/")}function Cw(t,{yamlCompatibilityMode:e}){return e?GS(t):typeof t=="undefined"||typeof t=="boolean"?t:null}function I8(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let i=r%2==0?"":"!",n=e.slice(r);return`${i}${t}=${n}`}function cx(t,e){return e.length===1?I8(t,e[0]):`(${e.map(r=>I8(t,r)).join(" | ")})`}var X8=ge(V8()),Z8=ge(require("stream")),$8=ge(require("string_decoder"));var lke=15,ct=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function cke(t){return typeof t.reportCode!="undefined"}var Ji=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),r=l,c()},o=(l=0)=>{s(r+1)},a=async function*(){for(;r{r=o}),n=(0,X8.default)(o=>{let a=r;i=new Promise(l=>{r=l}),e=o,a()},1e3/lke),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,r){let i=this.reportProgress(e);try{return await r(e)}finally{i.stop()}}startProgressSync(e,r){let i=this.reportProgress(e);try{return r(e)}finally{i.stop()}}reportInfoOnce(e,r,i){var s;let n=i&&i.key?i.key:r;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,r),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,r,i){var s;let n=i&&i.key?i.key:r;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,r),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,r,i){var s;let n=i&&i.key?i.key:r;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,r),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){cke(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce($.EXCEPTION,e.stack||e.message,{key:e})}createStreamReporter(e=null){let r=new Z8.PassThrough,i=new $8.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var yd=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new ct($.FETCHER_NOT_FOUND,`${Bt(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var wd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,r,i)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));return i||null}getResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));if(!i)throw new Error(`${sr(r.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));return i||null}getResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));if(!i)throw new Error(`${Bt(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var ez=ge(ti());var Gg=/^(?!v)[a-z0-9._-]+$/i,fx=class{supportsDescriptor(e,r){return!!(fo(e.range)||Gg.test(e.range))}supportsLocator(e,r){return!!(ez.default.valid(e.reference)||Gg.test(e.reference))}shouldPersistResolution(e,r){return r.resolver.shouldPersistResolution(this.forwardLocator(e,r),r)}bindDescriptor(e,r,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),r,i)}getResolutionDependencies(e,r){return r.resolver.getResolutionDependencies(this.forwardDescriptor(e,r),r)}async getCandidates(e,r,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),r,i)}async getSatisfying(e,r,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),r,i)}async resolve(e,r){let i=await r.resolver.resolve(this.forwardLocator(e,r),r);return ld(i,e)}forwardDescriptor(e,r){return rr(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return cn(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Bd=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=cn(e,n);return r.fetcher.getLocalPath(s,r)}async fetch(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=cn(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return Hg(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Jr.makeVirtualPath(s,o,n),l=new Pa(a,{baseFs:r.packageFs,pathUtils:k});return te(N({},r),{packageFs:l})}};var Yg=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Yg.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Yg.protocol)}supportsDescriptor(e,r){return Yg.isVirtualDescriptor(e)}supportsLocator(e,r){return Yg.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},mw=Yg;mw.protocol="virtual:";var bd=class{supports(e){return!!e.reference.startsWith(si.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new _t(i),prefixPath:Me.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(si.protocol.length))}};var hx={};ft(hx,{getDefaultGlobalFolder:()=>dx,getHomeFolder:()=>Qd,isFolderInside:()=>Cx});var px=ge(require("os"));function dx(){if(process.platform==="win32"){let t=j.toPortablePath(process.env.LOCALAPPDATA||j.join((0,px.homedir)(),"AppData","Local"));return k.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=j.toPortablePath(process.env.XDG_DATA_HOME);return k.resolve(t,"yarn/berry")}return k.resolve(Qd(),".yarn/berry")}function Qd(){return j.toPortablePath((0,px.homedir)()||"/usr/local/share")}function Cx(t,e){let r=k.relative(e,t);return r&&!r.startsWith("..")&&!k.isAbsolute(r)}var qg={};ft(qg,{builtinModules:()=>mx,getArchitecture:()=>vd,getArchitectureName:()=>gke,getArchitectureSet:()=>Ex});var tz=ge(require("module"));function mx(){return new Set(tz.default.builtinModules||Object.keys(process.binding("natives")))}function uke(){var i,n,s,o;if(process.platform==="win32")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],r=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return(o=$p(e,a=>{let l=a.match(r);if(!l)return $p.skip;if(l[1])return"glibc";if(l[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")}))!=null?o:null}var Ew,Iw;function vd(){return Ew=Ew!=null?Ew:{os:process.platform,cpu:process.arch,libc:uke()}}function gke(t=vd()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function Ex(){let t=vd();return Iw=Iw!=null?Iw:{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}var fke=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),ww="yarn_",yx=".yarnrc.yml",wx="yarn.lock",hke="********",Ie;(function(u){u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP"})(Ie||(Ie={}));var Di=Ge,Bx={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:Ie.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:Ie.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:Ie.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:Ie.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:Ie.STRING,default:null},globalFolder:{description:"Folder where all system-global files are stored",type:Ie.ABSOLUTE_PATH,default:dx()},cacheFolder:{description:"Folder where the cache files must be written",type:Ie.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:Ie.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:ic},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:Ie.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:Ie.STRING,default:wx},installStatePath:{description:"Path of the file where the install state will be persisted",type:Ie.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:Ie.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:Ie.STRING,default:Bw()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:Ie.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:Ie.BOOLEAN,default:Fy,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:Ie.BOOLEAN,default:WS,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:Ie.BOOLEAN,default:yw.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:Ie.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:Ie.BOOLEAN,default:!yw.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:Ie.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:Ie.BOOLEAN,default:yw.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:Ie.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:Ie.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:Ie.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:Ie.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:Ie.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:Ie.BOOLEAN,default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:Ie.SHAPE,properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:Ie.STRING,isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:Ie.STRING,isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:Ie.STRING,isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:Ie.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:Ie.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:Ie.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:Ie.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:Ie.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:Ie.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:Ie.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:Ie.NUMBER,default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:Ie.MAP,valueDefinition:{description:"",type:Ie.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:Ie.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:Ie.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:Ie.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:Ie.STRING,default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:Ie.ABSOLUTE_PATH,default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:Ie.ABSOLUTE_PATH,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:Ie.ABSOLUTE_PATH,default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:Ie.ABSOLUTE_PATH,default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:Ie.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:Ie.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:Ie.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:Ie.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:Ie.STRING,default:void 0},pattern:{description:"Code of the patterns covered by this override",type:Ie.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:Ie.STRING,values:Object.values(go),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:Ie.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:Ie.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:Ie.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:Ie.BOOLEAN,default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:Ie.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:Ie.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:Ie.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:Ie.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:Ie.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:Ie.MAP,valueDefinition:{description:"A range",type:Ie.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:Ie.MAP,valueDefinition:{description:"A semver range",type:Ie.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:Ie.MAP,valueDefinition:{description:"The peerDependency meta",type:Ie.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:Ie.BOOLEAN,default:!1}}}}}}}};function Qx(t,e,r,i,n){if(i.isArray||i.type===Ie.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>bx(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>bx(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return bx(t,e,r,i,n)}function bx(t,e,r,i,n){var a;switch(i.type){case Ie.ANY:return r;case Ie.SHAPE:return pke(t,e,r,i,n);case Ie.MAP:return dke(t,e,r,i,n)}if(r===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(r))return r;let o=(()=>{if(i.type===Ie.BOOLEAN&&typeof r!="string")return td(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=jS(r,{env:process.env});switch(i.type){case Ie.ABSOLUTE_PATH:return k.resolve(n,j.toPortablePath(l));case Ie.LOCATOR_LOOSE:return Mc(l,!1);case Ie.NUMBER:return parseInt(l);case Ie.LOCATOR:return Mc(l);case Ie.BOOLEAN:return td(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function pke(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new Pe(`Object configuration settings "${e}" must be an object`);let s=vx(t,i,{ignoreArrays:!0});if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=`${e}.${o}`;if(!i.properties[o])throw new Pe(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,Qx(t,l,a,i.properties[o],n))}return s}function dke(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new Pe(`Map configuration settings "${e}" must be an object`);if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,Qx(t,c,a,u,n))}return s}function vx(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case Ie.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,vx(t,s));return i}break;case Ie.MAP:return e.isArray&&!r?[]:new Map;case Ie.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?k.isAbsolute(e.default)?k.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>k.resolve(t.projectCwd,i)):k.resolve(t.projectCwd,e.default);default:return e.default}}function bw(t,e,r){if(e.type===Ie.SECRET&&typeof t=="string"&&r.hideSecrets)return hke;if(e.type===Ie.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return j.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(bw(n,e,r));return i}if(e.type===Ie.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,bw(s,e.valueDefinition,r));return i}if(e.type===Ie.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,bw(s,o,r))}return i}return t}function Cke(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(ww)&&(e=(0,rz.default)(e.slice(ww.length)),t[e]=r);return t}function Bw(){let t=`${ww}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return yx}var ol;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(ol||(ol={}));var Xa=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,i){let n=new Xa(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings(Bx);let s=typeof i!="undefined"?i:r instanceof Map?r:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,r,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=Cke();delete a.rcFilename;let l=await Xa.findRcFiles(e),c=await Xa.findHomeRcFile();if(c){let Q=l.find(S=>S.path===c.path);Q?Q.strict=!1:l.push(te(N({},c),{strict:!1}))}let u=({ignoreCwd:Q,yarnPath:S,ignorePath:x,lockfileFilename:M})=>({ignoreCwd:Q,yarnPath:S,ignorePath:x,lockfileFilename:M}),g=U=>{var J=U,{ignoreCwd:Q,yarnPath:S,ignorePath:x,lockfileFilename:M}=J,Y=Tr(J,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return Y},f=new Xa(e);f.importSettings(u(Bx)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:Q,cwd:S,data:x}of l)f.useWithSource(Q,u(x),S,{strict:!1});if(s){let Q=f.get("yarnPath"),S=f.get("ignorePath");if(Q!==null&&!S)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Xa.findProjectCwd(e,h);break;case 1:p=await Xa.findProjectCwd(e,null);break;case 2:K.existsSync(k.join(e,"package.json"))?p=k.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(Bx));let m=new Map([["@@core",f8]]),y=Q=>"default"in Q?Q.default:Q;if(r!==null){for(let M of r.plugins.keys())m.set(M,y(r.modules.get(M)));let Q=new Map;for(let M of mx())Q.set(M,()=>Rg(M));for(let[M,Y]of r.modules)Q.set(M,()=>Y);let S=new Set,x=async(M,Y)=>{let{factory:U,name:J}=Rg(M);if(S.has(J))return;let W=new Map(Q),ee=A=>{if(W.has(A))return W.get(A)();throw new Pe(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},Z=await Pg(async()=>y(await U(ee)),A=>`${A} (when initializing ${J}, defined in ${Y})`);Q.set(J,()=>Z),S.add(J),m.set(J,Z)};if(a.plugins)for(let M of a.plugins.split(";")){let Y=k.resolve(e,j.toPortablePath(M));await x(Y,"")}for(let{path:M,cwd:Y,data:U}of l)if(!!o&&!!Array.isArray(U.plugins))for(let J of U.plugins){let W=typeof J!="string"?J.path:J,ee=k.resolve(Y,j.toPortablePath(W));await x(ee,M)}}for(let[Q,S]of m)f.activatePlugin(Q,S);f.useWithSource("",g(a),e,{strict:n});for(let{path:Q,cwd:S,data:x,strict:M}of l)f.useWithSource(Q,g(x),S,{strict:M!=null?M:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let r=Bw(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=k.join(s,r);if(K.existsSync(o)){let a=await K.readFilePromise(o,"utf8"),l;try{l=Qi(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new Pe(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=k.dirname(s)}return i}static async findHomeRcFile(){let e=Bw(),r=Qd(),i=k.join(r,e);if(K.existsSync(i)){let n=await K.readFilePromise(i,"utf8"),s=Qi(n);return{path:i,cwd:r,data:s}}return null}static async findProjectCwd(e,r){let i=null,n=e,s=null;for(;n!==s;){if(s=n,K.existsSync(k.join(s,"package.json"))&&(i=s),r!==null){if(K.existsSync(k.join(s,r))){i=s;break}}else if(i!==null)break;n=k.dirname(s)}return i}static async updateConfiguration(e,r){let i=Bw(),n=k.join(e,i),s=K.existsSync(n)?Qi(await K.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof r=="function"){try{a=r(s)}catch{a=r({})}if(a===s)return}else{a=s;for(let l of Object.keys(r)){let c=s[l],u=r[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await K.changeFilePromise(n,Na(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=Qd();return await Xa.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration!="undefined"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,i]of Object.entries(e))if(i!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,i),this.values.set(r,vx(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${et(this,e,Ge.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(r)]){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&fke.has(o))continue;if(o==="rcFilename")throw new Pe(`The rcFilename settings can only be set via ${`${ww}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new Pe(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===Ie.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=Qx(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${et(this,e,Ge.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type===Ie.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new Pe(`Couldn't find a configuration settings named "${e}"`);return bw(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=K.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${et(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${et(this,"STDERR","red")}`);s=new Ix.PassThrough,s.pipe(l),s.pipe(a),o=new Ix.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof r!="undefined"&&s.write(`${r} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new wd([new mw,new si,new fx,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new yd([new Bd,new bd,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=vd(),r=this.get("supportedArchitectures"),i=r.get("os");i!==null&&(i=i.map(o=>o==="current"?e.os:o));let n=r.get("cpu");n!==null&&(n=n.map(o=>o==="current"?e.cpu:o));let s=r.get("libc");return s!==null&&(s=qo(s,o=>{var a;return o==="current"?(a=e.libc)!=null?a:qo.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!fo(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new At;o.load(n,{yamlCompatibilityMode:!0});let a=kg(e,i.identHash),l=[];a.push([i.range,l]);let c={status:qi.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(te(N({},c),{type:yi.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(te(N({},c),{type:yi.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push(te(N({},c),{type:yi.PeerDependencyMeta,selector:u,key:f,value:h}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(nl(i,!0),Ry(n),{userProvided:!0})}normalizePackage(e){let r=cd(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!Uc(s,o))for(let l of a)switch(l.status===qi.Inactive&&(l.status=qi.Redundant),l.type){case yi.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qi.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case yi.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qi.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case yi.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=qi.Active,qa(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:US(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependenciesMeta.keys()){let o=An(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,rr(o,"*"))}for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Vo("types",o),l=Ot(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||(r.peerDependencies.set(a.identHash,rr(a,"*")),r.peerDependenciesMeta.set(l,{optional:!0}))}return r.dependencies=new Map(xn(r.dependencies,([,s])=>Pn(s))),r.peerDependencies=new Map(xn(r.peerDependencies,([,s])=>Pn(s))),r}getLimit(e){return qa(this.limits,e,()=>(0,iz.default)(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},ye=Xa;ye.telemetry=null;var is;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(is||(is={}));var Qw=class extends ct{constructor({fileName:e,code:r,signal:i}){let n=ye.create(k.cwd()),s=et(n,e,Ge.PATH);super($.EXCEPTION,`Child ${s} reported an error`,o=>{mke(r,i,{configuration:n,report:o})});this.code=kx(r,i)}},xx=class extends Qw{constructor({fileName:e,code:r,signal:i,stdout:n,stderr:s}){super({fileName:e,code:r,signal:i});this.stdout=n,this.stderr=s}};function jc(t){return t!==null&&typeof t.fd=="number"}var Gc=new Set;function Px(){}function Dx(){for(let t of Gc)t.kill()}async function $o(t,e,{cwd:r,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":jc(s)&&(c[0]=s),jc(o)&&(c[1]=o),jc(a)&&(c[2]=a);let u=(0,Sx.default)(t,e,{cwd:j.fromPortablePath(r),env:te(N({},i),{PWD:j.fromPortablePath(r)}),stdio:c});Gc.add(u),Gc.size===1&&(process.on("SIGINT",Px),process.on("SIGTERM",Dx)),!jc(s)&&s!==null&&s.pipe(u.stdin),jc(o)||u.stdout.pipe(o,{end:!1}),jc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))jc(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{Gc.delete(u),Gc.size===0&&(process.off("SIGINT",Px),process.off("SIGTERM",Dx)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,m)=>{Gc.delete(u),Gc.size===0&&(process.off("SIGINT",Px),process.off("SIGTERM",Dx)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:kx(p,m)}):h(new Qw({fileName:t,code:p,signal:m}))})})}async function Eke(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=j.fromPortablePath(r);typeof i.PWD!="undefined"&&(i=te(N({},i),{PWD:c}));let u=(0,Sx.default)(t,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",h=>{let p=ye.create(r),m=et(p,t,Ge.PATH);f(new ct($.EXCEPTION,`Process ${m} failed to spawn`,y=>{y.reportError($.EXCEPTION,` ${Jo(p,{label:"Thrown Error",value:uo(Ge.NO_HINT,h.message)})}`)}))}),u.on("close",(h,p)=>{let m=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:kx(h,p),stdout:m,stderr:y}):f(new xx({fileName:t,code:h,signal:p,stdout:m,stderr:y}))})})}var Ike=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function kx(t,e){let r=Ike.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}function mke(t,e,{configuration:r,report:i}){i.reportError($.EXCEPTION,` ${Jo(r,t!==null?{label:"Exit Code",value:uo(Ge.NUMBER,t)}:{label:"Exit Signal",value:uo(Ge.CODE,e)})}`)}var ir={};ft(ir,{Method:()=>gl,RequestError:()=>j_.RequestError,del:()=>RDe,get:()=>PDe,getNetworkSettings:()=>J_,post:()=>VP,put:()=>DDe,request:()=>Od});var U_=ge(Gw()),K_=ge(require("https")),H_=ge(require("http")),WP=ge(ts()),zP=ge(M_()),Yw=ge(require("url"));var j_=ge(Gw()),G_=new Map,Y_=new Map,vDe=new H_.Agent({keepAlive:!0}),SDe=new K_.Agent({keepAlive:!0});function q_(t){let e=new Yw.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function _P(t){return qa(Y_,t,()=>K.readFilePromise(t).then(e=>(Y_.set(t,e),e)))}function kDe({statusCode:t,statusMessage:e},r){let i=et(r,t,Ge.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Fg(r,`${i}${e?` (${e})`:""}`,n)}async function qw(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof U_.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${et(e,"httpTimeout",Ge.SETTING)})`);let a=new ct($.NETWORK_ERROR,o,l=>{s.response&&l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Response Code",value:uo(Ge.NO_HINT,kDe(s.response,e))})}`),s.request&&(l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request Method",value:uo(Ge.NO_HINT,s.request.options.method)})}`),l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request URL",value:uo(Ge.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request Redirects",value:uo(Ge.NO_HINT,_S(e,s.request.redirects,Ge.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request Retry Count",value:uo(Ge.NO_HINT,`${et(e,s.request.retryCount,Ge.NUMBER)} (can be increased via ${et(e,"httpRetry",Ge.SETTING)})`)})}`)});throw a.originalError=s,a}}function J_(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof t=="string"?new Yw.URL(t):t;for(let[o,a]of r)if(WP.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var gl;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(gl||(gl={}));async function Od(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=gl.GET}){let a=async()=>await xDe(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await r.reduceHook(c=>c.wrapNetworkRequest,a,{target:t,body:e,configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function PDe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=Tr(s,["configuration","jsonResponse"]);let o=qa(G_,t,()=>qw(Od(t,null,N({configuration:e},i)),{configuration:e}).then(a=>(G_.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function DDe(t,e,n){var s=n,{customErrorMessage:r}=s,i=Tr(s,["customErrorMessage"]);return(await qw(Od(t,e,te(N({},i),{method:gl.PUT})),i)).body}async function VP(t,e,n){var s=n,{customErrorMessage:r}=s,i=Tr(s,["customErrorMessage"]);return(await qw(Od(t,e,te(N({},i),{method:gl.POST})),i)).body}async function RDe(t,i){var n=i,{customErrorMessage:e}=n,r=Tr(n,["customErrorMessage"]);return(await qw(Od(t,null,te(N({},r),{method:gl.DELETE})),r)).body}async function xDe(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=gl.GET}){let a=typeof t=="string"?new Yw.URL(t):t,l=J_(a,{configuration:r});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!WP.default.isMatch(a.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?zP.default.httpOverHttp(q_(l.httpProxy)):vDe,https:l.httpsProxy?zP.default.httpsOverHttp(q_(l.httpsProxy)):SDe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),f=r.get("httpRetry"),h=r.get("enableStrictSsl"),p=l.caFilePath,m=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:Q}=await Promise.resolve().then(()=>ge(Gw())),S=p?await _P(p):void 0,x=m?await _P(m):void 0,M=y?await _P(y):void 0,Y=Q.extend(N({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:S,certificate:x,key:M}},u));return r.getLimit("networkConcurrency")(()=>Y(a))}var Zt={};ft(Zt,{PackageManager:()=>hn,detectPackageManager:()=>s6,executePackageAccessibleBinary:()=>c6,executePackageScript:()=>aB,executePackageShellcode:()=>uD,executeWorkspaceAccessibleBinary:()=>XRe,executeWorkspaceLifecycleScript:()=>l6,executeWorkspaceScript:()=>A6,getPackageAccessibleBinaries:()=>AB,getWorkspaceAccessibleBinaries:()=>a6,hasPackageScript:()=>zRe,hasWorkspaceScript:()=>cD,makeScriptEnv:()=>Yd,maybeExecuteWorkspaceLifecycleScript:()=>VRe,prepareExternalProject:()=>WRe});var Md={};ft(Md,{getLibzipPromise:()=>fn,getLibzipSync:()=>X_});var V_=ge(z_());var fl=["number","number"],$P;(function(L){L[L.ZIP_ER_OK=0]="ZIP_ER_OK",L[L.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",L[L.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",L[L.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",L[L.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",L[L.ZIP_ER_READ=5]="ZIP_ER_READ",L[L.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",L[L.ZIP_ER_CRC=7]="ZIP_ER_CRC",L[L.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",L[L.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",L[L.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",L[L.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",L[L.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",L[L.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",L[L.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",L[L.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",L[L.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",L[L.ZIP_ER_EOF=17]="ZIP_ER_EOF",L[L.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",L[L.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",L[L.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",L[L.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",L[L.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",L[L.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",L[L.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",L[L.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",L[L.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",L[L.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",L[L.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",L[L.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",L[L.ZIP_ER_TELL=30]="ZIP_ER_TELL",L[L.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})($P||($P={}));var __=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:$P,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,open:t.cwrap("zip_open","number",["string","number","number"]),openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...fl,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...fl,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...fl,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...fl,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...fl,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...fl,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...fl,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...fl,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}});var eD=null;function X_(){return eD===null&&(eD=__((0,V_.default)())),eD}async function fn(){return X_()}var Kd={};ft(Kd,{ShellError:()=>Ts,execute:()=>eB,globUtils:()=>Ww});var l5=ge(IS()),c5=ge(require("os")),ns=ge(require("stream")),u5=ge(require("util"));var Ts=class extends Error{constructor(e){super(e);this.name="ShellError"}};var Ww={};ft(Ww,{fastGlobOptions:()=>e5,isBraceExpansion:()=>t5,isGlobPattern:()=>FDe,match:()=>NDe,micromatchOptions:()=>_w});var Z_=ge(tw()),$_=ge(require("fs")),zw=ge(ts()),_w={strictBrackets:!0},e5={onlyDirectories:!1,onlyFiles:!1};function FDe(t){if(!zw.default.scan(t,_w).isGlob)return!1;try{zw.default.parse(t,_w)}catch{return!1}return!0}function NDe(t,{cwd:e,baseFs:r}){return(0,Z_.default)(t,te(N({},e5),{cwd:j.fromPortablePath(e),fs:VE($_.default,new _h(r))}))}function t5(t){return zw.default.scan(t,_w).isBrace}var r5=ge(LQ()),ta=ge(require("stream")),i5=ge(require("string_decoder")),Fn;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(Fn||(Fn={}));var qc=new Set;function tD(){}function rD(){for(let t of qc)t.kill()}function n5(t,e,r,i){return n=>{let s=n[0]instanceof ta.Transform?"pipe":n[0],o=n[1]instanceof ta.Transform?"pipe":n[1],a=n[2]instanceof ta.Transform?"pipe":n[2],l=(0,r5.default)(t,e,te(N({},i),{stdio:[s,o,a]}));return qc.add(l),qc.size===1&&(process.on("SIGINT",tD),process.on("SIGTERM",rD)),n[0]instanceof ta.Transform&&n[0].pipe(l.stdin),n[1]instanceof ta.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof ta.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(qc.delete(l),qc.size===0&&(process.off("SIGINT",tD),process.off("SIGTERM",rD)),u.code){case"ENOENT":n[2].write(`command not found: ${t} +`),c(127);break;case"EACCES":n[2].write(`permission denied: ${t} +`),c(128);break;default:n[2].write(`uncaught error: ${u.message} +`),c(1);break}}),l.on("exit",u=>{qc.delete(l),qc.size===0&&(process.off("SIGINT",tD),process.off("SIGTERM",rD)),c(u!==null?u:129)})})}}}function s5(t){return e=>{let r=e[0]==="pipe"?new ta.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var po=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},o5=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Ud=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new Ud(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new Ud(this,e),n=new o5;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function Vw(t,e){return Ud.start(t,e)}function a5(t,e=null){let r=new ta.PassThrough,i=new i5.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",t(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&t(e!==null?`${e} ${s}`:s)}),r}function A5(t,{prefix:e}){return{stdout:a5(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:a5(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var LDe=(0,u5.promisify)(setTimeout);var zi;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(zi||(zi={}));function g5(t,e,r){let i=new ns.PassThrough({autoDestroy:!0});switch(t){case Fn.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof ns.Writable&&i.pipe(r.stdin,{end:!1});break;case Fn.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case Fn.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new Ts(`Bad file descriptor: "${t}"`)}return i}function Xw(t,e={}){let r=N(N({},t),e);return r.environment=N(N({},t.environment),e.environment),r.variables=N(N({},t.variables),e.variables),r}var TDe=new Map([["cd",async([t=(0,c5.homedir)(),...e],r,i)=>{let n=k.resolve(i.cwd,j.toPortablePath(t));if(!(await r.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new Ts(`cd: no such file or directory: ${t}`):o})).isDirectory())throw new Ts(`cd: not a directory: ${t}`);return i.cwd=n,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${j.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,i)=>i.exitCode=parseInt(t!=null?t:i.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t=="undefined")throw new Ts("sleep: missing operand");let i=Number(t);if(Number.isNaN(i))throw new Ts(`sleep: invalid time interval '${t}'`);return await LDe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await Vw(i,{stdin:new po(r.stdin),stdout:new po(r.stdout),stderr:new po(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=[],c=0;for(;t[c]!=="--";){let g=t[c++],{type:f,fd:h}=JSON.parse(g),p=S=>{switch(h){case null:case 0:o.push(S);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},m=S=>{switch(h){case null:case 1:a.push(S);break;case 2:l.push(S);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},y=Number(t[c++]),Q=c+y;for(let S=c;Se.baseFs.createReadStream(k.resolve(r.cwd,j.toPortablePath(t[S]))));break;case"<<<":p(()=>{let x=new ns.PassThrough;return process.nextTick(()=>{x.write(`${t[S]} +`),x.end()}),x});break;case"<&":p(()=>g5(Number(t[S]),1,r));break;case">":case">>":{let x=k.resolve(r.cwd,j.toPortablePath(t[S]));m(x==="/dev/null"?new ns.Writable({autoDestroy:!0,emitClose:!0,write(M,Y,U){setImmediate(U)}}):e.baseFs.createWriteStream(x,f===">>"?{flags:"a"}:void 0))}break;case">&":m(g5(Number(t[S]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new ns.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new ns.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new ns.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await Vw(Hd(t.slice(c+1),e,r),{stdin:new po(i),stdout:new po(n),stderr:new po(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function ODe(t,e,r){let i=[],n=new ns.PassThrough;return n.on("data",s=>i.push(s)),await Zw(t,e,Xw(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function f5(t,e,r){let i=t.map(async s=>{let o=await iA(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function $w(t){return t.match(/[^ \r\n\t]+/g)||[]}async function h5(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=$w(s);for(let a=0;a=0&&st+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function jd(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await h5(te(N({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?jd({type:"variable",name:i.join(" ")},e,r):jd({type:"number",value:n},e,r)}else return MDe[t.type](await jd(t.left,e,r),await jd(t.right,e,r))}async function iA(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p=="undefined"&&i.set(h,p=[]),p.push(f)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let f=await iA(u.args,e,r);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await ODe(f.shell,e,r);if(f.quoted)o(h);else{let p=$w(h);for(let m=0;m0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function Hd(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=j.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=te(N({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return n5(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return s5(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=r;r.stdin=l,r.stdout=c,r.stderr=u;try{return await a(o,e,r)}finally{r.stdin=g,r.stdout=f,r.stderr=h}})}function UDe(t,e,r){return i=>{let n=new ns.PassThrough,s=Zw(t,e,Xw(r,{stdin:n}));return{stdin:n,promise:s}}}function KDe(t,e,r){return i=>{let n=new ns.PassThrough,s=Zw(t,e,r);return{stdin:n,promise:s}}}function p5(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=N({},i.procedures),i.procedures[n]=t,Hd([...e,"__ysh_run_procedure",n],r,i)}}async function d5(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?N({},r):r,a;switch(i.type){case"command":{let l=await iA(i.args,e,r),c=await f5(i.envs,e,r);a=i.envs.length?Hd(l,e,Xw(o,{environment:c})):Hd(l,e,o)}break;case"subshell":{let l=await iA(i.args,e,r),c=UDe(i.subshell,e,o);a=p5(c,l,e,o)}break;case"group":{let l=await iA(i.args,e,r),c=KDe(i.group,e,o);a=p5(c,l,e,o)}break;case"envs":{let l=await f5(i.envs,e,r);o.environment=N(N({},o.environment),l),a=Hd(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=Vw(a,{stdin:new po(o.stdin),stdout:new po(o.stdout),stderr:new po(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,Fn.STDOUT);break;case"|&":s=s.pipeTo(a,Fn.STDOUT|Fn.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function HDe(t,e,r,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return l5.default.hex(a)}if(i){let s=r.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=A5(r,{prefix:l});return r.backgroundJobs.push(d5(t,e,Xw(r,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(_u(t))}' has ended +`)})),0}return await d5(t,e,r)}async function jDe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await HDe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof Ts))throw l;return r.stderr.write(`${l.message} +`),1}};for(s(await o(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":n===0&&s(await o(t.then.line));break;case"||":n!==0&&s(await o(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return n}async function Zw(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await jDe(s,e,r,{background:o==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(n)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=i,n}function C5(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>Gd(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>Gd(e));case"arithmetic":return iD(t.arithmetic);case"shell":return nD(t.shell);default:return!1}}function Gd(t){switch(t.type){case"redirection":return t.args.some(e=>Gd(e));case"argument":return t.segments.some(e=>C5(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function iD(t){switch(t.type){case"variable":return C5(t);case"number":return!1;default:return iD(t.left)||iD(t.right)}}function nD(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=nD(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>Gd(s)))||r.args.some(n=>Gd(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function eB(t,e=[],{baseFs:r=new ar,builtins:i={},cwd:n=j.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=Ww}={}){let g={};for(let[p,m]of Object.entries(s))typeof m!="undefined"&&(g[p]=m);let f=new Map(TDe);for(let[p,m]of Object.entries(i))f.set(p,m);o===null&&(o=new ns.PassThrough,o.end());let h=ZE(t,u);if(!nD(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let m=p.chain;for(;m.then;)m=m.then.chain;m.type==="command"&&(m.args=m.args.concat(e.map(y=>({type:"argument",segments:[{type:"text",text:y}]}))))}return await Zw(h,{args:e,baseFs:r,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var i6=ge(tB()),n6=ge(ag()),Jc=ge(require("stream"));var Z5=ge(X5()),nB=ge(hc());var $5=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],e6=80,KRe=new Set([$.FETCH_NOT_CACHED,$.UNUSED_CACHE_ENTRY]),HRe=5,sB=nB.default.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:nB.default.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:nB.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,t6=new Date,jRe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,GRe=t=>t,oB=GRe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),YRe=jRe&&Object.keys(oB).find(t=>{let e=oB[t];return!(e.date&&(e.date[0]!==t6.getDate()||e.date[1]!==t6.getMonth()+1))})||"default";function r6(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=YA(t===null?0:t);return!r&&t===null?et(e,n,"grey"):n}function lD(t,{configuration:e,json:r}){let i=r6(t,{configuration:e,json:r});if(!i||t===null||t===$.UNNAMED)return i;let n=$[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return Fg(e,i,s)}var Je=class extends Ji{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=HRe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(nd(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...KRe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r,e.get("enableProgressBars")&&!i&&r.isTTY&&r.columns>22){let u=e.get("progressBarStyle")||YRe;if(!Object.prototype.hasOwnProperty.call(oB,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=oB[u];let g="\u27A4 YN0000: \u250C ".length,f=Math.max(0,Math.min(r.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*f/80)}}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning($.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo($.FETCH_NOT_CACHED,r)}startSectionSync({reportHeader:e,reportFooter:r,skipIfEmpty:i},n){let s={committed:!1,action:()=>{e==null||e()}};i?this.uncommitted.add(s):(s.action(),s.committed=!0);let o=Date.now();try{return n()}catch(a){throw this.reportExceptionOnce(a),a}finally{let a=Date.now();this.uncommitted.delete(s),s.committed&&(r==null||r(a-o))}}async startSectionPromise({reportHeader:e,reportFooter:r,skipIfEmpty:i},n){let s={committed:!1,action:()=>{e==null||e()}};i?this.uncommitted.add(s):(s.action(),s.committed=!0);let o=Date.now();try{return await n()}catch(a){throw this.reportExceptionOnce(a),a}finally{let a=Date.now();this.uncommitted.delete(s),s.committed&&(r==null||r(a-o))}}startTimerImpl(e,r,i){let n=typeof r=="function"?{}:r;return{cb:typeof r=="function"?r:i,reportHeader:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sB!==null&&!this.json&&this.includeInfos&&this.stdout.write(sB.start(e))},reportFooter:o=>{this.indent-=1,sB!==null&&!this.json&&this.includeInfos&&this.stdout.write(sB.end(e)),this.configuration.get("enableTimers")&&o>200?this.reportInfo(null,`\u2514 Completed in ${et(this.configuration,o,Ge.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:n.skipIfEmpty}}startTimerSync(e,r,i){let o=this.startTimerImpl(e,r,i),{cb:n}=o,s=Tr(o,["cb"]);return this.startSectionSync(s,n)}async startTimerPromise(e,r,i){let o=this.startTimerImpl(e,r,i),{cb:n}=o,s=Tr(o,["cb"]);return this.startSectionPromise(s,n)}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${et(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,r){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${et(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${r}`)}reportError(e,r){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${et(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){if(this.progressStyle===null)return te(N({},Promise.resolve()),{stop:()=>{}});if(e.hasProgress&&e.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let r=!1,i=Promise.resolve().then(async()=>{let s={progress:e.hasProgress?0:void 0,title:e.hasTitle?"":void 0};this.progress.set(e,{definition:s,lastScaledSize:e.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:o,title:a}of e)r||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{r||(r=!0,this.progress.delete(e),this.refreshProgress({delta:1}))};return te(N({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let r=et(this.configuration,Date.now()-this.startTime,Ge.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError($.UNNAMED,i):this.warningCount>0?this.reportWarning($.UNNAMED,i):this.reportInfo($.UNNAMED,i)}writeLine(e,{truncate:r}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:r})} +`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:r}={}){this.forgettableLines=[],this.writeLine(e,{truncate:r})}writeLines(e,{truncate:r}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:r})} +`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${Bt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${Bt(this.configuration,this.lastCacheMiss)})`),this.reportInfo($.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){this.progressStyle!==null&&this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>e6&&(this.progressFrame=(this.progressFrame+1)%$5.length,this.progressTime=e);let r=$5[this.progressFrame];for(let i of this.progress.values()){let n="";if(typeof i.lastScaledSize!="undefined"){let l=this.progressStyle.chars[0].repeat(i.lastScaledSize),c=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize);n=` ${l}${c}`}let s=this.formatName(null),o=s?`${s}: `:"",a=i.definition.title?` ${i.definition.title}`:"";this.stdout.write(`${et(this.configuration,"\u27A4","blueBright")} ${o}${r}${n}${a} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},e6)}refreshProgress({delta:e=0,force:r=!1}={}){let i=!1,n=!1;if(r||this.progress.size===0)i=!0;else for(let s of this.progress.values()){let o=typeof s.definition.progress!="undefined"?Math.trunc(this.progressMaxScaledSize*s.definition.progress):void 0,a=s.lastScaledSize;s.lastScaledSize=o;let l=s.lastTitle;if(s.lastTitle=s.definition.title,o!==a||(n=l!==s.definition.title)){i=!0;break}}i&&(this.clearProgress({delta:e,clear:n}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.progressStyle===null&&(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,Z5.default)(e,0,this.stdout.columns-1)),e}formatName(e){return r6(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return lD(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Ur="3.2.0";var hn;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(hn||(hn={}));async function nA(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await K.writeFilePromise(k.format({dir:t,name:e,ext:".cmd"}),n)}await K.writeFilePromise(k.join(t,e),`#!/bin/sh +exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function s6(t){let e=await At.tryFind(t);if(e==null?void 0:e.packageManager){let i=gw(e.packageManager);if(i==null?void 0:i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManager:Number(s)===1?hn.Yarn1:hn.Yarn2,reason:n};case"npm":return{packageManager:hn.Npm,reason:n};case"pnpm":return{packageManager:hn.Pnpm,reason:n}}}}let r;try{r=await K.readFilePromise(k.join(t,Pt.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:hn.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:hn.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:K.existsSync(k.join(t,"package-lock.json"))?{packageManager:hn.Npm,reason:`found npm's "package-lock.json" lockfile`}:K.existsSync(k.join(t,"pnpm-lock.yaml"))?{packageManager:hn.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function Yd({project:t,locator:e,binFolder:r,lifecycleScript:i}){var l,c;let n={};for(let[u,g]of Object.entries(process.env))typeof g!="undefined"&&(n[u.toLowerCase()!=="path"?u:"PATH"]=g);let s=j.fromPortablePath(r);n.BERRY_BIN_FOLDER=j.fromPortablePath(s);let o=process.env.COREPACK_ROOT?j.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([nA(r,"node",process.execPath),...Ur!==null?[nA(r,"run",process.execPath,[o,"run"]),nA(r,"yarn",process.execPath,[o]),nA(r,"yarnpkg",process.execPath,[o]),nA(r,"node-gyp",process.execPath,[o,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=j.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=j.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${j.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${j.sep}yarn`,n.npm_node_execpath=`${s}${j.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let u=t.tryWorkspaceByLocator(e),g=u?(l=u.manifest.version)!=null?l:"":(c=t.storedPackages.get(e.locatorHash).version)!=null?c:"";n.npm_package_name=Ot(e),n.npm_package_version=g}let a=Ur!==null?`yarn/${Ur}`:`yarn/${Rg("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.version} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(u=>u.setupScriptEnvironment,t,n,async(u,g,f)=>await nA(r,qr(u),g,f)),n}var qRe=2,JRe=(0,n6.default)(qRe);async function WRe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await JRe(async()=>{await K.mktempPromise(async o=>{let a=k.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:j.fromPortablePath(t),report:i}),g=s&&Xo(s)?gd(s):s,f=g?Ps(g):"an external project";c.write(`Packing ${f} from sources +`);let h=await s6(t),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} + +`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn + +`),p=hn.Yarn2),await K.mktempPromise(async m=>{let y=await Yd({binFolder:m}),S=new Map([[hn.Yarn1,async()=>{let M=n!==null?["workspace",n]:[],Y=await $o("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:y,stdin:l,stdout:c,stderr:u,end:is.ErrorCode});if(Y.code!==0)return Y.code;await K.appendFilePromise(k.join(t,".npmignore"),`/.yarn +`),c.write(` +`);let U=await $o("yarn",["install"],{cwd:t,env:y,stdin:l,stdout:c,stderr:u,end:is.ErrorCode});if(U.code!==0)return U.code;c.write(` +`);let J=await $o("yarn",[...M,"pack","--filename",j.fromPortablePath(e)],{cwd:t,env:y,stdin:l,stdout:c,stderr:u});return J.code!==0?J.code:0}],[hn.Yarn2,async()=>{let M=n!==null?["workspace",n]:[];y.YARN_ENABLE_INLINE_BUILDS="1";let Y=k.join(t,Pt.lockfile);await K.existsPromise(Y)||await K.writeFilePromise(Y,"");let U=await $o("yarn",[...M,"pack","--install-if-needed","--filename",j.fromPortablePath(e)],{cwd:t,env:y,stdin:l,stdout:c,stderr:u});return U.code!==0?U.code:0}],[hn.Npm,async()=>{if(n!==null){let A=new Jc.PassThrough,ne=Dg(A);A.pipe(c,{end:!1});let le=await $o("npm",["--version"],{cwd:t,env:y,stdin:l,stdout:A,stderr:u,end:is.Never});if(A.end(),le.code!==0)return c.end(),u.end(),le.code;let Ae=(await ne).toString().trim();if(!Uc(Ae,">=7.x")){let T=Vo(null,"npm"),L=rr(T,Ae),Ee=rr(T,">=7.x");throw new Error(`Workspaces aren't supported by ${sr(r,L)}; please upgrade to ${sr(r,Ee)} (npm has been detected as the primary package manager for ${et(r,t,Ge.PATH)})`)}}let M=n!==null?["--workspace",n]:[];delete y.npm_config_user_agent;let Y=await $o("npm",["install"],{cwd:t,env:y,stdin:l,stdout:c,stderr:u,end:is.ErrorCode});if(Y.code!==0)return Y.code;let U=new Jc.PassThrough,J=Dg(U);U.pipe(c);let W=await $o("npm",["pack","--silent",...M],{cwd:t,env:y,stdin:l,stdout:U,stderr:u});if(W.code!==0)return W.code;let ee=(await J).toString().trim().replace(/^.*\n/s,""),Z=k.resolve(t,j.toPortablePath(ee));return await K.renamePromise(Z,e),0}]]).get(p);if(typeof S=="undefined")throw new Error("Assertion failed: Unsupported workflow");let x=await S();if(!(x===0||typeof x=="undefined"))throw K.detachTemp(o),new ct($.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${x}, logs can be found here: ${et(r,a,Ge.PATH)})`)})})})}async function zRe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return cD(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${Bt(r.configuration,t)} not found in the project`);return await ms.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new Je({stdout:new Jc.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${Bt(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new _t(u,{baseFs:s});return(await At.find(Me.dot,{baseFs:g})).scripts.has(e)},{libzip:await fn()})}async function aB(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await K.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await o6(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f=="undefined")return 1;let h=async()=>await eB(f,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(m=>m.wrapScriptExecution,h,n,t,e,{script:f,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function uD(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await K.mktempPromise(async l=>{let{env:c,cwd:u}=await o6(t,{project:n,binFolder:l,cwd:i});return await eB(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function _Re(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await Yd({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await a6(t),([s,[,o]])=>nA(e,qr(s),process.execPath,[o]))),typeof r=="undefined"&&(r=k.dirname(await K.realpathPromise(k.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function o6(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return _Re(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${Bt(e.configuration,t)} not found in the project`);return await ms.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Je({stdout:new Jc.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${Bt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await Yd({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await AB(t,{project:e}),([y,[,Q]])=>nA(r,qr(y),process.execPath,[Q])));let h=await g.findPackageLocation(o,u),p=new _t(h,{baseFs:a}),m=await At.find(Me.dot,{baseFs:p});return typeof i=="undefined"&&(i=h),{manifest:m,binFolder:r,env:f,cwd:i}},{libzip:await fn()})}async function A6(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await aB(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function cD(t,e){return t.manifest.scripts.has(e)}async function l6(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await K.mktempPromise(async o=>{let a=k.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${j.fromPortablePath(t.cwd)}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:Bt(n,t.anchoredLocator),header:l});i.reportInfo($.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await A6(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw K.detachTemp(o),new ct($.LIFECYCLE_SCRIPT,`${(0,i6.default)(e)} script failed (exit code ${et(n,g,Ge.NUMBER)}, logs can be found here: ${et(n,a,Ge.PATH)}); run ${et(n,`yarn ${e}`,Ge.CODE)} to investigate`)})}async function VRe(t,e,r){cD(t,e)&&await l6(t,e,r)}async function AB(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${Bt(r,t)} not found in the project`);let s=new Jc.Writable,o=r.getLinkers(),a={project:e,report:new Je({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${sr(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return qo.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return qo.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return qo.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===qo.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,j.fromPortablePath(k.resolve(f,p))])}return i}async function a6(t){return await AB(t.anchoredLocator,{project:t.project})}async function c6(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await AB(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${Bt(n.configuration,t)}`);return await K.mktempPromise(async g=>{let[,f]=u,h=await Yd({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([m,[,y]])=>nA(h.BERRY_BIN_FOLDER,qr(m),process.execPath,[y])));let p;try{p=await $o(process.execPath,[...l,f,...r],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await K.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function XRe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await c6(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var wi={};ft(wi,{convertToZip:()=>aLe,extractArchiveTo:()=>lLe,makeArchiveFromDirectory:()=>oLe});var r7=ge(require("stream")),i7=ge(V9());var X9=ge(require("os")),Z9=ge(ag()),$9=ge(require("worker_threads")),Ql=Symbol("kTaskInfo"),bR=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,Z9.default)(Math.max(1,(0,X9.cpus)().length));this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let r=this.workers.pop();r?r.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new $9.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[Ql])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[Ql].resolve(r),e[Ql]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{var i;(i=e[Ql])==null||i.reject(r),e[Ql]=null}),e.on("exit",r=>{var i;r!==0&&((i=e[Ql])==null||i.reject(new Error(`Worker exited with code ${r}`))),e[Ql]=null}),e}run(e){return this.limit(()=>{var i;let r=(i=this.workers.pop())!=null?i:this.createWorker();return r.ref(),new Promise((n,s)=>{r[Ql]={resolve:n,reject:s},r.postMessage(e)})})}};var n7=ge(t7());async function oLe(t,{baseFs:e=new ar,prefixPath:r=Me.root,compressionLevel:i,inMemory:n=!1}={}){let s=await fn(),o;if(n)o=new Ai(null,{libzip:s,level:i});else{let l=await K.mktempPromise(),c=k.join(l,"archive.zip");o=new Ai(c,{create:!0,libzip:s,level:i})}let a=k.resolve(Me.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var s7;async function aLe(t,e){let r=await K.mktempPromise(),i=k.join(r,"archive.zip");return s7||(s7=new bR((0,n7.getContent)())),await s7.run({tmpFile:i,tgz:t,opts:e}),new Ai(i,{libzip:await fn(),level:e.compressionLevel})}async function*ALe(t){let e=new i7.default.Parse,r=new r7.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function lLe(t,e,{stripComponents:r=0,prefixPath:i=Me.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of ALe(t)){if(n(a))continue;let l=k.normalize(j.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=k.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(k.dirname(u),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,Dr.SAFE_TIME,Dr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(k.dirname(u),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),e.writeFileSync(u,await Dg(a),{mode:g}),e.utimesSync(u,Dr.SAFE_TIME,Dr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(k.dirname(u),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,Dr.SAFE_TIME,Dr.SAFE_TIME);break}}return e}var as={};ft(as,{emitList:()=>cLe,emitTree:()=>u7,treeNodeToJson:()=>c7,treeNodeToTreeify:()=>l7});var A7=ge(a7());function l7(t,{configuration:e}){let r={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push(Ly(e,l,Pc.BOLD)),typeof c!="undefined"&&g.push(et(e,c[0],c[1])),g.length===0&&g.push(Ly(e,`${a}`,Pc.BOLD));let f=g.join(": "),h=s[f]={};typeof u!="undefined"&&i(u,h)}};if(typeof t.children=="undefined")throw new Error("The root node must only contain children");return i(t.children,r),r}function c7(t){let e=r=>{var s;if(typeof r.children=="undefined"){if(typeof r.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Dc(r.value[0],r.value[1])}let i=Array.isArray(r.children)?r.children.entries():Object.entries((s=r.children)!=null?s:{}),n=Array.isArray(r.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof r.value=="undefined"?n:{value:Dc(r.value[0],r.value[1]),children:n}};return e(t)}function cLe(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));u7({children:n},{configuration:e,stdout:r,json:i})}function u7(t,{configuration:e,stdout:r,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(t.children)?t.children.values():Object.values((o=t.children)!=null?o:{});for(let l of a)r.write(`${JSON.stringify(c7(l))} +`);return}let s=(0,A7.asTree)(l7(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var g7=ge(require("crypto")),SR=ge(require("fs"));var uLe=8,Nt=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,g7.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==ic?`c${o}`:"";this.cacheKey=[uLe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new Nt(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${Hg(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=gLe(r).slice(0,10);return`${Hg(e)}-${n}.zip`}getLocatorPath(e,r,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?k.resolve(this.cwd,this.getVersionFilename(e)):r===null||kR(r)!==this.cacheKey?null:k.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?k.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await K.existsPromise(this.cwd))throw new ct($.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await K.mkdirPromise(this.cwd,{recursive:!0});let e=k.resolve(this.cwd,".gitignore");await K.changeFilePromise(e,`/.gitignore +*.flock +*.tmp +`)}(this.mirrorCwd||!this.immutable)&&await K.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,a){var l=a,{onHit:i,onMiss:n,loader:s}=l,o=Tr(l,["onHit","onMiss","loader"]);var A;let c=this.getLocatorMirrorPath(e),u=new ar,g=()=>{let ne=new Ai(null,{libzip:Y}),le=k.join(Me.root,lx(e));return ne.mkdirSync(le,{recursive:!0}),ne.writeJsonSync(k.join(le,Pt.manifest),{name:Ot(e),mocked:!0}),ne},f=async(ne,le=null)=>{var T;if(le===null&&((T=o.unstablePackages)==null?void 0:T.has(e.locatorHash)))return null;let Ae=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await Aw(ne)}`:r;if(le!==null){let L=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await Aw(le)}`:r;if(Ae!==L)throw new ct($.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&Ae!==r){let L;switch(this.check?L="throw":kR(r)!==kR(Ae)?L="update":L=this.configuration.get("checksumBehavior"),L){case"ignore":return r;case"update":return Ae;default:case"throw":throw new ct($.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return Ae},h=async ne=>{if(!s)throw new Error(`Cache check required but no loader configured for ${Bt(this.configuration,e)}`);let le=await s(),Ae=le.getRealPath();return le.saveAndClose(),await K.chmodPromise(Ae,420),await f(ne,Ae)},p=async()=>{if(c===null||!await K.existsPromise(c)){let ne=await s(),le=ne.getRealPath();return ne.saveAndClose(),{source:"loader",path:le}}return{source:"mirror",path:c}},m=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${Bt(this.configuration,e)}`);if(this.immutable)throw new ct($.IMMUTABLE_CACHE,`Cache entry required but missing for ${Bt(this.configuration,e)}`);let{path:ne,source:le}=await p(),Ae=await f(ne),T=this.getLocatorPath(e,Ae,o);if(!T)throw new Error("Assertion failed: Expected the cache path to be available");let L=[];le!=="mirror"&&c!==null&&L.push(async()=>{let we=`${c}${this.cacheId}`;await K.copyFilePromise(ne,we,SR.default.constants.COPYFILE_FICLONE),await K.chmodPromise(we,420),await K.renamePromise(we,c)}),(!o.mirrorWriteOnly||c===null)&&L.push(async()=>{let we=`${T}${this.cacheId}`;await K.copyFilePromise(ne,we,SR.default.constants.COPYFILE_FICLONE),await K.chmodPromise(we,420),await K.renamePromise(we,T)});let Ee=o.mirrorWriteOnly&&c!=null?c:T;return await Promise.all(L.map(we=>we())),[!1,Ee,Ae]},y=async()=>{let le=(async()=>{var qe;let Ae=this.getLocatorPath(e,r,o),T=Ae!==null?await u.existsPromise(Ae):!1,L=!!((qe=o.mockedPackages)==null?void 0:qe.has(e.locatorHash))&&(!this.check||!T),Ee=L||T,we=Ee?i:n;if(we&&we(),Ee){let re=null,se=Ae;return L||(re=this.check?await h(se):await f(se)),[L,se,re]}else return m()})();this.mutexes.set(e.locatorHash,le);try{return await le}finally{this.mutexes.delete(e.locatorHash)}};for(let ne;ne=this.mutexes.get(e.locatorHash);)await ne;let[Q,S,x]=await y();this.markedFiles.add(S);let M,Y=await fn(),U=Q?()=>g():()=>new Ai(S,{baseFs:u,libzip:Y,readOnly:!0}),J=new zh(()=>HS(()=>M=U(),ne=>`Failed to open the cache entry for ${Bt(this.configuration,e)}: ${ne}`),k),W=new Pa(S,{baseFs:J,pathUtils:k}),ee=()=>{M==null||M.discardAndClose()},Z=((A=o.unstablePackages)==null?void 0:A.has(e.locatorHash))?null:x;return[W,ee,Z]}};function kR(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function gLe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var As;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(As||(As={}));var uA=class extends Ji{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;nd(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${et(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} +`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return te(N({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${et(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${et(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(e){return lD(e,{configuration:this.configuration,json:!1})}};var h0=ge(require("crypto")),i$=ge(_7()),p0=ge(t$()),n$=ge(ag()),s$=ge(ti()),rF=ge(require("util")),iF=ge(require("v8")),nF=ge(require("zlib"));var z1e=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>fw({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],$R=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let i=k.join(e.cwd,e.configuration.get("lockfileFilename"));if(!K.existsSync(i))return;let n=await K.readFilePromise(i,"utf8"),s=Qi(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=pd(a);if(!l){r.reportWarning($.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}fo(l.range)&&(l=rr(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[h,p]of z1e){let m=u.match(h);if(m){g=p(c,...m);break}}if(!g){r.reportWarning($.YARN_IMPORT_FAILED,`${sr(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let f=l;try{let h=Kg(l.range),p=pd(h.selector,!0);p&&(f=p)}catch{}o.set(l.descriptorHash,cn(f,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return await this.resolver.getCandidates(nx(n),r,i)}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var eF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(uw(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){let n=i.project.originalPackages.get(uw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var tF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new ct($.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new ct($.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new ct($.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var pi=class extends Ji{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return te(N({},r),{stop:i})}reportJson(e){}async finalize(){}};var r$=ge(rx());var BC=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){var s;this.manifest=(s=await At.tryFind(this.cwd))!=null?s:new At,this.relativeCwd=k.relative(this.project.cwd,this.cwd)||Me.dot;let e=this.manifest.name?this.manifest.name:Vo(null,`${this.computeCandidateName()}-${ln(this.relativeCwd).substring(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=cn(e,r),this.anchoredDescriptor=rr(this.locator,`${si.protocol}${this.relativeCwd}`),this.anchoredLocator=cn(this.locator,`${si.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o),n=await(0,r$.default)(i,{cwd:j.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let o of n){let a=k.resolve(this.cwd,j.toPortablePath(o));K.existsSync(k.join(a,"package.json"))&&this.workspacesCwds.add(a)}}accepts(e){var o;let r=e.indexOf(":"),i=r!==-1?e.slice(0,r+1):null,n=r!==-1?e.slice(r+1):e;if(i===si.protocol&&k.normalize(n)===this.relativeCwd||i===si.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=fo(n);return s?i===si.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${k.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=At.hardDependencies}={}){let r=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||r.has(a)||(r.add(a),i(a))}};return i(this),r}getRecursiveWorkspaceDependents({dependencies:e=At.hardDependencies}={}){let r=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&hd(c.anchoredLocator,n.anchoredLocator)}))&&!r.has(s)&&(r.add(s),i(s))};return i(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let i=this.project.workspacesByCwd.get(r);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=k.join(this.cwd,At.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await K.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var o$=6,_1e=1,V1e=/ *, */g,a$=/\/$/,X1e=32,Z1e=(0,rF.promisify)(nF.default.gzip),$1e=(0,rF.promisify)(nF.default.gunzip),di;(function(r){r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build"})(di||(di={}));var sF={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},A$=t=>ln(`${_1e}`,t),ze=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var p,m,y;if(!e.projectCwd)throw new Pe(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,K.existsSync(k.join(s,Pt.manifest))){i=s;break}n=k.dirname(s)}let o=new ze(e.projectCwd,{configuration:e});(p=ye.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(m=ye.telemetry)==null||m.reportWorkspaceCount(o.workspaces.length),(y=ye.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((Q,S)=>Q+S.manifest.dependencies.size+S.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=et(e,o.cwd,Ge.PATH),u=et(e,k.relative(o.cwd,i),Ge.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new Pe(`The nearest package directory (${et(e,i,Ge.PATH)}) doesn't seem to be part of the project declared in ${et(e,o.cwd,Ge.PATH)}. + +${[g,f,h].join(` +`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=k.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(K.existsSync(e)){let n=await K.readFilePromise(e,"utf8");this.lockFileChecksum=A$(n);let s=Qi(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new BC(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${gi(this.configuration,r.locator)}: ${j.fromPortablePath(e)} conflicts with ${j.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){k.isAbsolute(e)||(e=k.resolve(this.cwd,e)),e=k.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)k.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${gi(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(il(e)&&(e=ud(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${sr(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(Xo(e)&&(e=gd(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${Bt(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${Cd(this.configuration,e)} (${et(this.configuration,k.join(e.cwd,Pt.manifest),Ge.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,i]of e.dependencies)il(i)&&e.dependencies.set(r,ud(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Ot(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!s$.default.valid(r))return i;for(let[a,l]of s)a!==null&&a===r&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:r=!1}={}){let i=new pi,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(r&&(await o.findPackageLocation(a,s)).replace(a$,"")!==e.replace(a$,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),i=new $R(r);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new tF(r)]:[i,r],s=new wd([new eF(r),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,m=new Set,y=[],Q=Ex(),S=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Ji.progressViaTitle(),async ee=>{let Z=async T=>{let L=await Pg(async()=>await s.resolve(T,a),qe=>`${Bt(this.configuration,T)}: ${qe}`);if(!hd(T,L))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${Bt(this.configuration,T)} to ${Bt(this.configuration,L)})`);g.set(L.locatorHash,L);let Ee=this.configuration.normalizePackage(L);for(let[qe,re]of Ee.dependencies){let se=await this.configuration.reduceHook(he=>he.reduceDependency,re,this,Ee,re,{resolver:s,resolveOptions:a});if(!fd(re,se))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let Qe=s.bindDescriptor(se,T,a);Ee.dependencies.set(qe,Qe)}let we=co([...Ee.dependencies.values()].map(qe=>Ae(qe)));return y.push(we),we.catch(()=>{}),c.set(Ee.locatorHash,Ee),Ee},A=async T=>{let L=f.get(T.locatorHash);if(typeof L!="undefined")return L;let Ee=Promise.resolve().then(()=>Z(T));return f.set(T.locatorHash,Ee),Ee},ne=async(T,L)=>{let Ee=await Ae(L);return l.set(T.descriptorHash,T),u.set(T.descriptorHash,Ee.locatorHash),Ee},le=async T=>{ee.setTitle(sr(this.configuration,T));let L=this.resolutionAliases.get(T.descriptorHash);if(typeof L!="undefined")return ne(T,this.storedDescriptors.get(L));let Ee=s.getResolutionDependencies(T,a),we=new Map(await co(Ee.map(async se=>{let Qe=s.bindDescriptor(se,p,a),he=await Ae(Qe);return m.add(he.locatorHash),[se.descriptorHash,he]}))),re=(await Pg(async()=>await s.getCandidates(T,we,a),se=>`${sr(this.configuration,T)}: ${se}`))[0];if(typeof re=="undefined")throw new Error(`${sr(this.configuration,T)}: No candidates found`);return l.set(T.descriptorHash,T),u.set(T.descriptorHash,re.locatorHash),A(re)},Ae=T=>{let L=h.get(T.descriptorHash);if(typeof L!="undefined")return L;l.set(T.descriptorHash,T);let Ee=Promise.resolve().then(()=>le(T));return h.set(T.descriptorHash,Ee),Ee};for(let T of this.workspaces){let L=T.anchoredDescriptor;y.push(Ae(L))}for(;y.length>0;){let T=[...y];y.length=0,await co(T)}});let x=new Set(this.resolutionAliases.values()),M=new Set(c.keys()),Y=new Set,U=new Map;eUe({project:this,report:e.report,accessibleLocators:Y,volatileDescriptors:x,optionalBuilds:M,peerRequirements:U,allDescriptors:l,allResolutions:u,allPackages:c});for(let ee of m)M.delete(ee);for(let ee of x)l.delete(ee),u.delete(ee);let J=new Set,W=new Set;for(let ee of c.values())ee.conditions!=null&&(!M.has(ee.locatorHash)||(pw(ee,S)||(pw(ee,Q)&&e.report.reportWarningOnce($.GHOST_ARCHITECTURE,`${Bt(this.configuration,ee)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${et(this.configuration,"supportedArchitectures",Di.SETTING)} setting`),W.add(ee.locatorHash)),J.add(ee.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=Y,this.conditionalLocators=J,this.disabledLocators=W,this.originalPackages=g,this.optionalBuilds=M,this.peerRequirements=U,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,cacheOptions:s},l=Array.from(new Set(xn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return Ps(h)}])));n===di.UpdateLockfile&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=Ji.progressViaCounter(l.length);r.reportProgress(u);let g=(0,n$.default)(X1e);if(await r.startCacheReport(async()=>{await co(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(Xo(h))return;let p;try{p=await o.fetch(h,a)}catch(m){m.message=`${Bt(this.configuration,h)}: ${m.message}`,r.reportExceptionOnce(m),c=m;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:r,fetcher:i,mode:n}){var A,ne,le;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:r},u=new Map(l.map(Ae=>{let T=Ae.makeInstaller(c),L=T.getCustomDataKey(),Ee=this.installersCustomData.get(L);return typeof Ee!="undefined"&&T.attachCustomData(Ee),[Ae,T]})),g=new Map,f=new Map,h=new Map,p=new Map(await co([...this.accessibleLocators].map(async Ae=>{let T=this.storedPackages.get(Ae);if(!T)throw new Error("Assertion failed: The locator should have been registered");return[Ae,await o.fetch(T,a)]}))),m=[];for(let Ae of this.accessibleLocators){let T=this.storedPackages.get(Ae);if(typeof T=="undefined")throw new Error("Assertion failed: The locator should have been registered");let L=p.get(T.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let Ee=[],we=re=>{Ee.push(re)},qe=this.tryWorkspaceByLocator(T);if(qe!==null){let re=[],{scripts:se}=qe.manifest;for(let he of["preinstall","install","postinstall"])se.has(he)&&re.push([As.SCRIPT,he]);try{for(let[he,Fe]of u)if(he.supportsPackage(T,c)&&(await Fe.installPackage(T,L,{holdFetchResult:we})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{Ee.length===0?(A=L.releaseFs)==null||A.call(L):m.push(co(Ee).catch(()=>{}).then(()=>{var he;(he=L.releaseFs)==null||he.call(L)}))}let Qe=k.join(L.packageFs.getRealPath(),L.prefixPath);f.set(T.locatorHash,Qe),!Xo(T)&&re.length>0&&h.set(T.locatorHash,{directives:re,buildLocations:[Qe]})}else{let re=l.find(he=>he.supportsPackage(T,c));if(!re)throw new ct($.LINKER_NOT_FOUND,`${Bt(this.configuration,T)} isn't supported by any available linker`);let se=u.get(re);if(!se)throw new Error("Assertion failed: The installer should have been registered");let Qe;try{Qe=await se.installPackage(T,L,{holdFetchResult:we})}finally{Ee.length===0?(ne=L.releaseFs)==null||ne.call(L):m.push(co(Ee).then(()=>{}).then(()=>{var he;(he=L.releaseFs)==null||he.call(L)}))}g.set(T.locatorHash,re),f.set(T.locatorHash,Qe.packageLocation),Qe.buildDirective&&Qe.buildDirective.length>0&&Qe.packageLocation&&h.set(T.locatorHash,{directives:Qe.buildDirective,buildLocations:[Qe.packageLocation]})}}let y=new Map;for(let Ae of this.accessibleLocators){let T=this.storedPackages.get(Ae);if(!T)throw new Error("Assertion failed: The locator should have been registered");let L=this.tryWorkspaceByLocator(T)!==null,Ee=async(we,qe)=>{let re=f.get(T.locatorHash);if(typeof re=="undefined")throw new Error(`Assertion failed: The package (${Bt(this.configuration,T)}) should have been registered`);let se=[];for(let Qe of T.dependencies.values()){let he=this.storedResolutions.get(Qe.descriptorHash);if(typeof he=="undefined")throw new Error(`Assertion failed: The resolution (${sr(this.configuration,Qe)}, from ${Bt(this.configuration,T)})should have been registered`);let Fe=this.storedPackages.get(he);if(typeof Fe=="undefined")throw new Error(`Assertion failed: The package (${he}, resolved from ${sr(this.configuration,Qe)}) should have been registered`);let Ue=this.tryWorkspaceByLocator(Fe)===null?g.get(he):null;if(typeof Ue=="undefined")throw new Error(`Assertion failed: The package (${he}, resolved from ${sr(this.configuration,Qe)}) should have been registered`);Ue===we||Ue===null?f.get(Fe.locatorHash)!==null&&se.push([Qe,Fe]):!L&&re!==null&&kg(y,he).push(re)}re!==null&&await qe.attachInternalDependencies(T,se)};if(L)for(let[we,qe]of u)we.supportsPackage(T,c)&&await Ee(we,qe);else{let we=g.get(T.locatorHash);if(!we)throw new Error("Assertion failed: The linker should have been found");let qe=u.get(we);if(!qe)throw new Error("Assertion failed: The installer should have been registered");await Ee(we,qe)}}for(let[Ae,T]of y){let L=this.storedPackages.get(Ae);if(!L)throw new Error("Assertion failed: The package should have been registered");let Ee=g.get(L.locatorHash);if(!Ee)throw new Error("Assertion failed: The linker should have been found");let we=u.get(Ee);if(!we)throw new Error("Assertion failed: The installer should have been registered");await we.attachExternalDependents(L,T)}let Q=new Map;for(let Ae of u.values()){let T=await Ae.finalizeInstall();for(let L of(le=T==null?void 0:T.records)!=null?le:[])h.set(L.locatorHash,{directives:L.buildDirective,buildLocations:L.buildLocations});typeof(T==null?void 0:T.customData)!="undefined"&&Q.set(Ae.getCustomDataKey(),T.customData)}if(this.installersCustomData=Q,await co(m),n===di.SkipBuild)return;let S=new Set(this.storedPackages.keys()),x=new Set(h.keys());for(let Ae of x)S.delete(Ae);let M=(0,h0.createHash)("sha512");M.update(process.versions.node),await this.configuration.triggerHook(Ae=>Ae.globalHashGeneration,this,Ae=>{M.update("\0"),M.update(Ae)});let Y=M.digest("hex"),U=new Map,J=Ae=>{let T=U.get(Ae.locatorHash);if(typeof T!="undefined")return T;let L=this.storedPackages.get(Ae.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: The package should have been registered");let Ee=(0,h0.createHash)("sha512");Ee.update(Ae.locatorHash),U.set(Ae.locatorHash,"");for(let we of L.dependencies.values()){let qe=this.storedResolutions.get(we.descriptorHash);if(typeof qe=="undefined")throw new Error(`Assertion failed: The resolution (${sr(this.configuration,we)}) should have been registered`);let re=this.storedPackages.get(qe);if(typeof re=="undefined")throw new Error("Assertion failed: The package should have been registered");Ee.update(J(re))}return T=Ee.digest("hex"),U.set(Ae.locatorHash,T),T},W=(Ae,T)=>{let L=(0,h0.createHash)("sha512");L.update(Y),L.update(J(Ae));for(let Ee of T)L.update(Ee);return L.digest("hex")},ee=new Map,Z=!1;for(;x.size>0;){let Ae=x.size,T=[];for(let L of x){let Ee=this.storedPackages.get(L);if(!Ee)throw new Error("Assertion failed: The package should have been registered");let we=!0;for(let se of Ee.dependencies.values()){let Qe=this.storedResolutions.get(se.descriptorHash);if(!Qe)throw new Error(`Assertion failed: The resolution (${sr(this.configuration,se)}) should have been registered`);if(x.has(Qe)){we=!1;break}}if(!we)continue;x.delete(L);let qe=h.get(Ee.locatorHash);if(!qe)throw new Error("Assertion failed: The build directive should have been registered");let re=W(Ee,qe.buildLocations);if(this.storedBuildState.get(Ee.locatorHash)===re){ee.set(Ee.locatorHash,re);continue}Z||(await this.persistInstallStateFile(),Z=!0),this.storedBuildState.has(Ee.locatorHash)?r.reportInfo($.MUST_REBUILD,`${Bt(this.configuration,Ee)} must be rebuilt because its dependency tree changed`):r.reportInfo($.MUST_BUILD,`${Bt(this.configuration,Ee)} must be built because it never has been before or the last one failed`);for(let se of qe.buildLocations){if(!k.isAbsolute(se))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${se})`);T.push((async()=>{for(let[Qe,he]of qe.directives){let Fe=`# This file contains the result of Yarn building a package (${Ps(Ee)}) +`;switch(Qe){case As.SCRIPT:Fe+=`# Script name: ${he} +`;break;case As.SHELLCODE:Fe+=`# Script code: ${he} +`;break}let Ue=null;if(!await K.mktempPromise(async ve=>{let pe=k.join(ve,"build.log"),{stdout:X,stderr:be}=this.configuration.getSubprocessStreams(pe,{header:Fe,prefix:Bt(this.configuration,Ee),report:r}),ce;try{switch(Qe){case As.SCRIPT:ce=await aB(Ee,he,[],{cwd:se,project:this,stdin:Ue,stdout:X,stderr:be});break;case As.SHELLCODE:ce=await uD(Ee,he,[],{cwd:se,project:this,stdin:Ue,stdout:X,stderr:be});break}}catch(gt){be.write(gt.stack),ce=1}if(X.end(),be.end(),ce===0)return ee.set(Ee.locatorHash,re),!0;K.detachTemp(ve);let fe=`${Bt(this.configuration,Ee)} couldn't be built successfully (exit code ${et(this.configuration,ce,Ge.NUMBER)}, logs can be found here: ${et(this.configuration,pe,Ge.PATH)})`;return this.optionalBuilds.has(Ee.locatorHash)?(r.reportInfo($.BUILD_FAILED,fe),ee.set(Ee.locatorHash,re),!0):(r.reportError($.BUILD_FAILED,fe),!1)}))return}})())}}if(await co(T),Ae===x.size){let L=Array.from(x).map(Ee=>{let we=this.storedPackages.get(Ee);if(!we)throw new Error("Assertion failed: The package should have been registered");return Bt(this.configuration,we)}).join(", ");r.reportError($.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${L})`);break}}this.storedBuildState=ee}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=ye.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=qi.Inactive;let i=k.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await K.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new ct($.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=et(this.configuration,g,Ge.PACKAGE_EXTENSION);switch(g.status){case qi.Inactive:e.report.reportWarning($.UNUSED_PACKAGE_EXTENSION,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case qi.Redundant:e.report.reportWarning($.REDUNDANT_PACKAGE_EXTENSION,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=$l(n,this.generateLockfile());if(c!==n){let u=(0,i$.structuredPatch)(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError($.FROZEN_LOCKFILE_EXCEPTION,et(this.configuration,f,Ge.ADDED)):f.startsWith("-")?e.report.reportError($.FROZEN_LOCKFILE_EXCEPTION,et(this.configuration,f,Ge.REMOVED)):e.report.reportInfo(null,et(this.configuration,f,"grey"))}throw e.report.reportSeparator(),new ct($.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===qi.Active&&((l=ye.telemetry)==null||l.reportPackageExtension(Dc(g,Ge.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&e.mode!==di.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>lw(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode===di.UpdateLockfile){e.report.reportWarning($.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${et(this.configuration,"mode=update-lockfile",Ge.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>lw(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:o$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>Pn(f)).sort().join(", "),c=new At;c.version=o.linkType===Qt.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof r.__metadata.cacheKey=="undefined"&&(r.__metadata.cacheKey=h),h===r.__metadata.cacheKey?u=p:u=g}r[l]=te(N({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:Ps(o),checksum:u,conditions:o.conditions||void 0})}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+Na(r)}async persistLockfile(){let e=k.join(this.cwd,this.configuration.get("lockfileFilename")),r="";try{r=await K.readFilePromise(e,"utf8")}catch(s){}let i=this.generateLockfile(),n=$l(r,i);n!==r&&(await K.writeFilePromise(e,n),this.lockFileChecksum=A$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(sF))e.push(...o);let r=(0,p0.default)(this,e),i=iF.default.serialize(r),n=ln(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await K.mkdirPromise(k.dirname(s),{recursive:!0}),await K.writeFilePromise(s,await Z1e(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath"),s;try{let o=await $1e(await K.readFilePromise(n));s=iF.default.deserialize(o),this.installStateChecksum=ln(o)}catch{r&&await this.applyLightResolution();return}e&&typeof s.installersCustomData!="undefined"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,p0.default)(s,sF.restoreBuildState)),r&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,p0.default)(s,sF.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new pi}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){let i=new Set([".gitignore"]);if(!Cx(e.cwd,this.cwd)||!await K.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await K.readdirPromise(e.cwd)){if(i.has(a))continue;let l=k.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError($.IMMUTABLE_CACHE,`${et(this.configuration,k.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo($.UNUSED_CACHE_ENTRY,`${et(this.configuration,k.basename(l),"magenta")} appears to be unused - removing`),await K.removePromise(l)))}n&&s!==0&&r.reportInfo($.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function eUe({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l,tolerateMissingPackages:c=!1}){var ee;let u=new Map,g=[],f=new Map,h=new Map,p=new Map,m=new Map,y=new Map,Q=new Map(t.workspaces.map(Z=>{let A=Z.anchoredLocator.locatorHash,ne=i.get(A);if(typeof ne=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,cd(ne)]})),S=()=>{let Z=K.mktempSync(),A=k.join(Z,"stacktrace.log"),ne=String(g.length+1).length,le=g.map((Ae,T)=>`${`${T+1}.`.padStart(ne," ")} ${Ps(Ae)} +`).join("");throw K.writeFileSync(A,le),K.detachTemp(Z),new ct($.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${j.fromPortablePath(A)}`)},x=Z=>{let A=r.get(Z.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let ne=i.get(A);if(!ne)throw new Error("Assertion failed: The package could not be found");return ne},M=(Z,A,ne,{top:le,optional:Ae})=>{g.length>1e3&&S(),g.push(A);let T=Y(Z,A,ne,{top:le,optional:Ae});return g.pop(),T},Y=(Z,A,ne,{top:le,optional:Ae})=>{if(n.has(A.locatorHash))return;n.add(A.locatorHash),Ae||s.delete(A.locatorHash);let T=i.get(A.locatorHash);if(!T){if(c)return;throw new Error(`Assertion failed: The package (${Bt(t.configuration,A)}) should have been registered`)}let L=[],Ee=[],we=[],qe=[],re=[];for(let Qe of Array.from(T.dependencies.values())){if(T.peerDependencies.has(Qe.identHash)&&T.locatorHash!==le)continue;if(il(Qe))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(Qe.descriptorHash);let he=Ae;if(!he){let be=T.dependenciesMeta.get(Ot(Qe));if(typeof be!="undefined"){let ce=be.get(null);typeof ce!="undefined"&&ce.optional&&(he=!0)}}let Fe=r.get(Qe.descriptorHash);if(!Fe){if(c)continue;throw new Error(`Assertion failed: The resolution (${sr(t.configuration,Qe)}) should have been registered`)}let Ue=Q.get(Fe)||i.get(Fe);if(!Ue)throw new Error(`Assertion failed: The package (${Fe}, resolved from ${sr(t.configuration,Qe)}) should have been registered`);if(Ue.peerDependencies.size===0){M(Qe,Ue,new Map,{top:le,optional:he});continue}let xe,ve,pe=new Set,X;Ee.push(()=>{xe=sx(Qe,A.locatorHash),ve=ox(Ue,A.locatorHash),T.dependencies.delete(Qe.identHash),T.dependencies.set(xe.identHash,xe),r.set(xe.descriptorHash,ve.locatorHash),e.set(xe.descriptorHash,xe),i.set(ve.locatorHash,ve),L.push([Ue,xe,ve])}),we.push(()=>{var be;X=new Map;for(let ce of ve.peerDependencies.values()){let fe=T.dependencies.get(ce.identHash);if(!fe&&fd(A,ce)&&(Z.identHash===A.identHash?fe=Z:(fe=rr(A,Z.range),e.set(fe.descriptorHash,fe),r.set(fe.descriptorHash,A.locatorHash),a.delete(fe.descriptorHash))),(!fe||fe.range==="missing:")&&ve.dependencies.has(ce.identHash)){ve.peerDependencies.delete(ce.identHash);continue}fe||(fe=rr(ce,"missing:")),ve.dependencies.set(fe.identHash,fe),il(fe)&&kc(p,fe.descriptorHash).add(ve.locatorHash),f.set(fe.identHash,fe),fe.range==="missing:"&&pe.add(fe.identHash),X.set(ce.identHash,(be=ne.get(ce.identHash))!=null?be:ve.locatorHash)}ve.dependencies=new Map(xn(ve.dependencies,([ce,fe])=>Ot(fe)))}),qe.push(()=>{if(!i.has(ve.locatorHash))return;let be=u.get(Ue.locatorHash);typeof be=="number"&&be>=2&&S();let ce=u.get(Ue.locatorHash),fe=typeof ce!="undefined"?ce+1:1;u.set(Ue.locatorHash,fe),M(xe,ve,X,{top:le,optional:he}),u.set(Ue.locatorHash,fe-1)}),re.push(()=>{let be=T.dependencies.get(Qe.identHash);if(typeof be=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let ce=r.get(be.descriptorHash);if(typeof ce=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(kc(y,ce).add(A.locatorHash),!!i.has(ve.locatorHash)){for(let fe of ve.peerDependencies.values()){let gt=X.get(fe.identHash);if(typeof gt=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");kg(xg(m,gt),Ot(fe)).push(ve.locatorHash)}for(let fe of pe)ve.dependencies.delete(fe)}})}for(let Qe of[...Ee,...we])Qe();let se;do{se=!0;for(let[Qe,he,Fe]of L){let Ue=xg(h,Qe.locatorHash),xe=ln(...[...Fe.dependencies.values()].map(be=>{let ce=be.range!=="missing:"?r.get(be.descriptorHash):"missing:";if(typeof ce=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${sr(t.configuration,be)} to have been registered`);return ce===le?`${ce} (top)`:ce}),he.identHash),ve=Ue.get(xe);if(typeof ve=="undefined"){Ue.set(xe,he);continue}if(ve===he)continue;i.delete(Fe.locatorHash),e.delete(he.descriptorHash),r.delete(he.descriptorHash),n.delete(Fe.locatorHash);let pe=p.get(he.descriptorHash)||[],X=[T.locatorHash,...pe];p.delete(he.descriptorHash);for(let be of X){let ce=i.get(be);typeof ce!="undefined"&&(ce.dependencies.get(he.identHash).descriptorHash!==ve.descriptorHash&&(se=!1),ce.dependencies.set(he.identHash,ve))}}}while(!se);for(let Qe of[...qe,...re])Qe()};for(let Z of t.workspaces){let A=Z.anchoredLocator;a.delete(Z.anchoredDescriptor.descriptorHash),M(Z.anchoredDescriptor,A,new Map,{top:A.locatorHash,optional:!1})}var U;(function(ne){ne[ne.NotProvided=0]="NotProvided",ne[ne.NotCompatible=1]="NotCompatible"})(U||(U={}));let J=[];for(let[Z,A]of y){let ne=i.get(Z);if(typeof ne=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let le=m.get(Z);if(typeof le!="undefined")for(let Ae of A){let T=i.get(Ae);if(typeof T!="undefined")for(let[L,Ee]of le){let we=An(L);if(T.peerDependencies.has(we.identHash))continue;let qe=`p${ln(Ae,L,Z).slice(0,5)}`;o.set(qe,{subject:Ae,requested:we,rootRequester:Z,allRequesters:Ee});let re=ne.dependencies.get(we.identHash);if(typeof re!="undefined"){let se=x(re),Qe=(ee=se.version)!=null?ee:"0.0.0",he=new Set;for(let Ue of Ee){let xe=i.get(Ue);if(typeof xe=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let ve=xe.peerDependencies.get(we.identHash);if(typeof ve=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");he.add(ve.range)}[...he].every(Ue=>{if(Ue.startsWith(si.protocol)){if(!t.tryWorkspaceByLocator(se))return!1;Ue=Ue.slice(si.protocol.length),(Ue==="^"||Ue==="~")&&(Ue="*")}return Uc(Qe,Ue)})||J.push({type:1,subject:T,requested:we,requester:ne,version:Qe,hash:qe,requirementCount:Ee.length})}else{let se=ne.peerDependenciesMeta.get(L);(se==null?void 0:se.optional)||J.push({type:0,subject:T,requested:we,requester:ne,hash:qe})}}}}let W=[Z=>Ax(Z.subject),Z=>Ot(Z.requested),Z=>`${Z.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning($.UNNAMED,`Some peer dependencies are incorrectly met; run ${et(t.configuration,"yarn explain peer-requirements ",Ge.CODE)} for details, where ${et(t.configuration,"",Ge.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let Z of xn(J,W))switch(Z.type){case 0:l.reportWarning($.MISSING_PEER_DEPENDENCY,`${Bt(t.configuration,Z.subject)} doesn't provide ${gi(t.configuration,Z.requested)} (${et(t.configuration,Z.hash,Ge.CODE)}), requested by ${gi(t.configuration,Z.requester)}`);break;case 1:{let A=Z.requirementCount>1?"and some of its descendants request":"requests";l.reportWarning($.INCOMPATIBLE_PEER_DEPENDENCY,`${Bt(t.configuration,Z.subject)} provides ${gi(t.configuration,Z.requested)} (${et(t.configuration,Z.hash,Ge.CODE)}) with version ${dd(t.configuration,Z.version)}, which doesn't satisfy what ${gi(t.configuration,Z.requester)} ${A}`)}break}})}var aa;(function(l){l.VERSION="version",l.COMMAND_NAME="commandName",l.PLUGIN_NAME="pluginName",l.INSTALL_COUNT="installCount",l.PROJECT_COUNT="projectCount",l.WORKSPACE_COUNT="workspaceCount",l.DEPENDENCY_COUNT="dependencyCount",l.EXTENSION="packageExtension"})(aa||(aa={}));var bC=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!K.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(aa.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(aa.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(aa.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(aa.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(aa.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(aa.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(aa.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(aa.DEPENDENCY_COUNT,String(e))}reportValue(e,r){kc(this.values,e).add(r)}reportEnumerator(e,r){kc(this.enumerators,e).add(ln(r))}reportHit(e,r="*"){let i=xg(this.hits,e),n=qa(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return k.join(e,"telemetry.json")}sendReport(e){var u,g,f;let r=this.getRegistryPath(),i;try{i=K.readJsonSync(r)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{K.mkdirSync(k.dirname(r),{recursive:!0}),K.writeJsonSync(r,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>VP(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let m=p;m.userId=h,m.reportType="primary";for(let S of Object.keys((f=m.enumerators)!=null?f:{}))m.enumerators[S]=m.enumerators[S].length;c(m);let y=new Map,Q=20;for(let[S,x]of Object.entries(m.values))x.length>0&&y.set(S,x.slice(0,Q));for(;y.size>0;){let S={};S.userId=h,S.reportType="secondary",S.metrics={};for(let[x,M]of y)S.metrics[x]=M.shift(),M.length===0&&y.delete(x);c(S)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),r;try{r=K.readJsonSync(e)}catch{r={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=r.blocks=(a=r.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let m of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},Q=y[m]=(u=y[m])!=null?u:{};for(let[S,x]of this.hits.get(m))Q[S]=((g=Q[S])!=null?g:0)+x}for(let m of["values","enumerators"])for(let y of this[m].keys()){let Q=s[m]=(f=s[m])!=null?f:{};Q[y]=[...new Set([...(h=Q[y])!=null?h:[],...(p=this[m].get(y))!=null?p:[]])]}K.mkdirSync(k.dirname(e),{recursive:!0}),K.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var oF=ge(require("child_process")),l$=ge(hc());var aF=ge(require("fs"));var Nf=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function tUe(t){let e=j.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,oF.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:te(N({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,oF.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:te(N({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function d0({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new Is({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var m,y,Q,S,x;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(!Se.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!Wt.satisfiesWithPrereleases(s,o))throw new Pe(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let l=await ye.find(j.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get("yarnPath"),u=l.get("ignorePath"),g=l.get("ignoreCwd"),f=j.toPortablePath(j.resolve(process.argv[1])),h=M=>K.readFilePromise(M).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(c!==null&&!u)if(!K.existsSync(c))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${l.sources.get("yarnPath")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{tUe(c)}catch(M){process.exitCode=M.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get("enableTelemetry")&&!l$.isCI&&process.stdout.isTTY&&(ye.telemetry=new bC(l,"puba9cdc10ec5790a2cf4969dd413a47270")),(m=ye.telemetry)==null||m.reportVersion(t);for(let[J,W]of l.plugins.entries()){Nf.has((Q=(y=J.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:y[1])!=null?Q:"")&&((S=ye.telemetry)==null||S.reportPluginName(J));for(let ee of W.commands||[])n.register(ee)}let Y=n.process(process.argv.slice(2));Y.help||(x=ye.telemetry)==null||x.reportCommandName(Y.path.join(" "));let U=Y.cwd;if(typeof U!="undefined"&&!g){let J=(0,aF.realpathSync)(process.cwd()),W=(0,aF.realpathSync)(U);if(J!==W){process.chdir(U),await r();return}}await n.runExit(Y,{cwd:j.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return r().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>K.rmtempPromise())}function c$(t){t.Command.Path=(...e)=>r=>{r.paths=r.paths||[],r.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])t.Command[e]=(...r)=>(i,n)=>{let s=t.Option[e](...r);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return t}var _C={};ft(_C,{BaseCommand:()=>Le,WorkspaceRequiredError:()=>ht,getDynamicLibs:()=>bie,getPluginConfiguration:()=>J0,main:()=>d0,openWorkspace:()=>Jf,pluginCommands:()=>Nf});var Le=class extends Re{constructor(){super(...arguments);this.cwd=z.String("--cwd",{hidden:!0})}};var ht=class extends Pe{constructor(e,r){let i=k.relative(e,r),n=k.join(e,At.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var aqe=ge(ti());Es();var Aqe=ge(sN()),bie=()=>new Map([["@yarnpkg/cli",_C],["@yarnpkg/core",QC],["@yarnpkg/fslib",Zh],["@yarnpkg/libzip",Md],["@yarnpkg/parsers",op],["@yarnpkg/shell",Kd],["clipanion",Cp],["semver",aqe],["typanion",sg],["yup",Aqe]]);async function Jf(t,e){let{project:r,workspace:i}=await ze.find(t,e);if(!i)throw new ht(r.cwd,e);return i}var S9e=ge(ti());Es();var k9e=ge(sN());var AL={};ft(AL,{dedupeUtils:()=>HN,default:()=>Ize,suggestUtils:()=>kN});var vAe=ge(hc());var Fse=ge($C());Es();var kN={};ft(kN,{Modifier:()=>ga,Strategy:()=>_r,Target:()=>Hr,WorkspaceModifier:()=>Vf,applyModifier:()=>xse,extractDescriptorFromPath:()=>DN,extractRangeModifier:()=>kse,fetchDescriptorFrom:()=>PN,findProjectDescriptors:()=>Rse,getModifier:()=>em,getSuggestedDescriptors:()=>tm,makeWorkspaceDescriptor:()=>Dse,toWorkspaceModifier:()=>Pse});var xN=ge(ti()),vJe="workspace:",Hr;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(Hr||(Hr={}));var ga;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(ga||(ga={}));var Vf;(function(i){i.CARET="^",i.TILDE="~",i.EXACT="*"})(Vf||(Vf={}));var _r;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(_r||(_r={}));function em(t,e){return t.exact?ga.EXACT:t.caret?ga.CARET:t.tilde?ga.TILDE:e.configuration.get("defaultSemverRangePrefix")}var SJe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function kse(t,{project:e}){let r=t.match(SJe);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function xse(t,e){let{protocol:r,source:i,params:n,selector:s}=P.parseRange(t.range);return xN.default.valid(s)&&(s=`${e}${t.range}`),P.makeDescriptor(t,P.makeRange({protocol:r,source:i,params:n,selector:s}))}function Pse(t){switch(t){case ga.CARET:return Vf.CARET;case ga.TILDE:return Vf.TILDE;case ga.EXACT:return Vf.EXACT;default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function Dse(t,e){return P.makeDescriptor(t.anchoredDescriptor,`${vJe}${Pse(e)}`)}async function Rse(t,{project:e,target:r}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(r===Hr.PEER){let o=s.manifest.peerDependencies.get(t.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(t.identHash),a=s.manifest.devDependencies.get(t.identHash);r===Hr.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function DN(t,{cwd:e,workspace:r}){return await kJe(async i=>{k.isAbsolute(t)||(t=k.relative(r.cwd,k.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await PN(P.makeIdent(null,"archive"),t,{project:r.project,cache:i,workspace:r});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new pi,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,r.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await At.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return P.makeDescriptor(h.name,t)})}async function tm(t,{project:e,workspace:r,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(t.range!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${P.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof r!="undefined"&&r!==null&&r.manifest[n].get(t.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case _r.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case _r.REUSE:await g(async()=>{for(let{descriptor:h,locators:p}of(await Rse(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(_r.KEEP))continue;let m=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;m+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:m})}});break;case _r.CACHE:await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===t.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case _r.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(t);if(h===null)return;let p=Dse(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ae.pretty(e.configuration,h.relativeCwd,ae.Type.PATH)})`})});break;case _r.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${P.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===Hr.PEER)c.push({descriptor:P.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ae.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await PN(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});h&&(h=xse(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function PN(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(t,e),a=new pi,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g=te(N({},u),{resolver:c,fetchOptions:u}),f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:m,source:y,params:Q,selector:S}=P.parseRange(P.convertToManifestRange(p.reference));if(m===r.configuration.get("defaultProtocol")&&(m=null),xN.default.valid(S)&&s!==!1){let x=typeof s=="string"?s:o.range;S=kse(x,{project:r})+S}return P.makeDescriptor(p,P.makeRange({protocol:m,source:y,params:Q,selector:S}))}async function kJe(t){return await K.mktempPromise(async e=>{let r=ye.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Nt(e,{configuration:r,check:!1,immutable:!1}))})}var rm=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=z.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=z.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=z.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=z.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=z.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=z.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.silent=z.Boolean("--silent",{hidden:!0});this.packages=z.Rest()}async execute(){var m;let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=em(this,r),a=[...s?[_r.REUSE]:[],_r.PROJECT,...this.cached?[_r.CACHE]:[],_r.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async y=>{let Q=y.match(/^\.{0,2}\//)?await DN(y,{cwd:this.context.cwd,workspace:i}):P.tryParseDescriptor(y),S=y.match(/^(https?:|git@github)/);if(S)throw new Pe(`It seems you are trying to add a package using a ${ae.pretty(e,`${S[0]}...`,Di.RANGE)} url; we now require package names to be explicitly specified. +Try running the command again with the package name prefixed: ${ae.pretty(e,"yarn add",Di.CODE)} ${ae.pretty(e,P.makeDescriptor(P.makeIdent(null,"my-package"),`${S[0]}...`),Di.DESCRIPTOR)}`);if(!Q)throw new Pe(`The ${ae.pretty(e,y,Di.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let x=xJe(i,Q,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),M=await tm(Q,{project:r,workspace:i,cache:n,target:x,modifier:o,strategies:a,maxResults:l});return[Q,M,x]})),u=await uA.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async y=>{for(let[Q,{suggestions:S,rejections:x}]of c)if(S.filter(Y=>Y.descriptor!==null).length===0){let[Y]=x;if(typeof Y=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,Q)} can't be resolved to a satisfying range`):y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,Q)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),y.reportSeparator(),y.reportExceptionOnce(Y)}});if(u.hasErrors())return u.exitCode();let g=!1,f=[],h=[];for(let[,{suggestions:y},Q]of c){let S,x=y.filter(J=>J.descriptor!==null),M=x[0].descriptor,Y=x.every(J=>P.areDescriptorsEqual(J.descriptor,M));x.length===1||Y?S=M:(g=!0,{answer:S}=await(0,Fse.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:y.map(({descriptor:J,name:W,reason:ee})=>J?{name:W,hint:ee,descriptor:J}:{name:W,hint:ee,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let U=i.manifest[Q].get(S.identHash);(typeof U=="undefined"||U.descriptorHash!==S.descriptorHash)&&(i.manifest[Q].set(S.identHash,S),this.optional&&(Q==="dependencies"?i.manifest.ensureDependencyMeta(te(N({},S),{range:"unknown"})).optional=!0:Q==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(te(N({},S),{range:"unknown"})).optional=!0)),typeof U=="undefined"?f.push([i,Q,S,a]):h.push([i,Q,U,S]))}return await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyAddition,f),await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyReplacement,h),g&&this.context.stdout.write(` +`),(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async y=>{await r.install({cache:n,report:y,mode:this.mode})})).exitCode()}};rm.paths=[["add"]],rm.usage=Re.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var Nse=rm;function xJe(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[Hr.REGULAR].has(e.identHash),a=t.manifest[Hr.DEVELOPMENT].has(e.identHash),l=t.manifest[Hr.PEER].has(e.identHash);if((r||i)&&o)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!i&&l)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||n)&&s)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?Hr.PEER:r||n?Hr.DEVELOPMENT:o?Hr.REGULAR:a?Hr.DEVELOPMENT:Hr.REGULAR}var im=class extends Le{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=z.String({required:!1})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await ze.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await Zt.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new Pe(`Couldn't find a binary named "${this.name}" for package "${P.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} +`),0}return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Zt.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:P.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${P.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};im.paths=[["bin"]],im.usage=Re.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var Lse=im;var nm=class extends Le{constructor(){super(...arguments);this.mirror=z.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=z.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=await Nt.find(e);return(await Je.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await K.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await K.removePromise(r.cwd)})).exitCode()}};nm.paths=[["cache","clean"],["cache","clear"]],nm.usage=Re.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var Tse=nm;var Ose=ge(k0()),RN=ge(require("util")),sm=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=z.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=Se.convertMapsToIndexableObjects(s),a=i?(0,Ose.default)(o,i):o,l=await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} +`),l.exitCode();RN.inspect.styles.name="cyan",this.context.stdout.write(`${(0,RN.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} +`)}return l.exitCode()}};sm.paths=[["config","get"]],sm.usage=Re.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var Mse=sm;var Voe=ge(MN()),Xoe=ge(k0()),Zoe=ge(_oe()),UN=ge(require("util")),am=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String();this.value=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new Pe("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${i}"`);if(i==="enableStrictSettings")throw new Pe("This setting only affects the file it's in, and thus cannot be set from the CLI");let o=this.json?JSON.parse(this.value):this.value;await(this.home?h=>ye.updateHomeConfiguration(h):h=>ye.updateConfiguration(r(),h))(h=>{if(n){let p=(0,Voe.default)(h);return(0,Zoe.default)(p,this.name,o),p}else return te(N({},h),{[i]:o})});let c=(await ye.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=Se.convertMapsToIndexableObjects(c),g=n?(0,Xoe.default)(u,n):u;return(await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{UN.inspect.styles.name="cyan",h.reportInfo($.UNNAMED,`Successfully set ${this.name} to ${(0,UN.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};am.paths=[["config","set"]],am.usage=Re.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var $oe=am;var Aae=ge(MN()),lae=ge(SC()),cae=ge(aae()),Am=class extends Le{constructor(){super(...arguments);this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new Pe("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${i}"`);let o=this.home?l=>ye.updateHomeConfiguration(l):l=>ye.updateConfiguration(r(),l);return(await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,lae.default)(u,this.name))return l.reportWarning($.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,Aae.default)(u):N({},u);return(0,cae.default)(g,this.name),g}),c||l.reportInfo($.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};Am.paths=[["config","unset"]],Am.usage=Re.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var uae=Am;var KN=ge(require("util")),lm=class extends Le{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=z.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError($.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=Se.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(N({key:s,effective:a,source:l},o))}}else{let n=Se.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,KN.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,KN.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};lm.paths=[["config"]],lm.usage=Re.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});var gae=lm;Es();var HN={};ft(HN,{Strategy:()=>Iu,acceptedStrategies:()=>R8e,dedupe:()=>jN});var fae=ge(ts()),Iu;(function(e){e.HIGHEST="highest"})(Iu||(Iu={}));var R8e=new Set(Object.values(Iu)),F8e={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);Se.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!fae.default.isMatch(P.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let Q=t.originalPackages.get(y);if(typeof Q=="undefined")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return Q.reference}),f=await r.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h=="undefined")return null;let p=h.locatorHash,m=t.originalPackages.get(p);if(typeof m=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:m}})}};async function jN(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new pi,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let f=await F8e[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=Ji.progressViaCounter(f.length);n.reportProgress(h);let p=0;await Promise.all(f.map(Q=>Q.then(S=>{if(S===null)return;p++;let{descriptor:x,currentPackage:M,updatedPackage:Y}=S;n.reportInfo($.UNNAMED,`${P.prettyDescriptor(s,x)} can be deduped from ${P.prettyLocator(s,M)} to ${P.prettyLocator(s,Y)}`),n.reportJson({descriptor:P.stringifyDescriptor(x),currentResolution:P.stringifyLocator(M),updatedResolution:P.stringifyLocator(Y)}),t.storedResolutions.set(x.descriptorHash,Y.locatorHash)}).finally(()=>h.tick())));let m;switch(p){case 0:m="No packages";break;case 1:m="One package";break;default:m=`${p} packages`}let y=ae.pretty(s,e,ae.Type.CODE);return n.reportInfo($.UNNAMED,`${m} can be deduped using the ${y} strategy`),p})}var cm=class extends Le{constructor(){super(...arguments);this.strategy=z.String("-s,--strategy",Iu.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:nn(Iu)});this.check=z.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.patterns=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd),i=await Nt.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await jN(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await Je.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a,mode:this.mode})})).exitCode()}};cm.paths=[["dedupe"]],cm.usage=Re.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var hae=cm;var ib=class extends Le{async execute(){let{plugins:e}=await ye.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=Is.from(a).definitions();r.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=dae()["@yarnpkg/builder"].bundles.standard;for(let o of r){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} +`)}};ib.paths=[["--clipanion=definitions"]];var Cae=ib;var nb=class extends Le{async execute(){this.context.stdout.write(this.cli.usage(null))}};nb.paths=[["help"],["--help"],["-h"]];var mae=nb;var GN=class extends Le{constructor(){super(...arguments);this.leadingArgument=z.String();this.args=z.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!P.tryParseIdent(this.leadingArgument)){let e=k.resolve(this.context.cwd,j.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},Eae=GN;var sb=class extends Le{async execute(){this.context.stdout.write(`${Ur||""} +`)}};sb.paths=[["-v"],["--version"]];var Iae=sb;var um=class extends Le{constructor(){super(...arguments);this.commandName=z.String();this.args=z.Proxy()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await ze.find(e,this.context.cwd);return await r.restoreInstallState(),await Zt.executePackageShellcode(i,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:r})}};um.paths=[["exec"]],um.usage=Re.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});var yae=um;Es();var gm=class extends Le{constructor(){super(...arguments);this.hash=z.String({required:!1,validator:fp(gp(),[hp(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await N8e(this.hash,r,{stdout:this.context.stdout}):(await Je.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>P.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>P.stringifyIdent(a.requested)];for(let[a,l]of Se.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,f=ae.pretty(e,a,ae.Type.CODE),h=P.prettyLocator(e,c),p=P.prettyIdent(e,l.requested),m=P.prettyIdent(e,u),y=l.allRequesters.length-1,Q=`descendant${y===1?"":"s"}`,S=y>0?` and ${y} ${Q}`:"",x=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${f} \u2192 ${h} ${x} ${p} to ${m}${S}`)}})).exitCode()}};gm.paths=[["explain","peer-requirements"]],gm.usage=Re.Usage({description:"explain a set of peer requirements",details:` + A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. + + When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. + + When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var wae=gm;async function N8e(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await Je.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var Q,S;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(Q=a.dependencies.get(n.requested.identHash))!=null?Q:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(x=>{let M=e.storedPackages.get(x);if(typeof M=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let Y=P.devirtualizeLocator(M),U=e.storedPackages.get(Y.locatorHash);if(typeof U=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let J=U.peerDependencies.get(n.requested.identHash);if(typeof J=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:M,peerDependency:J}});if(g!==null){let x=f.every(({peerDependency:M})=>Wt.satisfiesWithPrereleases(g.version,M.range));o.reportInfo($.UNNAMED,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(S=g.version)!=null?S:"")}, which ${x?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo($.UNNAMED,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ae.mark(i),p=[];for(let{pkg:x,peerDependency:M}of Se.sortMap(f,Y=>P.stringifyLocator(Y.pkg))){let U=(g!==null?Wt.satisfiesWithPrereleases(g.version,M.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(x),prettyLocator:P.prettyLocator(i,x),prettyRange:P.prettyRange(i,M.range),mark:U})}let m=Math.max(...p.map(({stringifiedLocator:x})=>x.length)),y=Math.max(...p.map(({prettyRange:x})=>x.length));for(let{stringifiedLocator:x,prettyLocator:M,prettyRange:Y,mark:U}of Se.sortMap(p,({stringifiedLocator:J})=>J))o.reportInfo(null,`${M.padEnd(m+(M.length-x.length)," ")} \u2192 ${Y.padEnd(y," ")} ${U}`);p.length>1&&(o.reportSeparator(),o.reportInfo($.UNNAMED,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}Es();var Bae=ge(ti()),fm=class extends Le{constructor(){super(...arguments);this.onlyIfNeeded=z.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r=()=>{if(typeof Ur=="undefined")throw new Pe("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},i;if(this.version==="self")i=r();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")i=`https://repo.yarnpkg.com/${await hm(e,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")i=`https://repo.yarnpkg.com/${await hm(e,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")i="https://nightly.yarnpkg.com/latest.js";else if(this.version.match(/^https?:/))i=this.version;else if(this.version.match(/^\.{0,2}[\\/]/)||j.isAbsolute(this.version))i=`file://${j.resolve(this.version)}`;else if(Wt.satisfiesWithPrereleases(this.version,">=2.0.0"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(Wt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(Wt.validRange(this.version))i=`https://repo.yarnpkg.com/${await L8e(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new Pe(`Invalid version descriptor "${this.version}"`);return(await Je.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o="file://",a;i.startsWith(o)?(s.reportInfo($.UNNAMED,`Downloading ${ae.pretty(e,i,Di.URL)}`),a=await K.readFilePromise(j.toPortablePath(i.slice(o.length)))):(s.reportInfo($.UNNAMED,`Retrieving ${ae.pretty(e,i,Di.PATH)}`),a=await ir.get(i,{configuration:e})),await YN(e,null,a,{report:s})})).exitCode()}};fm.paths=[["set","version"]],fm.usage=Re.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});var bae=fm;async function L8e(t,e){let i=(await ir.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(n=>Wt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new Pe(`No matching release found for range ${ae.pretty(t,e,ae.Type.RANGE)}.`);return i[0]}async function hm(t,e){let r=await ir.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new Pe(`Tag ${ae.pretty(t,e,ae.Type.RANGE)} not found`);return r.latest[e]}async function YN(t,e,r,{report:i}){var g;e===null&&await K.mktempPromise(async f=>{let h=k.join(f,"yarn.cjs");await K.writeFilePromise(h,r);let{stdout:p}=await Fr.execvp(process.execPath,[j.fromPortablePath(h),"--version"],{cwd:f,env:te(N({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!Bae.default.valid(e))throw new Error(`Invalid semver version. ${ae.pretty(t,"yarn --version",ae.Type.CODE)} returned: +${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=k.resolve(n,".yarn/releases"),o=k.resolve(s,`yarn-${e}.cjs`),a=k.relative(t.startingCwd,o),l=k.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo($.UNNAMED,`Saving the new release in ${ae.pretty(t,a,"magenta")}`),await K.removePromise(k.dirname(o)),await K.mkdirPromise(k.dirname(o),{recursive:!0}),await K.writeFilePromise(o,r,{mode:493}),u){await ye.updateConfiguration(n,{yarnPath:l});let f=await At.tryFind(n)||new At;f.packageManager=`yarn@${e&&Se.isTaggedYarnVersion(e)?e:await hm(t,"stable")}`;let h={};f.exportTo(h);let p=k.join(n,At.fileName),m=`${JSON.stringify(h,null,f.indent)} +`;await K.changeFilePromise(p,m,{automaticNewlines:!0})}}function Qae(t){return $[BI(t)]}var T8e=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
(?:.(?!##))+)/gs;async function O8e(t){let r=`https://repo.yarnpkg.com/${Se.isTaggedYarnVersion(Ur)?Ur:await hm(t,"canary")}/packages/gatsby/content/advanced/error-codes.md`,i=await ir.get(r,{configuration:t});return new Map(Array.from(i.toString().matchAll(T8e),({groups:n})=>{if(!n)throw new Error("Assertion failed: Expected the match to have been successful");let s=Qae(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected "${n.name}" to be named "${s}"`);return[n.code,n.details]}))}var pm=class extends Le{constructor(){super(...arguments);this.code=z.String({required:!1,validator:fp(gp(),[hp(/^YN[0-9]{4}$/)])});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);if(typeof this.code!="undefined"){let r=Qae(this.code),i=ae.pretty(e,r,ae.Type.CODE),n=this.cli.format().header(`${this.code} - ${i}`),o=(await O8e(e)).get(this.code),a=typeof o!="undefined"?ae.jsonOrPretty(this.json,e,ae.tuple(ae.Type.MARKDOWN,{text:o,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. + +You can help us by editing this page on GitHub \u{1F642}: +${ae.jsonOrPretty(this.json,e,ae.tuple(ae.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))} +`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:r,details:a})} +`):this.context.stdout.write(`${n} + +${a} +`)}else{let r={children:Se.mapAndFilter(Object.entries($),([i,n])=>Number.isNaN(Number(i))?Se.mapAndFilter.skip:{label:YA(Number(i)),value:ae.tuple(ae.Type.CODE,n)})};as.emitTree(r,{configuration:e,stdout:this.context.stdout,json:this.json})}}};pm.paths=[["explain"]],pm.usage=Re.Usage({description:"explain an error code",details:` + When the code argument is specified, this command prints its name and its details. + + When used without arguments, this command lists all error codes and their names. + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});var vae=pm;var Sae=ge(ts()),dm=class extends Le{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=z.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=z.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=z.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=z.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=z.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=z.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i&&!this.all)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(x,{recursive:M})=>{let Y=x.anchoredLocator.locatorHash,U=new Map,J=[Y];for(;J.length>0;){let W=J.shift();if(U.has(W))continue;let ee=r.storedPackages.get(W);if(typeof ee=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(U.set(W,ee),P.isVirtualLocator(ee)&&J.push(P.devirtualizeLocator(ee).locatorHash),!(!M&&W!==Y))for(let Z of ee.dependencies.values()){let A=r.storedResolutions.get(Z.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");J.push(A)}}return U.values()},a=({recursive:x})=>{let M=new Map;for(let Y of r.workspaces)for(let U of o(Y,{recursive:x}))M.set(U.locatorHash,U);return M.values()},l=({all:x,recursive:M})=>x&&M?r.storedPackages.values():x?a({recursive:M}):o(i,{recursive:M}),c=({all:x,recursive:M})=>{let Y=l({all:x,recursive:M}),U=this.patterns.map(ee=>{let Z=P.parseLocator(ee),A=Sae.default.makeRe(P.stringifyIdent(Z)),ne=P.isVirtualLocator(Z),le=ne?P.devirtualizeLocator(Z):Z;return Ae=>{let T=P.stringifyIdent(Ae);if(!A.test(T))return!1;if(Z.reference==="unknown")return!0;let L=P.isVirtualLocator(Ae),Ee=L?P.devirtualizeLocator(Ae):Ae;return!(ne&&L&&Z.reference!==Ae.reference||le.reference!==Ee.reference)}}),J=Se.sortMap([...Y],ee=>P.stringifyLocator(ee));return{selection:J.filter(ee=>U.length===0||U.some(Z=>Z(ee))),sortedLookup:J}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new Pe("No package matched your request");let f=new Map;if(this.dependents)for(let x of g)for(let M of x.dependencies.values()){let Y=r.storedResolutions.get(M.descriptorHash);if(typeof Y=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");Se.getArrayWithDefault(f,Y).push(x)}let h=new Map;for(let x of g){if(!P.isVirtualLocator(x))continue;let M=P.devirtualizeLocator(x);Se.getArrayWithDefault(h,M.locatorHash).push(x)}let p={},m={children:p},y=e.makeFetcher(),Q={project:r,fetcher:y,cache:n,checksums:r.storedChecksums,report:new pi,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},S=[async(x,M,Y)=>{var W,ee;if(!M.has("manifest"))return;let U=await y.fetch(x,Q),J;try{J=await At.find(U.prefixPath,{baseFs:U.packageFs})}finally{(W=U.releaseFs)==null||W.call(U)}Y("Manifest",{License:ae.tuple(ae.Type.NO_HINT,J.license),Homepage:ae.tuple(ae.Type.URL,(ee=J.raw.homepage)!=null?ee:null)})},async(x,M,Y)=>{var A;if(!M.has("cache"))return;let U={mockedPackages:r.disabledLocators,unstablePackages:r.conditionalLocators},J=(A=r.storedChecksums.get(x.locatorHash))!=null?A:null,W=n.getLocatorPath(x,J,U),ee;if(W!==null)try{ee=K.statSync(W)}catch{}let Z=typeof ee!="undefined"?[ee.size,ae.Type.SIZE]:void 0;Y("Cache",{Checksum:ae.tuple(ae.Type.NO_HINT,J),Path:ae.tuple(ae.Type.PATH,W),Size:Z})}];for(let x of u){let M=P.isVirtualLocator(x);if(!this.virtuals&&M)continue;let Y={},U={value:[x,ae.Type.LOCATOR],children:Y};if(p[P.stringifyLocator(x)]=U,this.nameOnly){delete U.children;continue}let J=h.get(x.locatorHash);typeof J!="undefined"&&(Y.Instances={label:"Instances",value:ae.tuple(ae.Type.NUMBER,J.length)}),Y.Version={label:"Version",value:ae.tuple(ae.Type.NO_HINT,x.version)};let W=(Z,A)=>{let ne={};if(Y[Z]=ne,Array.isArray(A))ne.children=A.map(le=>({value:le}));else{let le={};ne.children=le;for(let[Ae,T]of Object.entries(A))typeof T!="undefined"&&(le[Ae]={label:Ae,value:T})}};if(!M){for(let Z of S)await Z(x,s,W);await e.triggerHook(Z=>Z.fetchPackageInfo,x,s,W)}x.bin.size>0&&!M&&W("Exported Binaries",[...x.bin.keys()].map(Z=>ae.tuple(ae.Type.PATH,Z)));let ee=f.get(x.locatorHash);typeof ee!="undefined"&&ee.length>0&&W("Dependents",ee.map(Z=>ae.tuple(ae.Type.LOCATOR,Z))),x.dependencies.size>0&&!M&&W("Dependencies",[...x.dependencies.values()].map(Z=>{var le;let A=r.storedResolutions.get(Z.descriptorHash),ne=typeof A!="undefined"&&(le=r.storedPackages.get(A))!=null?le:null;return ae.tuple(ae.Type.RESOLUTION,{descriptor:Z,locator:ne})})),x.peerDependencies.size>0&&M&&W("Peer dependencies",[...x.peerDependencies.values()].map(Z=>{var Ae,T;let A=x.dependencies.get(Z.identHash),ne=typeof A!="undefined"&&(Ae=r.storedResolutions.get(A.descriptorHash))!=null?Ae:null,le=ne!==null&&(T=r.storedPackages.get(ne))!=null?T:null;return ae.tuple(ae.Type.RESOLUTION,{descriptor:Z,locator:le})}))}as.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};dm.paths=[["info"]],dm.usage=Re.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var kae=dm;var ob=ge(hc());Es();var Cm=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=z.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=z.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=z.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=z.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.cacheFolder=z.String("--cache-folder",{hidden:!0});this.frozenLockfile=z.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=z.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=z.Boolean("--non-interactive",{hidden:!0});this.preferOffline=z.Boolean("--prefer-offline",{hidden:!0});this.production=z.Boolean("--production",{hidden:!0});this.registry=z.String("--registry",{hidden:!0});this.silent=z.Boolean("--silent",{hidden:!0});this.networkTimeout=z.String("--network-timeout",{hidden:!0})}async execute(){var g;let e=await ye.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,i=async(f,{error:h})=>{let p=await Je.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async m=>{h?m.reportError($.DEPRECATED_CLI_SETTINGS,f):m.reportWarning($.DEPRECATED_CLI_SETTINGS,f)});return p.hasErrors()?p.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let f=await i("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!ob.default.VERCEL});if(f!==null)return f}if(typeof this.registry!="undefined"){let f=await i("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(f!==null)return f}if(typeof this.preferOffline!="undefined"){let f=await i("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!ob.default.VERCEL});if(f!==null)return f}if(typeof this.production!="undefined"){let f=await i("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(f!==null)return f}if(typeof this.nonInteractive!="undefined"){let f=await i("The --non-interactive option is deprecated",{error:!r});if(f!==null)return f}if(typeof this.frozenLockfile!="undefined"&&(await i("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let f=await i("The cache-folder option has been deprecated; use rc settings instead",{error:!ob.default.NETLIFY});if(f!==null)return f}let n=this.mode===di.UpdateLockfile;if(n&&(this.immutable||this.immutableCache))throw new Pe(`${ae.pretty(e,"--immutable",ae.Type.CODE)} and ${ae.pretty(e,"--immutable-cache",ae.Type.CODE)} cannot be used with ${ae.pretty(e,"--mode=update-lockfile",ae.Type.CODE)}`);let s=((g=this.immutable)!=null?g:e.get("enableImmutableInstalls"))&&!n,o=this.immutableCache&&!n;if(e.projectCwd!==null){let f=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{await M8e(e,s)&&(h.reportInfo($.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let f=e.projectCwd,h;try{h=await K.readFilePromise(k.join(f,Pt.lockfile),"utf8")}catch{}if(h==null?void 0:h.includes("yarn lockfile v1")){let p=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async m=>{m.reportInfo($.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),m.reportSeparator(),e.use("",{nodeLinker:"node-modules"},f,{overwrite:!0}),await ye.updateConfiguration(f,{nodeLinker:"node-modules"})});if(p.hasErrors())return p.exitCode()}}if(e.projectCwd!==null){let f=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{var p;((p=ye.telemetry)==null?void 0:p.isNew)&&(h.reportInfo($.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),h.reportInfo($.TELEMETRY_NOTICE,`Run ${ae.pretty(e,"yarn config set --home enableTelemetry 0",ae.Type.CODE)} to disable`),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}let{project:a,workspace:l}=await ze.find(e,this.context.cwd),c=await Nt.find(e,{immutable:o,check:this.checkCache});if(!l)throw new ht(a.cwd,this.context.cwd);return await a.restoreInstallState({restoreResolutions:!1}),(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async f=>{await a.install({cache:c,report:f,immutable:s,mode:this.mode})})).exitCode()}};Cm.paths=[["install"],Re.Default],Cm.usage=Re.Usage({description:"install the project dependencies",details:` + This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics: + + - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). + + - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where the cache files are stored). + + - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know). + + - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail. + + Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches. + + If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release. + + If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed). + + If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them. + + If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var xae=Cm,U8e="|||||||",K8e=">>>>>>>",H8e="=======",Pae="<<<<<<<";async function M8e(t,e){if(!t.projectCwd)return!1;let r=k.join(t.projectCwd,t.get("lockfileFilename"));if(!await K.existsPromise(r))return!1;let i=await K.readFilePromise(r,"utf8");if(!i.includes(Pae))return!1;if(e)throw new ct($.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=j8e(i),o,a;try{o=Qi(n),a=Qi(s)}catch(c){throw new ct($.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=N(N({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await K.changeFilePromise(r,Na(l),{automaticNewlines:!0}),!0}function j8e(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(Pae)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===H8e){i=!1;break}else if(i||s.startsWith(U8e)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(K8e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` +`),e[1].join(` +`)]}var mm=class extends Le{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=z.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=z.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=k.resolve(this.context.cwd,j.toPortablePath(this.destination)),o=await ye.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await ze.find(o,s);if(r.cwd===a.cwd)throw new Pe("Invalid destination; Can't link the project to itself");if(!l)throw new ht(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let f of a.workspaces)f.manifest.name&&(!f.manifest.private||this.private)&&u.push(f);if(u.length===0)throw new Pe("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new Pe("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new Pe("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let f of u){let h=P.stringifyIdent(f.locator),p=this.relative?k.relative(r.cwd,f.cwd):f.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${p}`})}return(await Je.start({configuration:e,stdout:this.context.stdout},async f=>{await r.install({cache:n,report:f})})).exitCode()}};mm.paths=[["link"]],mm.usage=Re.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var Dae=mm;var Em=class extends Le{constructor(){super(...arguments);this.args=z.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Em.paths=[["node"]],Em.usage=Re.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Rae=Em;var Hae=ge(require("os"));var Nae=ge(require("os"));var G8e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function yu(t){let e=await ir.get(G8e,{configuration:t});return Qi(e.toString())}var Im=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await yu(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=Tr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(N({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};Im.paths=[["plugin","list"]],Im.usage=Re.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var Fae=Im;var Y8e=/^[0-9]+$/;function Lae(t){return Y8e.test(t)?`pull/${t}/head`:t}var q8e=({repository:t,branch:e},r)=>[["git","init",j.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",Lae(e)],["git","reset","--hard","FETCH_HEAD"]],J8e=({branch:t})=>[["git","fetch","origin","--depth=1",Lae(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],W8e=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",k.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],ym=class extends Le{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=z.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=z.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?k.resolve(this.context.cwd,j.toPortablePath(this.installPath)):k.resolve(j.toPortablePath((0,Nae.tmpdir)()),"yarnpkg-sources",Dn.makeHash(this.repository).slice(0,6));return(await Je.start({configuration:e,stdout:this.context.stdout},async s=>{await JN(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo($.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await wm(W8e(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=k.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await K.readFilePromise(o);await YN(e,"sources",a,{report:s}),this.skipPlugins||await z8e(this,{project:r,report:s,target:i})})).exitCode()}};ym.paths=[["set","version","from","sources"]],ym.usage=Re.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]});var Tae=ym;async function wm(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await Fr.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${ae.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} +`);try{await Fr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function JN(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&K.existsSync(k.join(i,".git"))){r.reportInfo($.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await wm(J8e(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning($.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo($.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await K.removePromise(i),await K.mkdirPromise(i,{recursive:!0}),await wm(q8e(t,i),{configuration:e,context:t.context,target:i}))}async function z8e(t,{project:e,report:r,target:i}){let n=await yu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await qN(o,t,{project:e,report:r,target:i})}var Oae=ge(ti()),Mae=ge(require("url")),Uae=ge(require("vm"));var Bm=class extends Le{constructor(){super(...arguments);this.name=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await ze.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||j.isAbsolute(this.name)){let a=k.resolve(this.context.cwd,j.toPortablePath(this.name));i.reportInfo($.UNNAMED,`Reading ${ae.pretty(e,a,ae.Type.PATH)}`),s=k.relative(n.cwd,a),o=await K.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new Mae.URL(this.name)}catch{throw new ct($.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=P.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!Oae.default.valid(l.reference))throw new ct($.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=P.stringifyIdent(l),u=await yu(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new ct($.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Ur!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Ur}/`))}i.reportInfo($.UNNAMED,`Downloading ${ae.pretty(e,a,"green")}`),o=await ir.get(a,{configuration:e})}await WN(s,o,{project:n,report:i})})).exitCode()}};Bm.paths=[["plugin","import"]],Bm.usage=Re.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var Kae=Bm;async function WN(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,Uae.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=k.resolve(r.cwd,l);i.reportInfo($.UNNAMED,`Saving the new plugin in ${ae.pretty(n,l,"magenta")}`),await K.mkdirPromise(k.dirname(c),{recursive:!0}),await K.writeFilePromise(c,e);let u={path:l,spec:t};await ye.updateConfiguration(r.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let m=typeof p!="string"?p.path:p,y=k.resolve(r.cwd,j.toPortablePath(m)),{name:Q}=Se.dynamicRequire(y);Q!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),te(N({},g),{plugins:f})})}var _8e=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],bm=class extends Le{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?k.resolve(this.context.cwd,j.toPortablePath(this.installPath)):k.resolve(j.toPortablePath((0,Hae.tmpdir)()),"yarnpkg-sources",Dn.makeHash(this.repository).slice(0,6));return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await ze.find(e,this.context.cwd),o=P.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=P.stringifyIdent(o),l=await yu(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new ct($.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await JN(this,{configuration:e,report:n,target:r}),await qN(c,this,{project:s,report:n,target:r})})).exitCode()}};bm.paths=[["plugin","import","from","sources"]],bm.usage=Re.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var jae=bm;async function qN(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo($.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await wm(_8e({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=k.resolve(s,`packages/${o}/bundles/${t}.js`),c=await K.readFilePromise(l);await WN(t,c,{project:i,report:n})}var Qm=class extends Le{constructor(){super(...arguments);this.name=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd);return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=P.parseIdent(s);if(!e.plugins.has(s))throw new Pe(`${P.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=k.resolve(r.cwd,a);K.existsSync(l)&&(n.reportInfo($.UNNAMED,`Removing ${ae.pretty(e,a,ae.Type.PATH)}...`),await K.removePromise(l)),n.reportInfo($.UNNAMED,"Updating the configuration..."),await ye.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:te(N({},c),{plugins:u})})})).exitCode()}};Qm.paths=[["plugin","remove"]],Qm.usage=Re.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var Gae=Qm;var vm=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};vm.paths=[["plugin","runtime"]],vm.usage=Re.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var Yae=vm;var Sm=class extends Le{constructor(){super(...arguments);this.idents=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(P.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new pi}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await Je.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};Sm.paths=[["rebuild"]],Sm.usage=Re.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var qae=Sm;var zN=ge(ts());Es();var km=class extends Le{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.patterns=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[Hr.REGULAR,Hr.DEVELOPMENT,Hr.PEER],a=[],l=!1,c=[];for(let h of this.patterns){let p=!1,m=P.parseIdent(h);for(let y of s){let Q=[...y.manifest.peerDependenciesMeta.keys()];for(let S of(0,zN.default)(Q,h))y.manifest.peerDependenciesMeta.delete(S),l=!0,p=!0;for(let S of o){let x=y.manifest.getForScope(S),M=[...x.values()].map(Y=>P.stringifyIdent(Y));for(let Y of(0,zN.default)(M,P.stringifyIdent(m))){let{identHash:U}=P.parseIdent(Y),J=x.get(U);if(typeof J=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");y.manifest[S].delete(U),c.push([y,S,J]),l=!0,p=!0}}}p||a.push(h)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",f=this.all?"any":"this";if(a.length>0)throw new Pe(`${u} ${ae.prettyList(e,a,Di.CODE)} ${g} match any packages referenced by ${f} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await Je.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};km.paths=[["remove"]],km.usage=Re.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Jae=km;var Wae=ge(require("util")),ab=class extends Le{async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);return(await Je.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=Se.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,Wae.inspect)(g,l)}`)})).exitCode()}};ab.paths=[["run"]];var zae=ab;var xm=class extends Le{constructor(){super(...arguments);this.inspect=z.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=z.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=z.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=z.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=z.Boolean("--silent",{hidden:!0});this.scriptName=z.String();this.args=z.Proxy()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await ze.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Zt.hasPackageScript(s,this.scriptName,{project:r}))return await Zt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Zt.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await Zt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await Zt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new Pe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new Pe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new Pe("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of Nf)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new Pe(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new Pe(`Couldn't find a script named "${this.scriptName}".`)}}};xm.paths=[["run"]],xm.usage=Re.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var _ae=xm;var Pm=class extends Le{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=z.String();this.resolution=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new ht(r.cwd,this.context.cwd);let s=P.parseDescriptor(this.descriptor,!0),o=P.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Pm.paths=[["set","resolution"]],Pm.usage=Re.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Vae=Pm;var Xae=ge(ts()),Dm=class extends Le{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);let s=r.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=k.resolve(this.context.cwd,j.toPortablePath(l));if(Se.isPathLike(l)){let u=await ye.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:f}=await ze.find(u,c);if(!f)throw new ht(g.cwd,c);if(this.all){for(let h of g.workspaces)h.manifest.name&&o.add(P.stringifyIdent(h.locator));if(o.size===0)throw new Pe("No workspace found to be unlinked in the target project")}else{if(!f.manifest.name)throw new Pe("The target workspace doesn't have a name and thus cannot be unlinked");o.add(P.stringifyIdent(f.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,Xae.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Dm.paths=[["unlink"]],Dm.usage=Re.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var Zae=Dm;var $ae=ge($C()),_N=ge(ts());Es();var eh=class extends Le{constructor(){super(...arguments);this.interactive=z.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.patterns=z.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>P.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(P.parseDescriptor(u).range!=="unknown")throw new Pe("Ranges aren't allowed when using --recursive");for(let g of(0,_N.default)(o,u)){let f=P.parseIdent(g);a.add(f.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await Je.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var m;let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=em(this,r),a=s?[_r.KEEP,_r.REUSE,_r.PROJECT,_r.LATEST]:[_r.PROJECT,_r.LATEST],l=[],c=[];for(let y of this.patterns){let Q=!1,S=P.parseDescriptor(y);for(let x of r.workspaces)for(let M of[Hr.REGULAR,Hr.DEVELOPMENT]){let U=[...x.manifest.getForScope(M).values()].map(J=>P.stringifyIdent(J));for(let J of(0,_N.default)(U,P.stringifyIdent(S))){let W=P.parseIdent(J),ee=x.manifest[M].get(W.identHash);if(typeof ee=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let Z=P.makeDescriptor(W,S.range);l.push(Promise.resolve().then(async()=>[x,M,ee,await tm(Z,{project:r,workspace:x,cache:n,target:M,modifier:o,strategies:a})])),Q=!0}}Q||c.push(y)}if(c.length>1)throw new Pe(`Patterns ${ae.prettyList(e,c,Di.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new Pe(`Pattern ${ae.prettyList(e,c,Di.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await uA.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async y=>{for(let[,,Q,{suggestions:S,rejections:x}]of u){let M=S.filter(Y=>Y.descriptor!==null);if(M.length===0){let[Y]=x;if(typeof Y=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let U=this.cli.error(Y);r.configuration.get("enableNetwork")?y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,Q)} can't be resolved to a satisfying range + +${U}`):y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,Q)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${U}`)}else M.length>1&&!s&&y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,Q)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[];for(let[y,Q,,{suggestions:S}]of u){let x,M=S.filter(W=>W.descriptor!==null),Y=M[0].descriptor,U=M.every(W=>P.areDescriptorsEqual(W.descriptor,Y));M.length===1||U?x=Y:(f=!0,{answer:x}=await(0,$ae.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${P.prettyWorkspace(e,y)} \u276F ${Q}?`,choices:S.map(({descriptor:W,name:ee,reason:Z})=>W?{name:ee,hint:Z,descriptor:W}:{name:ee,hint:Z,disabled:!0}),onCancel:()=>process.exit(130),result(W){return this.find(W,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let J=y.manifest[Q].get(x.identHash);if(typeof J=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(J.descriptorHash!==x.descriptorHash)y.manifest[Q].set(x.identHash,x),h.push([y,Q,J,x]);else{let W=e.makeResolver(),ee={project:r,resolver:W},Z=W.bindDescriptor(J,y.anchoredLocator,ee);r.forgetResolution(Z)}}return await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyReplacement,h),f&&this.context.stdout.write(` +`),(await Je.start({configuration:e,stdout:this.context.stdout},async y=>{await r.install({cache:n,report:y,mode:this.mode})})).exitCode()}};eh.paths=[["up"]],eh.usage=Re.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),eh.schema=[lv("recursive",Cc.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var eAe=eh;var Rm=class extends Le{constructor(){super(...arguments);this.recursive=z.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=z.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let n=P.parseIdent(this.package).identHash,s=this.recursive?X8e(r,n,{configuration:e,peers:this.peers}):V8e(r,n,{configuration:e,peers:this.peers});as.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};Rm.paths=[["why"]],Rm.usage=Re.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var tAe=Rm;function V8e(t,e,{configuration:r,peers:i}){let n=Se.sortMap(t.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=t.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;if(c===null){let p=P.stringifyLocator(a);s[p]={value:[a,ae.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ae.Type.DEPENDENT]}}}return o}function X8e(t,e,{configuration:r,peers:i}){let n=Se.sortMap(t.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let m=t.storedResolutions.get(p.descriptorHash);if(!m)throw new Error("Assertion failed: The resolution should have been registered");let y=t.storedPackages.get(m);if(!y)throw new Error("Assertion failed: The package should have been registered");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let m=p!==null?ae.tuple(ae.Type.DEPENDENT,{locator:f,descriptor:p}):ae.tuple(ae.Type.LOCATOR,f),y={},Q={value:m,children:y},S=P.stringifyLocator(f);if(h[S]=Q,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(f))))for(let x of f.dependencies.values()){if(!i&&f.peerDependencies.has(x.identHash))continue;let M=t.storedResolutions.get(x.descriptorHash);if(!M)throw new Error("Assertion failed: The resolution should have been registered");let Y=t.storedPackages.get(M);if(!Y)throw new Error("Assertion failed: The package should have been registered");g(Y,y,x)}};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var aL={};ft(aL,{default:()=>mze,gitUtils:()=>wu});var wu={};ft(wu,{TreeishProtocols:()=>On,clone:()=>nL,fetchBase:()=>wAe,fetchChangedFiles:()=>BAe,fetchChangedWorkspaces:()=>dze,fetchRoot:()=>yAe,isGitUrl:()=>rh,lsRemote:()=>IAe,normalizeLocator:()=>tL,normalizeRepoUrl:()=>Fm,resolveUrl:()=>iL,splitRepoUrl:()=>Nm});var $N=ge(dAe()),CAe=ge(tB()),th=ge(require("querystring")),eL=ge(ti()),mAe=ge(require("url"));function EAe(){return te(N({},process.env),{GIT_SSH_COMMAND:"ssh -o BatchMode=yes"})}var pze=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],On;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(On||(On={}));function rh(t){return t?pze.some(e=>!!t.match(e)):!1}function Nm(t){t=Fm(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:On.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=th.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(On).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=On.Head,a="HEAD");for(let l of Object.values(On))delete n[l];return{repo:r,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:r,treeish:{protocol:s,request:o},extra:{}}}}function Fm(t,{git:e=!1}={}){var r;if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){t=t.replace(/^git\+([^:]+):/,"$1:");let i;try{i=mAe.default.parse(t)}catch{i=null}i&&i.protocol==="ssh:"&&((r=i.path)==null?void 0:r.startsWith("/:"))&&(t=t.replace(/^ssh:\/\//,""))}return t}function tL(t){return P.makeLocator(t,Fm(t.reference))}async function IAe(t,e){let r=Fm(t,{git:!0});if(!ir.getNetworkSettings(`https://${(0,$N.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n=await rL("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:EAe()},{configuration:e,normalizedRepoUrl:r}),s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function iL(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=Nm(t),o=await IAe(r,e),a=(c,u)=>{switch(c){case On.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return th.default.stringify(te(N({},s),{commit:u}))}case On.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return th.default.stringify(te(N({},s),{commit:g}))}case On.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return th.default.stringify(te(N({},s),{commit:g}))}case On.Semver:{let g=Wt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,m])=>[eL.default.parse(p.slice(10)),m]).filter(p=>p[0]!==null)),h=eL.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return th.default.stringify(te(N({},s),{commit:f.get(h)}))}case null:{let g;if((g=l(On.Commit,u))!==null||(g=l(On.Tag,u))!==null||(g=l(On.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${r}#${a(i,n)}`}async function nL(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=Nm(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=Fm(r,{git:!0});if(ir.getNetworkSettings(`https://${(0,$N.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await K.mktempPromise(),a={cwd:o,env:EAe()};return await rL("cloning the repository",["clone","-c core.autocrlf=false",s,j.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await rL("switching branch",["checkout",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function yAe(t){let e=null,r,i=t;do r=i,await K.existsPromise(k.join(r,".git"))&&(e=r),i=k.dirname(r);while(e===null&&i!==r);return e}async function wAe(t,{baseRefs:e}){if(e.length===0)throw new Pe("Can't run this command with zero base refs specified.");let r=[];for(let a of e){let{code:l}=await Fr.execvp("git",["merge-base",a,"HEAD"],{cwd:t});l===0&&r.push(a)}if(r.length===0)throw new Pe(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await Fr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),n=i.trim(),{stdout:s}=await Fr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:t,strict:!0}),o=s.trim();return{hash:n,title:o}}async function BAe(t,{base:e,project:r}){let i=Se.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:n}=await Fr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>k.resolve(t,j.toPortablePath(c))),{stdout:o}=await Fr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>k.resolve(t,j.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!k.relative(r.cwd,c).match(i)):l}async function dze({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new Pe("This command can only be run from within a Yarn project");let r=[k.resolve(e.cwd,e.configuration.get("cacheFolder")),k.resolve(e.cwd,e.configuration.get("installStatePath")),k.resolve(e.cwd,e.configuration.get("lockfileFilename")),k.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&r.push(o)});let i=await yAe(e.configuration.projectCwd);if(i==null)throw new Pe("This command can only be run on Git repositories");let n=await wAe(i,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),s=await BAe(i,{base:n.hash,project:e});return new Set(Se.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?Se.mapAndFilter.skip:r.some(l=>o.startsWith(l))?Se.mapAndFilter.skip:a}))}async function rL(t,e,r,{configuration:i,normalizedRepoUrl:n}){try{return await Fr.execvp("git",e,te(N({},r),{strict:!0}))}catch(s){if(!(s instanceof Fr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new ct($.EXCEPTION,`Failed ${t}`,l=>{l.reportError($.EXCEPTION,` ${ae.prettyField(i,{label:"Repository URL",value:ae.tuple(ae.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u==="error"?"Error":`${(0,CAe.default)(u)} Error`;l.reportError($.EXCEPTION,` ${ae.prettyField(i,{label:f,value:ae.tuple(ae.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var sL=class{supports(e,r){return rh(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=tL(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o=te(N({},r),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,r){return r.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let i=await nL(e.reference,r.project.configuration),n=Nm(e.reference),s=k.join(i,"package.tgz");await Zt.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await K.readFilePromise(s);return await Se.releaseAfterUseAsync(async()=>await wi.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var oL=class{supportsDescriptor(e,r){return rh(e.range)}supportsLocator(e,r){return rh(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=await iL(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Cze={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:Ie.STRING,isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:Ie.STRING,default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:Ie.NUMBER,default:2}},fetchers:[sL],resolvers:[oL]};var mze=Cze;var Lm=class extends Le{constructor(){super(...arguments);this.since=z.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.verbose=z.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{let s=this.since?await wu.fetchChangedWorkspaces({ref:this.since,project:r}):r.workspaces,o=new Set(s);if(this.recursive)for(let a of[...s].map(l=>l.getRecursiveWorkspaceDependents()))for(let l of a)o.add(l);for(let a of o){let{manifest:l}=a,c;if(this.verbose){let u=new Set,g=new Set;for(let f of At.hardDependencies)for(let[h,p]of l.getForScope(f)){let m=r.tryWorkspaceByDescriptor(p);m===null?r.workspacesByIdent.has(h)&&g.add(p):u.add(m)}c={workspaceDependencies:Array.from(u).map(f=>f.relativeCwd),mismatchedWorkspaceDependencies:Array.from(g).map(f=>P.stringifyDescriptor(f))}}n.reportInfo(null,`${a.relativeCwd}`),n.reportJson(N({location:a.relativeCwd,name:l.name?P.stringifyIdent(l.name):null},c))}})).exitCode()}};Lm.paths=[["workspaces","list"]],Lm.usage=Re.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var bAe=Lm;var Tm=class extends Le{constructor(){super(...arguments);this.workspaceName=z.String();this.commandName=z.String();this.args=z.Proxy()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=P.convertToIdent(a.locator);return[P.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new Pe(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${a.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};Tm.paths=[["workspace"]],Tm.usage=Re.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var QAe=Tm;var Eze={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:Ie.BOOLEAN,default:vAe.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:Ie.STRING,values:["^","~",""],default:ga.CARET}},commands:[Tse,Mse,$oe,uae,Vae,Tae,bae,bAe,Cae,mae,Eae,Iae,Nse,Lse,gae,hae,yae,wae,vae,kae,xae,Dae,Zae,Rae,jae,Kae,Gae,Fae,Yae,qae,Jae,zae,_ae,eAe,tAe,QAe]},Ize=Eze;var gL={};ft(gL,{default:()=>wze});var Ye={optional:!0},SAe=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Ye,zenObservable:Ye}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Ye,zenObservable:Ye}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Ye}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Ye,["postcss-jsx"]:Ye,["postcss-less"]:Ye,["postcss-markdown"]:Ye,["postcss-scss"]:Ye}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Ye}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Ye}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Ye,"vue-template-compiler":Ye}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Ye,"utf-8-validate":Ye}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Ye,"vuetify-loader":Ye}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Ye}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Ye}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Ye}}],["consolidate@*",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Ye,tinyliquid:Ye,"liquid-node":Ye,jade:Ye,"then-jade":Ye,dust:Ye,"dustjs-helpers":Ye,"dustjs-linkedin":Ye,swig:Ye,"swig-templates":Ye,"razor-tmpl":Ye,atpl:Ye,liquor:Ye,twig:Ye,ejs:Ye,eco:Ye,jazz:Ye,jqtpl:Ye,hamljs:Ye,hamlet:Ye,whiskers:Ye,"haml-coffee":Ye,"hogan.js":Ye,templayed:Ye,handlebars:Ye,underscore:Ye,lodash:Ye,pug:Ye,"then-pug":Ye,qejs:Ye,walrus:Ye,mustache:Ye,just:Ye,ect:Ye,mote:Ye,toffee:Ye,dot:Ye,"bracket-template":Ye,ractive:Ye,nunjucks:Ye,htmling:Ye,"babel-core":Ye,plates:Ye,"react-dom":Ye,react:Ye,"arc-templates":Ye,vash:Ye,slm:Ye,marko:Ye,teacup:Ye,"coffee-script":Ye,squirrelly:Ye,twing:Ye}}],["vue-loader@<=16.3.1",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"}}],["scss-parser@*",{dependencies:{lodash:"^4.17.21"}}],["query-ast@*",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Ye}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Ye}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Ye,"webpack-command":Ye}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Ye}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Ye}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Ye,jimp:Ye}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Ye,"eslint-import-resolver-typescript":Ye,"eslint-import-resolver-webpack":Ye,"@typescript-eslint/parser":Ye}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Ye}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Ye}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Ye}}],["@vue/eslint-config-typescript@*",{peerDependenciesMeta:{typescript:Ye}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}]];var lL;function kAe(){return typeof lL=="undefined"&&(lL=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),lL}var cL;function xAe(){return typeof cL=="undefined"&&(cL=require("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),cL}var uL;function PAe(){return typeof uL=="undefined"&&(uL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),uL}var DAe=new Map([[P.makeIdent(null,"fsevents").identHash,kAe],[P.makeIdent(null,"resolve").identHash,xAe],[P.makeIdent(null,"typescript").identHash,PAe]]),yze={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of SAe)e(P.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=P.parseIdent(e.slice(r.length)),n=(s=DAe.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof DAe.get(t.identHash)=="undefined"?t:P.makeDescriptor(t,P.makeRange({protocol:"patch:",source:P.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},wze=yze;var fL={};ft(fL,{default:()=>bze});var Ab=class extends Le{constructor(){super(...arguments);this.pkg=z.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=P.parseIdent(this.command),i=P.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,P.stringifyIdent(i),...this.args])}};Ab.paths=[["create"]];var RAe=Ab;var Om=class extends Le{constructor(){super(...arguments);this.packages=z.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){return ye.telemetry=null,await K.mktempPromise(async e=>{var p;let r=k.join(e,`dlx-${process.pid}`);await K.mkdirPromise(r),await K.writeFilePromise(k.join(r,"package.json"),`{} +`),await K.writeFilePromise(k.join(r,"yarn.lock"),"");let i=k.join(r,".yarnrc.yml"),n=await ye.findProjectCwd(this.context.cwd,Pt.lockfile),s=!(await ye.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?k.join(n,".yarnrc.yml"):null;o!==null&&K.existsSync(o)?(await K.copyFilePromise(o,i),await ye.updateConfiguration(r,m=>{let y=te(N({},m),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(m.plugins)&&(y.plugins=m.plugins.map(Q=>{let S=typeof Q=="string"?Q:Q.path,x=j.isAbsolute(S)?S:j.resolve(j.fromPortablePath(n),S);return typeof Q=="string"?x:{path:x,spec:Q.spec}})),y})):await K.writeFilePromise(i,`enableGlobalCache: ${s} +enableTelemetry: false +`);let a=(p=this.packages)!=null?p:[this.command],l=P.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` +`);let u=await ye.find(r,this.context.plugins),{project:g,workspace:f}=await ze.find(u,r);if(f===null)throw new ht(g.cwd,r);await g.restoreInstallState();let h=await Zt.getWorkspaceAccessibleBinaries(f);return h.has(l)===!1&&h.size===1&&typeof this.packages=="undefined"&&(l=Array.from(h)[0][0]),await Zt.executeWorkspaceAccessibleBinary(f,l,this.args,{packageAccessibleBinaries:h,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Om.paths=[["dlx"]],Om.usage=Re.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var FAe=Om;var Bze={commands:[RAe,FAe]},bze=Bze;var wL={};ft(wL,{default:()=>Sze,fileUtils:()=>hL});var ih=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Mm=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Vr="file:";var hL={};ft(hL,{makeArchiveFromLocator:()=>lb,makeBufferFromLocator:()=>CL,makeLocator:()=>dL,makeSpec:()=>NAe,parseSpec:()=>pL});function pL(t){let{params:e,selector:r}=P.parseRange(t),i=j.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?P.parseLocator(e.locator):null,path:i}}function NAe({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:P.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return P.makeRange({protocol:i,source:e,selector:e,params:N(N({},s),n)})}function dL(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return P.makeLocator(t,NAe({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function lb(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(t.reference,{protocol:e}),o=k.isAbsolute(s)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=k.join(a.prefixPath,s);return await Se.releaseAfterUseAsync(async()=>await wi.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function CL(t,{protocol:e,fetchOptions:r}){return(await lb(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var mL=class{supports(e,r){return!!e.reference.startsWith(Vr)}getLocalPath(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:Vr});if(k.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:k.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return lb(e,{protocol:Vr,fetchOptions:r})}};var Qze=2,EL=class{supportsDescriptor(e,r){return e.range.match(ih)?!0:!!e.range.startsWith(Vr)}supportsLocator(e,r){return!!e.reference.startsWith(Vr)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return ih.test(e.range)&&(e=P.makeDescriptor(e,`${Vr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=pL(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await CL(P.makeLocator(e,P.makeRange({protocol:Vr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:Vr,fetchOptions:i.fetchOptions}),a=Dn.makeHash(`${Qze}`,o).slice(0,6);return[dL(e,{parentLocator:s,path:n,folderHash:a,protocol:Vr})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var IL=class{supports(e,r){return Mm.test(e.reference)?!!e.reference.startsWith(Vr):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:Vr}),s=k.isAbsolute(n)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=k.join(o.prefixPath,n),c=await a.readFilePromise(l);return await Se.releaseAfterUseAsync(async()=>await wi.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var yL=class{supportsDescriptor(e,r){return Mm.test(e.range)?!!(e.range.startsWith(Vr)||ih.test(e.range)):!1}supportsLocator(e,r){return Mm.test(e.reference)?!!e.reference.startsWith(Vr):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return ih.test(e.range)&&(e=P.makeDescriptor(e,`${Vr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(Vr)&&(n=n.slice(Vr.length)),[P.makeLocator(e,`${Vr}${j.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var vze={fetchers:[IL,mL],resolvers:[yL,EL]},Sze=vze;var bL={};ft(bL,{default:()=>Pze});var LAe=ge(require("querystring")),TAe=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function OAe(t){return t?TAe.some(e=>!!t.match(e)):!1}function MAe(t){let e;for(let a of TAe)if(e=t.match(a),e)break;if(!e)throw new Error(kze(t));let[,r,i,n,s="master"]=e,{commit:o}=LAe.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function kze(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var BL=class{supports(e,r){return!!OAe(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await ir.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await K.mktempPromise(async n=>{let s=new _t(n);await wi.extractArchiveTo(i,s,{stripComponents:1});let o=wu.splitRepoUrl(e.reference),a=k.join(n,"package.tgz");await Zt.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await K.readFilePromise(a);return await wi.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=MAe(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var xze={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new BL;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},Pze=xze;var SL={};ft(SL,{default:()=>Rze});var Um=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,Km=/^https?:/;var QL=class{supports(e,r){return Um.test(e.reference)?!!Km.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await ir.get(e.reference,{configuration:r.project.configuration});return await wi.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var vL=class{supportsDescriptor(e,r){return Um.test(e.range)?!!Km.test(e.range):!1}supportsLocator(e,r){return Um.test(e.reference)?!!Km.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Dze={fetchers:[QL],resolvers:[vL]},Rze=Dze;var DL={};ft(DL,{default:()=>F4e});var ule=ge(cle()),PL=ge(require("util")),Hm=class extends Le{constructor(){super(...arguments);this.private=z.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=z.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=z.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=z.Boolean("-2",!1,{hidden:!0});this.yes=z.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=z.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return r!==null?await this.executeProxy(e,r):await this.executeRegular(e)}async executeProxy(e,r){if(e.projectCwd!==null&&e.projectCwd!==this.context.cwd)throw new Pe("Cannot use the --install flag from within a project subdirectory");K.existsSync(this.context.cwd)||await K.mkdirPromise(this.context.cwd,{recursive:!0});let i=k.join(this.context.cwd,e.get("lockfileFilename"));K.existsSync(i)||await K.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r],{quiet:!0});if(n!==0)return n;let s=[];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await K.mktempPromise(async o=>{let{code:a}=await Fr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Zt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let r=null;try{r=(await ze.find(e,this.context.cwd)).project}catch{r=null}K.existsSync(this.context.cwd)||await K.mkdirPromise(this.context.cwd,{recursive:!0});let i=await At.tryFind(this.context.cwd)||new At,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=(l=i.name)!=null?l:P.makeIdent(e.get("initScope"),k.basename(this.context.cwd)),i.packageManager=Ur&&Se.isTaggedYarnVersion(Ur)?`yarn@${Ur}`:null,typeof i.raw.private=="undefined"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await K.mkdirPromise(k.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),PL.inspect.styles.name="cyan",this.context.stdout.write(`${(0,PL.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} +`);let o=k.join(this.context.cwd,At.fileName);await K.changeFilePromise(o,`${JSON.stringify(s,null,2)} +`,{automaticNewlines:!0});let a=k.join(this.context.cwd,"README.md");if(K.existsSync(a)||await K.writeFilePromise(a,`# ${P.stringifyIdent(i.name)} +`),!r||r.cwd===this.context.cwd){let c=k.join(this.context.cwd,Pt.lockfile);K.existsSync(c)||await K.writeFilePromise(c,"");let g=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!.yarn/cache","#.pnp.*"].map(y=>`${y} +`).join(""),f=k.join(this.context.cwd,".gitignore");K.existsSync(f)||await K.writeFilePromise(f,g);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,ule.default)(h,e.get("initEditorConfig"));let p=`root = true +`;for(let[y,Q]of Object.entries(h)){p+=` +[${y}] +`;for(let[S,x]of Object.entries(Q))p+=`${S.replace(/[A-Z]/g,Y=>`_${Y.toLowerCase()}`)} = ${x} +`}let m=k.join(this.context.cwd,".editorconfig");K.existsSync(m)||await K.writeFilePromise(m,p),K.existsSync(k.join(this.context.cwd,".git"))||await Fr.execvp("git",["init"],{cwd:this.context.cwd})}}};Hm.paths=[["init"]],Hm.usage=Re.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var gle=Hm;var R4e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:Ie.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:Ie.MAP,valueDefinition:{description:"",type:Ie.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:Ie.MAP,valueDefinition:{description:"",type:Ie.ANY}}},commands:[gle]},F4e=R4e;var TL={};ft(TL,{default:()=>L4e});var mA="portal:",EA="link:";var RL=class{supports(e,r){return!!e.reference.startsWith(mA)}getLocalPath(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:mA});if(k.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:k.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:mA}),s=k.isAbsolute(n)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=k.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new _t(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,localPath:l}:{packageFs:new Da(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot}}};var FL=class{supportsDescriptor(e,r){return!!e.range.startsWith(mA)}supportsLocator(e,r){return!!e.reference.startsWith(mA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(mA.length);return[P.makeLocator(e,`${mA}${j.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.SOFT,conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var NL=class{supports(e,r){return!!e.reference.startsWith(EA)}getLocalPath(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:EA});if(k.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:k.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:EA}),s=k.isAbsolute(n)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=k.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new _t(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0,localPath:l}:{packageFs:new Da(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0}}};var LL=class{supportsDescriptor(e,r){return!!e.range.startsWith(EA)}supportsLocator(e,r){return!!e.reference.startsWith(EA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(EA.length);return[P.makeLocator(e,`${EA}${j.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return te(N({},e),{version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:Qt.SOFT,conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var N4e={fetchers:[NL,RL],resolvers:[LL,FL]},L4e=N4e;var gT={};ft(gT,{default:()=>Y_e});var ls;(function(i){i[i.REGULAR=0]="REGULAR",i[i.WORKSPACE=1]="WORKSPACE",i[i.EXTERNAL_SOFT_LINK=2]="EXTERNAL_SOFT_LINK"})(ls||(ls={}));var IA;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(IA||(IA={}));var OL=(t,e)=>`${t}@${e}`,fle=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return OL(t,i)},Eo;(function(s){s[s.NONE=-1]="NONE",s[s.PERF=0]="PERF",s[s.CHECK=1]="CHECK",s[s.REASONS=2]="REASONS",s[s.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(Eo||(Eo={}));var ple=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||r>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:r,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=T4e(t,s),l=!1,c=0;do l=ML(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=jm(a);if(ML(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${u}, next tree: +${jm(a)}`);let f=hle(a);if(f)throw new Error(`${f}, after hoisting finished: +${jm(a)}`)}return s.debugLevel>=2&&console.log(jm(a)),O4e(a)},M4e=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},U4e=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of t)u=g.dependencies.get(c.name),u&&r.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),r},dle=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:m}=e,y={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(m)},Q=y.dependencies.get(r);return Q&&Q.ident==y.ident&&y.dependencies.set(r,y),t.dependencies.set(y.name,y),y},K4e=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},UL=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},ML=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=j4e(o),l=K4e(o,a),c=t==o?new Map:n.fastLookupPossible?M4e(e):U4e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([m,y])=>[m,y[0]])),p=new Map;do{let m=H4e(t,e,r,c,h,l,i,p,n);m.isGraphChanged&&(f=!0),m.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,Q]of l)Q.length>1&&!o.dependencies.has(y)&&(h.delete(y),Q.shift(),h.set(y,Q[0]),u=!0)}while(u);for(let m of o.dependencies.values())if(!o.peerNames.has(m.name)&&!r.has(m.locator)){r.add(m.locator);let y=ML(t,[...e,m],r,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),r.delete(m.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},G4e=(t,e,r,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>Ni(y)).join("\u2192")}`);let h=r[r.length-1],m=!(i.ident===h.ident);if(l&&!m&&(g="- self-reference"),m&&(m=i.dependencyKind!==1,l&&!m&&(g="- workspace")),m&&(m=i.dependencyKind!==2||i.dependencies.size===0,l&&!m&&(g="- external soft link with unhoisted dependencies")),m&&(m=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!m&&(g=h.reasons.get(i.name))),m&&(m=!t.peerNames.has(i.name),l&&!m&&(g=`- cannot shadow peer: ${Ni(t.originalDependencies.get(i.name).locator)} at ${u}`)),m){let y=!1,Q=n.get(i.name);if(y=!Q||Q.ident===i.ident,l&&!y&&(g=`- filled by: ${Ni(Q.locator)} at ${u}`),y)for(let S=r.length-1;S>=1;S--){let M=r[S].dependencies.get(i.name);if(M&&M.ident!==i.ident){y=!1;let Y=a.get(h);Y||(Y=new Set,a.set(h,Y)),Y.add(i.name),l&&(g=`- filled by ${Ni(M.locator)} at ${r.slice(0,S).map(U=>Ni(U.locator)).join("\u2192")}`);break}}m=y}if(m&&(m=s.get(i.name)===i.ident,l&&!m&&(g=`- filled by: ${Ni(o.get(i.name)[0])} at ${u}`)),m){let y=!0,Q=new Set(i.peerNames);for(let S=r.length-1;S>=1;S--){let x=r[S];for(let M of Q){if(x.peerNames.has(M)&&x.originalDependencies.has(M))continue;let Y=x.dependencies.get(M);Y&&t.dependencies.get(M)!==Y&&(S===r.length-1?f.add(Y):(f=null,y=!1,l&&(g=`- peer dependency ${Ni(Y.locator)} from parent ${Ni(x.locator)} was not hoisted to ${u}`))),Q.delete(M)}if(!y)break}m=y}if(m&&!c)for(let y of i.hoistedDependencies.values()){let Q=n.get(y.name);if(!Q||y.ident!==Q.ident){m=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${Ni(y.locator)}, available: ${Ni(Q==null?void 0:Q.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:m?0:1,reason:g}},H4e=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(y,Q,S,x)=>{if(u.has(S))return;let M=[...Q,S.locator],Y=new Map,U=new Map;for(let Z of UL(S)){let A=G4e(c,r,[c,...y,S],Z,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(U.set(Z,A),A.isHoistable===2)for(let ne of A.dependsOn){let le=Y.get(ne.name)||new Set;le.add(Z.name),Y.set(ne.name,le)}}let J=new Set,W=(Z,A,ne)=>{if(!J.has(Z)){J.add(Z),U.set(Z,{isHoistable:1,reason:ne});for(let le of Y.get(Z.name)||[])W(S.dependencies.get(le),A,l.debugLevel>=2?`- peer dependency ${Ni(Z.locator)} from parent ${Ni(S.locator)} was not hoisted`:"")}};for(let[Z,A]of U)A.isHoistable===1&&W(Z,A,A.reason);for(let Z of U.keys())if(!J.has(Z)){f=!0;let A=o.get(S);A&&A.has(Z.name)&&(g=!0),S.dependencies.delete(Z.name),S.hoistedDependencies.set(Z.name,Z),S.reasons.delete(Z.name);let ne=c.dependencies.get(Z.name);if(l.debugLevel>=2){let le=Array.from(Q).concat([S.locator]).map(T=>Ni(T)).join("\u2192"),Ae=c.hoistedFrom.get(Z.name);Ae||(Ae=[],c.hoistedFrom.set(Z.name,Ae)),Ae.push(le),S.hoistedTo.set(Z.name,Array.from(e).map(T=>Ni(T.locator)).join("\u2192"))}if(!ne)c.ident!==Z.ident&&(c.dependencies.set(Z.name,Z),x.add(Z));else for(let le of Z.references)ne.references.add(le)}if(l.check){let Z=hle(t);if(Z)throw new Error(`${Z}, after hoisting dependencies of ${[c,...y,S].map(A=>Ni(A.locator)).join("\u2192")}: +${jm(t)}`)}let ee=UL(S);for(let Z of ee)if(J.has(Z)){let A=U.get(Z);if((n.get(Z.name)===Z.ident||!S.reasons.has(Z.name))&&A.isHoistable!==0&&S.reasons.set(Z.name,A.reason),!Z.isHoistBorder&&M.indexOf(Z.locator)<0){u.add(S);let le=dle(S,Z);h([...y,S],[...Q,S.locator],le,m),u.delete(S)}}},p,m=new Set(UL(c));do{p=m,m=new Set;for(let y of p){if(y.locator===c.locator||y.isHoistBorder)continue;let Q=dle(c,y);h([],Array.from(r),Q,m)}}while(m.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},hle=t=>{let e=[],r=new Set,i=new Set,n=(s,o,a)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>Ni(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,m=`${h?` hoisted to ${h}`:""}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${m}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${m} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(t,t.dependencies,t),e.join(` +`)},T4e=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:OL(r,n),ident:fle(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:m,peerNames:y,hoistPriority:Q,dependencyKind:S}=c,x=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([m]),locator:OL(p,m),ident:fle(p,m),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:x?x.has(h):!1,hoistPriority:Q||0,dependencyKind:S||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=m=>{if(!h.has(m)){h.add(m),m.decoupled=!1;for(let y of m.dependencies.values())m.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of t.dependencies)l(c,o);return o},KL=t=>t.substring(0,t.indexOf("@",1)),O4e=t=>{let e={name:t.name,identName:KL(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:KL(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},j4e=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},Ni=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},Cle=5e4,jm=t=>{let e=0,r=(n,s,o="")=>{if(e>Cle||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+Ni(u.locator)+(g?` ${g}`:"")+(u!==n&&h.length>0?`, hoisted from: ${h.join(", ")}`:"")} +`,l+=r(u,s,`${o}${cCle?` +Tree is too large, part of the tree has been dunped +`:"")};var Io;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Io||(Io={}));var Mn;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Mn||(Mn={}));var mle="node_modules",Bu="$wsroot$";var Gm=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=Y4e(t,e),o=null;if(n.length===0){let a=ple(r,{hoistingLimits:i});o=q4e(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},fa=t=>`${t.name}@${t.reference}`,HL=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(k.delimiter).length,o=n.split(k.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},Ele=(t,e)=>{let r=P.isVirtualLocator(t)?P.devirtualizeLocator(t):t,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(r,i)},jL=(t,e,r,i)=>{if(t.linkType!==Io.SOFT)return!1;let n=j.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return k.contains(i,n)===null},J4e=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=j.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=t.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=fa(f);if(l.has(p))return;l.add(p);let m=t.getPackageInformation(f);if(m){let y=h?fa(h):"";if(fa(f)!==y&&m.linkType===Io.SOFT&&!jL(m,f,t,i)){let Q=Ile(m,f,t);(!a.get(Q)||f.reference.startsWith("workspace:"))&&a.set(Q,f)}for(let[Q,S]of m.packageDependencies)S!==null&&(m.packagePeers.has(Q)||c(t.getLocator(Q,S),f))}};for(let f of o)c(f,null);let u=i.split(k.sep);for(let f of a.values()){let h=t.getPackageInformation(f),m=j.toPortablePath(h.packageLocation.slice(0,-1)).split(k.sep).slice(u.length),y=s;for(let Q of m){let S=y.children.get(Q);S||(S={children:new Map},y.children.set(Q,S)),y=S}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=fa(h),m=n.get(p);m||(m=new Set,n.set(p,m)),m.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},Y4e=(t,e)=>{let r=[],i=!1,n=new Map,s=J4e(t),o=t.getPackageInformation(t.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=t.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=j.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:ls.WORKSPACE},u=new Map,g=(h,p)=>`${fa(p)}:${h}`,f=(h,p,m,y,Q,S,x,M)=>{var Ae,T;let Y=g(h,m),U=u.get(Y),J=!!U;!J&&m.name===a.name&&m.reference===a.reference&&(U=c,u.set(Y,c));let W=jL(p,m,t,l);if(!U){let L=ls.REGULAR;W?L=ls.EXTERNAL_SOFT_LINK:p.linkType===Io.SOFT&&m.name.endsWith(Bu)&&(L=ls.WORKSPACE),U={name:h,identName:m.name,reference:m.reference,dependencies:new Set,peerNames:L===ls.WORKSPACE?new Set:p.packagePeers,dependencyKind:L},u.set(Y,U)}let ee;if(W?ee=2:Q.linkType===Io.SOFT?ee=1:ee=0,U.hoistPriority=Math.max(U.hoistPriority||0,ee),M&&!W){let L=fa({name:y.identName,reference:y.reference}),Ee=n.get(L)||new Set;n.set(L,Ee),Ee.add(U.name)}let Z=new Map(p.packageDependencies);if(e.project){let L=e.project.workspacesByCwd.get(j.toPortablePath(p.packageLocation.slice(0,-1)));if(L){let Ee=new Set([...Array.from(L.manifest.peerDependencies.values(),we=>P.stringifyIdent(we)),...Array.from(L.manifest.peerDependenciesMeta.keys())]);for(let we of Ee)Z.has(we)||(Z.set(we,S.get(we)||null),U.peerNames.add(we))}}let A=fa({name:m.name.replace(Bu,""),reference:m.reference}),ne=s.get(A);if(ne)for(let L of ne)Z.set(`${L.name}${Bu}`,L.reference);(p!==Q||p.linkType!==Io.SOFT||!e.selfReferencesByCwd||e.selfReferencesByCwd.get(x))&&y.dependencies.add(U);let le=m!==a&&p.linkType===Io.SOFT&&!m.name.endsWith(Bu)&&!W;if(!J&&!le){let L=new Map;for(let[Ee,we]of Z)if(we!==null){let qe=t.getLocator(Ee,we),re=t.getLocator(Ee.replace(Bu,""),we),se=t.getPackageInformation(re);if(se===null)throw new Error("Assertion failed: Expected the package to have been registered");let Qe=jL(se,qe,t,l);if(e.validateExternalSoftLinks&&e.project&&Qe){se.packageDependencies.size>0&&(i=!0);for(let[ve,pe]of se.packageDependencies)if(pe!==null){let X=P.parseLocator(Array.isArray(pe)?`${pe[0]}@${pe[1]}`:`${ve}@${pe}`);if(fa(X)!==fa(qe)){let be=Z.get(ve);if(be){let ce=P.parseLocator(Array.isArray(be)?`${be[0]}@${be[1]}`:`${ve}@${be}`);Ele(ce,X)||r.push({messageName:$.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(qe.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${m.name}@${m.reference}`))} dependency ${P.prettyLocator(e.project.configuration,X)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,ce)}`})}else{let ce=L.get(ve);if(ce){let fe=ce.target,gt=P.parseLocator(Array.isArray(fe)?`${fe[0]}@${fe[1]}`:`${ve}@${fe}`);Ele(gt,X)||r.push({messageName:$.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(qe.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${m.name}@${m.reference}`))} dependency ${P.prettyLocator(e.project.configuration,X)} conflicts with dependency ${P.prettyLocator(e.project.configuration,gt)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(ce.portal.name))}`})}else L.set(ve,{target:X.reference,portal:qe})}}}}let he=(Ae=e.hoistingLimitsByCwd)==null?void 0:Ae.get(x),Fe=Qe?x:k.relative(l,j.toPortablePath(se.packageLocation))||Me.dot,Ue=(T=e.hoistingLimitsByCwd)==null?void 0:T.get(Fe),xe=he===Mn.DEPENDENCIES||Ue===Mn.DEPENDENCIES||Ue===Mn.WORKSPACES;f(Ee,se,qe,U,p,Z,Fe,xe)}}};return f(a.name,o,a,c,o,o.packageDependencies,Me.dot,!1),{packageTree:c,hoistingLimits:n,errors:r,preserveSymlinksRequired:i}};function Ile(t,e,r){let i=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return j.toPortablePath(i||t.packageLocation)}function W4e(t,e,r){let i=e.getLocator(t.name.replace(Bu,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return r.pnpifyFs?(o=j.toPortablePath(n.packageLocation),s=Io.SOFT):(o=Ile(n,t,e),s=n.linkType),{linkType:s,target:o}}var q4e=(t,e,r)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=W4e(u,t,r);return{locator:fa(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:qr(g),name:qr(f)}:{scope:null,name:qr(g)}},o=new Set,a=(u,g,f)=>{if(!o.has(u)){o.add(u);for(let h of u.dependencies){if(h===u)continue;let p=Array.from(h.references).sort(),m={name:h.identName,reference:p[0]},{name:y,scope:Q}=s(h.name),S=Q?[Q,y]:[y],x=k.join(g,mle),M=k.join(x,...S),Y=`${f}/${m.name}`,U=n(m,f,p.slice(1)),J=!1;if(U.linkType===Io.SOFT&&r.project){let W=r.project.workspacesByCwd.get(U.target.slice(0,-1));J=!!(W&&!W.manifest.name)}if(!h.name.endsWith(Bu)&&!J){let W=i.get(M);if(W){if(W.dirList)throw new Error(`Assertion failed: ${M} cannot merge dir node with leaf node`);{let ne=P.parseLocator(W.locator),le=P.parseLocator(U.locator);if(W.linkType!==U.linkType)throw new Error(`Assertion failed: ${M} cannot merge nodes with different link types ${W.nodePath}/${P.stringifyLocator(ne)} and ${f}/${P.stringifyLocator(le)}`);if(ne.identHash!==le.identHash)throw new Error(`Assertion failed: ${M} cannot merge nodes with different idents ${W.nodePath}/${P.stringifyLocator(ne)} and ${f}/s${P.stringifyLocator(le)}`);U.aliases=[...U.aliases,...W.aliases,P.parseLocator(W.locator).reference]}}i.set(M,U);let ee=M.split("/"),Z=ee.indexOf(mle),A=ee.length-1;for(;Z>=0&&A>Z;){let ne=j.toPortablePath(ee.slice(0,A).join(k.sep)),le=qr(ee[A]),Ae=i.get(ne);if(!Ae)i.set(ne,{dirList:new Set([le])});else if(Ae.dirList){if(Ae.dirList.has(le))break;Ae.dirList.add(le)}A--}}a(h,U.linkType===Io.SOFT?U.target:M,Y)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var eT={};ft(eT,{PnpInstaller:()=>sh,PnpLinker:()=>Qu,default:()=>m_e,getPnpPath:()=>Pl,jsInstallUtils:()=>wo,pnpUtils:()=>ZL,quotePathIfNeeded:()=>Jle});var Yle=ge(ti()),qle=ge(require("url"));var yle;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(yle||(yle={}));var er;(function(f){f.DEFAULT="DEFAULT",f.TOP_LEVEL="TOP_LEVEL",f.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",f.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",f.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",f.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",f.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",f.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",f.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",f.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",f.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",f.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(er||(er={}));var wle={[er.DEFAULT]:{collapsed:!1,next:{["*"]:er.DEFAULT}},[er.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:er.FALLBACK_EXCLUSION_LIST,packageRegistryData:er.PACKAGE_REGISTRY_DATA,["*"]:er.DEFAULT}},[er.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:er.FALLBACK_EXCLUSION_ENTRIES}},[er.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:er.FALLBACK_EXCLUSION_DATA}},[er.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:er.DEFAULT}},[er.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:er.PACKAGE_REGISTRY_ENTRIES}},[er.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:er.PACKAGE_STORE_DATA}},[er.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:er.PACKAGE_STORE_ENTRIES}},[er.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:er.PACKAGE_INFORMATION_DATA}},[er.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:er.PACKAGE_DEPENDENCIES,["*"]:er.DEFAULT}},[er.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:er.PACKAGE_DEPENDENCY}},[er.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:er.DEFAULT}}};function z4e(t,e,r){let i="";i+="[";for(let n=0,s=t.length;ns(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function Z4e(t){let e=new Map,r=Ym(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function $4e(t){return Ym(t.fallbackPool||[],([e])=>e)}function e_e(t){let e=[];for(let[r,i]of Ym(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of Ym(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,m]of Ym(a.entries(),([y])=>y))g.push([p,m]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function qm(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:Z4e(t),fallbackPool:$4e(t),packageRegistryData:e_e(t)}}var Sle=ge(vle());function kle(t,e){return[t?`${t} +`:"",`/* eslint-disable */ + +`,`try { +`,` Object.freeze({}).detectStrictMode = true; +`,`} catch (error) { +`," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n",`} +`,` +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,e.replace(/^/gm," "),`} +`,` +`,(0,Sle.default)()].join("")}function t_e(t){return JSON.stringify(t,null,2)}function r_e(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ +`)}'`}function i_e(t){return[`return hydrateRuntimeState(JSON.parse(${r_e(ble(t))}), {basePath: basePath || __dirname}); +`].join("")}function n_e(t){return[`var path = require('path'); +`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(t)}); +`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); +`].join("")}function xle(t){let e=qm(t),r=i_e(e);return kle(t.shebang,r)}function Ple(t){let e=qm(t),r=n_e(t.dataLocation),i=kle(t.shebang,r);return{dataFile:t_e(e),loaderFile:i}}var Lle=ge(require("fs")),u_e=ge(require("path")),Tle=ge(require("util"));function YL(t,{basePath:e}){let r=j.toPortablePath(e),i=k.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var x;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let m=(x=p.discardFromLookup)!=null?x:!1,y={name:g,reference:h},Q=s.get(p.packageLocation);Q?(Q.discardFromLookup=Q.discardFromLookup&&m,m||(Q.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:m});let S=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:m,get packageLocation(){return S||(S=k.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var Jm=ge(require("module")),Nle=ge(Rle()),JL=ge(require("util"));var ur;(function(c){c.API_ERROR="API_ERROR",c.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",c.EXPORTS_RESOLUTION_FAILED="EXPORTS_RESOLUTION_FAILED",c.MISSING_DEPENDENCY="MISSING_DEPENDENCY",c.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",c.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",c.INTERNAL="INTERNAL",c.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",c.UNSUPPORTED="UNSUPPORTED"})(ur||(ur={}));var a_e=new Set([ur.BUILTIN_NODE_RESOLUTION_FAILED,ur.MISSING_DEPENDENCY,ur.MISSING_PEER_DEPENDENCY,ur.QUALIFIED_PATH_RESOLUTION_FAILED,ur.UNDECLARED_DEPENDENCY]);function oi(t,e,r={},i){i!=null||(i=a_e.has(t)?"MODULE_NOT_FOUND":t);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:te(N({},n),{value:i}),pnpCode:te(N({},n),{value:t}),data:te(N({},n),{value:r})})}function yo(t){return j.normalize(j.fromPortablePath(t))}var A_e=ge(require("fs")),Fle=ge(require("module")),l_e=ge(require("path")),c_e=new Set(Fle.Module.builtinModules||Object.keys(process.binding("natives"))),ub=t=>t.startsWith("node:")||c_e.has(t);function WL(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,s=/^(\/|\.{1,2}(\/|$))/,o=/\/$/,a=/^\.{0,2}\//,l={name:null,reference:null},c=[],u=new Set;if(t.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let re of["react-scripts","gatsby"]){let se=t.packageRegistry.get(re);if(se)for(let Qe of se.keys()){if(Qe===null)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:re,reference:Qe})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=t;function p(re,se){return{fn:re,args:se,error:null,result:null}}function m(re){var Ue,xe,ve,pe,X,be;let se=(ve=(xe=(Ue=process.stderr)==null?void 0:Ue.hasColors)==null?void 0:xe.call(Ue))!=null?ve:process.stdout.isTTY,Qe=(ce,fe)=>`[${ce}m${fe}`,he=re.error;console.error(he?Qe("31;1",`\u2716 ${(pe=re.error)==null?void 0:pe.message.replace(/\n.*/s,"")}`):Qe("33;1","\u203C Resolution")),re.args.length>0&&console.error();for(let ce of re.args)console.error(` ${Qe("37;1","In \u2190")} ${(0,JL.inspect)(ce,{colors:se,compact:!0})}`);re.result&&(console.error(),console.error(` ${Qe("37;1","Out \u2192")} ${(0,JL.inspect)(re.result,{colors:se,compact:!0})}`));let Fe=(be=(X=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:X.slice(2))!=null?be:[];if(Fe.length>0){console.error();for(let ce of Fe)console.error(` ${Qe("38;5;244",ce)}`)}console.error()}function y(re,se){if(e.allowDebug===!1)return se;if(Number.isFinite(i)){if(i>=2)return(...Qe)=>{let he=p(re,Qe);try{return he.result=se(...Qe)}catch(Fe){throw he.error=Fe}finally{m(he)}};if(i>=1)return(...Qe)=>{try{return se(...Qe)}catch(he){let Fe=p(re,Qe);throw Fe.error=he,m(Fe),he}}}return se}function Q(re){let se=A(re);if(!se)throw oi(ur.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return se}function S(re){if(re.name===null)return!0;for(let se of t.dependencyTreeRoots)if(se.name===re.name&&se.reference===re.reference)return!0;return!1}let x=new Set(["default","node","require"]);function M(re,se=x){let Qe=Ae(k.join(re,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(Qe===null)throw oi(ur.INTERNAL,`The locator that owns the "${re}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:he}=Q(Qe),Fe=k.join(he,Pt.manifest);if(!e.fakeFs.existsSync(Fe))return null;let Ue=JSON.parse(e.fakeFs.readFileSync(Fe,"utf8")),xe=k.contains(he,re);if(xe===null)throw oi(ur.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");a.test(xe)||(xe=`./${xe}`);let ve;try{ve=(0,Nle.resolve)(Ue,k.normalize(xe),{conditions:se,unsafe:!0})}catch(pe){throw oi(ur.EXPORTS_RESOLUTION_FAILED,pe.message,{unqualifiedPath:yo(re),locator:Qe,pkgJson:Ue,subpath:yo(xe),conditions:se},"ERR_PACKAGE_PATH_NOT_EXPORTED")}return typeof ve=="string"?k.join(he,ve):null}function Y(re,se,{extensions:Qe}){let he;try{se.push(re),he=e.fakeFs.statSync(re)}catch(Fe){}if(he&&!he.isDirectory())return e.fakeFs.realpathSync(re);if(he&&he.isDirectory()){let Fe;try{Fe=JSON.parse(e.fakeFs.readFileSync(k.join(re,Pt.manifest),"utf8"))}catch(xe){}let Ue;if(Fe&&Fe.main&&(Ue=k.resolve(re,Fe.main)),Ue&&Ue!==re){let xe=Y(Ue,se,{extensions:Qe});if(xe!==null)return xe}}for(let Fe=0,Ue=Qe.length;Fe{let ve=JSON.stringify(xe.name);if(he.has(ve))return;he.add(ve);let pe=ne(xe);for(let X of pe)if(Q(X).packagePeers.has(re))Fe(X);else{let ce=Qe.get(X.name);typeof ce=="undefined"&&Qe.set(X.name,ce=new Set),ce.add(X.reference)}};Fe(se);let Ue=[];for(let xe of[...Qe.keys()].sort())for(let ve of[...Qe.get(xe)].sort())Ue.push({name:xe,reference:ve});return Ue}function Ae(re,{resolveIgnored:se=!1,includeDiscardFromLookup:Qe=!1}={}){if(W(re)&&!se)return null;let he=k.relative(t.basePath,re);he.match(s)||(he=`./${he}`),he.endsWith("/")||(he=`${he}/`);do{let Fe=h.get(he);if(typeof Fe=="undefined"||Fe.discardFromLookup&&!Qe){he=he.substring(0,he.lastIndexOf("/",he.length-2)+1);continue}return Fe.locator}while(he!=="");return null}function T(re,se,{considerBuiltins:Qe=!0}={}){if(re==="pnpapi")return j.toPortablePath(e.pnpapiResolution);if(Qe&&ub(re))return null;let he=yo(re),Fe=se&&yo(se);if(se&&W(se)&&(!k.isAbsolute(re)||Ae(re)===null)){let ve=J(re,se);if(ve===!1)throw oi(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${he}" +Required by: ${Fe} +`,{request:he,issuer:Fe});return j.toPortablePath(ve)}let Ue,xe=re.match(n);if(xe){if(!se)throw oi(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Fe});let[,ve,pe]=xe,X=Ae(se);if(!X){let jt=J(re,se);if(jt===!1)throw oi(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${he}" +Required by: ${Fe} +`,{request:he,issuer:Fe});return j.toPortablePath(jt)}let ce=Q(X).packageDependencies.get(ve),fe=null;if(ce==null&&X.name!==null){let jt=t.fallbackExclusionList.get(X.name);if(!jt||!jt.has(X.reference)){for(let Ti=0,_s=c.length;Ti<_s;++Ti){let Kn=Q(c[Ti]).packageDependencies.get(ve);if(Kn!=null){r?fe=Kn:ce=Kn;break}}if(t.enableTopLevelFallback&&ce==null&&fe===null){let Ti=t.fallbackPool.get(ve);Ti!=null&&(fe=Ti)}}}let gt=null;if(ce===null)if(S(X))gt=oi(ur.MISSING_PEER_DEPENDENCY,`Your application tried to access ${ve} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,dependencyName:ve});else{let jt=le(ve,X);jt.every(Qr=>S(Qr))?gt=oi(ur.MISSING_PEER_DEPENDENCY,`${X.name} tried to access ${ve} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${X.name}@${X.reference} (via ${Fe}) +${jt.map(Qr=>`Ancestor breaking the chain: ${Qr.name}@${Qr.reference} +`).join("")} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},X),dependencyName:ve,brokenAncestors:jt}):gt=oi(ur.MISSING_PEER_DEPENDENCY,`${X.name} tried to access ${ve} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${X.name}@${X.reference} (via ${Fe}) + +${jt.map(Qr=>`Ancestor breaking the chain: ${Qr.name}@${Qr.reference} +`).join("")} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},X),dependencyName:ve,brokenAncestors:jt})}else ce===void 0&&(!Qe&&ub(re)?S(X)?gt=oi(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${ve}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${ve} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,dependencyName:ve}):gt=oi(ur.UNDECLARED_DEPENDENCY,`${X.name} tried to access ${ve}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${ve} isn't otherwise declared in ${X.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},X),dependencyName:ve}):S(X)?gt=oi(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${ve}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,dependencyName:ve}):gt=oi(ur.UNDECLARED_DEPENDENCY,`${X.name} tried to access ${ve}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${X.name}@${X.reference} (via ${Fe}) +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},X),dependencyName:ve}));if(ce==null){if(fe===null||gt===null)throw gt||new Error("Assertion failed: Expected an error to have been set");ce=fe;let jt=gt.message.replace(/\n.*/g,"");gt.message=jt,!u.has(jt)&&i!==0&&(u.add(jt),process.emitWarning(gt))}let Ht=Array.isArray(ce)?{name:ce[0],reference:ce[1]}:{name:ve,reference:ce},Mt=Q(Ht);if(!Mt.packageLocation)throw oi(ur.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${Ht.name}@${Ht.reference}${Ht.name!==he?` (via "${he}")`:""} +Required by: ${X.name}@${X.reference} (via ${Fe}) +`,{request:he,issuer:Fe,dependencyLocator:Object.assign({},Ht)});let mi=Mt.packageLocation;pe?Ue=k.join(mi,pe):Ue=mi}else if(k.isAbsolute(re))Ue=k.normalize(re);else{if(!se)throw oi(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Fe});let ve=k.resolve(se);se.match(o)?Ue=k.normalize(k.join(ve,re)):Ue=k.normalize(k.join(k.dirname(ve),re))}return k.normalize(Ue)}function L(re,se,Qe=x){if(s.test(re))return se;let he=M(se,Qe);return he?k.normalize(he):se}function Ee(re,{extensions:se=Object.keys(Jm.Module._extensions)}={}){var Fe,Ue;let Qe=[],he=Y(re,Qe,{extensions:se});if(he)return k.normalize(he);{let xe=yo(re),ve=Ae(re);if(ve){let{packageLocation:pe}=Q(ve),X=!0;try{e.fakeFs.accessSync(pe)}catch(be){if((be==null?void 0:be.code)==="ENOENT")X=!1;else{let ce=((Ue=(Fe=be==null?void 0:be.message)!=null?Fe:be)!=null?Ue:"empty exception thrown").replace(/^[A-Z]/,fe=>fe.toLowerCase());throw oi(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Required package exists but could not be accessed (${ce}). + +Missing package: ${ve.name}@${ve.reference} +Expected package location: ${yo(pe)} +`,{unqualifiedPath:xe,extensions:se})}}if(!X){let be=pe.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw oi(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`${be} + +Missing package: ${ve.name}@${ve.reference} +Expected package location: ${yo(pe)} +`,{unqualifiedPath:xe,extensions:se})}}throw oi(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${xe} +${Qe.map(pe=>`Not found: ${yo(pe)} +`).join("")}`,{unqualifiedPath:xe,extensions:se})}}function we(re,se,{considerBuiltins:Qe,extensions:he,conditions:Fe}={}){try{let Ue=T(re,se,{considerBuiltins:Qe});if(re==="pnpapi")return Ue;if(Ue===null)return null;let xe=()=>se!==null?W(se):!1,ve=(!Qe||!ub(re))&&!xe()?L(re,Ue,Fe):Ue;return Ee(ve,{extensions:he})}catch(Ue){throw Object.prototype.hasOwnProperty.call(Ue,"pnpCode")&&Object.assign(Ue.data,{request:yo(re),issuer:se&&yo(se)}),Ue}}function qe(re){let se=k.normalize(re),Qe=Jr.resolveVirtual(se);return Qe!==se?Qe:null}return{VERSIONS:ee,topLevel:Z,getLocator:(re,se)=>Array.isArray(se)?{name:se[0],reference:se[1]}:{name:re,reference:se},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let re=[];for(let[se,Qe]of f)for(let he of Qe.keys())se!==null&&he!==null&&re.push({name:se,reference:he});return re},getPackageInformation:re=>{let se=A(re);if(se===null)return null;let Qe=j.fromPortablePath(se.packageLocation);return te(N({},se),{packageLocation:Qe})},findPackageLocator:re=>Ae(j.toPortablePath(re)),resolveToUnqualified:y("resolveToUnqualified",(re,se,Qe)=>{let he=se!==null?j.toPortablePath(se):null,Fe=T(j.toPortablePath(re),he,Qe);return Fe===null?null:j.fromPortablePath(Fe)}),resolveUnqualified:y("resolveUnqualified",(re,se)=>j.fromPortablePath(Ee(j.toPortablePath(re),se))),resolveRequest:y("resolveRequest",(re,se,Qe)=>{let he=se!==null?j.toPortablePath(se):null,Fe=we(j.toPortablePath(re),he,Qe);return Fe===null?null:j.fromPortablePath(Fe)}),resolveVirtual:y("resolveVirtual",re=>{let se=qe(j.toPortablePath(re));return se!==null?j.fromPortablePath(se):null})}}var YQt=(0,Tle.promisify)(Lle.readFile);var Ole=(t,e,r)=>{let i=qm(t),n=YL(i,{basePath:e}),s=j.join(e,Pt.pnpCjs);return WL(n,{fakeFs:r,pnpapiResolution:s})};var _L=ge(Ule());var wo={};ft(wo,{checkAndReportManifestCompatibility:()=>Hle,checkManifestCompatibility:()=>Kle,extractBuildScripts:()=>gb,getExtractHint:()=>VL,hasBindingGyp:()=>XL});function Kle(t){return P.isPackageCompatible(t,qg.getArchitectureSet())}function Hle(t,e,{configuration:r,report:i}){return Kle(t)?!0:(i==null||i.reportWarningOnce($.INCOMPATIBLE_ARCHITECTURE,`${P.prettyLocator(r,t)} The ${qg.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function gb(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([As.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([As.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==Qt.HARD?(n==null||n.reportWarningOnce($.SOFT_LINK_BUILD,`${P.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce($.BUILD_DISABLED,`${P.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce($.DISABLED_BUILD_SCRIPTS,`${P.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):Hle(t,"build",{configuration:i,report:n})?s:[]}var g_e=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function VL(t){return t.packageFs.getExtractHint({relevantExtensions:g_e})}function XL(t){let e=k.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var ZL={};ft(ZL,{getUnpluggedPath:()=>Wm});function Wm(t,{configuration:e}){return k.resolve(e.get("pnpUnpluggedFolder"),P.slugifyLocator(t))}var f_e=new Set([P.makeIdent(null,"nan").identHash,P.makeIdent(null,"node-gyp").identHash,P.makeIdent(null,"node-pre-gyp").identHash,P.makeIdent(null,"node-addon-api").identHash,P.makeIdent(null,"fsevents").identHash]),Qu=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let i=Pl(r.project).cjs;if(!K.existsSync(i))throw new Pe(`The project in ${ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=Se.getFactoryWithDefault(this.pnpCache,i,()=>Se.dynamicRequire(i,{cachingStrategy:Se.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new Pe(`Couldn't find ${P.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return j.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let i=Pl(r.project).cjs;if(!K.existsSync(i))return null;let s=Se.getFactoryWithDefault(this.pnpCache,i,()=>Se.dynamicRequire(i,{cachingStrategy:Se.CachingStrategy.FsTime})).findPackageLocator(j.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new sh(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},sh=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new Se.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,r,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!==Qt.SOFT,g,f;if(c||u){let x=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(x.locatorHash),typeof g=="undefined"&&(g=await h_e(r),e.linkType===Qt.HARD&&this.customData.store.set(x.locatorHash,g)),g.manifest.type==="module"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(x,e.version)}let h=c?gb(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,r,f,i):r.packageFs;if(k.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let m=k.resolve(p.getRealPath(),r.prefixPath),y=$L(this.opts.project.cwd,m),Q=new Map,S=new Set;if(a){for(let x of e.peerDependencies.values())Q.set(P.stringifyIdent(x),null),S.add(P.stringifyIdent(x));if(!o){let x=P.devirtualizeLocator(e);this.virtualTemplates.set(x.locatorHash,{location:$L(this.opts.project.cwd,Jr.resolveVirtual(m)),locator:x})}}return Se.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:Q,packagePeers:S,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:m,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Pl(this.opts.project);if(K.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning($.UNNAMED,`Removing the old ${ae.pretty(this.opts.project.configuration,Pt.pnpJs,ae.Type.PATH)} file. You might need to manually update existing references to reference the new ${ae.pretty(this.opts.project.configuration,Pt.pnpCjs,ae.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ae.pretty(this.opts.project.configuration,"yarn sdks",ae.Type.CODE)}.`),await K.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await K.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await K.removePromise(e.cjs),await K.removePromise(this.opts.project.configuration.get("pnpDataPath")),await K.removePromise(e.esmLoader);return}for(let{locator:u,location:g}of this.virtualTemplates.values())Se.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:Qt.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=r!=="none",s=[],o=new Map,a=Se.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),await this.asyncActions.wait(),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=Pl(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning($.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await K.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=xle(e);await K.changeFilePromise(r.cjs,o,{automaticNewlines:!0,mode:493}),await K.removePromise(i)}else{let o=k.relative(k.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=Ple(te(N({},e),{dataLocation:o}));await K.changeFilePromise(r.cjs,l,{automaticNewlines:!0,mode:493}),await K.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning($.UNNAMED,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await K.changeFilePromise(r.esmLoader,(0,_L.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await K.removePromise(s);else for(let o of await K.readdirPromise(s)){let a=k.resolve(s,o);this.unpluggedPaths.has(a)||await K.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=k.join(n.cwd,"node_modules");if(i&&i.test(k.relative(this.opts.project.cwd,n.cwd))||!K.existsSync(s))continue;let o=await K.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)r.push(s);else for(let l of a)r.push(k.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n,s){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:f_e.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(gb(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r,i){let n=Wm(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new Pa(n,{baseFs:r.packageFs,pathUtils:k}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=k.join(n,r.prefixPath,".ready");await K.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await K.mkdirPromise(n,{recursive:!0}),await K.copyPromise(n,Me.dot,{baseFs:r.packageFs,overwrite:!1}),await K.writeFilePromise(s,""))})),new _t(n))}getPackageInformation(e){let r=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(r);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=Se.getMapWithDefault(this.packageRegistry,"@@disk"),i=$L(this.opts.project.cwd,e);return Se.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:Qt.SOFT,discardFromLookup:!1}))}};function $L(t,e){let r=k.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function h_e(t){var i;let e=(i=await At.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?i:new At,r=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())r.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:VL(t),hasBindingGyp:XL(t)}}}var jle=ge(ts());var zm=class extends Le{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new Pe("This command can only be used if the `nodeLinker` option is set to `pnp`");await r.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(f=>{let h=P.parseDescriptor(f),p=h.range!=="unknown"?h:P.makeDescriptor(h,"*");if(!Wt.validRange(p.range))throw new Pe(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(e,p)})`);return m=>{let y=P.stringifyIdent(m);return!jle.default.isMatch(y,P.stringifyIdent(p))||m.version&&!Wt.satisfiesWithPrereleases(m.version,p.range)?!1:(s.delete(f),!0)}}),a=()=>{let f=[];for(let h of r.storedPackages.values())!r.tryWorkspaceByLocator(h)&&!P.isVirtualLocator(h)&&o.some(p=>p(h))&&f.push(h);return f},l=f=>{let h=new Set,p=[],m=(y,Q)=>{if(!h.has(y.locatorHash)&&(h.add(y.locatorHash),!r.tryWorkspaceByLocator(y)&&o.some(S=>S(y))&&p.push(y),!(Q>0&&!this.recursive)))for(let S of y.dependencies.values()){let x=r.storedResolutions.get(S.descriptorHash);if(!x)throw new Error("Assertion failed: The resolution should have been registered");let M=r.storedPackages.get(x);if(!M)throw new Error("Assertion failed: The package should have been registered");m(M,Q+1)}};for(let y of f){let Q=r.storedPackages.get(y.anchoredLocator.locatorHash);if(!Q)throw new Error("Assertion failed: The package should have been registered");m(Q,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(r.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new Pe(`Patterns ${ae.prettyList(e,s,ae.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new Pe(`Pattern ${ae.prettyList(e,s,ae.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=Se.sortMap(c,f=>P.stringifyLocator(f)),(await Je.start({configuration:e,stdout:this.context.stdout,json:this.json},async f=>{var h;for(let p of c){let m=(h=p.version)!=null?h:"unknown",y=r.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(p,m));y.unplugged=!0,f.reportInfo($.UNNAMED,`Will unpack ${P.prettyLocator(e,p)} to ${ae.pretty(e,Wm(p,{configuration:e}),ae.Type.PATH)}`),f.reportJson({locator:P.stringifyLocator(p),version:m})}await r.topLevelWorkspace.persistManifest(),f.reportSeparator(),await r.install({cache:n,report:f})})).exitCode()}};zm.paths=[["unplug"]],zm.usage=Re.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Gle=zm;var Pl=t=>({cjs:k.join(t.cwd,Pt.pnpCjs),cjsLegacy:k.join(t.cwd,Pt.pnpJs),esmLoader:k.join(t.cwd,".pnp.loader.mjs")}),Jle=t=>/\s/.test(t)?JSON.stringify(t):t;async function p_e(t,e,r){let i=Pl(t),n=`--require ${Jle(j.fromPortablePath(i.cjs))}`;if(K.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,qle.pathToFileURL)(j.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&Yle.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(K.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function d_e(t,e){let r=Pl(t);e(r.cjs),e(r.esmLoader),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var C_e={hooks:{populateYarnPaths:d_e,setupScriptEnvironment:p_e},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:Ie.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:Ie.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:Ie.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:Ie.STRING,default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:Ie.BOOLEAN,default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:Ie.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:Ie.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:Ie.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:Ie.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[Qu],commands:[Gle]},m_e=C_e;var Zle=ge(Xle());var sT=ge(require("crypto")),$le=ge(require("fs")),ece=1,ai="node_modules",oT=".bin",tce=".yarn-state.yml",Li;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Li||(Li={}));var aT=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await Se.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await AT(r.project,{unrollAliases:!0}));if(n===null)throw new Pe("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let a=new Pe(`Couldn't find ${P.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=r.project.configuration.startingCwd;return s.locations.find(a=>k.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let i=await Se.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await AT(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=fb(k.resolve(e),{skipPrefix:r.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new rce(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},rce=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=k.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await L_e(e,r),e.linkType===Qt.HARD&&this.customData.store.set(e.locatorHash,n)),!wo.checkManifestCompatibility(e))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${j.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=r.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,r){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of r){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Jr({baseFs:new ms({libzip:await fn(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await AT(this.opts.project),i=this.opts.project.configuration.get("nmMode");(r===null||i!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i});let n=new Map(this.opts.project.workspaces.map(f=>{var p,m;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=Se.validateEnum(Mn,(m=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?m:h)}catch(y){let Q=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning($.INVALID_MANIFEST,`${Q}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Mn).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,m;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(m=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?m:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(j.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>j.fromPortablePath(Jr.resolveVirtual(j.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=Gm(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=HL(a);await T_e(r,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(ice(f))continue;let p=P.parseLocator(f),m=this.localStore.get(p.locatorHash);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(m.pkg))continue;let y=wo.extractBuildScripts(m.pkg,m.customPackageData,m.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning($.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${ae.pretty(this.opts.project.configuration,"--preserve-symlinks",ae.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function L_e(t,e){var n;let r=(n=await At.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new At,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{extractHint:wo.getExtractHint(e),hasBindingGyp:wo.hasBindingGyp(e)}}}async function O_e(t,e,r,i){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${ece} +`,n+=` nmMode: ${i.value} +`;let s=Array.from(e.keys()).sort(),o=P.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let c of s){let u=e.get(c);n+=` +`,n+=`${JSON.stringify(c)}: +`,n+=` locations: +`;for(let g of u.locations){let f=k.contains(t.cwd,g);if(f===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` - ${JSON.stringify(f)} +`}if(u.aliases.length>0){n+=` aliases: +`;for(let g of u.aliases)n+=` - ${JSON.stringify(g)} +`}if(c===o&&r.size>0){n+=` bin: +`;for(let[g,f]of r){let h=k.contains(t.cwd,g);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` ${JSON.stringify(h)}: +`;for(let[p,m]of f){let y=k.relative(k.join(g,ai),m);n+=` ${JSON.stringify(p)}: ${JSON.stringify(y)} +`}}}}let a=t.cwd,l=k.join(a,ai,tce);await K.changeFilePromise(l,n,{automaticNewlines:!0})}async function AT(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=k.join(r,ai,tce);if(!K.existsSync(i))return null;let n=Qi(await K.readFilePromise(i,"utf8"));if(n.__metadata.version>ece)return null;let s=n.__metadata.nmMode||Li.CLASSIC,o=new Map,a=new Map;delete n.__metadata;for(let[l,c]of Object.entries(n)){let u=c.locations.map(f=>k.join(r,f)),g=c.bin;if(g)for(let[f,h]of Object.entries(g)){let p=k.join(r,j.toPortablePath(f)),m=Se.getMapWithDefault(a,p);for(let[y,Q]of Object.entries(h))m.set(qr(y),j.toPortablePath([p,ai,Q].join(k.delimiter)))}if(o.set(l,{target:Me.dot,linkType:Qt.HARD,locations:u,aliases:c.aliases||[]}),e&&c.aliases)for(let f of c.aliases){let{scope:h,name:p}=P.parseLocator(l),m=P.makeLocator(P.makeIdent(h,p),f),y=P.stringifyLocator(m);o.set(y,{target:Me.dot,linkType:Qt.HARD,locations:u,aliases:[]})}}return{locatorMap:o,binSymlinks:a,locationTree:nce(o,{skipPrefix:t.cwd}),nmMode:s}}var ah=async(t,e)=>{if(t.split(k.sep).indexOf(ai)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop){let i=e.allowSymlink?await K.statPromise(t):await K.lstatPromise(t);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await K.unlinkPromise(t);return}}let r=await K.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=k.join(t,qr(i.name));i.isDirectory()?(i.name!==ai||e&&e.innerLoop)&&await ah(n,{innerLoop:!0,contentsOnly:!1}):await K.unlinkPromise(n)}e.contentsOnly||await K.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},sce=4,fb=(t,{skipPrefix:e})=>{let r=k.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(k.sep).filter(l=>l!==""),n=i.indexOf(ai),s=i.slice(0,n).join(k.sep),o=k.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},nce=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:Qt.HARD});for(let[n,s]of t.entries()){if(s.linkType===Qt.SOFT&&k.contains(e,s.target)!==null){let a=Se.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=fb(o,{skipPrefix:e}),c=Se.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await K.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await K.symlinkPromise(t,e,"junction"):await K.symlinkPromise(k.relative(k.dirname(e),t),e)};async function oce(t,e,r){let i=k.join(t,qr(`${sT.default.randomBytes(16).toString("hex")}.tmp`));try{await K.writeFilePromise(i,r);try{await K.linkPromise(i,e)}catch(n){}}finally{await K.unlinkPromise(i)}}async function M_e({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s.value===Li.HARDLINKS_GLOBAL&&i&&o){let l=k.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await Dn.checksumFile(l,{baseFs:K,algorithm:"sha1"})!==o){let g=k.join(i,qr(`${sT.default.randomBytes(16).toString("hex")}.tmp`));await K.renamePromise(l,g);let f=await n.readFilePromise(t);await K.writeFilePromise(g,f);try{await K.linkPromise(g,l),await K.unlinkPromise(g)}catch(h){}}await K.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await oce(i,l,u);try{await K.linkPromise(l,e)}catch(g){g&&g.code&&g.code=="EXDEV"&&(s.value=Li.HARDLINKS_LOCAL,await n.copyFilePromise(t,e))}}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await K.chmodPromise(e,a)}var Dl;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(Dl||(Dl={}));var U_e=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await K.mkdirPromise(t,{recursive:!0});let o=async(l=Me.dot)=>{let c=k.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let f of u){let h=k.join(l,f.name),p,m=k.join(c,f.name);if(f.isFile()){if(p={kind:Dl.FILE,mode:(await r.lstatPromise(m)).mode},n.value===Li.HARDLINKS_GLOBAL){let y=await Dn.checksumFile(m,{baseFs:r,algorithm:"sha1"});p.digest=y}}else if(f.isDirectory())p={kind:Dl.DIRECTORY};else if(f.isSymbolicLink())p={kind:Dl.SYMLINK,symlinkTo:await r.readlinkPromise(m)};else throw new Error(`Unsupported file type (file: ${m}, mode: 0o${await r.statSync(m).mode.toString(8).padStart(6,"0")})`);if(g.set(h,p),f.isDirectory()&&h!==ai){let y=await o(h);for(let[Q,S]of y)g.set(Q,S)}}return g},a;if(n.value===Li.HARDLINKS_GLOBAL&&i&&s){let l=k.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await K.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await oce(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=k.join(e,l),g=k.join(t,l);c.kind===Dl.DIRECTORY?await K.mkdirPromise(g,{recursive:!0}):c.kind===Dl.FILE?await M_e({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===Dl.SYMLINK&&await lT(k.resolve(k.dirname(g),c.symlinkTo),g)}};function K_e(t,e){let r=new Map([...t]),i=new Map([...e]);for(let[n,s]of t){let o=k.join(n,ai);if(!K.existsSync(o)){s.children.delete(ai);for(let a of i.keys())k.contains(o,a)!==null&&i.delete(a)}}return{locationTree:r,binSymlinks:i}}function ice(t){let e=P.parseDescriptor(t);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function H_e(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=ice(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=k.join(l[0],f);f!==""&&K.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=k.contains(r,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let m=k.join(a,j.toPortablePath(p));u.set(qr(h),m)}for(let[h,p]of c.children){let m=k.join(a,h),y=o(m,m,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(k.join(a,f),l,h);for(let[m,y]of p)u.set(m,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var ace=(t,e)=>{if(!t||!e)return t===e;let r=P.parseLocator(t);P.isVirtualLocator(r)&&(r=P.devirtualizeLocator(r));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(r,i)};function cT(t){return k.join(t.get("globalFolder"),"store")}async function T_e(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=k.join(i.cwd,ai),{locationTree:l,binSymlinks:c}=K_e(t.locationTree,t.binSymlinks),u=nce(e,{skipPrefix:i.cwd}),g=[],f=async({srcDir:U,dstDir:J,linkType:W,globalHardlinksStore:ee,nmMode:Z,packageChecksum:A})=>{let ne=(async()=>{try{W===Qt.SOFT?(await K.mkdirPromise(k.dirname(J),{recursive:!0}),await lT(k.resolve(U),J)):await U_e(J,U,{baseFs:r,globalHardlinksStore:ee,nmMode:Z,packageChecksum:A})}catch(le){throw le.message=`While persisting ${U} -> ${J} ${le.message}`,le}finally{S.tick()}})().then(()=>g.splice(g.indexOf(ne),1));g.push(ne),g.length>sce&&await Promise.race(g)},h=async(U,J,W)=>{let ee=(async()=>{let Z=async(A,ne,le)=>{try{le.innerLoop||await K.mkdirPromise(ne,{recursive:!0});let Ae=await K.readdirPromise(A,{withFileTypes:!0});for(let T of Ae){if(!le.innerLoop&&T.name===oT)continue;let L=k.join(A,T.name),Ee=k.join(ne,T.name);T.isDirectory()?(T.name!==ai||le&&le.innerLoop)&&(await K.mkdirPromise(Ee,{recursive:!0}),await Z(L,Ee,te(N({},le),{innerLoop:!0}))):Y.value===Li.HARDLINKS_LOCAL||Y.value===Li.HARDLINKS_GLOBAL?await K.linkPromise(L,Ee):await K.copyFilePromise(L,Ee,$le.default.constants.COPYFILE_FICLONE)}}catch(Ae){throw le.innerLoop||(Ae.message=`While cloning ${A} -> ${ne} ${Ae.message}`),Ae}finally{le.innerLoop||S.tick()}};await Z(U,J,W)})().then(()=>g.splice(g.indexOf(ee),1));g.push(ee),g.length>sce&&await Promise.race(g)},p=async(U,J,W)=>{if(W)for(let[ee,Z]of J.children){let A=W.children.get(ee);await p(k.join(U,ee),Z,A)}else{J.children.has(ai)&&await ah(k.join(U,ai),{contentsOnly:!1});let ee=k.basename(U)===ai&&u.has(k.join(k.dirname(U),k.sep));await ah(U,{contentsOnly:U===a,allowSymlink:ee})}};for(let[U,J]of l){let W=u.get(U);for(let[ee,Z]of J.children){if(ee===".")continue;let A=W&&W.children.get(ee),ne=k.join(U,ee);await p(ne,Z,A)}}let m=async(U,J,W)=>{if(W){ace(J.locator,W.locator)||await ah(U,{contentsOnly:J.linkType===Qt.HARD});for(let[ee,Z]of J.children){let A=W.children.get(ee);await m(k.join(U,ee),Z,A)}}else{J.children.has(ai)&&await ah(k.join(U,ai),{contentsOnly:!0});let ee=k.basename(U)===ai&&u.has(k.join(k.dirname(U),k.sep));await ah(U,{contentsOnly:J.linkType===Qt.HARD,allowSymlink:ee})}};for(let[U,J]of u){let W=l.get(U);for(let[ee,Z]of J.children){if(ee===".")continue;let A=W&&W.children.get(ee);await m(k.join(U,ee),Z,A)}}let y=new Map,Q=[];for(let[U,{locations:J}]of t.locatorMap.entries())for(let W of J){let{locationRoot:ee,segments:Z}=fb(W,{skipPrefix:i.cwd}),A=u.get(ee),ne=ee;if(A){for(let le of Z)if(ne=k.join(ne,le),A=A.children.get(le),!A)break;if(A){let le=ace(A.locator,U),Ae=e.get(A.locator),T=Ae.target,L=ne,Ee=Ae.linkType;if(le)y.has(T)||y.set(T,L);else if(T!==L){let we=P.parseLocator(A.locator);P.isVirtualLocator(we)&&(we=P.devirtualizeLocator(we)),Q.push({srcDir:T,dstDir:L,linkType:Ee,realLocatorHash:we.locatorHash})}}}}for(let[U,{locations:J}]of e.entries())for(let W of J){let{locationRoot:ee,segments:Z}=fb(W,{skipPrefix:i.cwd}),A=l.get(ee),ne=u.get(ee),le=ee,Ae=e.get(U),T=P.parseLocator(U);P.isVirtualLocator(T)&&(T=P.devirtualizeLocator(T));let L=T.locatorHash,Ee=Ae.target,we=W;if(Ee===we)continue;let qe=Ae.linkType;for(let re of Z)ne=ne.children.get(re);if(!A)Q.push({srcDir:Ee,dstDir:we,linkType:qe,realLocatorHash:L});else for(let re of Z)if(le=k.join(le,re),A=A.children.get(re),!A){Q.push({srcDir:Ee,dstDir:we,linkType:qe,realLocatorHash:L});break}}let S=Ji.progressViaCounter(Q.length),x=n.reportProgress(S),M=i.configuration.get("nmMode"),Y={value:M};try{let U=Y.value===Li.HARDLINKS_GLOBAL?`${cT(i.configuration)}/v1`:null;if(U&&!await K.existsPromise(U)){await K.mkdirpPromise(U);for(let W=0;W<256;W++)await K.mkdirPromise(k.join(U,W.toString(16).padStart(2,"0")))}for(let W of Q)(W.linkType===Qt.SOFT||!y.has(W.srcDir))&&(y.set(W.srcDir,W.dstDir),await f(te(N({},W),{globalHardlinksStore:U,nmMode:Y,packageChecksum:o.get(W.realLocatorHash)||null})));await Promise.all(g),g.length=0;for(let W of Q){let ee=y.get(W.srcDir);W.linkType!==Qt.SOFT&&W.dstDir!==ee&&await h(ee,W.dstDir,{nmMode:Y})}await Promise.all(g),await K.mkdirPromise(a,{recursive:!0});let J=await H_e(e,u,i.cwd,{loadManifest:s});await j_e(c,J,i.cwd),await O_e(i,e,J,Y),M==Li.HARDLINKS_GLOBAL&&Y.value==Li.HARDLINKS_LOCAL&&n.reportWarningOnce($.NM_HARDLINKS_MODE_DOWNGRADED,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{x.stop()}}async function j_e(t,e,r){for(let i of t.keys()){if(k.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=k.join(i,ai,oT);await K.removePromise(n)}}for(let[i,n]of e){if(k.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=k.join(i,ai,oT),o=t.get(i)||new Map;await K.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await K.removePromise(k.join(s,a)),process.platform==="win32"&&await K.removePromise(k.join(s,qr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=k.join(s,a);c!==l&&(process.platform==="win32"?await(0,Zle.default)(j.fromPortablePath(l),j.fromPortablePath(u),{createPwshFile:!1}):(await K.removePromise(u),await lT(l,u),k.contains(r,await K.realpathPromise(l))!==null&&await K.chmodPromise(l,493)))}}}var uT=class extends Qu{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new Ace(e)}},Ace=class extends sh{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new Jr({baseFs:new ms({libzip:await fn(),maxOpenFiles:80,readOnlyArchives:!0})}),i=Ole(e,this.opts.project.cwd,r),{tree:n,errors:s}=Gm(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let f=P.parseLocator(g.locator),h=P.stringifyIdent(f);h===u?o.set(u,f.reference):o.set(u,[h,f.reference])},l=k.join(this.opts.project.cwd,Pt.nodeModules),c=n.get(l);if(typeof c!="undefined"){if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=k.join(l,u),f=n.get(g);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in f)a(u,f);else for(let h of f.dirList){let p=k.join(g,h),m=n.get(p);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in m)a(`${u}/${h}`,m);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var G_e={hooks:{cleanGlobalArtifacts:async t=>{let e=cT(t);await K.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:Ie.STRING,values:[Mn.WORKSPACES,Mn.DEPENDENCIES,Mn.NONE],default:Mn.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:Ie.STRING,values:[Li.CLASSIC,Li.HARDLINKS_LOCAL,Li.HARDLINKS_GLOBAL],default:Li.CLASSIC},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:Ie.BOOLEAN,default:!0}},linkers:[aT,uT]},Y_e=G_e;var uO={};ft(uO,{default:()=>ZVe,npmConfigUtils:()=>br,npmHttpUtils:()=>zt,npmPublishUtils:()=>yh});var fce=ge(ti());var Cr="npm:";var zt={};ft(zt,{AuthType:()=>cs,customPackageError:()=>W_e,del:()=>V_e,get:()=>Bo,getIdentUrl:()=>Fl,handleInvalidAuthenticationError:()=>Rl,post:()=>z_e,put:()=>__e});var uce=ge($C()),gce=ge(require("url"));var br={};ft(br,{RegistryType:()=>yA,getAuditRegistry:()=>q_e,getAuthConfiguration:()=>hT,getDefaultRegistry:()=>hb,getPublishRegistry:()=>lce,getRegistryConfiguration:()=>cce,getScopeConfiguration:()=>fT,getScopeRegistry:()=>wA,normalizeRegistry:()=>ha});var yA;(function(i){i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry"})(yA||(yA={}));function ha(t){return t.replace(/\/$/,"")}function q_e(t,{configuration:e}){let r=e.get(yA.AUDIT_REGISTRY);return r!==null?ha(r):lce(t,{configuration:e})}function lce(t,{configuration:e}){var r;return((r=t.publishConfig)==null?void 0:r.registry)?ha(t.publishConfig.registry):t.name?wA(t.name.scope,{configuration:e,type:yA.PUBLISH_REGISTRY}):hb({configuration:e,type:yA.PUBLISH_REGISTRY})}function wA(t,{configuration:e,type:r=yA.FETCH_REGISTRY}){let i=fT(t,{configuration:e});if(i===null)return hb({configuration:e,type:r});let n=i.get(r);return n===null?hb({configuration:e,type:r}):ha(n)}function hb({configuration:t,type:e=yA.FETCH_REGISTRY}){let r=t.get(e);return ha(r!==null?r:t.get(yA.FETCH_REGISTRY))}function cce(t,{configuration:e}){let r=e.get("npmRegistries"),i=ha(t),n=r.get(i);if(typeof n!="undefined")return n;let s=r.get(i.replace(/^[a-z]+:/,""));return typeof s!="undefined"?s:null}function fT(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function hT(t,{configuration:e,ident:r}){let i=r&&fT(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:cce(t,{configuration:e})||e}var cs;(function(n){n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(cs||(cs={}));async function Rl(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(pb(t))throw new ct($.AUTHENTICATION_INVALID,"Invalid OTP token");if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new ct($.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await J_e(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function W_e(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function Fl(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function Bo(t,a){var l=a,{configuration:e,headers:r,ident:i,authType:n,registry:s}=l,o=Tr(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=wA(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let c=await db(s,{authType:n,configuration:e,ident:i});c&&(r=te(N({},r),{authorization:c}));try{return await ir.get(t.charAt(0)==="/"?`${s}${t}`:t,N({configuration:e,headers:r},o))}catch(u){throw await Rl(u,{registry:s,configuration:e,headers:r}),u}}async function z_e(t,e,u){var g=u,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l}=g,c=Tr(g,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(s&&typeof a=="undefined"&&(a=wA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let f=await db(a,{authType:o,configuration:i,ident:s});f&&(n=te(N({},n),{authorization:f})),l&&(n=N(N({},n),Ah(l)));try{return await ir.post(a+t,e,N({configuration:i,headers:n},c))}catch(h){if(!pb(h)||l)throw await Rl(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;l=await pT();let p=N(N({},n),Ah(l));try{return await ir.post(`${a}${t}`,e,N({configuration:i,headers:p},c))}catch(m){throw await Rl(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function __e(t,e,u){var g=u,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l}=g,c=Tr(g,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(s&&typeof a=="undefined"&&(a=wA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let f=await db(a,{authType:o,configuration:i,ident:s});f&&(n=te(N({},n),{authorization:f})),l&&(n=N(N({},n),Ah(l)));try{return await ir.put(a+t,e,N({configuration:i,headers:n},c))}catch(h){if(!pb(h))throw await Rl(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;l=await pT();let p=N(N({},n),Ah(l));try{return await ir.put(`${a}${t}`,e,N({configuration:i,headers:p},c))}catch(m){throw await Rl(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function V_e(t,c){var u=c,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o,otp:a}=u,l=Tr(u,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(n&&typeof o=="undefined"&&(o=wA(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let g=await db(o,{authType:s,configuration:r,ident:n});g&&(i=te(N({},i),{authorization:g})),a&&(i=N(N({},i),Ah(a)));try{return await ir.del(o+t,N({configuration:r,headers:i},l))}catch(f){if(!pb(f)||a)throw await Rl(f,{attemptedAs:e,registry:o,configuration:r,headers:i}),f;a=await pT();let h=N(N({},i),Ah(a));try{return await ir.del(`${o}${t}`,N({configuration:r,headers:h},l))}catch(p){throw await Rl(p,{attemptedAs:e,registry:o,configuration:r,headers:i}),p}}}async function db(t,{authType:e=2,configuration:r,ident:i}){let n=hT(t,{configuration:r,ident:i}),s=X_e(n,e);if(!s)return null;let o=await r.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new ct($.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function X_e(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function J_e(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await ir.get(new gce.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function pT(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await(0,uce.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function pb(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function Ah(t){return{["npm-otp"]:t}}var dT=class{supports(e,r){if(!e.reference.startsWith(Cr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!fce.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await Bo(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await wi.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var CT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Cr)||!P.tryParseDescriptor(e.range.slice(Cr.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){let i=P.parseDescriptor(e.range.slice(Cr.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=P.parseDescriptor(e.range.slice(Cr.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=P.parseDescriptor(e.range.slice(Cr.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var hce=ge(ti()),pce=ge(require("url"));var bo=class{supports(e,r){if(!e.reference.startsWith(Cr))return!1;let i=new pce.URL(e.reference);return!(!hce.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await Bo(bo.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await Bo(bo.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await wi.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=wA(e.scope,{configuration:i}),s=bo.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===n+s||r===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Wt.clean(e.reference.slice(Cr.length));if(r===null)throw new ct($.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${Fl(e)}/-/${e.name}-${r}.tgz`}};var dce=ge(ti());var Cb=P.makeIdent(null,"node-gyp"),Z_e=/\b(node-gyp|prebuild-install)\b/,mT=class{supportsDescriptor(e,r){return e.range.startsWith(Cr)?!!Wt.validRange(e.range.slice(Cr.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Cr))return!1;let{selector:i}=P.parseRange(e.reference);return!!dce.default.valid(i)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=Wt.validRange(e.range.slice(Cr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Cr.length)}`);let s=await Bo(Fl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=Se.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new Wt.SemVer(c);if(n.test(u))return u}catch{}return Se.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${Cr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return bo.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=Wt.validRange(e.range.slice(Cr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Cr.length)}`);return Se.mapAndFilter(r,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:Cr}),a=new Wt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return Se.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,r){let{selector:i}=P.parseRange(e.reference),n=Wt.clean(i);if(n===null)throw new ct($.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await Bo(Fl(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new ct($.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new ct($.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new At;if(o.load(s.versions[n]),!o.dependencies.has(Cb.identHash)&&!o.peerDependencies.has(Cb.identHash)){for(let a of o.scripts.values())if(a.match(Z_e)){o.dependencies.set(Cb.identHash,P.makeDescriptor(Cb,"latest")),r.report.reportWarningOnce($.NODE_GYP_INJECTED,`${P.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated=="string"&&o.raw.deprecated!==""){let a=P.prettyLocator(r.project.configuration,e),l=o.raw.deprecated.match(/\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;r.report.reportWarningOnce($.DEPRECATED_PACKAGE,l)}return te(N({},e),{version:n,languageName:"node",linkType:Qt.HARD,conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var ET=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Cr)||!Gg.test(e.range.slice(Cr.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Cr.length),s=await Bo(Fl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new ct($.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new ct($.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=P.makeLocator(e,`${Cr}${a}`),c=s.versions[a].dist.tarball;return bo.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var yh={};ft(yh,{getGitHead:()=>VVe,makePublishBody:()=>_Ve});var aO={};ft(aO,{default:()=>DVe,packUtils:()=>vA});var vA={};ft(vA,{genPackList:()=>Ub,genPackStream:()=>oO,genPackageManifest:()=>Yue,hasPackScripts:()=>nO,prepareForPack:()=>sO});var iO=ge(ts()),jue=ge(Hue()),Gue=ge(require("zlib")),IVe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],yVe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function nO(t){return!!(Zt.hasWorkspaceScript(t,"prepack")||Zt.hasWorkspaceScript(t,"postpack"))}async function sO(t,{report:e},r){await Zt.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let i=k.join(t.cwd,At.fileName);await K.existsPromise(i)&&await t.manifest.loadFile(i,{baseFs:K}),await r()}finally{await Zt.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function oO(t,e){var s,o;typeof e=="undefined"&&(e=await Ub(t));let r=new Set;for(let a of(o=(s=t.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)r.add(k.normalize(a));for(let a of t.manifest.bin.values())r.add(k.normalize(a));let i=jue.default.pack();process.nextTick(async()=>{for(let a of e){let l=k.normalize(a),c=k.resolve(t.cwd,l),u=k.join("package",l),g=await K.lstatPromise(c),f={name:u,mtime:new Date(Dr.SAFE_TIME*1e3)},h=r.has(l)?493:420,p,m,y=new Promise((S,x)=>{p=S,m=x}),Q=S=>{S?m(S):p()};if(g.isFile()){let S;l==="package.json"?S=Buffer.from(JSON.stringify(await Yue(t),null,2)):S=await K.readFilePromise(c),i.entry(te(N({},f),{mode:h,type:"file"}),S,Q)}else g.isSymbolicLink()?i.entry(te(N({},f),{mode:h,type:"symlink",linkname:await K.readlinkPromise(c)}),Q):Q(new Error(`Unsupported file type ${g.mode} for ${j.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,Gue.createGzip)();return i.pipe(n),n}async function Yue(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function Ub(t){var g,f,h,p,m,y,Q,S;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let x of yVe)i.reject.push(x);for(let x of IVe)i.accept.push(x);i.reject.push(r.get("rcFilename"));let n=x=>{if(x===null||!x.startsWith(`${t.cwd}/`))return;let M=k.relative(t.cwd,x),Y=k.resolve(Me.root,M);i.reject.push(Y)};n(k.resolve(e.cwd,r.get("lockfileFilename"))),n(r.get("cacheFolder")),n(r.get("globalFolder")),n(r.get("installStatePath")),n(r.get("virtualFolder")),n(r.get("yarnPath")),await r.triggerHook(x=>x.populateYarnPaths,e,x=>{n(x)});for(let x of e.workspaces){let M=k.relative(t.cwd,x.cwd);M!==""&&!M.match(/^(\.\.)?\//)&&i.reject.push(`/${M}`)}let s={accept:[],reject:[]},o=(f=(g=t.manifest.publishConfig)==null?void 0:g.main)!=null?f:t.manifest.main,a=(p=(h=t.manifest.publishConfig)==null?void 0:h.module)!=null?p:t.manifest.module,l=(y=(m=t.manifest.publishConfig)==null?void 0:m.browser)!=null?y:t.manifest.browser,c=(S=(Q=t.manifest.publishConfig)==null?void 0:Q.bin)!=null?S:t.manifest.bin;o!=null&&s.accept.push(k.resolve(Me.root,o)),a!=null&&s.accept.push(k.resolve(Me.root,a)),typeof l=="string"&&s.accept.push(k.resolve(Me.root,l));for(let x of c.values())s.accept.push(k.resolve(Me.root,x));if(l instanceof Map)for(let[x,M]of l.entries())s.accept.push(k.resolve(Me.root,x)),typeof M=="string"&&s.accept.push(k.resolve(Me.root,M));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let x of t.manifest.files)que(s.accept,x,{cwd:Me.root})}return await wVe(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function wVe(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new Da(t),o=[[Me.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Wue(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Me.root)for(let m of u)g=g||m===".gitignore",f=f||m===".npmignore";let h=f?await Jue(s,a,".npmignore"):g?await Jue(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;Wue(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let m of u)o.push([k.resolve(a,m),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(k.relative(Me.root,a))}return n.sort()}async function Jue(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(k.join(e,r),"utf8");for(let s of n.split(/\n/g))que(i.reject,s,{cwd:e});return i}function BVe(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=k.resolve(e,t)),r&&(t=`!${t}`),t}function que(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(BVe(i,{cwd:r}))}function Wue(t,{globalList:e,ignoreLists:r}){if(Kb(t,e.accept))return!1;if(Kb(t,e.reject))return!0;if(r!==null)for(let i of r){if(Kb(t,i.accept))return!1;if(Kb(t,i.reject))return!0}return!1}function Kb(t,e){let r=e,i=[];for(let n=0;n{await sO(i,{report:l},async()=>{l.reportJson({base:j.fromPortablePath(i.cwd)});let c=await Ub(i);for(let u of c)l.reportInfo(null,j.fromPortablePath(u)),l.reportJson({location:j.fromPortablePath(u)});if(!this.dryRun){let u=await oO(i,c),g=K.createWriteStream(s);u.pipe(g),await new Promise(f=>{g.on("finish",f)})}}),this.dryRun||(l.reportInfo($.UNNAMED,`Package archive generated in ${ae.pretty(e,s,ae.Type.PATH)}`),l.reportJson({output:j.fromPortablePath(s)}))})).exitCode()}};AE.paths=[["pack"]],AE.usage=Re.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var _ue=AE;function bVe(t,{workspace:e}){let r=t.replace("%s",QVe(e)).replace("%v",vVe(e));return j.toPortablePath(r)}function QVe(t){return t.manifest.name!==null?P.slugifyIdent(t.manifest.name):"package"}function vVe(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var SVe=["dependencies","devDependencies","peerDependencies"],kVe="workspace:",xVe=(t,e)=>{var i,n;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let s of SVe)for(let o of t.manifest.getForScope(s).values()){let a=r.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===kVe)if(a===null){if(r.tryWorkspaceByIdent(o)===null)throw new ct($.WORKSPACE_NOT_FOUND,`${P.prettyDescriptor(r.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector;let u=s==="dependencies"?P.makeDescriptor(o,"unknown"):null,g=u!==null&&t.manifest.ensureDependencyMeta(u).optional?"optionalDependencies":s;e[g][P.stringifyIdent(o)]=c}}},PVe={hooks:{beforeWorkspacePacking:xVe},commands:[_ue]},DVe=PVe;var nge=ge(require("crypto")),sge=ge(ige()),oge=ge(require("url"));async function _Ve(t,e,{access:r,tag:i,registry:n,gitHead:s}){let o=t.project.configuration,a=t.manifest.name,l=t.manifest.version,c=P.stringifyIdent(a),u=(0,nge.createHash)("sha1").update(e).digest("hex"),g=sge.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:o.get("npmPublishAccess")!==null?r=o.get("npmPublishAccess"):a.scope?r="restricted":r="public");let f=await vA.genPackageManifest(t),h=`${c}-${l}.tgz`,p=new oge.URL(`${ha(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:c,access:r,["dist-tags"]:{[i]:l},versions:{[l]:te(N({},f),{_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}})}}}async function VVe(t){try{let{stdout:e}=await Fr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}var gO={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:Ie.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:Ie.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:Ie.SECRET,default:null}},age={npmAuditRegistry:{description:"Registry to query for audit reports",type:Ie.STRING,default:null},npmPublishRegistry:{description:"Registry to push packages to",type:Ie.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:Ie.STRING,default:"https://registry.yarnpkg.com"}},XVe={configuration:te(N(N({},gO),age),{npmScopes:{description:"Settings per package scope",type:Ie.MAP,valueDefinition:{description:"",type:Ie.SHAPE,properties:N(N({},gO),age)}},npmRegistries:{description:"Settings per registry",type:Ie.MAP,normalizeKeys:ha,valueDefinition:{description:"",type:Ie.SHAPE,properties:N({},gO)}}}),fetchers:[dT,bo],resolvers:[CT,mT,ET]},ZVe=XVe;var dO={};ft(dO,{default:()=>a9e});Es();var Ea;(function(i){i.All="all",i.Production="production",i.Development="development"})(Ea||(Ea={}));var vo;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(vo||(vo={}));var Hb=[vo.Info,vo.Low,vo.Moderate,vo.High,vo.Critical];function Age(t,e){let r=[],i=new Set,n=o=>{i.has(o)||(i.add(o),r.push(o))};for(let o of e)n(o);let s=new Set;for(;r.length>0;){let o=r.shift(),a=t.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=t.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function $Ve(t,e){return new Set([...t].filter(r=>!e.has(r)))}function e9e(t,e,{all:r}){let i=r?t.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=Age(t,l),g=Age(t,c);return $Ve(g,u)}function lge(t){let e={};for(let r of t)e[P.stringifyIdent(r)]=P.parseRange(r.range).selector;return e}function cge(t){if(typeof t=="undefined")return new Set;let e=Hb.indexOf(t),r=Hb.slice(e);return new Set(r)}function t9e(t,e){let r=cge(e),i={};for(let n of r)i[n]=t[n];return i}function uge(t,e){var i;let r=t9e(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function gge(t,e){var s;let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let o=cge(e);n=n.filter(a=>o.has(a.severity))}for(let o of Se.sortMap(n,a=>a.module_name))r[o.module_name]={label:o.module_name,value:ae.tuple(ae.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{Issue:{label:"Issue",value:ae.tuple(ae.Type.NO_HINT,o.title)},URL:{label:"URL",value:ae.tuple(ae.Type.URL,o.url)},Severity:{label:"Severity",value:ae.tuple(ae.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ae.tuple(ae.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ae.tuple(ae.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ae.tuple(ae.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ae.tuple(ae.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function fge(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[Ea.All,Ea.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[Ea.All,Ea.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return lge([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function hge(t,e,{all:r}){var s;let i=e9e(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:lge(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var uE=class extends Le{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=z.String("--environment",Ea.All,{description:"Which environments to cover",validator:nn(Ea)});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=z.String("--severity",vo.Info,{description:"Minimal severity requested for packages to be displayed",validator:nn(vo)})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let n=fge(r,i,{all:this.all,environment:this.environment}),s=hge(r,i,{all:this.all});if(!this.recursive)for(let f of Object.keys(s))Object.prototype.hasOwnProperty.call(n,f)?s[f].requires={}:delete s[f];let o={requires:n,dependencies:s},a=br.getAuditRegistry(i.manifest,{configuration:e}),l,c=await uA.start({configuration:e,stdout:this.context.stdout},async()=>{l=await zt.post("/-/npm/v1/security/audits/quick",o,{authType:zt.AuthType.BEST_EFFORT,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=uge(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(as.emitTree(gge(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async f=>{f.reportJson(l),u||f.reportInfo($.EXCEPTION,"No audit suggestions")})).exitCode()}};uE.paths=[["npm","audit"]],uE.usage=Re.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${Hb.map(e=>`\`${e}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var pge=uE;var fO=ge(ti()),hO=ge(require("util")),gE=class extends Le{constructor(){super(...arguments);this.fields=z.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let x=r.topLevelWorkspace;if(!x.manifest.name)throw new Pe(`Missing ${ae.pretty(e,"name",ae.Type.CODE)} field in ${j.fromPortablePath(k.join(x.cwd,Pt.manifest))}`);c=P.makeDescriptor(x.manifest.name,"unknown")}else c=P.parseDescriptor(l);let u=zt.getIdentUrl(c),g=pO(await zt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:zt.customPackageError})),f=Object.keys(g.versions).sort(fO.default.compareLoose),p=g["dist-tags"].latest||f[f.length-1],m=Wt.validRange(c.range);if(m){let x=fO.default.maxSatisfying(f,m);x!==null?p=x:(a.reportWarning($.UNNAMED,`Unmet range ${P.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else Object.prototype.hasOwnProperty.call(g["dist-tags"],c.range)?p=g["dist-tags"][c.range]:c.range!=="unknown"&&(a.reportWarning($.UNNAMED,`Unknown tag ${P.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let y=g.versions[p],Q=te(N(N({},g),y),{version:p,versions:f}),S;if(i!==null){S={};for(let x of i){let M=Q[x];if(typeof M!="undefined")S[x]=M;else{a.reportWarning($.EXCEPTION,`The ${ae.pretty(e,x,ae.Type.CODE)} field doesn't exist inside ${P.prettyIdent(e,c)}'s information`),s=!0;continue}}}else this.json||(delete Q.dist,delete Q.readme,delete Q.users),S=Q;a.reportJson(S),this.json||n.push(S)}});hO.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,hO.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} +`);return o.exitCode()}};gE.paths=[["npm","info"]],gE.usage=Re.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var dge=gE;function pO(t){if(Array.isArray(t)){let e=[];for(let r of t)r=pO(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=pO(t[r]);i&&(e[r]=i)}return e}else return t||null}var Cge=ge($C()),fE=class extends Le{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=await jb({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await i9e({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await zt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:zt.AuthType.NO_AUTH});return await r9e(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo($.UNNAMED,"Successfully logged in")})).exitCode()}};fE.paths=[["npm","login"]],fE.usage=Re.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var mge=fE;async function jb({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?br.getScopeRegistry(t,{configuration:r,type:br.RegistryType.PUBLISH_REGISTRY}):t?br.getScopeRegistry(t,{configuration:r}):e?br.getPublishRegistry((await Jf(r,i)).manifest,{configuration:r}):br.getDefaultRegistry({configuration:r})}async function r9e(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=Se.isIndexableObject(a)?a:{},c=l[o],u=Se.isIndexableObject(c)?c:{};return te(N({},l),{[o]:te(N({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await ye.updateHomeConfiguration(s)}async function i9e({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo($.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo($.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,Cge.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var wh=new Set(["npmAuthIdent","npmAuthToken"]),hE=class extends Le{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=z.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await jb({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await ye.find(this.context.cwd,this.context.plugins),o=P.makeIdent((l=this.scope)!=null?l:null,"pkg");return!br.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await n9e(),n.reportInfo($.UNNAMED,"Successfully logged out from everything")),this.scope){await Ege("npmScopes",this.scope),await r()?n.reportInfo($.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning($.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await jb({configuration:e,cwd:this.context.cwd,publish:this.publish});await Ege("npmRegistries",s),await r()?n.reportInfo($.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning($.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};hE.paths=[["npm","logout"]],hE.usage=Re.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var Ige=hE;function s9e(t,e){let r=t[e];if(!Se.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...wh].every(s=>!i.has(s)))return!1;for(let s of wh)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n=N({},r);for(let s of wh)delete n[s];return t[e]=n,!0}async function n9e(){let t=e=>{let r=!1,i=Se.isIndexableObject(e)?N({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))s9e(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await ye.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function Ege(t,e){return await ye.updateHomeConfiguration({[t]:r=>{let i=Se.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=Se.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...wh].every(l=>!o.has(l)))return r;for(let l of wh)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:te(N({},i),{[e]:void 0});let a={};for(let l of wh)a[l]=void 0;return te(N({},i),{[e]:N(N({},s),a)})}})}var pE=class extends Le{constructor(){super(...arguments);this.access=z.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=z.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=z.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=z.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);if(i.manifest.private)throw new Pe("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new Pe("Workspaces must have valid names and versions to be published on an external registry");await r.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=br.getPublishRegistry(i.manifest,{configuration:e});return(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await zt.get(zt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new ct($.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning($.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await Zt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await vA.prepareForPack(i,{report:l},async()=>{let g=await vA.genPackList(i);for(let y of g)l.reportInfo(null,y);let f=await vA.genPackStream(i,g),h=await Se.bufferStream(f),p=await yh.getGitHead(i.cwd),m=await yh.makePublishBody(i,h,{access:this.access,tag:this.tag,registry:o,gitHead:p});await zt.put(zt.getIdentUrl(n),m,{configuration:e,registry:o,ident:n,otp:this.otp,jsonResponse:!0})}),l.reportInfo($.UNNAMED,"Package archive published")})).exitCode()}};pE.paths=[["npm","publish"]],pE.usage=Re.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var yge=pE;var Bge=ge(ti());var dE=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String({required:!1})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=P.parseIdent(this.package);else{if(!i)throw new ht(r.cwd,this.context.cwd);if(!i.manifest.name)throw new Pe(`Missing 'name' field in ${j.fromPortablePath(k.join(i.cwd,Pt.manifest))}`);n=i.manifest.name}let s=await CE(n,e),a={children:Se.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:ae.tuple(ae.Type.RESOLUTION,{descriptor:P.makeDescriptor(n,l),locator:P.makeLocator(n,c)})}))};return as.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};dE.paths=[["npm","tag","list"]],dE.usage=Re.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var wge=dE;async function CE(t,e){let r=`/-/package${zt.getIdentUrl(t)}/dist-tags`;return zt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:zt.customPackageError})}var mE=class extends Le{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);let n=P.parseDescriptor(this.package,!0),s=n.range;if(!Bge.default.valid(s))throw new Pe(`The range ${ae.pretty(e,n.range,ae.Type.RANGE)} must be a valid semver version`);let o=br.getPublishRegistry(i.manifest,{configuration:e}),a=ae.pretty(e,n,ae.Type.IDENT),l=ae.pretty(e,s,ae.Type.RANGE),c=ae.pretty(e,this.tag,ae.Type.CODE);return(await Je.start({configuration:e,stdout:this.context.stdout},async g=>{let f=await CE(n,e);Object.prototype.hasOwnProperty.call(f,this.tag)&&f[this.tag]===s&&g.reportWarning($.UNNAMED,`Tag ${c} is already set to version ${l}`);let h=`/-/package${zt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await zt.put(h,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo($.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};mE.paths=[["npm","tag","add"]],mE.usage=Re.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var bge=mE;var EE=class extends Le{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){if(this.tag==="latest")throw new Pe("The 'latest' tag cannot be removed.");let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);let n=P.parseIdent(this.package),s=br.getPublishRegistry(i.manifest,{configuration:e}),o=ae.pretty(e,this.tag,ae.Type.CODE),a=ae.pretty(e,n,ae.Type.IDENT),l=await CE(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new Pe(`${o} is not a tag of package ${a}`);return(await Je.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${zt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await zt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo($.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};EE.paths=[["npm","tag","remove"]],EE.usage=Re.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var Qge=EE;var IE=class extends Le{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=br.getScopeRegistry(this.scope,{configuration:e,type:br.RegistryType.PUBLISH_REGISTRY}):this.scope?r=br.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=br.getPublishRegistry((await Jf(e,this.context.cwd)).manifest,{configuration:e}):r=br.getDefaultRegistry({configuration:e}),(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await zt.get("/-/whoami",{configuration:e,registry:r,authType:zt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError($.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo($.UNNAMED,s.username)})).exitCode()}};IE.paths=[["npm","whoami"]],IE.usage=Re.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var vge=IE;var o9e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:Ie.STRING,default:null}},commands:[pge,dge,mge,Ige,yge,bge,wge,Qge,vge]},a9e=o9e;var bO={};ft(bO,{default:()=>B9e,patchUtils:()=>CO});var CO={};ft(CO,{applyPatchFile:()=>qb,diffFolders:()=>yO,extractPackageToDisk:()=>IO,extractPatchFlags:()=>Nge,isParentRequired:()=>EO,loadPatchFiles:()=>bE,makeDescriptor:()=>I9e,makeLocator:()=>mO,parseDescriptor:()=>wE,parseLocator:()=>BE,parsePatchFile:()=>Yb});var yE=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var A9e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Bh(t){return k.relative(Me.root,k.resolve(Me.root,j.toPortablePath(t)))}function l9e(t){let e=t.trim().match(A9e);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var c9e=420,u9e=493,Xr;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(Xr||(Xr={}));var Sge=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),g9e=t=>({header:l9e(t),parts:[]}),f9e={["@"]:"header",["-"]:Xr.Deletion,["+"]:Xr.Insertion,[" "]:Xr.Context,["\\"]:"pragma",undefined:Xr.Context};function p9e(t){let e=[],r=Sge(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=Sge()}for(let l=0;l0?"patch":"mode change",S=null;switch(Q){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Bh(u),toPath:Bh(g)}),S=g}break;case"file deletion":{let x=n||p;if(!x)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:y&&y[0]||null,path:Bh(x),mode:Gb(l),hash:f})}break;case"file creation":{let x=s||m;if(!x)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:y&&y[0]||null,path:Bh(x),mode:Gb(c),hash:h})}break;case"patch":case"mode change":S=m||s;break;default:Se.assertNever(Q);break}S&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Bh(S),oldMode:Gb(o),newMode:Gb(a)}),S&&y&&y.length&&e.push({type:"patch",semverExclusivity:i,path:Bh(S),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function Gb(t){let e=parseInt(t,8)&511;if(e!==c9e&&e!==u9e)throw new Error(`Unexpected file mode string: ${t}`);return e}function Yb(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),d9e(p9e(e))}function h9e(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case Xr.Context:r+=n.length,e+=n.length;break;case Xr.Deletion:e+=n.length;break;case Xr.Insertion:r+=n.length;break;default:Se.assertNever(i);break}if(e!==t.header.original.length||r!==t.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(t.header.original.length)} ${i(t.header.patched.length)} @@, got @@ ${i(e)} ${i(r)} @@)`)}}async function bh(t,e,r){let i=await t.lstatPromise(e),n=await r();if(typeof n!="undefined"&&(e=n),t.lutimesPromise)await t.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await t.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function qb(t,{baseFs:e=new ar,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!Wt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(r){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await bh(e,k.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(r){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await bh(e,k.dirname(n.fromPath),async()=>{await bh(e,k.dirname(n.toPath),async()=>{await bh(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` +`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(k.dirname(n.path),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,Dr.SAFE_TIME,Dr.SAFE_TIME)}break;case"patch":await bh(e,n.path,async()=>{await C9e(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(kge(n.newMode)!==kge(o))continue;await bh(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:Se.assertNever(n);break}}function kge(t){return(t&64)>0}function xge(t){return t.replace(/\s+$/,"")}function m9e(t,e){return xge(t)===xge(e)}async function C9e({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),m=Math.max(h,p),y=0,Q=0,S=null;for(;y<=m;){if(y<=h&&(Q=f-y,S=Pge(g,o,Q),S!==null)){y=-y;break}if(y<=p&&(Q=f+y,S=Pge(g,o,Q),S!==null))break;y+=1}if(S===null)throw new yE(t.indexOf(g),g);a.push(S),l+=y,c=Q+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:Se.assertNever(f);break}await r.writeFilePromise(e,o.join(` +`),{mode:n})}function Pge(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case Xr.Context:case Xr.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!m9e(o,s))return null;r+=1}n.type===Xr.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case Xr.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:Se.assertNever(n.type);break}return i}var E9e=/^builtin<([^>]+)>$/;function Dge(t,e){let{source:r,selector:i,params:n}=P.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>j.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?P.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function wE(t){let i=Dge(t.range,P.parseDescriptor),{sourceItem:e}=i,r=Tr(i,["sourceItem"]);return te(N({},r),{sourceDescriptor:e})}function BE(t){let i=Dge(t.reference,P.parseLocator),{sourceItem:e}=i,r=Tr(i,["sourceItem"]);return te(N({},r),{sourceLocator:e})}function Rge({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:P.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return P.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:N(N(N({},a),l),o)})}function I9e(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return P.makeLocator(t,Rge({parentLocator:e,sourceItem:r,patchPaths:i},P.stringifyDescriptor))}function mO(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return P.makeLocator(t,Rge({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function Fge({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(E9e);return s!==null?r(s[1]):k.isAbsolute(i)?t(i):e(i)}function Nge(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function EO(t){return Fge({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function bE(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await Se.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Nge(o),l=await Fge({onAbsolute:async()=>await K.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(k.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return te(N({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function IO(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new pi,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await K.mktempPromise(),c=k.join(l,"source"),u=k.join(l,"user"),g=k.join(l,".yarn-patch.json");return await Promise.all([K.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),K.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),K.writeJsonPromise(g,{locator:P.stringifyLocator(t),version:i.version})]),K.detachTemp(l),u}async function yO(t,e){let r=j.fromPortablePath(t).replace(/\\/g,"/"),i=j.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Fr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:j.toPortablePath(process.cwd()),env:te(N({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${Se.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Se.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(Se.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(Se.escapeRegExp(`${i}/`),"g"),"")}function Lge(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case Xr.Context:r.reportInfo(null,` ${ae.pretty(e,n,"grey")}`);break;case Xr.Deletion:r.reportError($.FROZEN_LOCKFILE_EXCEPTION,`- ${ae.pretty(e,n,ae.Type.REMOVED)}`);break;case Xr.Insertion:r.reportError($.FROZEN_LOCKFILE_EXCEPTION,`+ ${ae.pretty(e,n,ae.Type.ADDED)}`);break;default:Se.assertNever(i.type)}}var wO=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=BE(e),a=await bE(i,o,r),l=await K.mktempPromise(),c=k.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=P.getIdentVendorPath(e),f=await fn(),h=new Ai(c,{libzip:f,create:!0,level:r.project.configuration.get("compressionLevel")});await Se.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:m}of a){if(p===null)continue;let y=new Ai(c,{libzip:f,level:r.project.configuration.get("compressionLevel")}),Q=new _t(k.resolve(Me.root,g),{baseFs:y});try{await qb(Yb(p),{baseFs:Q,version:s})}catch(S){if(!(S instanceof yE))throw S;let x=r.project.configuration.get("enableInlineHunks"),M=!x&&!m?" (set enableInlineHunks for details)":"",Y=`${P.prettyLocator(r.project.configuration,e)}: ${S.message}${M}`,U=J=>{!x||Lge(S.hunk,{configuration:r.project.configuration,report:J})};if(y.discardAndClose(),m){r.report.reportWarningOnce($.PATCH_HUNK_FAILED,Y,{reportExtra:U});continue}else throw new ct($.PATCH_HUNK_FAILED,Y,U)}y.saveAndClose()}return new Ai(c,{libzip:f,level:r.project.configuration.get("compressionLevel")})}};var y9e=3,BO=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=wE(e);return n.every(s=>!EO(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=wE(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=wE(e),a=await bE(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=Dn.makeHash(`${y9e}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[mO(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=BE(e),n=await r.resolver.resolve(i,r);return N(N({},n),e)}};var QE=class extends Le{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let n=k.resolve(this.context.cwd,j.toPortablePath(this.patchFolder)),s=k.join(n,"../source"),o=k.join(n,"../.yarn-patch.json");if(!K.existsSync(s))throw new Pe("The argument folder didn't get created by 'yarn patch'");let a=await yO(s,n),l=await K.readJsonPromise(o),c=P.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new Pe("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=k.join(u,`${P.slugifyLocator(c)}.patch`);await K.mkdirPromise(u,{recursive:!0}),await K.writeFilePromise(g,a);let f=k.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(c),description:l.version}},reference:`patch:${P.stringifyLocator(c)}#${f}`}),await r.persist()}};QE.paths=[["patch-commit"]],QE.usage=Re.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var Tge=QE;var vE=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let s=P.parseLocator(this.package);if(s.reference==="unknown"){let o=Se.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?Se.mapAndFilter.skip:P.isVirtualLocator(a)?Se.mapAndFilter.skip:a);if(o.length===0)throw new Pe("No package found in the project for the given locator");if(o.length>1)throw new Pe(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${o.map(a=>` +- ${P.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new Pe("No package found in the project for the given locator");await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await IO(s,{cache:n,project:r});o.reportJson({locator:P.stringifyLocator(s),path:j.fromPortablePath(a)}),o.reportInfo($.UNNAMED,`Package ${P.prettyLocator(e,s)} got extracted with success!`),o.reportInfo($.UNNAMED,`You can now edit the following folder: ${ae.pretty(e,j.fromPortablePath(a),"magenta")}`),o.reportInfo($.UNNAMED,`Once you are done run ${ae.pretty(e,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${j.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};vE.paths=[["patch"]],vE.usage=Re.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n \n Once you're done with your changes, run `yarn patch-commit -s ` (with `` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n "});var Oge=vE;var w9e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:Ie.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:Ie.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[Tge,Oge],fetchers:[wO],resolvers:[BO]},B9e=w9e;var kO={};ft(kO,{default:()=>v9e});var QO=class{supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let i=vO(),n=r.project.installersCustomData.get(i);if(!n)throw new Pe(`The project in ${ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s=="undefined")throw new Pe(`Couldn't find ${P.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let i=vO(),n=r.project.installersCustomData.get(i);if(!n)throw new Pe(`The project in ${ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=k.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new Mge(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},Mge=class{constructor(e){this.opts=e;this.asyncActions=new Se.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return vO()}attachCustomData(e){}async installPackage(e,r,i){switch(e.linkType){case Qt.SOFT:return this.installPackageSoft(e,r,i);case Qt.HARD:return this.installPackageHard(e,r,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,i){let n=k.resolve(r.packageFs.getRealPath(),r.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,r,i){var u;let n=b9e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await K.mkdirPromise(n,{recursive:!0}),await K.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await At.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?u:new At,misc:{hasBindingGyp:wo.hasBindingGyp(r)}},l=this.opts.project.getDependencyMeta(o,e.version),c=wo.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,r){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!Hge(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=k.join(n,Pt.nodeModules),o=[],a=await jge(s);for(let[l,c]of r){let u=c;Hge(c,{project:this.opts.project})||(this.opts.report.reportWarning($.UNNAMED,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=k.join(s,f),p=k.relative(k.dirname(h),g),m=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(m){if(m.isSymbolicLink()&&await K.readlinkPromise(h)===p)return;await K.removePromise(h)}await K.mkdirpPromise(k.dirname(h)),process.platform=="win32"?await K.symlinkPromise(g,h,"junction"):await K.symlinkPromise(p,h)}))}o.push(Gge(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=Kge(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await K.removePromise(e);else{let r=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=k.contains(e,s);if(o!==null){let[a,,...l]=o.split(k.sep);i.add(a);let c=k.join(e,a);r.push(K.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=k.join(c,g);if(g===Pt.nodeModules){let h=await jge(f);return h.delete(l.join(k.sep)),Gge(f,h)}else return K.removePromise(f)}))).catch(u=>{if(u.code!=="ENOENT")throw u}))}}let n;try{n=await K.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||r.push(K.removePromise(k.join(e,s)));await Promise.all(r)}return await this.asyncActions.wait(),await SO(e),await SO(Uge(this.opts.project)),{customData:this.customData}}};function vO(){return JSON.stringify({name:"PnpmInstaller",version:2})}function Uge(t){return k.join(t.cwd,Pt.nodeModules)}function Kge(t){return k.join(Uge(t),".store")}function b9e(t,{project:e}){let r=P.slugifyLocator(t),i=P.getIdentVendorPath(t);return k.join(Kge(e),r,i)}function Hge(t,{project:e}){return!P.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function jge(t){let e=new Map,r=[];try{r=await K.readdirPromise(t,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of r)if(!i.name.startsWith("."))if(i.name.startsWith("@")){let n=await K.readdirPromise(k.join(t,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}async function Gge(t,e){var n;let r=[],i=new Set;for(let s of e.keys()){r.push(K.removePromise(k.join(t,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(r).then(()=>Promise.all([...i].map(s=>SO(k.join(t,s)))))}async function SO(t){try{await K.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var Q9e={linkers:[QO]},v9e=Q9e;var J0=()=>({modules:new Map([["@yarnpkg/cli",_C],["@yarnpkg/core",QC],["@yarnpkg/fslib",Zh],["@yarnpkg/libzip",Md],["@yarnpkg/parsers",op],["@yarnpkg/shell",Kd],["clipanion",c$(Cp)],["semver",S9e],["typanion",sg],["yup",k9e],["@yarnpkg/plugin-essentials",AL],["@yarnpkg/plugin-compat",gL],["@yarnpkg/plugin-dlx",fL],["@yarnpkg/plugin-file",wL],["@yarnpkg/plugin-git",aL],["@yarnpkg/plugin-github",bL],["@yarnpkg/plugin-http",SL],["@yarnpkg/plugin-init",DL],["@yarnpkg/plugin-link",TL],["@yarnpkg/plugin-nm",gT],["@yarnpkg/plugin-npm",uO],["@yarnpkg/plugin-npm-cli",dO],["@yarnpkg/plugin-pack",aO],["@yarnpkg/plugin-patch",bO],["@yarnpkg/plugin-pnp",eT],["@yarnpkg/plugin-pnpm",kO]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});d0({binaryVersion:Ur||"",pluginConfiguration:J0()});})(); +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 000000000..00730a5e8 --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1,3 @@ +nodeLinker: node-modules + +yarnPath: .yarn/releases/yarn-3.2.0.cjs diff --git a/contracts/AbcToken.sol b/contracts/AbcToken.sol index 7d68107ec..85cdd4f04 100644 --- a/contracts/AbcToken.sol +++ b/contracts/AbcToken.sol @@ -66,9 +66,13 @@ contract AbcToken is Router, ERC20Upgradeable { uint32 _destination, address _recipient, uint256 _amount - ) external { + ) external payable { _burn(msg.sender, _amount); - _dispatchToRemoteRouter(_destination, abi.encode(_recipient, _amount)); + _dispatchWithGasAndCheckpoint( + _destination, + abi.encode(_recipient, _amount), + msg.value + ); emit SentTransferRemote(_destination, _recipient, _amount); } diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 304f66a8e..000000000 --- a/package-lock.json +++ /dev/null @@ -1,38150 +0,0 @@ -{ - "name": "@abacus-network/token", - "version": "0.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@abacus-network/token", - "version": "0.0.0", - "license": "MIT OR Apache-2.0", - "dependencies": { - "@abacus-network/app": "^0.0.3", - "@abacus-network/core": "^0.0.6", - "@abacus-network/sdk": "^0.0.4", - "@abacus-network/utils": "^0.0.8", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@openzeppelin/contracts-upgradeable": "~4.5.0", - "ethers": "^5.4.7" - }, - "devDependencies": { - "@abacus-network/hardhat": "^0.0.18", - "@nomiclabs/hardhat-ethers": "^2.0.1", - "@nomiclabs/hardhat-waffle": "^2.0.1", - "@typechain/ethers-v5": "~7.0.0", - "@typechain/hardhat": "^2.0.1", - "@types/mocha": "^9.1.0", - "chai": "^4.3.0", - "eslint": "^7.20.0", - "hardhat": "^2.8.3", - "hardhat-gas-reporter": "^1.0.7", - "prettier": "^2.2.1", - "prettier-plugin-solidity": "^1.0.0-beta.5", - "solhint": "^3.3.2", - "solhint-plugin-prettier": "^0.0.5", - "solidity-coverage": "^0.7.14", - "ts-node": "^10.1.0", - "typechain": "^5.0.0", - "typescript": "^4.3.5" - } - }, - "node_modules/@abacus-network/app": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@abacus-network/app/-/app-0.0.3.tgz", - "integrity": "sha512-FHir15S9tB0TcpuwzW4iGGgpDpEl5RNUUKPpnM5x5ZvbMeuBOzBcOzFeYXo/33WesNeXfH3FhW1hjS+w8pFY+g==", - "dependencies": { - "@abacus-network/core": "^0.0.5", - "@abacus-network/utils": "^0.0.5", - "@openzeppelin/contracts-upgradeable": "^4.5.0" - } - }, - "node_modules/@abacus-network/app/node_modules/@abacus-network/core": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.5.tgz", - "integrity": "sha512-DKDqnGGfsgKrNzZvc9ewD8DS+4yVs+ugpGZtlAjlOzwpZ97Rk61RjrSBO0p4g85UtVg5GI0CLqfzgYdWSS81eQ==", - "dependencies": { - "@abacus-network/utils": "^0.0.5", - "@openzeppelin/contracts": "^3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0", - "ts-generator": "^0.1.1" - } - }, - "node_modules/@abacus-network/app/node_modules/@abacus-network/core/node_modules/@openzeppelin/contracts-upgradeable": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", - "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" - }, - "node_modules/@abacus-network/app/node_modules/@abacus-network/utils": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.5.tgz", - "integrity": "sha512-B8zS1RlKh8Pu7hifeenbAtPg2PRubgcPx3MyJz0TE8ryyDDOd54Xl9g96Xx9mrF7xeLRXBkACsi8S6DkgK+GOw==", - "dependencies": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - }, - "node_modules/@abacus-network/apps": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@abacus-network/apps/-/apps-0.0.1.tgz", - "integrity": "sha512-vOHO2ubIrqwsuHSnxEQH4C2BP1AnqGeEqvEPNR/gTYi0nRuyKUg5fpIHUruK4W+zy4ZHyq5rSTYsR6mu945LEg==", - "dependencies": { - "@abacus-network/core": "^0.0.3", - "@abacus-network/hardhat": "^0.0.8", - "@abacus-network/utils": "^0.0.7", - "@openzeppelin/contracts": "~3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0" - } - }, - "node_modules/@abacus-network/apps/node_modules/@abacus-network/core": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.3.tgz", - "integrity": "sha512-GkiNbn79xKQm6AHQbBqjXrLUVzjFriGegjYhYnkZPobs1LKb4D6OUvrAty7bnO1qAPYkJHUhyRlVjsZxTqhqLA==", - "dependencies": { - "@abacus-network/utils": "^0.0.7", - "@openzeppelin/contracts": "^3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0", - "ts-generator": "^0.1.1" - } - }, - "node_modules/@abacus-network/apps/node_modules/@abacus-network/hardhat": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/@abacus-network/hardhat/-/hardhat-0.0.8.tgz", - "integrity": "sha512-b67pCrW0lBZBbAlhvegMEas4yCXQQqQTqNAfY+AWoaZV2RJCeWLKW29Ws0rjlOD7jmMVoWNIqjO8juUpPWPZvQ==", - "dependencies": { - "@abacus-network/core": "^0.0.3", - "@abacus-network/utils": "^0.0.7", - "@nomiclabs/hardhat-ethers": "^2.0.5", - "@nomiclabs/hardhat-waffle": "^2.0.2", - "@typechain/hardhat": "^2.0.1", - "ethereum-waffle": "^3.2.2", - "ethers": "^5.4.7", - "hardhat": "^2.8.4", - "prettier": "^2.3.1", - "ts-node": "^10.1.0", - "typechain": "^5.0.0", - "typescript": "^4.3.2" - } - }, - "node_modules/@abacus-network/apps/node_modules/@abacus-network/utils": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", - "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", - "dependencies": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - }, - "node_modules/@abacus-network/apps/node_modules/@openzeppelin/contracts-upgradeable": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", - "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" - }, - "node_modules/@abacus-network/core": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.6.tgz", - "integrity": "sha512-3Aa1kmROmUksTjutm+uA13VvBmvycIwKIXb6cz6+0mZsyJ1Vg9Him46oiqI7QuSIbmEqSpa+GGvBll46aexX9g==", - "dependencies": { - "@abacus-network/utils": "^0.0.7", - "@openzeppelin/contracts": "^3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0", - "ts-generator": "^0.1.1" - } - }, - "node_modules/@abacus-network/core/node_modules/@abacus-network/utils": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", - "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", - "dependencies": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - }, - "node_modules/@abacus-network/core/node_modules/@openzeppelin/contracts-upgradeable": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", - "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" - }, - "node_modules/@abacus-network/hardhat": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/@abacus-network/hardhat/-/hardhat-0.0.18.tgz", - "integrity": "sha512-TZgcsYd27s1L2CRxC8HznmAji/Ackspo52bQImz/eZR4WnWXdgc/3sjF9z89ovgRcFl8fDVAyu2suiOv9mWUyQ==", - "dev": true, - "dependencies": { - "@abacus-network/core": "^0.0.5", - "@abacus-network/utils": "^0.0.7", - "@nomiclabs/hardhat-ethers": "^2.0.5", - "@nomiclabs/hardhat-waffle": "^2.0.2", - "@typechain/hardhat": "^2.0.1", - "ethereum-waffle": "^3.2.2", - "ethers": "^5.4.7", - "hardhat": "^2.8.4", - "prettier": "^2.3.1", - "ts-node": "^10.1.0", - "typechain": "^5.0.0", - "typescript": "^4.3.2" - } - }, - "node_modules/@abacus-network/hardhat/node_modules/@abacus-network/core": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.5.tgz", - "integrity": "sha512-DKDqnGGfsgKrNzZvc9ewD8DS+4yVs+ugpGZtlAjlOzwpZ97Rk61RjrSBO0p4g85UtVg5GI0CLqfzgYdWSS81eQ==", - "dev": true, - "dependencies": { - "@abacus-network/utils": "^0.0.5", - "@openzeppelin/contracts": "^3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0", - "ts-generator": "^0.1.1" - } - }, - "node_modules/@abacus-network/hardhat/node_modules/@abacus-network/core/node_modules/@abacus-network/utils": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.5.tgz", - "integrity": "sha512-B8zS1RlKh8Pu7hifeenbAtPg2PRubgcPx3MyJz0TE8ryyDDOd54Xl9g96Xx9mrF7xeLRXBkACsi8S6DkgK+GOw==", - "dev": true, - "dependencies": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - }, - "node_modules/@abacus-network/hardhat/node_modules/@abacus-network/utils": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", - "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", - "dev": true, - "dependencies": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - }, - "node_modules/@abacus-network/hardhat/node_modules/@openzeppelin/contracts-upgradeable": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", - "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==", - "dev": true - }, - "node_modules/@abacus-network/sdk": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@abacus-network/sdk/-/sdk-0.0.4.tgz", - "integrity": "sha512-+PjERzE3IuzPemYUbz3ED4l1HZ5prA7nr2mHnGPsdD4BY8PPcOQ/xNIQHzqUjAevdkcLD7cthn5s0k34rnOItA==", - "dependencies": { - "@abacus-network/apps": "^0.0.1", - "@abacus-network/core": "^0.0.3", - "@abacus-network/utils": "^0.0.7", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "celo-ethers-provider": "0.0.0", - "ethers": "^5.4.7" - } - }, - "node_modules/@abacus-network/sdk/node_modules/@abacus-network/core": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.3.tgz", - "integrity": "sha512-GkiNbn79xKQm6AHQbBqjXrLUVzjFriGegjYhYnkZPobs1LKb4D6OUvrAty7bnO1qAPYkJHUhyRlVjsZxTqhqLA==", - "dependencies": { - "@abacus-network/utils": "^0.0.7", - "@openzeppelin/contracts": "^3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0", - "ts-generator": "^0.1.1" - } - }, - "node_modules/@abacus-network/sdk/node_modules/@abacus-network/utils": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", - "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", - "dependencies": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - }, - "node_modules/@abacus-network/sdk/node_modules/@openzeppelin/contracts-upgradeable": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", - "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" - }, - "node_modules/@abacus-network/utils": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.8.tgz", - "integrity": "sha512-fuQ+H6HC/d2/SjaxZnSJqKjkOCgQmJalDIMQNkDFtMpkvsxdndlZITLCj328Chee/BngpZ7sZyGS8u64w+mF4Q==", - "dependencies": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", - "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@babel/highlight/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", - "dependencies": { - "@cspotcode/source-map-consumer": "0.8.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@ensdomains/ens": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", - "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", - "deprecated": "Please use @ensdomains/ens-contracts", - "dependencies": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^2.0.8", - "solc": "^0.4.20", - "testrpc": "0.0.1", - "web3-utils": "^1.0.0-beta.31" - } - }, - "node_modules/@ensdomains/ens/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ensdomains/ens/node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ensdomains/ens/node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "node_modules/@ensdomains/ens/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ensdomains/ens/node_modules/fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "node_modules/@ensdomains/ens/node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "node_modules/@ensdomains/ens/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": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ensdomains/ens/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@ensdomains/ens/node_modules/require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ensdomains/ens/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/@ensdomains/ens/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@ensdomains/ens/node_modules/solc": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", - "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", - "dependencies": { - "fs-extra": "^0.30.0", - "memorystream": "^0.3.1", - "require-from-string": "^1.1.0", - "semver": "^5.3.0", - "yargs": "^4.7.1" - }, - "bin": { - "solcjs": "solcjs" - } - }, - "node_modules/@ensdomains/ens/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "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/@ensdomains/ens/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ensdomains/ens/node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ensdomains/ens/node_modules/y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, - "node_modules/@ensdomains/ens/node_modules/yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "dependencies": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "node_modules/@ensdomains/ens/node_modules/yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", - "dependencies": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - }, - "node_modules/@ensdomains/resolver": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", - "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==", - "deprecated": "Please use @ensdomains/ens-contracts" - }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@ethereum-waffle/chai": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-3.4.4.tgz", - "integrity": "sha512-/K8czydBtXXkcM9X6q29EqEkc5dN3oYenyH2a9hF7rGAApAJUpH8QBtojxOY/xQ2up5W332jqgxwp0yPiYug1g==", - "dependencies": { - "@ethereum-waffle/provider": "^3.4.4", - "ethers": "^5.5.2" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/@ethereum-waffle/compiler": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-3.4.4.tgz", - "integrity": "sha512-RUK3axJ8IkD5xpWjWoJgyHclOeEzDLQFga6gKpeGxiS/zBu+HB0W2FvsrrLalTFIaPw/CGYACRBSIxqiCqwqTQ==", - "dependencies": { - "@resolver-engine/imports": "^0.3.3", - "@resolver-engine/imports-fs": "^0.3.3", - "@typechain/ethers-v5": "^2.0.0", - "@types/mkdirp": "^0.5.2", - "@types/node-fetch": "^2.5.5", - "ethers": "^5.0.1", - "mkdirp": "^0.5.1", - "node-fetch": "^2.6.1", - "solc": "^0.6.3", - "ts-generator": "^0.1.1", - "typechain": "^3.0.0" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/@ethereum-waffle/compiler/node_modules/@typechain/ethers-v5": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-2.0.0.tgz", - "integrity": "sha512-0xdCkyGOzdqh4h5JSf+zoWx85IusEjDcPIwNEHP8mrWSnCae4rvrqB+/gtpdNfX7zjlFlZiMeePn2r63EI3Lrw==", - "dependencies": { - "ethers": "^5.0.2" - }, - "peerDependencies": { - "ethers": "^5.0.0", - "typechain": "^3.0.0" - } - }, - "node_modules/@ethereum-waffle/compiler/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/@ethereum-waffle/compiler/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@ethereum-waffle/compiler/node_modules/ts-essentials": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-6.0.7.tgz", - "integrity": "sha512-2E4HIIj4tQJlIHuATRHayv0EfMGK3ris/GRk1E3CFnsZzeNV+hUmelbaTZHLtXaZppM5oLhHRtO04gINC4Jusw==", - "peerDependencies": { - "typescript": ">=3.7.0" - } - }, - "node_modules/@ethereum-waffle/compiler/node_modules/typechain": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-3.0.0.tgz", - "integrity": "sha512-ft4KVmiN3zH4JUFu2WJBrwfHeDf772Tt2d8bssDTo/YcckKW2D+OwFrHXRC6hJvO3mHjFQTihoMV6fJOi0Hngg==", - "dependencies": { - "command-line-args": "^4.0.7", - "debug": "^4.1.1", - "fs-extra": "^7.0.0", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "ts-essentials": "^6.0.3", - "ts-generator": "^0.1.1" - }, - "bin": { - "typechain": "dist/cli/cli.js" - } - }, - "node_modules/@ethereum-waffle/compiler/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/@ethereum-waffle/ens": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-3.4.4.tgz", - "integrity": "sha512-0m4NdwWxliy3heBYva1Wr4WbJKLnwXizmy5FfSSr5PMbjI7SIGCdCB59U7/ZzY773/hY3bLnzLwvG5mggVjJWg==", - "dependencies": { - "@ensdomains/ens": "^0.4.4", - "@ensdomains/resolver": "^0.2.4", - "ethers": "^5.5.2" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/@ethereum-waffle/mock-contract": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-3.4.4.tgz", - "integrity": "sha512-Mp0iB2YNWYGUV+VMl5tjPsaXKbKo8MDH9wSJ702l9EBjdxFf/vBvnMBAC1Fub1lLtmD0JHtp1pq+mWzg/xlLnA==", - "dependencies": { - "@ethersproject/abi": "^5.5.0", - "ethers": "^5.5.2" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/@ethereum-waffle/provider": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-3.4.4.tgz", - "integrity": "sha512-GK8oKJAM8+PKy2nK08yDgl4A80mFuI8zBkE0C9GqTRYQqvuxIyXoLmJ5NZU9lIwyWVv5/KsoA11BgAv2jXE82g==", - "dependencies": { - "@ethereum-waffle/ens": "^3.4.4", - "ethers": "^5.5.2", - "ganache-core": "^2.13.2", - "patch-package": "^6.2.2", - "postinstall-postinstall": "^2.1.0" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/@ethereumjs/block": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.2.tgz", - "integrity": "sha512-mOqYWwMlAZpYUEOEqt7EfMFuVL2eyLqWWIzcf4odn6QgXY8jBI2NhVuJncrMCKeMZrsJAe7/auaRRB6YcdH+Qw==", - "dependencies": { - "@ethereumjs/common": "^2.6.3", - "@ethereumjs/tx": "^3.5.1", - "ethereumjs-util": "^7.1.4", - "merkle-patricia-tree": "^4.2.4" - } - }, - "node_modules/@ethereumjs/blockchain": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.2.tgz", - "integrity": "sha512-Jz26iJmmsQtngerW6r5BDFaew/f2mObLrRZo3rskLOx1lmtMZ8+TX/vJexmivrnWgmAsTdNWhlKUYY4thPhPig==", - "dependencies": { - "@ethereumjs/block": "^3.6.2", - "@ethereumjs/common": "^2.6.3", - "@ethereumjs/ethash": "^1.1.0", - "debug": "^4.3.3", - "ethereumjs-util": "^7.1.4", - "level-mem": "^5.0.1", - "lru-cache": "^5.1.1", - "semaphore-async-await": "^1.5.1" - } - }, - "node_modules/@ethereumjs/common": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.3.tgz", - "integrity": "sha512-mQwPucDL7FDYIg9XQ8DL31CnIYZwGhU5hyOO5E+BMmT71G0+RHvIT5rIkLBirJEKxV6+Rcf9aEIY0kXInxUWpQ==", - "dependencies": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.4" - } - }, - "node_modules/@ethereumjs/ethash": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", - "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", - "dependencies": { - "@ethereumjs/block": "^3.5.0", - "@types/levelup": "^4.3.0", - "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.1.1", - "miller-rabin": "^4.0.0" - } - }, - "node_modules/@ethereumjs/tx": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.1.tgz", - "integrity": "sha512-xzDrTiu4sqZXUcaBxJ4n4W5FrppwxLxZB4ZDGVLtxSQR4lVuOnFR6RcUHdg1mpUhAPVrmnzLJpxaeXnPxIyhWA==", - "dependencies": { - "@ethereumjs/common": "^2.6.3", - "ethereumjs-util": "^7.1.4" - } - }, - "node_modules/@ethereumjs/vm": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.8.0.tgz", - "integrity": "sha512-mn2G2SX79QY4ckVvZUfxlNUpzwT2AEIkvgJI8aHoQaNYEHhH8rmdVDIaVVgz6//PjK52BZsK23afz+WvSR0Qqw==", - "dependencies": { - "@ethereumjs/block": "^3.6.2", - "@ethereumjs/blockchain": "^5.5.2", - "@ethereumjs/common": "^2.6.3", - "@ethereumjs/tx": "^3.5.1", - "async-eventemitter": "^0.2.4", - "core-js-pure": "^3.0.1", - "debug": "^4.3.3", - "ethereumjs-util": "^7.1.4", - "functional-red-black-tree": "^1.0.1", - "mcl-wasm": "^0.7.1", - "merkle-patricia-tree": "^4.2.4", - "rustbn.js": "~0.2.0" - } - }, - "node_modules/@ethersproject/abi": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.1.tgz", - "integrity": "sha512-0cqssYh6FXjlwKWBmLm3+zH2BNARoS5u/hxbz+LpQmcDB3w0W553h2btWui1/uZp2GBM/SI3KniTuMcYyHpA5w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/hash": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" - } - }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz", - "integrity": "sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "@ethersproject/web": "^5.6.0" - } - }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.0.tgz", - "integrity": "sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "node_modules/@ethersproject/address": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.0.tgz", - "integrity": "sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.0" - } - }, - "node_modules/@ethersproject/base64": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.0.tgz", - "integrity": "sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.0" - } - }, - "node_modules/@ethersproject/basex": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.0.tgz", - "integrity": "sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "node_modules/@ethersproject/bignumber": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.0.tgz", - "integrity": "sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^4.11.9" - } - }, - "node_modules/@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/constants": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.0.tgz", - "integrity": "sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.0" - } - }, - "node_modules/@ethersproject/contracts": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.0.tgz", - "integrity": "sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "^5.6.0", - "@ethersproject/abstract-provider": "^5.6.0", - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.0" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.0.tgz", - "integrity": "sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" - } - }, - "node_modules/@ethersproject/hdnode": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.0.tgz", - "integrity": "sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/basex": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/pbkdf2": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/sha2": "^5.6.0", - "@ethersproject/signing-key": "^5.6.0", - "@ethersproject/strings": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "@ethersproject/wordlists": "^5.6.0" - } - }, - "node_modules/@ethersproject/json-wallets": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.0.tgz", - "integrity": "sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/hdnode": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/pbkdf2": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.0", - "@ethersproject/strings": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.0.tgz", - "integrity": "sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "js-sha3": "0.8.0" - } - }, - "node_modules/@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ] - }, - "node_modules/@ethersproject/networks": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.2.tgz", - "integrity": "sha512-9uEzaJY7j5wpYGTojGp8U89mSsgQLc40PCMJLMCnFXTs7nhBveZ0t7dbqWUNrepWTszDbFkYD6WlL8DKx5huHA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/pbkdf2": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.0.tgz", - "integrity": "sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/sha2": "^5.6.0" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/providers": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.3.tgz", - "integrity": "sha512-PKTEZXjdAhGK/+hUwRLQqlGrwTRrK4D0FHEP2V9klUF8C6+AWfHkA3AoLI+a8oq5CUZoRAH0nMecYGkKxUjeSw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.6.0", - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/basex": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/hash": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.0", - "@ethersproject/rlp": "^5.6.0", - "@ethersproject/sha2": "^5.6.0", - "@ethersproject/strings": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "@ethersproject/web": "^5.6.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "node_modules/@ethersproject/random": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.0.tgz", - "integrity": "sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/rlp": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.0.tgz", - "integrity": "sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/sha2": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.0.tgz", - "integrity": "sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.0.tgz", - "integrity": "sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/solidity": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.0.tgz", - "integrity": "sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/sha2": "^5.6.0", - "@ethersproject/strings": "^5.6.0" - } - }, - "node_modules/@ethersproject/strings": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.0.tgz", - "integrity": "sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.0.tgz", - "integrity": "sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.0", - "@ethersproject/signing-key": "^5.6.0" - } - }, - "node_modules/@ethersproject/units": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.0.tgz", - "integrity": "sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/logger": "^5.6.0" - } - }, - "node_modules/@ethersproject/wallet": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.0.tgz", - "integrity": "sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.6.0", - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/hash": "^5.6.0", - "@ethersproject/hdnode": "^5.6.0", - "@ethersproject/json-wallets": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.0", - "@ethersproject/signing-key": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "@ethersproject/wordlists": "^5.6.0" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.0.tgz", - "integrity": "sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" - } - }, - "node_modules/@ethersproject/wordlists": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.0.tgz", - "integrity": "sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/hash": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@metamask/eth-sig-util": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.0.tgz", - "integrity": "sha512-LczOjjxY4A7XYloxzyxJIHONELmUxVZncpOLoClpEcTiebiVdM46KRPYXGuULro9oNNR2xdVx3yoKiQjdfWmoA==", - "dependencies": { - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^6.2.1", - "ethjs-util": "^0.1.6", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@metamask/eth-sig-util/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@metamask/eth-sig-util/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/@noble/hashes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.0.0.tgz", - "integrity": "sha512-DZVbtY62kc3kkBtMHqwCOfXrT/hnoORy5BJ4+HU1IR59X0KWAOqsfzQPcUl/lQLlG7qXbe/fZ3r/emxtAl+sqg==", - "dev": true - }, - "node_modules/@noble/secp256k1": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.5.5.tgz", - "integrity": "sha512-sZ1W6gQzYnu45wPrWx8D3kwI2/U29VYTx9OjbDAd7jwRItJ0cSTMPRL/C8AWZFn9kWFLQGqEXVEE86w4Z8LpIQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ] - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nomiclabs/hardhat-ethers": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.5.tgz", - "integrity": "sha512-A2gZAGB6kUvLx+kzM92HKuUF33F1FSe90L0TmkXkT2Hh0OKRpvWZURUSU2nghD2yC4DzfEZ3DftfeHGvZ2JTUw==", - "peerDependencies": { - "ethers": "^5.0.0", - "hardhat": "^2.0.0" - } - }, - "node_modules/@nomiclabs/hardhat-waffle": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.3.tgz", - "integrity": "sha512-049PHSnI1CZq6+XTbrMbMv5NaL7cednTfPenx02k3cEh8wBMLa6ys++dBETJa6JjfwgA9nBhhHQ173LJv6k2Pg==", - "dependencies": { - "@types/sinon-chai": "^3.2.3", - "@types/web3": "1.0.19" - }, - "peerDependencies": { - "@nomiclabs/hardhat-ethers": "^2.0.0", - "ethereum-waffle": "^3.2.0", - "ethers": "^5.0.0", - "hardhat": "^2.0.0" - } - }, - "node_modules/@openzeppelin/contracts": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", - "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==" - }, - "node_modules/@openzeppelin/contracts-upgradeable": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.5.2.tgz", - "integrity": "sha512-xgWZYaPlrEOQo3cBj97Ufiuv79SPd8Brh4GcFYhPgb6WvAq4ppz8dWKL6h+jLAK01rUqMRp/TS9AdXgAeNvCLA==" - }, - "node_modules/@resolver-engine/core": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", - "integrity": "sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ==", - "dependencies": { - "debug": "^3.1.0", - "is-url": "^1.2.4", - "request": "^2.85.0" - } - }, - "node_modules/@resolver-engine/core/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@resolver-engine/fs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.3.3.tgz", - "integrity": "sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ==", - "dependencies": { - "@resolver-engine/core": "^0.3.3", - "debug": "^3.1.0" - } - }, - "node_modules/@resolver-engine/fs/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@resolver-engine/imports": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.3.3.tgz", - "integrity": "sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q==", - "dependencies": { - "@resolver-engine/core": "^0.3.3", - "debug": "^3.1.0", - "hosted-git-info": "^2.6.0", - "path-browserify": "^1.0.0", - "url": "^0.11.0" - } - }, - "node_modules/@resolver-engine/imports-fs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz", - "integrity": "sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA==", - "dependencies": { - "@resolver-engine/fs": "^0.3.3", - "@resolver-engine/imports": "^0.3.3", - "debug": "^3.1.0" - } - }, - "node_modules/@resolver-engine/imports-fs/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@resolver-engine/imports/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@scure/base": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.0.0.tgz", - "integrity": "sha512-gIVaYhUsy+9s58m/ETjSJVKHhKTBMmcRb9cEV5/5dwvfDlfORjKrFsDeDHWRrm6RjcPvCLZFwGJjAjLj1gg4HA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ] - }, - "node_modules/@scure/bip32": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.0.1.tgz", - "integrity": "sha512-AU88KKTpQ+YpTLoicZ/qhFhRRIo96/tlb+8YmDDHR9yiKVjSsFZiefJO4wjS2PMTkz5/oIcw84uAq/8pleQURA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "@noble/hashes": "~1.0.0", - "@noble/secp256k1": "~1.5.2", - "@scure/base": "~1.0.0" - } - }, - "node_modules/@scure/bip39": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.0.0.tgz", - "integrity": "sha512-HrtcikLbd58PWOkl02k9V6nXWQyoa7A0+Ek9VF7z17DDk9XZAFUcIdqfh0jJXLypmizc5/8P6OxoUeKliiWv4w==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "@noble/hashes": "~1.0.0", - "@scure/base": "~1.0.0" - } - }, - "node_modules/@sentry/core": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", - "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", - "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@sentry/hub": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", - "dependencies": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@sentry/minimal": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", - "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", - "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@sentry/node": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", - "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", - "dependencies": { - "@sentry/core": "5.30.0", - "@sentry/hub": "5.30.0", - "@sentry/tracing": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "cookie": "^0.4.1", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@sentry/tracing": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", - "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", - "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@sentry/types": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@sentry/utils": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", - "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", - "dependencies": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@solidity-parser/parser": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.1.tgz", - "integrity": "sha512-eLjj2L6AuQjBB6s/ibwCAc0DwrR5Ge+ys+wgWo+bviU7fV2nTMQhU63CGaDKXg9iTmMxwhkyoggdIR7ZGRfMgw==", - "dependencies": { - "antlr4ts": "^0.5.0-alpha.4" - } - }, - "node_modules/@summa-tx/memview-sol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@summa-tx/memview-sol/-/memview-sol-2.0.1.tgz", - "integrity": "sha512-GuaXBYG6/aIjKae3UJSBS61J/IuK/NTuk2IJBpGxytkxN1p3ZdRNIp8HQAIOVoCKZQtvzdPaBWokzCk/LakA/Q==" - }, - "node_modules/@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, - "dependencies": { - "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@truffle/error": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.1.0.tgz", - "integrity": "sha512-RbUfp5VreNhsa2Q4YbBjz18rOQI909pG32bghl1hulO7IpvcqTS+C3Ge5cNbiWQ1WGzy1wIeKLW0tmQtHFB7qg==", - "dev": true - }, - "node_modules/@truffle/interface-adapter": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.13.tgz", - "integrity": "sha512-XuxSGq3IvTihiXaBzxuFKjIZTETuwyk79vGPsZTjgddhW1Ao9/CX8c2kcqKGYLf6nuDBcBSynLn4NCamsfSNuA==", - "dev": true, - "dependencies": { - "bn.js": "^5.1.3", - "ethers": "^4.0.32", - "web3": "1.5.3" - } - }, - "node_modules/@truffle/interface-adapter/node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - }, - "node_modules/@truffle/interface-adapter/node_modules/ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "dependencies": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "node_modules/@truffle/interface-adapter/node_modules/ethers/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/@truffle/interface-adapter/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/@truffle/interface-adapter/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true - }, - "node_modules/@truffle/interface-adapter/node_modules/scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "node_modules/@truffle/interface-adapter/node_modules/setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", - "dev": true - }, - "node_modules/@truffle/interface-adapter/node_modules/uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true - }, - "node_modules/@truffle/provider": { - "version": "0.2.51", - "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.51.tgz", - "integrity": "sha512-7N6pBECypJN8GwpzeR18RQeazn5KEmSTvxfhLd1LwFsga5CkU0fF+WB7rc0+ET6IeqPy5op3QWEwsvAz4MxMlw==", - "dev": true, - "dependencies": { - "@truffle/error": "^0.1.0", - "@truffle/interface-adapter": "^0.5.13", - "web3": "1.5.3" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" - }, - "node_modules/@typechain/ethers-v5": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-7.0.1.tgz", - "integrity": "sha512-mXEJ7LG0pOYO+MRPkHtbf30Ey9X2KAsU0wkeoVvjQIn7iAY6tB3k3s+82bbmJAUMyENbQ04RDOZit36CgSG6Gg==", - "dev": true, - "peerDependencies": { - "@ethersproject/abi": "^5.0.0", - "@ethersproject/bytes": "^5.0.0", - "@ethersproject/providers": "^5.0.0", - "ethers": "^5.1.3", - "typechain": "^5.0.0", - "typescript": ">=4.0.0" - } - }, - "node_modules/@typechain/hardhat": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-2.3.1.tgz", - "integrity": "sha512-BQV8OKQi0KAzLXCdsPO0pZBNQQ6ra8A2ucC26uFX/kquRBtJu1yEyWnVSmtr07b5hyRoJRpzUeINLnyqz4/MAw==", - "dependencies": { - "fs-extra": "^9.1.0" - }, - "peerDependencies": { - "hardhat": "^2.0.10", - "lodash": "^4.17.15", - "typechain": "^5.1.2" - } - }, - "node_modules/@types/abstract-leveldown": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", - "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==" - }, - "node_modules/@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/chai": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==" - }, - "node_modules/@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/level-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", - "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==" - }, - "node_modules/@types/levelup": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", - "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", - "dependencies": { - "@types/abstract-leveldown": "*", - "@types/level-errors": "*", - "@types/node": "*" - } - }, - "node_modules/@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" - }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "node_modules/@types/mkdirp": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", - "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/mocha": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", - "integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==", - "dev": true - }, - "node_modules/@types/node": { - "version": "17.0.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", - "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" - }, - "node_modules/@types/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==", - "dependencies": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, - "node_modules/@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/prettier": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz", - "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==" - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "node_modules/@types/resolve": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", - "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/sinon": { - "version": "10.0.11", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.11.tgz", - "integrity": "sha512-dmZsHlBsKUtBpHriNjlK0ndlvEh8dcb9uV9Afsbt89QIyydpC7NcR+nWlAhASfy3GHnxTl4FX/aKE7XZUt/B4g==", - "dependencies": { - "@types/sinonjs__fake-timers": "*" - } - }, - "node_modules/@types/sinon-chai": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", - "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", - "dependencies": { - "@types/chai": "*", - "@types/sinon": "*" - } - }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==" - }, - "node_modules/@types/underscore": { - "version": "1.11.4", - "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", - "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==" - }, - "node_modules/@types/web3": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/@types/web3/-/web3-1.0.19.tgz", - "integrity": "sha512-fhZ9DyvDYDwHZUp5/STa9XW2re0E8GxoioYJ4pEUZ13YHpApSagixj7IAdoYH5uAK+UalGq6Ml8LYzmgRA/q+A==", - "dependencies": { - "@types/bn.js": "*", - "@types/underscore": "*" - } - }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" - }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" - }, - "node_modules/abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", - "dev": true - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/abstract-leveldown": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", - "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", - "dependencies": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", - "dev": true, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", - "engines": { - "node": ">=0.3.0" - } - }, - "node_modules/aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.4.2" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/antlr4": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.7.1.tgz", - "integrity": "sha512-haHyTW7Y9joE5MVs37P2lNYfU2RWBLfcRDD8OWldcdZm5TiCE91B5Xl1oWSwiDUSd4rlExpt2pu1fksYQjRBYQ==", - "dev": true - }, - "node_modules/antlr4ts": { - "version": "0.5.0-alpha.4", - "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", - "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==" - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, - "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, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-back": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", - "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", - "dependencies": { - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "engines": { - "node": ">=0.8" - } - }, - "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==", - "engines": { - "node": "*" - } - }, - "node_modules/ast-parents": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/ast-parents/-/ast-parents-0.0.1.tgz", - "integrity": "sha1-UI/Q8F0MSHddnszaLhdEIyYejdM=", - "dev": true - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/async-eventemitter": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", - "dependencies": { - "async": "^2.4.0" - } - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "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==" - }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "node_modules/bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "node_modules/bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.10.3", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/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, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/browserify-aes/node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/browserify-rsa/node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/browserify-sign/node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", - "dependencies": { - "base-x": "^3.0.2" - } - }, - "node_modules/bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "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==" - }, - "node_modules/buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=", - "dev": true - }, - "node_modules/buffer-xor": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", - "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", - "dependencies": { - "safe-buffer": "^5.1.1" - } - }, - "node_modules/bufferutil": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", - "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", - "devOptional": true, - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "dependencies": { - "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-callsite/node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "node_modules/celo-ethers-provider": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/celo-ethers-provider/-/celo-ethers-provider-0.0.0.tgz", - "integrity": "sha512-fKm4DXyngvjafyFCwjh8WKDrWsC+fJTDDRZEIduC/IiZcp8W5KrrwNoIbi3arv1B8Yd4D4E3nxhmIudfOczVEw==", - "dependencies": { - "ethers": "^5.4.7" - } - }, - "node_modules/chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "node_modules/cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "deprecated": "This module has been superseded by the multiformats module", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "deprecated": "This module has been superseded by the multiformats module", - "dev": true, - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", - "dev": true - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "dev": true, - "dependencies": { - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "colors": "^1.1.2" - } - }, - "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 - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "dependencies": { - "mimic-response": "^1.0.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": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - }, - "node_modules/command-line-args": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz", - "integrity": "sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==", - "dependencies": { - "array-back": "^2.0.0", - "find-replace": "^1.0.3", - "typical": "^2.6.1" - }, - "bin": { - "command-line-args": "bin/cli.js" - } - }, - "node_modules/commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "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" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "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/concat-stream/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 - }, - "node_modules/concat-stream/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, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-hash": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", - "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", - "dev": true, - "dependencies": { - "cids": "^0.7.1", - "multicodec": "^0.5.5", - "multihashes": "^0.4.15" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "node_modules/cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", - "dev": true - }, - "node_modules/core-js-pure": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", - "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cosmiconfig/node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cosmiconfig/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dev": true, - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/death": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", - "integrity": "sha1-AaqcQB7dknUFFEcLgmY5DGbGcxg=", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "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 - }, - "node_modules/defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true - }, - "node_modules/deferred-leveldown": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", - "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", - "dependencies": { - "abstract-leveldown": "~6.2.1", - "inherits": "^2.0.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/deferred-leveldown/node_modules/abstract-leveldown": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "dependencies": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-port": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", - "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", - "dev": true, - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port/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, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/detect-port/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", - "dev": true - }, - "node_modules/duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/emoji-regex": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.1.0.tgz", - "integrity": "sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==", - "dev": true - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/encoding-down": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", - "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", - "dependencies": { - "abstract-leveldown": "^6.2.1", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.4.tgz", - "integrity": "sha512-flV8e5g9/xulChMG48Fygk1ptpo4lQRJ0eJYtxJFgi7pklLx7EFcOJ34jnvr8pbWlaFN/AT1cZpe0hiFel9Hqg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es5-ext": { - "version": "0.10.60", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.60.tgz", - "integrity": "sha512-jpKNXIt60htYG59/9FGf2PYT3pwMpnEbNKysU+k/4FGwyGtMotOvcZOuW+EmXXYASRqYSXQfGL5cVIthOTgbkg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "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": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dev": true, - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", - "dev": true, - "dependencies": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=0.12.0" - }, - "optionalDependencies": { - "source-map": "~0.2.0" - } - }, - "node_modules/escodegen/node_modules/esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "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/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "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, - "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, - "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, - "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, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", - "dependencies": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - } - }, - "node_modules/eth-ens-namehash/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - }, - "node_modules/eth-gas-reporter": { - "version": "0.2.25", - "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.25.tgz", - "integrity": "sha512-1fRgyE4xUB8SoqLgN3eDfpDfwEfRxh2Sz1b7wzFbyQA+9TekMmvSjjoRu9SKcSVyK+vLkLIsVbJDsTWjw195OQ==", - "dev": true, - "dependencies": { - "@ethersproject/abi": "^5.0.0-beta.146", - "@solidity-parser/parser": "^0.14.0", - "cli-table3": "^0.5.0", - "colors": "1.4.0", - "ethereum-cryptography": "^1.0.3", - "ethers": "^4.0.40", - "fs-readdir-recursive": "^1.1.0", - "lodash": "^4.17.14", - "markdown-table": "^1.1.3", - "mocha": "^7.1.1", - "req-cwd": "^2.0.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.5", - "sha1": "^1.1.1", - "sync-request": "^6.0.0" - }, - "peerDependencies": { - "@codechecks/client": "^0.1.0" - }, - "peerDependenciesMeta": { - "@codechecks/client": { - "optional": true - } - } - }, - "node_modules/eth-gas-reporter/node_modules/ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eth-gas-reporter/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eth-gas-reporter/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eth-gas-reporter/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eth-gas-reporter/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eth-gas-reporter/node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eth-gas-reporter/node_modules/chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.1.1" - } - }, - "node_modules/eth-gas-reporter/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/eth-gas-reporter/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/eth-gas-reporter/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/eth-gas-reporter/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eth-gas-reporter/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eth-gas-reporter/node_modules/diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/eth-gas-reporter/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/eth-gas-reporter/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eth-gas-reporter/node_modules/ethereum-cryptography": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.0.3.tgz", - "integrity": "sha512-NQLTW0x0CosoVb/n79x/TRHtfvS3hgNUPTUSCu0vM+9k6IIhHFFrAOJReneexjZsoZxMjJHnJn4lrE8EbnSyqQ==", - "dev": true, - "dependencies": { - "@noble/hashes": "1.0.0", - "@noble/secp256k1": "1.5.5", - "@scure/bip32": "1.0.1", - "@scure/bip39": "1.0.0" - } - }, - "node_modules/eth-gas-reporter/node_modules/ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "dependencies": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "node_modules/eth-gas-reporter/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eth-gas-reporter/node_modules/flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "dev": true, - "dependencies": { - "is-buffer": "~2.0.3" - }, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/eth-gas-reporter/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "deprecated": "\"Please update to latest v2.3 or v2.2\"", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/eth-gas-reporter/node_modules/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eth-gas-reporter/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eth-gas-reporter/node_modules/hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/eth-gas-reporter/node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true - }, - "node_modules/eth-gas-reporter/node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/eth-gas-reporter/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eth-gas-reporter/node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eth-gas-reporter/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eth-gas-reporter/node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/eth-gas-reporter/node_modules/mocha": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", - "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", - "dev": true, - "dependencies": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/eth-gas-reporter/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "node_modules/eth-gas-reporter/node_modules/object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/eth-gas-reporter/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eth-gas-reporter/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eth-gas-reporter/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eth-gas-reporter/node_modules/readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", - "dev": true, - "dependencies": { - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/eth-gas-reporter/node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/eth-gas-reporter/node_modules/scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "node_modules/eth-gas-reporter/node_modules/setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", - "dev": true - }, - "node_modules/eth-gas-reporter/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eth-gas-reporter/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eth-gas-reporter/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": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eth-gas-reporter/node_modules/supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eth-gas-reporter/node_modules/uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true - }, - "node_modules/eth-gas-reporter/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/eth-gas-reporter/node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/eth-gas-reporter/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eth-gas-reporter/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/eth-gas-reporter/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/eth-gas-reporter/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/eth-gas-reporter/node_modules/yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dev": true, - "dependencies": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/eth-lib": { - "version": "0.1.29", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", - "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/eth-lib/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 - }, - "node_modules/eth-lib/node_modules/ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "dependencies": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, - "node_modules/ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "dependencies": { - "js-sha3": "^0.8.0" - } - }, - "node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "node_modules/ethereum-waffle": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-3.4.4.tgz", - "integrity": "sha512-PA9+jCjw4WC3Oc5ocSMBj5sXvueWQeAbvCA+hUlb6oFgwwKyq5ka3bWQ7QZcjzIX+TdFkxP4IbFmoY2D8Dkj9Q==", - "dependencies": { - "@ethereum-waffle/chai": "^3.4.4", - "@ethereum-waffle/compiler": "^3.4.4", - "@ethereum-waffle/mock-contract": "^3.4.4", - "@ethereum-waffle/provider": "^3.4.4", - "ethers": "^5.0.1" - }, - "bin": { - "waffle": "bin/waffle" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "dependencies": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ethereumjs-abi/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ethereumjs-util": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz", - "integrity": "sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A==", - "dependencies": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ethereumjs-util/node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - }, - "node_modules/ethers": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.3.tgz", - "integrity": "sha512-TkZAYGtbnzsGzEzqonLEMpOkmD5JIKCoWlAlj9ShAJlJszEkgKh3jVSeX1edLkYmqnpvJvGlBDK2y/HVe84LNg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "5.6.1", - "@ethersproject/abstract-provider": "5.6.0", - "@ethersproject/abstract-signer": "5.6.0", - "@ethersproject/address": "5.6.0", - "@ethersproject/base64": "5.6.0", - "@ethersproject/basex": "5.6.0", - "@ethersproject/bignumber": "5.6.0", - "@ethersproject/bytes": "5.6.1", - "@ethersproject/constants": "5.6.0", - "@ethersproject/contracts": "5.6.0", - "@ethersproject/hash": "5.6.0", - "@ethersproject/hdnode": "5.6.0", - "@ethersproject/json-wallets": "5.6.0", - "@ethersproject/keccak256": "5.6.0", - "@ethersproject/logger": "5.6.0", - "@ethersproject/networks": "5.6.2", - "@ethersproject/pbkdf2": "5.6.0", - "@ethersproject/properties": "5.6.0", - "@ethersproject/providers": "5.6.3", - "@ethersproject/random": "5.6.0", - "@ethersproject/rlp": "5.6.0", - "@ethersproject/sha2": "5.6.0", - "@ethersproject/signing-key": "5.6.0", - "@ethersproject/solidity": "5.6.0", - "@ethersproject/strings": "5.6.0", - "@ethersproject/transactions": "5.6.0", - "@ethersproject/units": "5.6.0", - "@ethersproject/wallet": "5.6.0", - "@ethersproject/web": "5.6.0", - "@ethersproject/wordlists": "5.6.0" - } - }, - "node_modules/ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", - "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ethjs-unit/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "node_modules/ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "dependencies": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", - "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", - "dev": true, - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.19.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.4.2", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.9.7", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", - "setprototypeof": "1.2.0", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/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, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/express/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", - "dev": true, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/express/node_modules/raw-body": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", - "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ext": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", - "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", - "dev": true, - "dependencies": { - "type": "^2.5.0" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", - "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==", - "dev": true - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/figures/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/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, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/finalhandler/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/find-replace": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", - "integrity": "sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=", - "dependencies": { - "array-back": "^1.0.4", - "test-value": "^2.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/find-replace/node_modules/array-back": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", - "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", - "dependencies": { - "typical": "^2.6.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/find-yarn-workspace-root": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", - "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", - "dependencies": { - "micromatch": "^4.0.2" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fp-ts": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dev": true, - "dependencies": { - "minipass": "^2.6.0" - } - }, - "node_modules/fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "node_modules/ganache-core": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/ganache-core/-/ganache-core-2.13.2.tgz", - "integrity": "sha512-tIF5cR+ANQz0+3pHWxHjIwHqFXcVo0Mb+kcsNhglNFALcYo49aQpnS9dqHartqPfMFjiHh/qFoD3mYK0d/qGgw==", - "bundleDependencies": [ - "keccak" - ], - "deprecated": "ganache-core is now ganache; visit https://trfl.io/g7 for details", - "hasShrinkwrap": true, - "dependencies": { - "abstract-leveldown": "3.0.0", - "async": "2.6.2", - "bip39": "2.5.0", - "cachedown": "1.0.0", - "clone": "2.1.2", - "debug": "3.2.6", - "encoding-down": "5.0.4", - "eth-sig-util": "3.0.0", - "ethereumjs-abi": "0.6.8", - "ethereumjs-account": "3.0.0", - "ethereumjs-block": "2.2.2", - "ethereumjs-common": "1.5.0", - "ethereumjs-tx": "2.1.2", - "ethereumjs-util": "6.2.1", - "ethereumjs-vm": "4.2.0", - "heap": "0.2.6", - "keccak": "3.0.1", - "level-sublevel": "6.6.4", - "levelup": "3.1.1", - "lodash": "4.17.20", - "lru-cache": "5.1.1", - "merkle-patricia-tree": "3.0.0", - "patch-package": "6.2.2", - "seedrandom": "3.0.1", - "source-map-support": "0.5.12", - "tmp": "0.1.0", - "web3-provider-engine": "14.2.1", - "websocket": "1.0.32" - }, - "engines": { - "node": ">=8.9.0" - }, - "optionalDependencies": { - "ethereumjs-wallet": "0.6.5", - "web3": "1.2.11" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/abi": { - "version": "5.0.0-beta.153", - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/address": ">=5.0.0-beta.128", - "@ethersproject/bignumber": ">=5.0.0-beta.130", - "@ethersproject/bytes": ">=5.0.0-beta.129", - "@ethersproject/constants": ">=5.0.0-beta.128", - "@ethersproject/hash": ">=5.0.0-beta.128", - "@ethersproject/keccak256": ">=5.0.0-beta.127", - "@ethersproject/logger": ">=5.0.0-beta.129", - "@ethersproject/properties": ">=5.0.0-beta.131", - "@ethersproject/strings": ">=5.0.0-beta.130" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/abstract-provider": { - "version": "5.0.8", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/networks": "^5.0.7", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/transactions": "^5.0.9", - "@ethersproject/web": "^5.0.12" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/abstract-signer": { - "version": "5.0.10", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/address": { - "version": "5.0.9", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/rlp": "^5.0.7" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/base64": { - "version": "5.0.7", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/bytes": "^5.0.9" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/bignumber": { - "version": "5.0.13", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "bn.js": "^4.4.0" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/bytes": { - "version": "5.0.9", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/constants": { - "version": "5.0.8", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/bignumber": "^5.0.13" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/hash": { - "version": "5.0.10", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/keccak256": { - "version": "5.0.7", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "js-sha3": "0.5.7" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/logger": { - "version": "5.0.8", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/@ethersproject/networks": { - "version": "5.0.7", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/properties": { - "version": "5.0.7", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/rlp": { - "version": "5.0.7", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/signing-key": { - "version": "5.0.8", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "elliptic": "6.5.3" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/strings": { - "version": "5.0.8", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/logger": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/transactions": { - "version": "5.0.9", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/rlp": "^5.0.7", - "@ethersproject/signing-key": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@ethersproject/web": { - "version": "5.0.12", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@ethersproject/base64": "^5.0.7", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "node_modules/ganache-core/node_modules/@sindresorhus/is": { - "version": "0.14.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/@szmarczak/http-timer": { - "version": "1.1.2", - "license": "MIT", - "optional": true, - "dependencies": { - "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/@types/bn.js": { - "version": "4.11.6", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ganache-core/node_modules/@types/node": { - "version": "14.14.20", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/@types/pbkdf2": { - "version": "3.1.0", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ganache-core/node_modules/@types/secp256k1": { - "version": "4.0.1", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ganache-core/node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "license": "BSD-2-Clause" - }, - "node_modules/ganache-core/node_modules/abstract-leveldown": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/accepts": { - "version": "1.3.7", - "license": "MIT", - "optional": true, - "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/aes-js": { - "version": "3.1.2", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/ajv": { - "version": "6.12.6", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ganache-core/node_modules/ansi-styles": { - "version": "3.2.1", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/arr-diff": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/arr-flatten": { - "version": "1.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/arr-union": { - "version": "3.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/array-flatten": { - "version": "1.1.1", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/array-unique": { - "version": "0.3.2", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/asn1": { - "version": "0.2.4", - "license": "MIT", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/ganache-core/node_modules/asn1.js": { - "version": "5.4.1", - "license": "MIT", - "optional": true, - "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ganache-core/node_modules/assert-plus": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/ganache-core/node_modules/assign-symbols": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/async": { - "version": "2.6.2", - "license": "MIT", - "dependencies": { - "lodash": "^4.17.11" - } - }, - "node_modules/ganache-core/node_modules/async-eventemitter": { - "version": "0.2.4", - "license": "MIT", - "dependencies": { - "async": "^2.4.0" - } - }, - "node_modules/ganache-core/node_modules/async-limiter": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/asynckit": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/atob": { - "version": "2.1.2", - "license": "(MIT OR Apache-2.0)", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/ganache-core/node_modules/aws-sign2": { - "version": "0.7.0", - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/aws4": { - "version": "1.11.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/babel-code-frame": { - "version": "6.26.0", - "license": "MIT", - "dependencies": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/ansi-regex": { - "version": "2.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/ansi-styles": { - "version": "2.2.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/chalk": { - "version": "1.1.3", - "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/ganache-core/node_modules/babel-code-frame/node_modules/js-tokens": { - "version": "3.0.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/strip-ansi": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babel-code-frame/node_modules/supports-color": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ganache-core/node_modules/babel-core": { - "version": "6.26.3", - "license": "MIT", - "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - } - }, - "node_modules/ganache-core/node_modules/babel-core/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/babel-core/node_modules/json5": { - "version": "0.5.1", - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/ganache-core/node_modules/babel-core/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/babel-core/node_modules/slash": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babel-generator": { - "version": "6.26.1", - "license": "MIT", - "dependencies": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/babel-generator/node_modules/jsesc": { - "version": "1.3.0", - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-call-delegate": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-define-map": { - "version": "6.26.0", - "license": "MIT", - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-function-name": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-get-function-arity": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-hoist-variables": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-optimise-call-expression": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-regex": { - "version": "6.26.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helper-replace-supers": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-helpers": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-messages": { - "version": "6.23.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "license": "MIT", - "dependencies": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-regenerator": { - "version": "6.26.0", - "license": "MIT", - "dependencies": { - "regenerator-transform": "^0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "node_modules/ganache-core/node_modules/babel-preset-env": { - "version": "1.7.0", - "license": "MIT", - "dependencies": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - } - }, - "node_modules/ganache-core/node_modules/babel-preset-env/node_modules/semver": { - "version": "5.7.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/babel-register": { - "version": "6.26.0", - "license": "MIT", - "dependencies": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - } - }, - "node_modules/ganache-core/node_modules/babel-register/node_modules/source-map-support": { - "version": "0.4.18", - "license": "MIT", - "dependencies": { - "source-map": "^0.5.6" - } - }, - "node_modules/ganache-core/node_modules/babel-runtime": { - "version": "6.26.0", - "license": "MIT", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/ganache-core/node_modules/babel-template": { - "version": "6.26.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "node_modules/ganache-core/node_modules/babel-traverse": { - "version": "6.26.0", - "license": "MIT", - "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "node_modules/ganache-core/node_modules/babel-traverse/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/babel-traverse/node_modules/globals": { - "version": "9.18.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babel-traverse/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/babel-types": { - "version": "6.26.0", - "license": "MIT", - "dependencies": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "node_modules/ganache-core/node_modules/babel-types/node_modules/to-fast-properties": { - "version": "1.0.3", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/babelify": { - "version": "7.3.0", - "license": "MIT", - "dependencies": { - "babel-core": "^6.0.14", - "object-assign": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/babylon": { - "version": "6.18.0", - "license": "MIT", - "bin": { - "babylon": "bin/babylon.js" - } - }, - "node_modules/ganache-core/node_modules/backoff": { - "version": "2.5.0", - "license": "MIT", - "dependencies": { - "precond": "0.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/balanced-match": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/base": { - "version": "0.11.2", - "license": "MIT", - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/base-x": { - "version": "3.0.8", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/ganache-core/node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/base64-js": { - "version": "1.5.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "license": "BSD-3-Clause", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/ganache-core/node_modules/bcrypt-pbkdf/node_modules/tweetnacl": { - "version": "0.14.5", - "license": "Unlicense" - }, - "node_modules/ganache-core/node_modules/bignumber.js": { - "version": "9.0.1", - "license": "MIT", - "optional": true, - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/bip39": { - "version": "2.5.0", - "license": "ISC", - "dependencies": { - "create-hash": "^1.1.0", - "pbkdf2": "^3.0.9", - "randombytes": "^2.0.1", - "safe-buffer": "^5.0.1", - "unorm": "^1.3.3" - } - }, - "node_modules/ganache-core/node_modules/blakejs": { - "version": "1.1.0", - "license": "CC0-1.0" - }, - "node_modules/ganache-core/node_modules/bluebird": { - "version": "3.7.2", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/bn.js": { - "version": "4.11.9", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/body-parser": { - "version": "1.19.0", - "license": "MIT", - "optional": true, - "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/ganache-core/node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "optional": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/body-parser/node_modules/qs": { - "version": "6.7.0", - "license": "BSD-3-Clause", - "optional": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/ganache-core/node_modules/brace-expansion": { - "version": "1.1.11", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/ganache-core/node_modules/brorand": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/browserify-aes": { - "version": "1.2.0", - "license": "MIT", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/ganache-core/node_modules/browserify-cipher": { - "version": "1.0.1", - "license": "MIT", - "optional": true, - "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/browserify-des": { - "version": "1.0.2", - "license": "MIT", - "optional": true, - "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/ganache-core/node_modules/browserify-rsa": { - "version": "4.1.0", - "license": "MIT", - "optional": true, - "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "node_modules/ganache-core/node_modules/browserify-rsa/node_modules/bn.js": { - "version": "5.1.3", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/browserify-sign": { - "version": "4.2.1", - "license": "ISC", - "optional": true, - "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "node_modules/ganache-core/node_modules/browserify-sign/node_modules/bn.js": { - "version": "5.1.3", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.0", - "license": "MIT", - "optional": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ganache-core/node_modules/browserslist": { - "version": "3.2.8", - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" - }, - "bin": { - "browserslist": "cli.js" - } - }, - "node_modules/ganache-core/node_modules/bs58": { - "version": "4.0.1", - "license": "MIT", - "dependencies": { - "base-x": "^3.0.2" - } - }, - "node_modules/ganache-core/node_modules/bs58check": { - "version": "2.1.2", - "license": "MIT", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/ganache-core/node_modules/buffer": { - "version": "5.7.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/ganache-core/node_modules/buffer-from": { - "version": "1.1.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/buffer-to-arraybuffer": { - "version": "0.0.5", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/buffer-xor": { - "version": "1.0.3", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/bufferutil": { - "version": "4.0.3", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "node-gyp-build": "^4.2.0" - } - }, - "node_modules/ganache-core/node_modules/bytes": { - "version": "3.1.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/ganache-core/node_modules/bytewise": { - "version": "1.1.0", - "license": "MIT", - "dependencies": { - "bytewise-core": "^1.2.2", - "typewise": "^1.0.3" - } - }, - "node_modules/ganache-core/node_modules/bytewise-core": { - "version": "1.2.3", - "license": "MIT", - "dependencies": { - "typewise-core": "^1.2" - } - }, - "node_modules/ganache-core/node_modules/cache-base": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/cacheable-request": { - "version": "6.1.0", - "license": "MIT", - "optional": true, - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ganache-core/node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ganache-core/node_modules/cachedown": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "^2.4.1", - "lru-cache": "^3.2.0" - } - }, - "node_modules/ganache-core/node_modules/cachedown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/cachedown/node_modules/lru-cache": { - "version": "3.2.0", - "license": "ISC", - "dependencies": { - "pseudomap": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/call-bind": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/caniuse-lite": { - "version": "1.0.30001174", - "license": "CC-BY-4.0" - }, - "node_modules/ganache-core/node_modules/caseless": { - "version": "0.12.0", - "license": "Apache-2.0" - }, - "node_modules/ganache-core/node_modules/chalk": { - "version": "2.4.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/checkpoint-store": { - "version": "1.1.0", - "license": "ISC", - "dependencies": { - "functional-red-black-tree": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/chownr": { - "version": "1.1.4", - "license": "ISC", - "optional": true - }, - "node_modules/ganache-core/node_modules/ci-info": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/cids": { - "version": "0.7.5", - "license": "MIT", - "optional": true, - "dependencies": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "engines": { - "node": ">=4.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ganache-core/node_modules/cids/node_modules/multicodec": { - "version": "1.0.4", - "license": "MIT", - "optional": true, - "dependencies": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - }, - "node_modules/ganache-core/node_modules/cipher-base": { - "version": "1.0.4", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/ganache-core/node_modules/class-is": { - "version": "1.1.0", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/class-utils": { - "version": "0.3.6", - "license": "MIT", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/clone": { - "version": "2.1.2", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/ganache-core/node_modules/clone-response": { - "version": "1.0.2", - "license": "MIT", - "optional": true, - "dependencies": { - "mimic-response": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/collection-visit": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/color-convert": { - "version": "1.9.3", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ganache-core/node_modules/color-name": { - "version": "1.1.3", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/combined-stream": { - "version": "1.0.8", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/ganache-core/node_modules/component-emitter": { - "version": "1.3.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/concat-map": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/concat-stream": { - "version": "1.6.2", - "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/ganache-core/node_modules/content-disposition": { - "version": "0.5.3", - "license": "MIT", - "optional": true, - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/content-hash": { - "version": "2.5.2", - "license": "ISC", - "optional": true, - "dependencies": { - "cids": "^0.7.1", - "multicodec": "^0.5.5", - "multihashes": "^0.4.15" - } - }, - "node_modules/ganache-core/node_modules/content-type": { - "version": "1.0.4", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/convert-source-map": { - "version": "1.7.0", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/ganache-core/node_modules/convert-source-map/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/cookie": { - "version": "0.4.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/cookie-signature": { - "version": "1.0.6", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/cookiejar": { - "version": "2.1.2", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/copy-descriptor": { - "version": "0.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/core-js": { - "version": "2.6.12", - "hasInstallScript": true, - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/core-js-pure": { - "version": "3.8.2", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/ganache-core/node_modules/core-util-is": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/cors": { - "version": "2.8.5", - "license": "MIT", - "optional": true, - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ganache-core/node_modules/create-ecdh": { - "version": "4.0.4", - "license": "MIT", - "optional": true, - "dependencies": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "node_modules/ganache-core/node_modules/create-hash": { - "version": "1.2.0", - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/ganache-core/node_modules/create-hmac": { - "version": "1.1.7", - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/ganache-core/node_modules/cross-fetch": { - "version": "2.2.3", - "license": "MIT", - "dependencies": { - "node-fetch": "2.1.2", - "whatwg-fetch": "2.0.4" - } - }, - "node_modules/ganache-core/node_modules/crypto-browserify": { - "version": "3.12.0", - "license": "MIT", - "optional": true, - "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/d": { - "version": "1.0.1", - "license": "ISC", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/dashdash": { - "version": "1.14.1", - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/ganache-core/node_modules/debug": { - "version": "3.2.6", - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/ganache-core/node_modules/decode-uri-component": { - "version": "0.2.0", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/ganache-core/node_modules/decompress-response": { - "version": "3.3.0", - "license": "MIT", - "optional": true, - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/deep-equal": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/defer-to-connect": { - "version": "1.1.3", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/deferred-leveldown": { - "version": "4.0.2", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "~5.0.0", - "inherits": "^2.0.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/deferred-leveldown/node_modules/abstract-leveldown": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/define-properties": { - "version": "1.1.3", - "license": "MIT", - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ganache-core/node_modules/define-property": { - "version": "2.0.2", - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/defined": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/delayed-stream": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ganache-core/node_modules/depd": { - "version": "1.1.2", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/des.js": { - "version": "1.0.1", - "license": "MIT", - "optional": true, - "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/destroy": { - "version": "1.0.4", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/detect-indent": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "repeating": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/diffie-hellman": { - "version": "5.0.3", - "license": "MIT", - "optional": true, - "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "node_modules/ganache-core/node_modules/dom-walk": { - "version": "0.1.2" - }, - "node_modules/ganache-core/node_modules/dotignore": { - "version": "0.1.2", - "license": "MIT", - "dependencies": { - "minimatch": "^3.0.4" - }, - "bin": { - "ignored": "bin/ignored" - } - }, - "node_modules/ganache-core/node_modules/duplexer3": { - "version": "0.1.4", - "license": "BSD-3-Clause", - "optional": true - }, - "node_modules/ganache-core/node_modules/ecc-jsbn": { - "version": "0.1.2", - "license": "MIT", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ganache-core/node_modules/ee-first": { - "version": "1.1.1", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/electron-to-chromium": { - "version": "1.3.636", - "license": "ISC" - }, - "node_modules/ganache-core/node_modules/elliptic": { - "version": "6.5.3", - "license": "MIT", - "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/encodeurl": { - "version": "1.0.2", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/ganache-core/node_modules/encoding": { - "version": "0.1.13", - "license": "MIT", - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/ganache-core/node_modules/encoding-down": { - "version": "5.0.4", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "^5.0.0", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0", - "xtend": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/encoding-down/node_modules/abstract-leveldown": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.2", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/end-of-stream": { - "version": "1.4.4", - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/ganache-core/node_modules/errno": { - "version": "0.1.8", - "license": "MIT", - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/ganache-core/node_modules/es-abstract": { - "version": "1.18.0-next.1", - "license": "MIT", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/es-to-primitive": { - "version": "1.2.1", - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/es5-ext": { - "version": "0.10.53", - "license": "ISC", - "dependencies": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "node_modules/ganache-core/node_modules/es6-iterator": { - "version": "2.0.3", - "license": "MIT", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/ganache-core/node_modules/es6-symbol": { - "version": "3.1.3", - "license": "ISC", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "node_modules/ganache-core/node_modules/escape-html": { - "version": "1.0.3", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/escape-string-regexp": { - "version": "1.0.5", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ganache-core/node_modules/esutils": { - "version": "2.0.3", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/etag": { - "version": "1.8.1", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/eth-block-tracker": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "eth-query": "^2.1.0", - "ethereumjs-tx": "^1.3.3", - "ethereumjs-util": "^5.1.3", - "ethjs-util": "^0.1.3", - "json-rpc-engine": "^3.6.0", - "pify": "^2.3.0", - "tape": "^4.6.3" - } - }, - "node_modules/ganache-core/node_modules/eth-block-tracker/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "license": "MPL-2.0", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-block-tracker/node_modules/ethereumjs-util": { - "version": "5.2.1", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-block-tracker/node_modules/pify": { - "version": "2.3.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/eth-ens-namehash": { - "version": "2.0.8", - "license": "ISC", - "optional": true, - "dependencies": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-infura": { - "version": "3.2.1", - "license": "ISC", - "dependencies": { - "cross-fetch": "^2.1.1", - "eth-json-rpc-middleware": "^1.5.0", - "json-rpc-engine": "^3.4.0", - "json-rpc-error": "^2.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware": { - "version": "1.6.0", - "license": "ISC", - "dependencies": { - "async": "^2.5.0", - "eth-query": "^2.1.2", - "eth-tx-summary": "^3.1.2", - "ethereumjs-block": "^1.6.0", - "ethereumjs-tx": "^1.3.3", - "ethereumjs-util": "^5.1.2", - "ethereumjs-vm": "^2.1.0", - "fetch-ponyfill": "^4.0.0", - "json-rpc-engine": "^3.6.0", - "json-rpc-error": "^2.0.0", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "tape": "^4.6.3" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/abstract-leveldown": { - "version": "2.6.3", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/deferred-leveldown": { - "version": "1.2.2", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "~2.6.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-account": { - "version": "2.0.5", - "license": "MPL-2.0", - "dependencies": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-block": { - "version": "1.7.1", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-block/node_modules/ethereum-common": { - "version": "0.2.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "license": "MPL-2.0", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-util": { - "version": "5.2.1", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm": { - "version": "2.6.0", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { - "version": "2.2.2", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { - "version": "5.2.1", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { - "version": "2.1.2", - "license": "MPL-2.0", - "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { - "version": "6.2.1", - "license": "MPL-2.0", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/isarray": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-codec": { - "version": "7.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-errors": { - "version": "1.0.5", - "license": "MIT", - "dependencies": { - "errno": "~0.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-iterator-stream": { - "version": "1.3.1", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-iterator-stream/node_modules/readable-stream": { - "version": "1.1.14", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-ws": { - "version": "0.0.0", - "license": "MIT", - "dependencies": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-ws/node_modules/readable-stream": { - "version": "1.0.34", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/level-ws/node_modules/xtend": { - "version": "2.1.2", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/levelup": { - "version": "1.3.9", - "license": "MIT", - "dependencies": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/ltgt": { - "version": "2.2.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/memdown": { - "version": "1.4.1", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/memdown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/merkle-patricia-tree": { - "version": "2.3.2", - "license": "MPL-2.0", - "dependencies": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/merkle-patricia-tree/node_modules/async": { - "version": "1.5.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/object-keys": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/semver": { - "version": "5.4.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/eth-json-rpc-middleware/node_modules/string_decoder": { - "version": "0.10.31", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-lib": { - "version": "0.1.29", - "license": "MIT", - "optional": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/ganache-core/node_modules/eth-query": { - "version": "2.1.2", - "license": "ISC", - "dependencies": { - "json-rpc-random-id": "^1.0.0", - "xtend": "^4.0.1" - } - }, - "node_modules/ganache-core/node_modules/eth-sig-util": { - "version": "3.0.0", - "license": "ISC", - "dependencies": { - "buffer": "^5.2.1", - "elliptic": "^6.4.0", - "ethereumjs-abi": "0.6.5", - "ethereumjs-util": "^5.1.1", - "tweetnacl": "^1.0.0", - "tweetnacl-util": "^0.15.0" - } - }, - "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-abi": { - "version": "0.6.5", - "license": "MIT", - "dependencies": { - "bn.js": "^4.10.0", - "ethereumjs-util": "^4.3.0" - } - }, - "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-abi/node_modules/ethereumjs-util": { - "version": "4.5.1", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.8.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-sig-util/node_modules/ethereumjs-util": { - "version": "5.2.1", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary": { - "version": "3.2.4", - "license": "ISC", - "dependencies": { - "async": "^2.1.2", - "clone": "^2.0.0", - "concat-stream": "^1.5.1", - "end-of-stream": "^1.1.0", - "eth-query": "^2.0.2", - "ethereumjs-block": "^1.4.1", - "ethereumjs-tx": "^1.1.1", - "ethereumjs-util": "^5.0.1", - "ethereumjs-vm": "^2.6.0", - "through2": "^2.0.3" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/abstract-leveldown": { - "version": "2.6.3", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/deferred-leveldown": { - "version": "1.2.2", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "~2.6.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-account": { - "version": "2.0.5", - "license": "MPL-2.0", - "dependencies": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-block": { - "version": "1.7.1", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-block/node_modules/ethereum-common": { - "version": "0.2.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "license": "MPL-2.0", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-util": { - "version": "5.2.1", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm": { - "version": "2.6.0", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { - "version": "2.2.2", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { - "version": "5.2.1", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { - "version": "2.1.2", - "license": "MPL-2.0", - "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { - "version": "6.2.1", - "license": "MPL-2.0", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/isarray": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-codec": { - "version": "7.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-errors": { - "version": "1.0.5", - "license": "MIT", - "dependencies": { - "errno": "~0.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-iterator-stream": { - "version": "1.3.1", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-iterator-stream/node_modules/readable-stream": { - "version": "1.1.14", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-ws": { - "version": "0.0.0", - "license": "MIT", - "dependencies": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-ws/node_modules/readable-stream": { - "version": "1.0.34", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/level-ws/node_modules/xtend": { - "version": "2.1.2", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/levelup": { - "version": "1.3.9", - "license": "MIT", - "dependencies": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/ltgt": { - "version": "2.2.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/memdown": { - "version": "1.4.1", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/memdown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/merkle-patricia-tree": { - "version": "2.3.2", - "license": "MPL-2.0", - "dependencies": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/merkle-patricia-tree/node_modules/async": { - "version": "1.5.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/object-keys": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/semver": { - "version": "5.4.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/eth-tx-summary/node_modules/string_decoder": { - "version": "0.10.31", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethashjs": { - "version": "0.0.8", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.1.2", - "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.0.2", - "miller-rabin": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethashjs/node_modules/bn.js": { - "version": "5.1.3", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethashjs/node_modules/buffer-xor": { - "version": "2.0.2", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethashjs/node_modules/ethereumjs-util": { - "version": "7.0.7", - "license": "MPL-2.0", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereum-bloom-filters": { - "version": "1.0.7", - "license": "MIT", - "optional": true, - "dependencies": { - "js-sha3": "^0.8.0" - } - }, - "node_modules/ganache-core/node_modules/ethereum-bloom-filters/node_modules/js-sha3": { - "version": "0.8.0", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/ethereum-common": { - "version": "0.0.18", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereum-cryptography": { - "version": "0.1.3", - "license": "MIT", - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-abi": { - "version": "0.6.8", - "license": "MIT", - "dependencies": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-account": { - "version": "3.0.0", - "license": "MPL-2.0", - "dependencies": { - "ethereumjs-util": "^6.0.0", - "rlp": "^2.2.1", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block": { - "version": "2.2.2", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/abstract-leveldown": { - "version": "2.6.3", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/deferred-leveldown": { - "version": "1.2.2", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "~2.6.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { - "version": "5.2.1", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/isarray": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-codec": { - "version": "7.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-errors": { - "version": "1.0.5", - "license": "MIT", - "dependencies": { - "errno": "~0.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-iterator-stream": { - "version": "1.3.1", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-iterator-stream/node_modules/readable-stream": { - "version": "1.1.14", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-ws": { - "version": "0.0.0", - "license": "MIT", - "dependencies": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-ws/node_modules/readable-stream": { - "version": "1.0.34", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/level-ws/node_modules/xtend": { - "version": "2.1.2", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/levelup": { - "version": "1.3.9", - "license": "MIT", - "dependencies": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/ltgt": { - "version": "2.2.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/memdown": { - "version": "1.4.1", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/memdown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/merkle-patricia-tree": { - "version": "2.3.2", - "license": "MPL-2.0", - "dependencies": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/merkle-patricia-tree/node_modules/async": { - "version": "1.5.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/object-keys": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/semver": { - "version": "5.4.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-block/node_modules/string_decoder": { - "version": "0.10.31", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-blockchain": { - "version": "4.0.4", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.6.1", - "ethashjs": "~0.0.7", - "ethereumjs-block": "~2.2.2", - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.1.0", - "flow-stoplight": "^1.0.0", - "level-mem": "^3.0.1", - "lru-cache": "^5.1.1", - "rlp": "^2.2.2", - "semaphore": "^1.1.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-common": { - "version": "1.5.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-tx": { - "version": "2.1.2", - "license": "MPL-2.0", - "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-util": { - "version": "6.2.1", - "license": "MPL-2.0", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm": { - "version": "4.2.0", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "core-js-pure": "^3.0.1", - "ethereumjs-account": "^3.0.0", - "ethereumjs-block": "^2.2.2", - "ethereumjs-blockchain": "^4.0.3", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.2", - "ethereumjs-util": "^6.2.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1", - "util.promisify": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/abstract-leveldown": { - "version": "2.6.3", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/deferred-leveldown": { - "version": "1.2.2", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "~2.6.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/isarray": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-codec": { - "version": "7.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-errors": { - "version": "1.0.5", - "license": "MIT", - "dependencies": { - "errno": "~0.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-iterator-stream": { - "version": "1.3.1", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-iterator-stream/node_modules/readable-stream": { - "version": "1.1.14", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-ws": { - "version": "0.0.0", - "license": "MIT", - "dependencies": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-ws/node_modules/readable-stream": { - "version": "1.0.34", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/level-ws/node_modules/xtend": { - "version": "2.1.2", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/levelup": { - "version": "1.3.9", - "license": "MIT", - "dependencies": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/ltgt": { - "version": "2.2.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/memdown": { - "version": "1.4.1", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/memdown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/merkle-patricia-tree": { - "version": "2.3.2", - "license": "MPL-2.0", - "dependencies": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/merkle-patricia-tree/node_modules/async": { - "version": "1.5.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/merkle-patricia-tree/node_modules/ethereumjs-util": { - "version": "5.2.1", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/object-keys": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/semver": { - "version": "5.4.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/ethereumjs-vm/node_modules/string_decoder": { - "version": "0.10.31", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ethereumjs-wallet": { - "version": "0.6.5", - "license": "MIT", - "optional": true, - "dependencies": { - "aes-js": "^3.1.1", - "bs58check": "^2.1.2", - "ethereum-cryptography": "^0.1.3", - "ethereumjs-util": "^6.0.0", - "randombytes": "^2.0.6", - "safe-buffer": "^5.1.2", - "scryptsy": "^1.2.1", - "utf8": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "node_modules/ganache-core/node_modules/ethjs-unit": { - "version": "0.1.6", - "license": "MIT", - "optional": true, - "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ganache-core/node_modules/ethjs-unit/node_modules/bn.js": { - "version": "4.11.6", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/ethjs-util": { - "version": "0.1.6", - "license": "MIT", - "dependencies": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ganache-core/node_modules/eventemitter3": { - "version": "4.0.4", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/events": { - "version": "3.2.0", - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/ganache-core/node_modules/evp_bytestokey": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets": { - "version": "2.1.4", - "license": "MIT", - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/express": { - "version": "4.17.1", - "license": "MIT", - "optional": true, - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/ganache-core/node_modules/express/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "optional": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/express/node_modules/ms": { - "version": "2.0.0", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/express/node_modules/qs": { - "version": "6.7.0", - "license": "BSD-3-Clause", - "optional": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/ganache-core/node_modules/express/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/ext": { - "version": "1.4.0", - "license": "ISC", - "dependencies": { - "type": "^2.0.0" - } - }, - "node_modules/ganache-core/node_modules/ext/node_modules/type": { - "version": "2.1.0", - "license": "ISC" - }, - "node_modules/ganache-core/node_modules/extend": { - "version": "3.0.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/extend-shallow": { - "version": "3.0.2", - "license": "MIT", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/extglob": { - "version": "2.0.4", - "license": "MIT", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/extsprintf": { - "version": "1.3.0", - "engines": [ - "node >=0.6.0" - ], - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/fake-merkle-patricia-tree": { - "version": "1.0.1", - "license": "ISC", - "dependencies": { - "checkpoint-store": "^1.1.0" - } - }, - "node_modules/ganache-core/node_modules/fast-deep-equal": { - "version": "3.1.3", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/fetch-ponyfill": { - "version": "4.1.0", - "license": "MIT", - "dependencies": { - "node-fetch": "~1.7.1" - } - }, - "node_modules/ganache-core/node_modules/fetch-ponyfill/node_modules/is-stream": { - "version": "1.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/fetch-ponyfill/node_modules/node-fetch": { - "version": "1.7.3", - "license": "MIT", - "dependencies": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/finalhandler": { - "version": "1.1.2", - "license": "MIT", - "optional": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/ganache-core/node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "optional": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root": { - "version": "1.2.1", - "license": "Apache-2.0", - "dependencies": { - "fs-extra": "^4.0.3", - "micromatch": "^3.1.4" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/braces": { - "version": "2.3.2", - "license": "MIT", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/fill-range": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/fs-extra": { - "version": "4.0.3", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-extendable": { - "version": "0.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-number": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/micromatch": { - "version": "3.1.10", - "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/find-yarn-workspace-root/node_modules/to-regex-range": { - "version": "2.1.1", - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/flow-stoplight": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/ganache-core/node_modules/for-each": { - "version": "0.3.3", - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/ganache-core/node_modules/for-in": { - "version": "1.0.2", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/forever-agent": { - "version": "0.6.1", - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/form-data": { - "version": "2.3.3", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/ganache-core/node_modules/forwarded": { - "version": "0.1.2", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/fragment-cache": { - "version": "0.2.1", - "license": "MIT", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/fresh": { - "version": "0.5.2", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/fs-extra": { - "version": "7.0.1", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/ganache-core/node_modules/fs.realpath": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/ganache-core/node_modules/function-bind": { - "version": "1.1.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/functional-red-black-tree": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/get-intrinsic": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/get-stream": { - "version": "5.2.0", - "license": "MIT", - "optional": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ganache-core/node_modules/get-value": { - "version": "2.0.6", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/getpass": { - "version": "0.1.7", - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/glob": { - "version": "7.1.3", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/global": { - "version": "4.4.0", - "license": "MIT", - "dependencies": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "node_modules/ganache-core/node_modules/got": { - "version": "9.6.0", - "license": "MIT", - "optional": true, - "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/ganache-core/node_modules/got/node_modules/get-stream": { - "version": "4.1.0", - "license": "MIT", - "optional": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/graceful-fs": { - "version": "4.2.4", - "license": "ISC" - }, - "node_modules/ganache-core/node_modules/har-schema": { - "version": "2.0.0", - "license": "ISC", - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/har-validator": { - "version": "5.1.5", - "license": "MIT", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/has": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/ganache-core/node_modules/has-ansi": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/has-flag": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/has-symbol-support-x": { - "version": "1.4.2", - "license": "MIT", - "optional": true, - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/has-symbols": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/has-to-string-tag-x": { - "version": "1.4.1", - "license": "MIT", - "optional": true, - "dependencies": { - "has-symbol-support-x": "^1.4.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/has-value": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/has-values": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/has-values/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/hash-base": { - "version": "3.1.0", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.0", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ganache-core/node_modules/hash.js": { - "version": "1.1.7", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/heap": { - "version": "0.2.6" - }, - "node_modules/ganache-core/node_modules/hmac-drbg": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/home-or-tmp": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/http-cache-semantics": { - "version": "4.1.0", - "license": "BSD-2-Clause", - "optional": true - }, - "node_modules/ganache-core/node_modules/http-errors": { - "version": "1.7.2", - "license": "MIT", - "optional": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "license": "ISC", - "optional": true - }, - "node_modules/ganache-core/node_modules/http-https": { - "version": "1.0.0", - "license": "ISC", - "optional": true - }, - "node_modules/ganache-core/node_modules/http-signature": { - "version": "1.2.0", - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/ganache-core/node_modules/iconv-lite": { - "version": "0.4.24", - "license": "MIT", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/idna-uts46-hx": { - "version": "2.3.1", - "license": "MIT", - "optional": true, - "dependencies": { - "punycode": "2.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/ganache-core/node_modules/idna-uts46-hx/node_modules/punycode": { - "version": "2.1.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/ieee754": { - "version": "1.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ganache-core/node_modules/immediate": { - "version": "3.2.3", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/ganache-core/node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" - }, - "node_modules/ganache-core/node_modules/invariant": { - "version": "2.2.4", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/ipaddr.js": { - "version": "1.9.1", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ganache-core/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/is-arguments": { - "version": "1.1.0", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/is-callable": { - "version": "1.2.2", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/is-ci": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/ganache-core/node_modules/is-data-descriptor": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/is-date-object": { - "version": "1.0.2", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/is-descriptor": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/is-extendable": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/is-finite": { - "version": "1.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ganache-core/node_modules/is-fn": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/is-function": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/is-hex-prefixed": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ganache-core/node_modules/is-negative-zero": { - "version": "2.0.1", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/is-object": { - "version": "1.0.2", - "license": "MIT", - "optional": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/is-plain-obj": { - "version": "1.1.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/is-plain-object": { - "version": "2.0.4", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/is-regex": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/is-retry-allowed": { - "version": "1.2.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/is-symbol": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/is-typedarray": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/is-windows": { - "version": "1.0.2", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/isarray": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/isexe": { - "version": "2.0.0", - "license": "ISC" - }, - "node_modules/ganache-core/node_modules/isobject": { - "version": "3.0.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/isstream": { - "version": "0.1.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/isurl": { - "version": "1.0.0", - "license": "MIT", - "optional": true, - "dependencies": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/ganache-core/node_modules/js-sha3": { - "version": "0.5.7", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/js-tokens": { - "version": "4.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/jsbn": { - "version": "0.1.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/json-buffer": { - "version": "3.0.0", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/json-rpc-engine": { - "version": "3.8.0", - "license": "ISC", - "dependencies": { - "async": "^2.0.1", - "babel-preset-env": "^1.7.0", - "babelify": "^7.3.0", - "json-rpc-error": "^2.0.0", - "promise-to-callback": "^1.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/json-rpc-error": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1" - } - }, - "node_modules/ganache-core/node_modules/json-rpc-random-id": { - "version": "1.0.1", - "license": "ISC" - }, - "node_modules/ganache-core/node_modules/json-schema": { - "version": "0.2.3" - }, - "node_modules/ganache-core/node_modules/json-schema-traverse": { - "version": "0.4.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/json-stable-stringify": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "jsonify": "~0.0.0" - } - }, - "node_modules/ganache-core/node_modules/json-stringify-safe": { - "version": "5.0.1", - "license": "ISC" - }, - "node_modules/ganache-core/node_modules/jsonfile": { - "version": "4.0.0", - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/ganache-core/node_modules/jsonify": { - "version": "0.0.0", - "license": "Public Domain" - }, - "node_modules/ganache-core/node_modules/jsprim": { - "version": "1.4.1", - "engines": [ - "node >=0.6.0" - ], - "license": "MIT", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "node_modules/ganache-core/node_modules/keccak": { - "version": "3.0.1", - "hasInstallScript": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ganache-core/node_modules/keyv": { - "version": "3.1.0", - "license": "MIT", - "optional": true, - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/ganache-core/node_modules/kind-of": { - "version": "6.0.3", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/klaw-sync": { - "version": "6.0.0", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.11" - } - }, - "node_modules/ganache-core/node_modules/level-codec": { - "version": "9.0.2", - "license": "MIT", - "dependencies": { - "buffer": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-errors": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "errno": "~0.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-iterator-stream": { - "version": "2.0.3", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.5", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/level-mem": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "level-packager": "~4.0.0", - "memdown": "~3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-mem/node_modules/abstract-leveldown": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-mem/node_modules/ltgt": { - "version": "2.2.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/level-mem/node_modules/memdown": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "~5.0.0", - "functional-red-black-tree": "~1.0.1", - "immediate": "~3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-mem/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/level-packager": { - "version": "4.0.1", - "license": "MIT", - "dependencies": { - "encoding-down": "~5.0.0", - "levelup": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/level-post": { - "version": "1.0.7", - "license": "MIT", - "dependencies": { - "ltgt": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/level-sublevel": { - "version": "6.6.4", - "license": "MIT", - "dependencies": { - "bytewise": "~1.1.0", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0", - "level-iterator-stream": "^2.0.3", - "ltgt": "~2.1.1", - "pull-defer": "^0.2.2", - "pull-level": "^2.0.3", - "pull-stream": "^3.6.8", - "typewiselite": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/level-ws": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.8", - "xtend": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/levelup": { - "version": "3.1.1", - "license": "MIT", - "dependencies": { - "deferred-leveldown": "~4.0.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~3.0.0", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/levelup/node_modules/level-iterator-stream": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/lodash": { - "version": "4.17.20", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/looper": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/loose-envify": { - "version": "1.4.0", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/ganache-core/node_modules/lowercase-keys": { - "version": "1.0.1", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/lru-cache": { - "version": "5.1.1", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/ganache-core/node_modules/ltgt": { - "version": "2.1.3", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/map-cache": { - "version": "0.2.2", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/map-visit": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/md5.js": { - "version": "1.3.5", - "license": "MIT", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/ganache-core/node_modules/media-typer": { - "version": "0.3.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/merge-descriptors": { - "version": "1.0.1", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/merkle-patricia-tree": { - "version": "3.0.0", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.6.1", - "ethereumjs-util": "^5.2.0", - "level-mem": "^3.0.1", - "level-ws": "^1.0.0", - "readable-stream": "^3.0.6", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/ganache-core/node_modules/merkle-patricia-tree/node_modules/ethereumjs-util": { - "version": "5.2.1", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/merkle-patricia-tree/node_modules/readable-stream": { - "version": "3.6.0", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ganache-core/node_modules/methods": { - "version": "1.1.2", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/miller-rabin": { - "version": "4.0.1", - "license": "MIT", - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/ganache-core/node_modules/mime": { - "version": "1.6.0", - "license": "MIT", - "optional": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/mime-db": { - "version": "1.45.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/mime-types": { - "version": "2.1.28", - "license": "MIT", - "dependencies": { - "mime-db": "1.45.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/mimic-response": { - "version": "1.0.1", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/min-document": { - "version": "2.19.0", - "dependencies": { - "dom-walk": "^0.1.0" - } - }, - "node_modules/ganache-core/node_modules/minimalistic-assert": { - "version": "1.0.1", - "license": "ISC" - }, - "node_modules/ganache-core/node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/minimatch": { - "version": "3.0.4", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/minimist": { - "version": "1.2.5", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/minizlib": { - "version": "1.3.3", - "license": "MIT", - "optional": true, - "dependencies": { - "minipass": "^2.9.0" - } - }, - "node_modules/ganache-core/node_modules/minizlib/node_modules/minipass": { - "version": "2.9.0", - "license": "ISC", - "optional": true, - "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "node_modules/ganache-core/node_modules/mixin-deep": { - "version": "1.3.2", - "license": "MIT", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/mkdirp": { - "version": "0.5.5", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/ganache-core/node_modules/mkdirp-promise": { - "version": "5.0.1", - "license": "ISC", - "optional": true, - "dependencies": { - "mkdirp": "*" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/mock-fs": { - "version": "4.13.0", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/ms": { - "version": "2.1.3", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/multibase": { - "version": "0.6.1", - "license": "MIT", - "optional": true, - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/ganache-core/node_modules/multicodec": { - "version": "0.5.7", - "license": "MIT", - "optional": true, - "dependencies": { - "varint": "^5.0.0" - } - }, - "node_modules/ganache-core/node_modules/multihashes": { - "version": "0.4.21", - "license": "MIT", - "optional": true, - "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/ganache-core/node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "license": "MIT", - "optional": true, - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/ganache-core/node_modules/nano-json-stream-parser": { - "version": "0.1.2", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/nanomatch": { - "version": "1.2.13", - "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/negotiator": { - "version": "0.6.2", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/next-tick": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/nice-try": { - "version": "1.0.5", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/node-addon-api": { - "version": "2.0.2", - "inBundle": true, - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/node-fetch": { - "version": "2.1.2", - "license": "MIT", - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/ganache-core/node_modules/node-gyp-build": { - "version": "4.2.3", - "inBundle": true, - "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/ganache-core/node_modules/normalize-url": { - "version": "4.5.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ganache-core/node_modules/number-to-bn": { - "version": "1.7.0", - "license": "MIT", - "optional": true, - "dependencies": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ganache-core/node_modules/number-to-bn/node_modules/bn.js": { - "version": "4.11.6", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/oauth-sign": { - "version": "0.9.0", - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/object-assign": { - "version": "4.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy": { - "version": "0.1.0", - "license": "MIT", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object-inspect": { - "version": "1.9.0", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/object-is": { - "version": "1.1.4", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/object-keys": { - "version": "1.1.1", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ganache-core/node_modules/object-visit": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/object.assign": { - "version": "4.1.2", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/object.getownpropertydescriptors": { - "version": "2.1.1", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/object.pick": { - "version": "1.3.0", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/oboe": { - "version": "2.1.4", - "license": "BSD", - "optional": true, - "dependencies": { - "http-https": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/on-finished": { - "version": "2.3.0", - "license": "MIT", - "optional": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/ganache-core/node_modules/once": { - "version": "1.4.0", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/ganache-core/node_modules/os-homedir": { - "version": "1.0.2", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/os-tmpdir": { - "version": "1.0.2", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/p-cancelable": { - "version": "1.1.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/p-timeout": { - "version": "1.2.1", - "license": "MIT", - "optional": true, - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/p-timeout/node_modules/p-finally": { - "version": "1.0.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/parse-asn1": { - "version": "5.1.6", - "license": "ISC", - "optional": true, - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/parse-headers": { - "version": "2.0.3", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/parseurl": { - "version": "1.3.3", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/ganache-core/node_modules/pascalcase": { - "version": "0.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/patch-package": { - "version": "6.2.2", - "license": "MIT", - "dependencies": { - "@yarnpkg/lockfile": "^1.1.0", - "chalk": "^2.4.2", - "cross-spawn": "^6.0.5", - "find-yarn-workspace-root": "^1.2.1", - "fs-extra": "^7.0.1", - "is-ci": "^2.0.0", - "klaw-sync": "^6.0.0", - "minimist": "^1.2.0", - "rimraf": "^2.6.3", - "semver": "^5.6.0", - "slash": "^2.0.0", - "tmp": "^0.0.33" - }, - "bin": { - "patch-package": "index.js" - }, - "engines": { - "npm": ">5" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/cross-spawn": { - "version": "6.0.5", - "license": "MIT", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/path-key": { - "version": "2.0.1", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/semver": { - "version": "5.7.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/shebang-command": { - "version": "1.2.0", - "license": "MIT", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/shebang-regex": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/slash": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/tmp": { - "version": "0.0.33", - "license": "MIT", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/ganache-core/node_modules/patch-package/node_modules/which": { - "version": "1.3.1", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/ganache-core/node_modules/path-is-absolute": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/path-parse": { - "version": "1.0.6", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/path-to-regexp": { - "version": "0.1.7", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/pbkdf2": { - "version": "3.1.1", - "license": "MIT", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/ganache-core/node_modules/performance-now": { - "version": "2.1.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/posix-character-classes": { - "version": "0.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/precond": { - "version": "0.2.3", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/prepend-http": { - "version": "2.0.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/private": { - "version": "0.1.8", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/process": { - "version": "0.11.10", - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/ganache-core/node_modules/process-nextick-args": { - "version": "2.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/promise-to-callback": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "is-fn": "^1.0.0", - "set-immediate-shim": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/proxy-addr": { - "version": "2.0.6", - "license": "MIT", - "optional": true, - "dependencies": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ganache-core/node_modules/prr": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/pseudomap": { - "version": "1.0.2", - "license": "ISC" - }, - "node_modules/ganache-core/node_modules/psl": { - "version": "1.8.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/public-encrypt": { - "version": "4.0.3", - "license": "MIT", - "optional": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/ganache-core/node_modules/pull-cat": { - "version": "1.1.11", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/pull-defer": { - "version": "0.2.3", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/pull-level": { - "version": "2.0.4", - "license": "MIT", - "dependencies": { - "level-post": "^1.0.7", - "pull-cat": "^1.1.9", - "pull-live": "^1.0.1", - "pull-pushable": "^2.0.0", - "pull-stream": "^3.4.0", - "pull-window": "^2.1.4", - "stream-to-pull-stream": "^1.7.1" - } - }, - "node_modules/ganache-core/node_modules/pull-live": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "pull-cat": "^1.1.9", - "pull-stream": "^3.4.0" - } - }, - "node_modules/ganache-core/node_modules/pull-pushable": { - "version": "2.2.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/pull-stream": { - "version": "3.6.14", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/pull-window": { - "version": "2.1.4", - "license": "MIT", - "dependencies": { - "looper": "^2.0.0" - } - }, - "node_modules/ganache-core/node_modules/pump": { - "version": "3.0.0", - "license": "MIT", - "optional": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/ganache-core/node_modules/punycode": { - "version": "2.1.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/qs": { - "version": "6.5.2", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/ganache-core/node_modules/query-string": { - "version": "5.1.1", - "license": "MIT", - "optional": true, - "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/randombytes": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/ganache-core/node_modules/randomfill": { - "version": "1.0.4", - "license": "MIT", - "optional": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/ganache-core/node_modules/range-parser": { - "version": "1.2.1", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/raw-body": { - "version": "2.4.0", - "license": "MIT", - "optional": true, - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/ganache-core/node_modules/readable-stream": { - "version": "2.3.7", - "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/ganache-core/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/regenerate": { - "version": "1.4.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/regenerator-runtime": { - "version": "0.11.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/regenerator-transform": { - "version": "0.10.1", - "license": "BSD", - "dependencies": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - }, - "node_modules/ganache-core/node_modules/regex-not": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/regexp.prototype.flags": { - "version": "1.3.0", - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/regexp.prototype.flags/node_modules/es-abstract": { - "version": "1.17.7", - "license": "MIT", - "dependencies": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/regexpu-core": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "node_modules/ganache-core/node_modules/regjsgen": { - "version": "0.2.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/regjsparser": { - "version": "0.1.5", - "license": "BSD", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/ganache-core/node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/ganache-core/node_modules/repeat-element": { - "version": "1.1.3", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/repeat-string": { - "version": "1.6.1", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/ganache-core/node_modules/repeating": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "is-finite": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/request": { - "version": "2.88.2", - "license": "Apache-2.0", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ganache-core/node_modules/resolve-url": { - "version": "0.2.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/responselike": { - "version": "1.0.2", - "license": "MIT", - "optional": true, - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/resumer": { - "version": "0.0.0", - "license": "MIT", - "dependencies": { - "through": "~2.3.4" - } - }, - "node_modules/ganache-core/node_modules/ret": { - "version": "0.1.15", - "license": "MIT", - "engines": { - "node": ">=0.12" - } - }, - "node_modules/ganache-core/node_modules/rimraf": { - "version": "2.6.3", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/ganache-core/node_modules/ripemd160": { - "version": "2.0.2", - "license": "MIT", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/ganache-core/node_modules/rlp": { - "version": "2.2.6", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.11.1" - }, - "bin": { - "rlp": "bin/rlp" - } - }, - "node_modules/ganache-core/node_modules/rustbn.js": { - "version": "0.2.0", - "license": "(MIT OR Apache-2.0)" - }, - "node_modules/ganache-core/node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/safe-event-emitter": { - "version": "1.0.1", - "license": "ISC", - "dependencies": { - "events": "^3.0.0" - } - }, - "node_modules/ganache-core/node_modules/safe-regex": { - "version": "1.1.0", - "license": "MIT", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/ganache-core/node_modules/safer-buffer": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/scrypt-js": { - "version": "3.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/scryptsy": { - "version": "1.2.1", - "license": "MIT", - "optional": true, - "dependencies": { - "pbkdf2": "^3.0.3" - } - }, - "node_modules/ganache-core/node_modules/secp256k1": { - "version": "4.0.2", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "elliptic": "^6.5.2", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ganache-core/node_modules/seedrandom": { - "version": "3.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/semaphore": { - "version": "1.1.0", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ganache-core/node_modules/send": { - "version": "0.17.1", - "license": "MIT", - "optional": true, - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ganache-core/node_modules/send/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "optional": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/send/node_modules/ms": { - "version": "2.1.1", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/serve-static": { - "version": "1.14.1", - "license": "MIT", - "optional": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ganache-core/node_modules/servify": { - "version": "0.1.12", - "license": "MIT", - "optional": true, - "dependencies": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/set-immediate-shim": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/set-value": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/setimmediate": { - "version": "1.0.5", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/setprototypeof": { - "version": "1.1.1", - "license": "ISC", - "optional": true - }, - "node_modules/ganache-core/node_modules/sha.js": { - "version": "2.4.11", - "license": "(MIT AND BSD-3-Clause)", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/ganache-core/node_modules/simple-concat": { - "version": "1.0.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/simple-get": { - "version": "2.8.1", - "license": "MIT", - "optional": true, - "dependencies": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon": { - "version": "0.8.2", - "license": "MIT", - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon-node": { - "version": "2.1.1", - "license": "MIT", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon-util": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon-util/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/source-map": { - "version": "0.5.7", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/source-map-resolve": { - "version": "0.5.3", - "license": "MIT", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/ganache-core/node_modules/source-map-support": { - "version": "0.5.12", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/ganache-core/node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/source-map-url": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/split-string": { - "version": "3.1.0", - "license": "MIT", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/sshpk": { - "version": "1.16.1", - "license": "MIT", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "license": "Unlicense" - }, - "node_modules/ganache-core/node_modules/static-extend": { - "version": "0.1.2", - "license": "MIT", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/statuses": { - "version": "1.5.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/stream-to-pull-stream": { - "version": "1.7.3", - "license": "MIT", - "dependencies": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - } - }, - "node_modules/ganache-core/node_modules/stream-to-pull-stream/node_modules/looper": { - "version": "3.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/strict-uri-encode": { - "version": "1.1.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/string_decoder": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/ganache-core/node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/string.prototype.trim": { - "version": "1.2.3", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/string.prototype.trimend": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/string.prototype.trimstart": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/strip-hex-prefix": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ganache-core/node_modules/supports-color": { - "version": "5.5.0", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/swarm-js": { - "version": "0.1.40", - "license": "MIT", - "optional": true, - "dependencies": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^7.1.0", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request": "^1.0.1" - } - }, - "node_modules/ganache-core/node_modules/swarm-js/node_modules/fs-extra": { - "version": "4.0.3", - "license": "MIT", - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/ganache-core/node_modules/swarm-js/node_modules/get-stream": { - "version": "3.0.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/swarm-js/node_modules/got": { - "version": "7.1.0", - "license": "MIT", - "optional": true, - "dependencies": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/swarm-js/node_modules/is-stream": { - "version": "1.1.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/swarm-js/node_modules/p-cancelable": { - "version": "0.3.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/swarm-js/node_modules/prepend-http": { - "version": "1.0.4", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/swarm-js/node_modules/url-parse-lax": { - "version": "1.0.0", - "license": "MIT", - "optional": true, - "dependencies": { - "prepend-http": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/tape": { - "version": "4.13.3", - "license": "MIT", - "dependencies": { - "deep-equal": "~1.1.1", - "defined": "~1.0.0", - "dotignore": "~0.1.2", - "for-each": "~0.3.3", - "function-bind": "~1.1.1", - "glob": "~7.1.6", - "has": "~1.0.3", - "inherits": "~2.0.4", - "is-regex": "~1.0.5", - "minimist": "~1.2.5", - "object-inspect": "~1.7.0", - "resolve": "~1.17.0", - "resumer": "~0.0.0", - "string.prototype.trim": "~1.2.1", - "through": "~2.3.8" - }, - "bin": { - "tape": "bin/tape" - } - }, - "node_modules/ganache-core/node_modules/tape/node_modules/glob": { - "version": "7.1.6", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ganache-core/node_modules/tape/node_modules/is-regex": { - "version": "1.0.5", - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/tape/node_modules/object-inspect": { - "version": "1.7.0", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/tape/node_modules/resolve": { - "version": "1.17.0", - "license": "MIT", - "dependencies": { - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/tar": { - "version": "4.4.13", - "license": "ISC", - "optional": true, - "dependencies": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - }, - "engines": { - "node": ">=4.5" - } - }, - "node_modules/ganache-core/node_modules/tar/node_modules/fs-minipass": { - "version": "1.2.7", - "license": "ISC", - "optional": true, - "dependencies": { - "minipass": "^2.6.0" - } - }, - "node_modules/ganache-core/node_modules/tar/node_modules/minipass": { - "version": "2.9.0", - "license": "ISC", - "optional": true, - "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "node_modules/ganache-core/node_modules/through": { - "version": "2.3.8", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/through2": { - "version": "2.0.5", - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/ganache-core/node_modules/timed-out": { - "version": "4.0.1", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/tmp": { - "version": "0.1.0", - "license": "MIT", - "dependencies": { - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/to-object-path": { - "version": "0.3.0", - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/to-object-path/node_modules/is-buffer": { - "version": "1.1.6", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/to-readable-stream": { - "version": "1.0.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ganache-core/node_modules/to-regex": { - "version": "3.0.2", - "license": "MIT", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/toidentifier": { - "version": "1.0.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/ganache-core/node_modules/tough-cookie": { - "version": "2.5.0", - "license": "BSD-3-Clause", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/ganache-core/node_modules/trim-right": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/tunnel-agent": { - "version": "0.6.0", - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ganache-core/node_modules/tweetnacl": { - "version": "1.0.3", - "license": "Unlicense" - }, - "node_modules/ganache-core/node_modules/tweetnacl-util": { - "version": "0.15.1", - "license": "Unlicense" - }, - "node_modules/ganache-core/node_modules/type": { - "version": "1.2.0", - "license": "ISC" - }, - "node_modules/ganache-core/node_modules/type-is": { - "version": "1.6.18", - "license": "MIT", - "optional": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ganache-core/node_modules/typedarray": { - "version": "0.0.6", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/ganache-core/node_modules/typewise": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "typewise-core": "^1.2.0" - } - }, - "node_modules/ganache-core/node_modules/typewise-core": { - "version": "1.2.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/typewiselite": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/ultron": { - "version": "1.1.1", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/underscore": { - "version": "1.9.1", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/union-value": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/universalify": { - "version": "0.1.2", - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/ganache-core/node_modules/unorm": { - "version": "1.6.0", - "license": "MIT or GPL-2.0", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/ganache-core/node_modules/unpipe": { - "version": "1.0.0", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/ganache-core/node_modules/unset-value": { - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "license": "MIT", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/uri-js": { - "version": "4.4.1", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/ganache-core/node_modules/urix": { - "version": "0.1.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/url-parse-lax": { - "version": "3.0.0", - "license": "MIT", - "optional": true, - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ganache-core/node_modules/url-set-query": { - "version": "1.0.0", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/url-to-options": { - "version": "1.0.1", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/ganache-core/node_modules/use": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ganache-core/node_modules/utf-8-validate": { - "version": "5.0.4", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "node-gyp-build": "^4.2.0" - } - }, - "node_modules/ganache-core/node_modules/utf8": { - "version": "3.0.0", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/util-deprecate": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/util.promisify": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ganache-core/node_modules/utils-merge": { - "version": "1.0.1", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/ganache-core/node_modules/uuid": { - "version": "3.4.0", - "license": "MIT", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/ganache-core/node_modules/varint": { - "version": "5.0.2", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/vary": { - "version": "1.1.2", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/ganache-core/node_modules/verror": { - "version": "1.10.0", - "engines": [ - "node >=0.6.0" - ], - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/ganache-core/node_modules/web3": { - "version": "1.2.11", - "hasInstallScript": true, - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "web3-bzz": "1.2.11", - "web3-core": "1.2.11", - "web3-eth": "1.2.11", - "web3-eth-personal": "1.2.11", - "web3-net": "1.2.11", - "web3-shh": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-bzz": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40", - "underscore": "1.9.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-bzz/node_modules/@types/node": { - "version": "12.19.12", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/web3-core": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-requestmanager": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-helpers": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "underscore": "1.9.1", - "web3-eth-iban": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-method": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "@ethersproject/transactions": "^5.0.0-beta.135", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-promievent": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "eventemitter3": "4.0.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-requestmanager": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "web3-providers-http": "1.2.11", - "web3-providers-ipc": "1.2.11", - "web3-providers-ws": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core-subscriptions": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-core/node_modules/@types/node": { - "version": "12.19.12", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/web3-eth": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-eth-accounts": "1.2.11", - "web3-eth-contract": "1.2.11", - "web3-eth-ens": "1.2.11", - "web3-eth-iban": "1.2.11", - "web3-eth-personal": "1.2.11", - "web3-net": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-abi": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "@ethersproject/abi": "5.0.0-beta.153", - "underscore": "1.9.1", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-accounts": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", - "scrypt-js": "^3.0.1", - "underscore": "1.9.1", - "uuid": "3.3.2", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-accounts/node_modules/eth-lib": { - "version": "0.2.8", - "license": "MIT", - "optional": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-accounts/node_modules/uuid": { - "version": "3.3.2", - "license": "MIT", - "optional": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-contract": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-ens": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-eth-contract": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-iban": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "bn.js": "^4.11.9", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-personal": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "@types/node": "^12.12.6", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-net": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-eth-personal/node_modules/@types/node": { - "version": "12.19.12", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/web3-net": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "web3-core": "1.2.11", - "web3-core-method": "1.2.11", - "web3-utils": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine": { - "version": "14.2.1", - "license": "MIT", - "dependencies": { - "async": "^2.5.0", - "backoff": "^2.5.0", - "clone": "^2.0.0", - "cross-fetch": "^2.1.0", - "eth-block-tracker": "^3.0.0", - "eth-json-rpc-infura": "^3.1.0", - "eth-sig-util": "3.0.0", - "ethereumjs-block": "^1.2.2", - "ethereumjs-tx": "^1.2.0", - "ethereumjs-util": "^5.1.5", - "ethereumjs-vm": "^2.3.4", - "json-rpc-error": "^2.0.0", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "readable-stream": "^2.2.9", - "request": "^2.85.0", - "semaphore": "^1.0.3", - "ws": "^5.1.1", - "xhr": "^2.2.0", - "xtend": "^4.0.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/abstract-leveldown": { - "version": "2.6.3", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/deferred-leveldown": { - "version": "1.2.2", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "~2.6.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/eth-sig-util": { - "version": "1.4.2", - "license": "ISC", - "dependencies": { - "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", - "ethereumjs-util": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-account": { - "version": "2.0.5", - "license": "MPL-2.0", - "dependencies": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-block": { - "version": "1.7.1", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-block/node_modules/ethereum-common": { - "version": "0.2.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-tx": { - "version": "1.3.7", - "license": "MPL-2.0", - "dependencies": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-util": { - "version": "5.2.1", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm": { - "version": "2.6.0", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-block": { - "version": "2.2.2", - "license": "MPL-2.0", - "dependencies": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-block/node_modules/ethereumjs-util": { - "version": "5.2.1", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-tx": { - "version": "2.1.2", - "license": "MPL-2.0", - "dependencies": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ethereumjs-vm/node_modules/ethereumjs-util": { - "version": "6.2.1", - "license": "MPL-2.0", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/isarray": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-codec": { - "version": "7.0.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-errors": { - "version": "1.0.5", - "license": "MIT", - "dependencies": { - "errno": "~0.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-iterator-stream": { - "version": "1.3.1", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-iterator-stream/node_modules/readable-stream": { - "version": "1.1.14", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-ws": { - "version": "0.0.0", - "license": "MIT", - "dependencies": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-ws/node_modules/readable-stream": { - "version": "1.0.34", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/level-ws/node_modules/xtend": { - "version": "2.1.2", - "dependencies": { - "object-keys": "~0.4.0" - }, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/levelup": { - "version": "1.3.9", - "license": "MIT", - "dependencies": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ltgt": { - "version": "2.2.1", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/memdown": { - "version": "1.4.1", - "license": "MIT", - "dependencies": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/memdown/node_modules/abstract-leveldown": { - "version": "2.7.2", - "license": "MIT", - "dependencies": { - "xtend": "~4.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/merkle-patricia-tree": { - "version": "2.3.2", - "license": "MPL-2.0", - "dependencies": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/merkle-patricia-tree/node_modules/async": { - "version": "1.5.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/object-keys": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/semver": { - "version": "5.4.1", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/string_decoder": { - "version": "0.10.31", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/web3-provider-engine/node_modules/ws": { - "version": "5.2.2", - "license": "MIT", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-providers-http": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "web3-core-helpers": "1.2.11", - "xhr2-cookies": "1.1.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-providers-ipc": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "oboe": "2.1.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-providers-ws": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "websocket": "^1.0.31" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-shh": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "web3-core": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-net": "1.2.11" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-utils": { - "version": "1.2.11", - "license": "LGPL-3.0", - "optional": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.9.1", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ganache-core/node_modules/web3-utils/node_modules/eth-lib": { - "version": "0.2.8", - "license": "MIT", - "optional": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/ganache-core/node_modules/websocket": { - "version": "1.0.32", - "license": "Apache-2.0", - "dependencies": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/ganache-core/node_modules/websocket/node_modules/debug": { - "version": "2.6.9", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/ganache-core/node_modules/websocket/node_modules/ms": { - "version": "2.0.0", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/whatwg-fetch": { - "version": "2.0.4", - "license": "MIT" - }, - "node_modules/ganache-core/node_modules/wrappy": { - "version": "1.0.2", - "license": "ISC" - }, - "node_modules/ganache-core/node_modules/ws": { - "version": "3.3.3", - "license": "MIT", - "optional": true, - "dependencies": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, - "node_modules/ganache-core/node_modules/ws/node_modules/safe-buffer": { - "version": "5.1.2", - "license": "MIT", - "optional": true - }, - "node_modules/ganache-core/node_modules/xhr": { - "version": "2.6.0", - "license": "MIT", - "dependencies": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/ganache-core/node_modules/xhr-request": { - "version": "1.1.0", - "license": "MIT", - "optional": true, - "dependencies": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - } - }, - "node_modules/ganache-core/node_modules/xhr-request-promise": { - "version": "0.1.3", - "license": "MIT", - "optional": true, - "dependencies": { - "xhr-request": "^1.1.0" - } - }, - "node_modules/ganache-core/node_modules/xhr2-cookies": { - "version": "1.1.0", - "license": "MIT", - "optional": true, - "dependencies": { - "cookiejar": "^2.1.1" - } - }, - "node_modules/ganache-core/node_modules/xtend": { - "version": "4.0.2", - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/ganache-core/node_modules/yaeti": { - "version": "0.0.6", - "license": "MIT", - "engines": { - "node": ">=0.10.32" - } - }, - "node_modules/ganache-core/node_modules/yallist": { - "version": "3.1.1", - "license": "ISC" - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "engines": { - "node": "*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/ghost-testrpc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", - "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "node-emoji": "^1.10.0" - }, - "bin": { - "testrpc-sc": "index.js" - } - }, - "node_modules/ghost-testrpc/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ghost-testrpc/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ghost-testrpc/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ghost-testrpc/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/ghost-testrpc/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ghost-testrpc/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ghost-testrpc/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dev": true, - "dependencies": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/globby/node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, - "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "engines": { - "node": ">=4.x" - } - }, - "node_modules/handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/handlebars/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/hardhat": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.9.3.tgz", - "integrity": "sha512-7Vw99RbYbMZ15UzegOR/nqIYIqddZXvLwJGaX5sX4G5bydILnbjmDU6g3jMKJSiArEixS3vHAEaOs5CW1JQ3hg==", - "dependencies": { - "@ethereumjs/block": "^3.6.0", - "@ethereumjs/blockchain": "^5.5.0", - "@ethereumjs/common": "^2.6.0", - "@ethereumjs/tx": "^3.4.0", - "@ethereumjs/vm": "^5.6.0", - "@ethersproject/abi": "^5.1.2", - "@metamask/eth-sig-util": "^4.0.0", - "@sentry/node": "^5.18.1", - "@solidity-parser/parser": "^0.14.1", - "@types/bn.js": "^5.1.0", - "@types/lru-cache": "^5.1.0", - "abort-controller": "^3.0.0", - "adm-zip": "^0.4.16", - "aggregate-error": "^3.0.0", - "ansi-escapes": "^4.3.0", - "chalk": "^2.4.2", - "chokidar": "^3.4.0", - "ci-info": "^2.0.0", - "debug": "^4.1.1", - "enquirer": "^2.3.0", - "env-paths": "^2.2.0", - "ethereum-cryptography": "^0.1.2", - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^7.1.3", - "find-up": "^2.1.0", - "fp-ts": "1.19.3", - "fs-extra": "^7.0.1", - "glob": "^7.1.3", - "immutable": "^4.0.0-rc.12", - "io-ts": "1.10.4", - "lodash": "^4.17.11", - "merkle-patricia-tree": "^4.2.2", - "mnemonist": "^0.38.0", - "mocha": "^9.2.0", - "p-map": "^4.0.0", - "qs": "^6.7.0", - "raw-body": "^2.4.1", - "resolve": "1.17.0", - "semver": "^6.3.0", - "slash": "^3.0.0", - "solc": "0.7.3", - "source-map-support": "^0.5.13", - "stacktrace-parser": "^0.1.10", - "true-case-path": "^2.2.1", - "tsort": "0.0.1", - "undici": "^4.14.1", - "uuid": "^8.3.2", - "ws": "^7.4.6" - }, - "bin": { - "hardhat": "internal/cli/cli.js" - }, - "engines": { - "node": "^12.0.0 || ^14.0.0 || ^16.0.0" - } - }, - "node_modules/hardhat-gas-reporter": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.8.tgz", - "integrity": "sha512-1G5thPnnhcwLHsFnl759f2tgElvuwdkzxlI65fC9PwxYMEe9cmjkVAAWTf3/3y8uP6ZSPiUiOW8PgZnykmZe0g==", - "dev": true, - "dependencies": { - "array-uniq": "1.0.3", - "eth-gas-reporter": "^0.2.24", - "sha1": "^1.1.1" - }, - "peerDependencies": { - "hardhat": "^2.0.2" - } - }, - "node_modules/hardhat/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/hardhat/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/hardhat/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/hardhat/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/hardhat/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/hardhat/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/hardhat/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/hardhat/node_modules/solc": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", - "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", - "dependencies": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "follow-redirects": "^1.12.1", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "bin": { - "solcjs": "solcjs" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/hardhat/node_modules/solc/node_modules/fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "node_modules/hardhat/node_modules/solc/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/hardhat/node_modules/solc/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/hardhat/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hardhat/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dev": true, - "dependencies": { - "has-symbol-support-x": "^1.4.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "node_modules/http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "dev": true, - "dependencies": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=", - "dev": true - }, - "node_modules/http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "dev": true, - "dependencies": { - "@types/node": "^10.0.3" - } - }, - "node_modules/http-response-object/node_modules/@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", - "dev": true - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "dependencies": { - "punycode": "2.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/immediate": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" - }, - "node_modules/immutable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "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==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/inquirer/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/inquirer/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/io-ts": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", - "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", - "dependencies": { - "fp-ts": "^1.0.0" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } - }, - "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": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", - "dev": true - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=", - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", - "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "node_modules/isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dev": true, - "dependencies": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonschema": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.0.tgz", - "integrity": "sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "hasInstallScript": true, - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "optionalDependencies": { - "graceful-fs": "^4.1.9" - } - }, - "node_modules/klaw-sync": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", - "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", - "dependencies": { - "graceful-fs": "^4.1.11" - } - }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dependencies": { - "invert-kv": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/level-codec": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", - "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", - "dependencies": { - "buffer": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-concat-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", - "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "dependencies": { - "errno": "~0.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-iterator-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", - "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.4.0", - "xtend": "^4.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-mem": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", - "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", - "dependencies": { - "level-packager": "^5.0.3", - "memdown": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-packager": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", - "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", - "dependencies": { - "encoding-down": "^6.3.0", - "levelup": "^4.3.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-supports": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "dependencies": { - "xtend": "^4.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/level-ws": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", - "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^3.1.0", - "xtend": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/levelup": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", - "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", - "dependencies": { - "deferred-leveldown": "~5.3.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~4.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", - "dependencies": { - "get-func-name": "^2.0.0" - } - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lru_map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "node_modules/markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", - "dev": true - }, - "node_modules/mcl-wasm": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", - "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memdown": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", - "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", - "dependencies": { - "abstract-leveldown": "~6.2.1", - "functional-red-black-tree": "~1.0.1", - "immediate": "~3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/memdown/node_modules/abstract-leveldown": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "dependencies": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/memdown/node_modules/immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" - }, - "node_modules/memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/merkle-patricia-tree": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", - "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", - "dependencies": { - "@types/levelup": "^4.3.0", - "ethereumjs-util": "^7.1.4", - "level-mem": "^5.0.1", - "level-ws": "^2.0.0", - "readable-stream": "^3.6.0", - "semaphore-async-await": "^1.5.1" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "dev": true, - "dependencies": { - "dom-walk": "^0.1.0" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "node_modules/minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "node_modules/minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dev": true, - "dependencies": { - "minipass": "^2.9.0" - } - }, - "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==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", - "deprecated": "This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.", - "dev": true, - "dependencies": { - "mkdirp": "*" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mnemonist": { - "version": "0.38.5", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", - "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", - "dependencies": { - "obliterator": "^2.0.0" - } - }, - "node_modules/mocha": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", - "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", - "dependencies": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.3", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "4.2.1", - "ms": "2.1.3", - "nanoid": "3.3.1", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "workerpool": "6.2.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/mocha/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/mocha/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/minimatch": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", - "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/mocha/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mocha/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/mock-fs": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", - "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", - "dev": true - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "deprecated": "This module has been superseded by the multiformats module", - "dev": true, - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "deprecated": "This module has been superseded by the multiformats module", - "dev": true, - "dependencies": { - "varint": "^5.0.0" - } - }, - "node_modules/multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - } - }, - "node_modules/multihashes/node_modules/multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "deprecated": "This module has been superseded by the multiformats module", - "dev": true, - "dependencies": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "node_modules/mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "node_modules/nano-json-stream-parser": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", - "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "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 - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node_modules/node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "dependencies": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, - "node_modules/node-environment-flags/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-gyp-build": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", - "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", - "dependencies": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/number-to-bn/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", - "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obliterator": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.2.tgz", - "integrity": "sha512-g0TrA7SbUggROhDPK8cEu/qpItwH2LSKcNl4tlfBNT54XY+nOsqrs0Q68h1V9b3HOSpIWv15jb1lax2hAggdIg==" - }, - "node_modules/oboe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", - "integrity": "sha1-VVQoTFQ6ImbXo48X4HOCH73jk80=", - "dev": true, - "dependencies": { - "http-https": "^1.0.0" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dependencies": { - "lcid": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "dev": true, - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "engines": { - "node": ">=4" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=", - "dev": true - }, - "node_modules/parse-headers": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", - "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", - "dev": true - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/patch-package": { - "version": "6.4.7", - "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.4.7.tgz", - "integrity": "sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ==", - "dependencies": { - "@yarnpkg/lockfile": "^1.1.0", - "chalk": "^2.4.2", - "cross-spawn": "^6.0.5", - "find-yarn-workspace-root": "^2.0.0", - "fs-extra": "^7.0.1", - "is-ci": "^2.0.0", - "klaw-sync": "^6.0.0", - "minimist": "^1.2.0", - "open": "^7.4.2", - "rimraf": "^2.6.3", - "semver": "^5.6.0", - "slash": "^2.0.0", - "tmp": "^0.0.33" - }, - "bin": { - "patch-package": "index.js" - }, - "engines": { - "npm": ">5" - } - }, - "node_modules/patch-package/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/patch-package/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/patch-package/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/patch-package/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/patch-package/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/patch-package/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/patch-package/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/patch-package/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/patch-package/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/patch-package/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/patch-package/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/patch-package/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/patch-package/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/patch-package/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/patch-package/node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/patch-package/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/patch-package/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/patch-package/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "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": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "engines": { - "node": "*" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postinstall-postinstall": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz", - "integrity": "sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==", - "hasInstallScript": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/prettier-plugin-solidity": { - "version": "1.0.0-beta.19", - "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.19.tgz", - "integrity": "sha512-xxRQ5ZiiZyUoMFLE9h7HnUDXI/daf1tnmL1msEdcKmyh7ZGQ4YklkYLC71bfBpYU2WruTb5/SFLUaEb3RApg5g==", - "dev": true, - "dependencies": { - "@solidity-parser/parser": "^0.14.0", - "emoji-regex": "^10.0.0", - "escape-string-regexp": "^4.0.0", - "semver": "^7.3.5", - "solidity-comments-extractor": "^0.0.7", - "string-width": "^4.2.3" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "prettier": "^2.3.0" - } - }, - "node_modules/prettier-plugin-solidity/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/prettier-plugin-solidity/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/prettier-plugin-solidity/node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true, - "engines": { - "node": ">= 0.6.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 - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "dev": true, - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dev": true, - "dependencies": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "dev": true, - "dependencies": { - "minimatch": "3.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/recursive-readdir/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/req-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", - "integrity": "sha1-1AgrTURZgDZkD7c93qAe1T20nrw=", - "dev": true, - "dependencies": { - "req-from": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/req-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", - "integrity": "sha1-10GI5H+TeW9Kpx327jWuaJ8+DnA=", - "dev": true, - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/req-from/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.12.0" - }, - "peerDependencies": { - "request": "^2.34" - } - }, - "node_modules/request/node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dependencies": { - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "dependencies": { - "bn.js": "^5.2.0" - }, - "bin": { - "rlp": "bin/rlp" - } - }, - "node_modules/rlp/node_modules/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" - }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sc-istanbul": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", - "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", - "dev": true, - "dependencies": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "istanbul": "lib/cli.js" - } - }, - "node_modules/sc-istanbul/node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "node_modules/sc-istanbul/node_modules/esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sc-istanbul/node_modules/glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/sc-istanbul/node_modules/has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sc-istanbul/node_modules/resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "node_modules/sc-istanbul/node_modules/supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "dependencies": { - "has-flag": "^1.0.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/sc-istanbul/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "hasInstallScript": true, - "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/semaphore-async-await": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", - "integrity": "sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo=", - "engines": { - "node": ">=4.1" - } - }, - "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "1.8.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/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, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/send/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/send/node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "node_modules/send/node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/send/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/servify": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", - "dev": true, - "dependencies": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/sha1": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", - "integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=", - "dev": true, - "dependencies": { - "charenc": ">= 0.0.1", - "crypt": ">= 0.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/simple-get": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", - "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", - "dev": true, - "dependencies": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/solc": { - "version": "0.6.12", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.12.tgz", - "integrity": "sha512-Lm0Ql2G9Qc7yPP2Ba+WNmzw2jwsrd3u4PobHYlSOxaut3TtUbj9+5ZrT6f4DUpNPEoBaFUOEg9Op9C0mk7ge9g==", - "dependencies": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "bin": { - "solcjs": "solcjs" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/solc/node_modules/fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "node_modules/solc/node_modules/jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/solc/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/solc/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/solhint": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/solhint/-/solhint-3.3.7.tgz", - "integrity": "sha512-NjjjVmXI3ehKkb3aNtRJWw55SUVJ8HMKKodwe0HnejA+k0d2kmhw7jvpa+MCTbcEgt8IWSwx0Hu6aCo/iYOZzQ==", - "dev": true, - "dependencies": { - "@solidity-parser/parser": "^0.14.1", - "ajv": "^6.6.1", - "antlr4": "4.7.1", - "ast-parents": "0.0.1", - "chalk": "^2.4.2", - "commander": "2.18.0", - "cosmiconfig": "^5.0.7", - "eslint": "^5.6.0", - "fast-diff": "^1.1.2", - "glob": "^7.1.3", - "ignore": "^4.0.6", - "js-yaml": "^3.12.0", - "lodash": "^4.17.11", - "semver": "^6.3.0" - }, - "bin": { - "solhint": "solhint.js" - }, - "optionalDependencies": { - "prettier": "^1.14.3" - } - }, - "node_modules/solhint-plugin-prettier": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/solhint-plugin-prettier/-/solhint-plugin-prettier-0.0.5.tgz", - "integrity": "sha512-7jmWcnVshIrO2FFinIvDQmhQpfpS2rRRn3RejiYgnjIE68xO2bvrYvjqVNfrio4xH9ghOqn83tKuTzLjEbmGIA==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "peerDependencies": { - "prettier": "^1.15.0 || ^2.0.0", - "prettier-plugin-solidity": "^1.0.0-alpha.14" - } - }, - "node_modules/solhint/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/solhint/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/solhint/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solhint/node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/solhint/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solhint/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/solhint/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/solhint/node_modules/commander": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", - "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", - "dev": true - }, - "node_modules/solhint/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/solhint/node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/solhint/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/solhint/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/solhint/node_modules/eslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.3", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.13.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^6.14.0 || ^8.10.0 || >=9.10.0" - } - }, - "node_modules/solhint/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/solhint/node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/solhint/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/solhint/node_modules/eslint/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/solhint/node_modules/espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "dev": true, - "dependencies": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/solhint/node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solhint/node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solhint/node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/solhint/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/solhint/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/solhint/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/solhint/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "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/solhint/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/solhint/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/solhint/node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true, - "optional": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solhint/node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/solhint/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/solhint/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/solhint/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/solhint/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/solhint/node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/solhint/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/solhint/node_modules/string-width/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/solhint/node_modules/string-width/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/solhint/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solhint/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": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/solhint/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solhint/node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/solhint/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/solhint/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/solidity-comments-extractor": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz", - "integrity": "sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw==", - "dev": true - }, - "node_modules/solidity-coverage": { - "version": "0.7.20", - "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.7.20.tgz", - "integrity": "sha512-edOXTugUYdqxrtEnIn4vgrGjLPxdexcL0WD8LzAvVA3d1dwgcfRO3k8xQR02ZQnOnWMBi8Cqs0F+kAQQp3JW8g==", - "dev": true, - "dependencies": { - "@solidity-parser/parser": "^0.14.0", - "@truffle/provider": "^0.2.24", - "chalk": "^2.4.2", - "death": "^1.1.0", - "detect-port": "^1.3.0", - "fs-extra": "^8.1.0", - "ghost-testrpc": "^0.0.2", - "global-modules": "^2.0.0", - "globby": "^10.0.1", - "jsonschema": "^1.2.4", - "lodash": "^4.17.15", - "node-emoji": "^1.10.0", - "pify": "^4.0.1", - "recursive-readdir": "^2.2.2", - "sc-istanbul": "^0.4.5", - "semver": "^7.3.4", - "shelljs": "^0.8.3", - "web3-utils": "^1.3.0" - }, - "bin": { - "solidity-coverage": "plugins/bin.js" - } - }, - "node_modules/solidity-coverage/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solidity-coverage/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solidity-coverage/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/solidity-coverage/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/solidity-coverage/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/solidity-coverage/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/solidity-coverage/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/solidity-coverage/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/solidity-coverage/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solidity-coverage/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sshpk/node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "dependencies": { - "type-fest": "^0.7.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/stacktrace-parser/node_modules/type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "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, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string-width/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, - "engines": { - "node": ">=4" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/swarm-js": { - "version": "0.1.40", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", - "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^7.1.0", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request": "^1.0.1" - } - }, - "node_modules/swarm-js/node_modules/fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/swarm-js/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dev": true, - "dependencies": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/swarm-js/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/swarm-js/node_modules/p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/swarm-js/node_modules/prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/swarm-js/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/swarm-js/node_modules/url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "dependencies": { - "prepend-http": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "dev": true, - "dependencies": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "dev": true, - "dependencies": { - "get-port": "^3.1.0" - } - }, - "node_modules/table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/table/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/table/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "dev": true, - "dependencies": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - }, - "engines": { - "node": ">=4.5" - } - }, - "node_modules/test-value": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", - "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=", - "dependencies": { - "array-back": "^1.0.3", - "typical": "^2.6.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/test-value/node_modules/array-back": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", - "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", - "dependencies": { - "typical": "^2.6.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/testrpc": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", - "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==", - "deprecated": "testrpc has been renamed to ganache-cli, please use this package from now on." - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "dev": true, - "dependencies": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/then-request/node_modules/@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", - "dev": true - }, - "node_modules/then-request/node_modules/form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tough-cookie/node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "node_modules/true-case-path": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", - "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" - }, - "node_modules/ts-essentials": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-1.0.4.tgz", - "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==" - }, - "node_modules/ts-generator": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ts-generator/-/ts-generator-0.1.1.tgz", - "integrity": "sha512-N+ahhZxTLYu1HNTQetwWcx3so8hcYbkKBHTr4b4/YgObFTIKkOSSsaa+nal12w8mfrJAyzJfETXawbNjSfP2gQ==", - "dependencies": { - "@types/mkdirp": "^0.5.2", - "@types/prettier": "^2.1.1", - "@types/resolve": "^0.0.8", - "chalk": "^2.4.1", - "glob": "^7.1.2", - "mkdirp": "^0.5.1", - "prettier": "^2.1.2", - "resolve": "^1.8.1", - "ts-essentials": "^1.0.0" - }, - "bin": { - "ts-generator": "dist/cli/run.js" - } - }, - "node_modules/ts-generator/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ts-generator/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ts-generator/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ts-generator/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/ts-generator/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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ts-generator/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/ts-generator/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", - "dependencies": { - "@cspotcode/source-map-support": "0.7.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-node/node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/tsort": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "node_modules/tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" - }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typechain": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-5.2.0.tgz", - "integrity": "sha512-0INirvQ+P+MwJOeMct+WLkUE4zov06QxC96D+i3uGFEHoiSkZN70MKDQsaj8zkL86wQwByJReI2e7fOUwECFuw==", - "dependencies": { - "@types/prettier": "^2.1.1", - "command-line-args": "^4.0.7", - "debug": "^4.1.1", - "fs-extra": "^7.0.0", - "glob": "^7.1.6", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "mkdirp": "^1.0.4", - "prettier": "^2.1.2", - "ts-essentials": "^7.0.1" - }, - "bin": { - "typechain": "dist/cli/cli.js" - }, - "peerDependencies": { - "typescript": ">=4.1.0" - } - }, - "node_modules/typechain/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/typechain/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/typechain/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/typechain/node_modules/ts-essentials": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", - "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", - "peerDependencies": { - "typescript": ">=3.7.0" - } - }, - "node_modules/typechain/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", - "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/typical": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=" - }, - "node_modules/uglify-js": { - "version": "3.15.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.4.tgz", - "integrity": "sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==", - "dev": true, - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true - }, - "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-4.16.0.tgz", - "integrity": "sha512-tkZSECUYi+/T1i4u+4+lwZmQgLXd4BLGlrc7KZPcLIW7Jpq99+Xpc30ONv7nS6F5UNOxp/HBZSSL9MafUrvJbw==", - "engines": { - "node": ">=12.18" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/url-set-query": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=", - "dev": true - }, - "node_modules/url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "node_modules/utf-8-validate": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", - "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", - "devOptional": true, - "hasInstallScript": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, - "node_modules/utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "node_modules/util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", - "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==" - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", - "dev": true - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/web3": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", - "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "web3-bzz": "1.5.3", - "web3-core": "1.5.3", - "web3-eth": "1.5.3", - "web3-eth-personal": "1.5.3", - "web3-net": "1.5.3", - "web3-shh": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-bzz": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.5.3.tgz", - "integrity": "sha512-SlIkAqG0eS6cBS9Q2eBOTI1XFzqh83RqGJWnyrNZMDxUwsTVHL+zNnaPShVPvrWQA1Ub5b0bx1Kc5+qJVxsTJg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-bzz/node_modules/@types/node": { - "version": "12.20.47", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", - "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==", - "dev": true - }, - "node_modules/web3-core": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.3.tgz", - "integrity": "sha512-ACTbu8COCu+0eUNmd9pG7Q9EVsNkAg2w3Y7SqhDr+zjTgbSHZV01jXKlapm9z+G3AN/BziV3zGwudClJ4u4xXQ==", - "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-core-requestmanager": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-helpers": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.3.tgz", - "integrity": "sha512-Ip1IjB3S8vN7Kf1PPjK41U5gskmMk6IJQlxIVuS8/1U7n/o0jC8krqtpRwiMfAgYyw3TXwBFtxSRTvJtnLyXZw==", - "dev": true, - "dependencies": { - "web3-eth-iban": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-helpers/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-core-helpers/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-method": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.3.tgz", - "integrity": "sha512-8wJrwQ2qD9ibWieF9oHXwrJsUGrv3XAtEkNeyvyNMpktNTIjxJ2jaFGQUuLiyUrMubD18XXgLk4JS6PJU4Loeg==", - "dev": true, - "dependencies": { - "@ethereumjs/common": "^2.4.0", - "@ethersproject/transactions": "^5.0.0-beta.135", - "web3-core-helpers": "1.5.3", - "web3-core-promievent": "1.5.3", - "web3-core-subscriptions": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-method/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-core-method/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-promievent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.3.tgz", - "integrity": "sha512-CFfgqvk3Vk6PIAxtLLuX+pOMozxkKCY+/GdGr7weMh033mDXEPvwyVjoSRO1PqIKj668/hMGQsVoIgbyxkJ9Mg==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-requestmanager": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.3.tgz", - "integrity": "sha512-9k/Bze2rs8ONix5IZR+hYdMNQv+ark2Ek2kVcrFgWO+LdLgZui/rn8FikPunjE+ub7x7pJaKCgVRbYFXjo3ZWg==", - "dev": true, - "dependencies": { - "util": "^0.12.0", - "web3-core-helpers": "1.5.3", - "web3-providers-http": "1.5.3", - "web3-providers-ipc": "1.5.3", - "web3-providers-ws": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core-subscriptions": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.3.tgz", - "integrity": "sha512-L2m9vG1iRN6thvmv/HQwO2YLhOQlmZU8dpLG6GSo9FBN14Uch868Swk0dYVr3rFSYjZ/GETevSXU+O+vhCummA==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-core/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/web3-core/node_modules/@types/node": { - "version": "12.20.47", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", - "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==", - "dev": true - }, - "node_modules/web3-core/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-core/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.5.3.tgz", - "integrity": "sha512-saFurA1L23Bd7MEf7cBli6/jRdMhD4X/NaMiO2mdMMCXlPujoudlIJf+VWpRWJpsbDFdu7XJ2WHkmBYT5R3p1Q==", - "dev": true, - "dependencies": { - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-core-subscriptions": "1.5.3", - "web3-eth-abi": "1.5.3", - "web3-eth-accounts": "1.5.3", - "web3-eth-contract": "1.5.3", - "web3-eth-ens": "1.5.3", - "web3-eth-iban": "1.5.3", - "web3-eth-personal": "1.5.3", - "web3-net": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-abi": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.3.tgz", - "integrity": "sha512-i/qhuFsoNrnV130CSRYX/z4SlCfSQ4mHntti5yTmmQpt70xZKYZ57BsU0R29ueSQ9/P+aQrL2t2rqkQkAloUxg==", - "dev": true, - "dependencies": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-abi/node_modules/@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "dev": true, - "dependencies": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "node_modules/web3-eth-abi/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth-abi/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-accounts": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.5.3.tgz", - "integrity": "sha512-pdGhXgeBaEJENMvRT6W9cmji3Zz/46ugFSvmnLLw79qi5EH7XJhKISNVb41eWCrs4am5GhI67GLx5d2s2a72iw==", - "dev": true, - "dependencies": { - "@ethereumjs/common": "^2.3.0", - "@ethereumjs/tx": "^3.2.1", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-util": "^7.0.10", - "scrypt-js": "^3.0.1", - "uuid": "3.3.2", - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-accounts/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth-accounts/node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/web3-eth-accounts/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-contract": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.5.3.tgz", - "integrity": "sha512-Gdlt1L6cdHe83k7SdV6xhqCytVtOZkjD0kY/15x441AuuJ4JLubCHuqu69k2Dr3tWifHYVys/vG8QE/W16syGg==", - "dev": true, - "dependencies": { - "@types/bn.js": "^4.11.5", - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-core-promievent": "1.5.3", - "web3-core-subscriptions": "1.5.3", - "web3-eth-abi": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-contract/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/web3-eth-contract/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth-contract/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-ens": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.5.3.tgz", - "integrity": "sha512-QmGFFtTGElg0E+3xfCIFhiUF+1imFi9eg/cdsRMUZU4F1+MZCC/ee+IAelYLfNTGsEslCqfAusliKOT9DdGGnw==", - "dev": true, - "dependencies": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-promievent": "1.5.3", - "web3-eth-abi": "1.5.3", - "web3-eth-contract": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-ens/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth-ens/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-iban": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.3.tgz", - "integrity": "sha512-vMzmGqolYZvRHwP9P4Nf6G8uYM5aTLlQu2a34vz78p0KlDC+eV1th3+90Qeaupa28EG7OO0IT1F0BejiIauOPw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-iban/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth-iban/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-personal": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.5.3.tgz", - "integrity": "sha512-JzibJafR7ak/Icas8uvos3BmUNrZw1vShuNR5Cxjo+vteOC8XMqz1Vr7RH65B4bmlfb3bm9xLxetUHO894+Sew==", - "dev": true, - "dependencies": { - "@types/node": "^12.12.6", - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-net": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth-personal/node_modules/@types/node": { - "version": "12.20.47", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", - "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==", - "dev": true - }, - "node_modules/web3-eth-personal/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth-personal/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-eth/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-eth/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-net": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.5.3.tgz", - "integrity": "sha512-0W/xHIPvgVXPSdLu0iZYnpcrgNnhzHMC888uMlGP5+qMCt8VuflUZHy7tYXae9Mzsg1kxaJAS5lHVNyeNw4CoQ==", - "dev": true, - "dependencies": { - "web3-core": "1.5.3", - "web3-core-method": "1.5.3", - "web3-utils": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-net/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3-net/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-http": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.3.tgz", - "integrity": "sha512-5DpUyWGHtDAr2RYmBu34Fu+4gJuBAuNx2POeiJIooUtJ+Mu6pIx4XkONWH6V+Ez87tZAVAsFOkJRTYuzMr3rPw==", - "dev": true, - "dependencies": { - "web3-core-helpers": "1.5.3", - "xhr2-cookies": "1.1.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ipc": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.3.tgz", - "integrity": "sha512-JmeAptugVpmXI39LGxUSAymx0NOFdgpuI1hGQfIhbEAcd4sv7fhfd5D+ZU4oLHbRI8IFr4qfGU0uhR8BXhDzlg==", - "dev": true, - "dependencies": { - "oboe": "2.1.5", - "web3-core-helpers": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-providers-ws": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.3.tgz", - "integrity": "sha512-6DhTw4Q7nm5CFYEUHOJM0gAb3xFx+9gWpVveg3YxJ/ybR1BUvEWo3bLgIJJtX56cYX0WyY6DS35a7f0LOI1kVg==", - "dev": true, - "dependencies": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.3", - "websocket": "^1.0.32" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-shh": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.5.3.tgz", - "integrity": "sha512-COfEXfsqoV/BkcsNLRxQqnWc1Teb8/9GxdGag5GtPC5gQC/vsN+7hYVJUwNxY9LtJPKYTij2DHHnx6UkITng+Q==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "web3-core": "1.5.3", - "web3-core-method": "1.5.3", - "web3-core-subscriptions": "1.5.3", - "web3-net": "1.5.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.3.tgz", - "integrity": "sha512-g6nQgvb/bUpVUIxJE+ezVN+rYwYmlFyMvMIRSuqpi1dk6ApDD00YNArrk7sPcZnjvxOJ76813Xs2vIN2rgh4lg==", - "dependencies": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3/node_modules/eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "node_modules/web3/node_modules/web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "node_modules/websocket": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", - "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", - "dev": true, - "dependencies": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/websocket/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, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/websocket/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" - }, - "node_modules/which-typed-array": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", - "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", - "bin": { - "window-size": "cli.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "node_modules/workerpool": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", - "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==" - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xhr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", - "dev": true, - "dependencies": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "node_modules/xhr-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", - "dev": true, - "dependencies": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - } - }, - "node_modules/xhr-request-promise": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", - "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", - "dev": true, - "dependencies": { - "xhr-request": "^1.1.0" - } - }, - "node_modules/xhr2-cookies": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", - "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", - "dev": true, - "dependencies": { - "cookiejar": "^2.1.1" - } - }, - "node_modules/xmlhttprequest": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", - "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=", - "dev": true, - "engines": { - "node": ">=0.4.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==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", - "dev": true, - "engines": { - "node": ">=0.10.32" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@abacus-network/app": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@abacus-network/app/-/app-0.0.3.tgz", - "integrity": "sha512-FHir15S9tB0TcpuwzW4iGGgpDpEl5RNUUKPpnM5x5ZvbMeuBOzBcOzFeYXo/33WesNeXfH3FhW1hjS+w8pFY+g==", - "requires": { - "@abacus-network/core": "^0.0.5", - "@abacus-network/utils": "^0.0.5", - "@openzeppelin/contracts-upgradeable": "^4.5.0" - }, - "dependencies": { - "@abacus-network/core": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.5.tgz", - "integrity": "sha512-DKDqnGGfsgKrNzZvc9ewD8DS+4yVs+ugpGZtlAjlOzwpZ97Rk61RjrSBO0p4g85UtVg5GI0CLqfzgYdWSS81eQ==", - "requires": { - "@abacus-network/utils": "^0.0.5", - "@openzeppelin/contracts": "^3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0", - "ts-generator": "^0.1.1" - }, - "dependencies": { - "@openzeppelin/contracts-upgradeable": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", - "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" - } - } - }, - "@abacus-network/utils": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.5.tgz", - "integrity": "sha512-B8zS1RlKh8Pu7hifeenbAtPg2PRubgcPx3MyJz0TE8ryyDDOd54Xl9g96Xx9mrF7xeLRXBkACsi8S6DkgK+GOw==", - "requires": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - } - } - }, - "@abacus-network/apps": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@abacus-network/apps/-/apps-0.0.1.tgz", - "integrity": "sha512-vOHO2ubIrqwsuHSnxEQH4C2BP1AnqGeEqvEPNR/gTYi0nRuyKUg5fpIHUruK4W+zy4ZHyq5rSTYsR6mu945LEg==", - "requires": { - "@abacus-network/core": "^0.0.3", - "@abacus-network/hardhat": "^0.0.8", - "@abacus-network/utils": "^0.0.7", - "@openzeppelin/contracts": "~3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0" - }, - "dependencies": { - "@abacus-network/core": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.3.tgz", - "integrity": "sha512-GkiNbn79xKQm6AHQbBqjXrLUVzjFriGegjYhYnkZPobs1LKb4D6OUvrAty7bnO1qAPYkJHUhyRlVjsZxTqhqLA==", - "requires": { - "@abacus-network/utils": "^0.0.7", - "@openzeppelin/contracts": "^3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0", - "ts-generator": "^0.1.1" - } - }, - "@abacus-network/hardhat": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/@abacus-network/hardhat/-/hardhat-0.0.8.tgz", - "integrity": "sha512-b67pCrW0lBZBbAlhvegMEas4yCXQQqQTqNAfY+AWoaZV2RJCeWLKW29Ws0rjlOD7jmMVoWNIqjO8juUpPWPZvQ==", - "requires": { - "@abacus-network/core": "^0.0.3", - "@abacus-network/utils": "^0.0.7", - "@nomiclabs/hardhat-ethers": "^2.0.5", - "@nomiclabs/hardhat-waffle": "^2.0.2", - "@typechain/hardhat": "^2.0.1", - "ethereum-waffle": "^3.2.2", - "ethers": "^5.4.7", - "hardhat": "^2.8.4", - "prettier": "^2.3.1", - "ts-node": "^10.1.0", - "typechain": "^5.0.0", - "typescript": "^4.3.2" - } - }, - "@abacus-network/utils": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", - "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", - "requires": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - }, - "@openzeppelin/contracts-upgradeable": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", - "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" - } - } - }, - "@abacus-network/core": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.6.tgz", - "integrity": "sha512-3Aa1kmROmUksTjutm+uA13VvBmvycIwKIXb6cz6+0mZsyJ1Vg9Him46oiqI7QuSIbmEqSpa+GGvBll46aexX9g==", - "requires": { - "@abacus-network/utils": "^0.0.7", - "@openzeppelin/contracts": "^3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0", - "ts-generator": "^0.1.1" - }, - "dependencies": { - "@abacus-network/utils": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", - "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", - "requires": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - }, - "@openzeppelin/contracts-upgradeable": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", - "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" - } - } - }, - "@abacus-network/hardhat": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/@abacus-network/hardhat/-/hardhat-0.0.18.tgz", - "integrity": "sha512-TZgcsYd27s1L2CRxC8HznmAji/Ackspo52bQImz/eZR4WnWXdgc/3sjF9z89ovgRcFl8fDVAyu2suiOv9mWUyQ==", - "dev": true, - "requires": { - "@abacus-network/core": "^0.0.5", - "@abacus-network/utils": "^0.0.7", - "@nomiclabs/hardhat-ethers": "^2.0.5", - "@nomiclabs/hardhat-waffle": "^2.0.2", - "@typechain/hardhat": "^2.0.1", - "ethereum-waffle": "^3.2.2", - "ethers": "^5.4.7", - "hardhat": "^2.8.4", - "prettier": "^2.3.1", - "ts-node": "^10.1.0", - "typechain": "^5.0.0", - "typescript": "^4.3.2" - }, - "dependencies": { - "@abacus-network/core": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.5.tgz", - "integrity": "sha512-DKDqnGGfsgKrNzZvc9ewD8DS+4yVs+ugpGZtlAjlOzwpZ97Rk61RjrSBO0p4g85UtVg5GI0CLqfzgYdWSS81eQ==", - "dev": true, - "requires": { - "@abacus-network/utils": "^0.0.5", - "@openzeppelin/contracts": "^3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0", - "ts-generator": "^0.1.1" - }, - "dependencies": { - "@abacus-network/utils": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.5.tgz", - "integrity": "sha512-B8zS1RlKh8Pu7hifeenbAtPg2PRubgcPx3MyJz0TE8ryyDDOd54Xl9g96Xx9mrF7xeLRXBkACsi8S6DkgK+GOw==", - "dev": true, - "requires": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - } - } - }, - "@abacus-network/utils": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", - "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", - "dev": true, - "requires": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - }, - "@openzeppelin/contracts-upgradeable": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", - "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==", - "dev": true - } - } - }, - "@abacus-network/sdk": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@abacus-network/sdk/-/sdk-0.0.4.tgz", - "integrity": "sha512-+PjERzE3IuzPemYUbz3ED4l1HZ5prA7nr2mHnGPsdD4BY8PPcOQ/xNIQHzqUjAevdkcLD7cthn5s0k34rnOItA==", - "requires": { - "@abacus-network/apps": "^0.0.1", - "@abacus-network/core": "^0.0.3", - "@abacus-network/utils": "^0.0.7", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "celo-ethers-provider": "0.0.0", - "ethers": "^5.4.7" - }, - "dependencies": { - "@abacus-network/core": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@abacus-network/core/-/core-0.0.3.tgz", - "integrity": "sha512-GkiNbn79xKQm6AHQbBqjXrLUVzjFriGegjYhYnkZPobs1LKb4D6OUvrAty7bnO1qAPYkJHUhyRlVjsZxTqhqLA==", - "requires": { - "@abacus-network/utils": "^0.0.7", - "@openzeppelin/contracts": "^3.4.2", - "@openzeppelin/contracts-upgradeable": "~3.4.2", - "@summa-tx/memview-sol": "^2.0.0", - "ts-generator": "^0.1.1" - } - }, - "@abacus-network/utils": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.7.tgz", - "integrity": "sha512-hrL8+mIk0SI+Wde7PWGC/3GZsZtVpYvQP/GHX8/ZBKuiP7F28bgSCa8ZZc8jZvhcxm0XmMkpoAaMeGjaehg+0Q==", - "requires": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - }, - "@openzeppelin/contracts-upgradeable": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz", - "integrity": "sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw==" - } - } - }, - "@abacus-network/utils": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/@abacus-network/utils/-/utils-0.0.8.tgz", - "integrity": "sha512-fuQ+H6HC/d2/SjaxZnSJqKjkOCgQmJalDIMQNkDFtMpkvsxdndlZITLCj328Chee/BngpZ7sZyGS8u64w+mF4Q==", - "requires": { - "chai": "^4.3.0", - "ethers": "^5.4.7" - } - }, - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "dev": true - }, - "@babel/highlight": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", - "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==" - }, - "@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", - "requires": { - "@cspotcode/source-map-consumer": "0.8.0" - } - }, - "@ensdomains/ens": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz", - "integrity": "sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw==", - "requires": { - "bluebird": "^3.5.2", - "eth-ens-namehash": "^2.0.8", - "solc": "^0.4.20", - "testrpc": "0.0.1", - "web3-utils": "^1.0.0-beta.31" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "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": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "solc": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz", - "integrity": "sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA==", - "requires": { - "fs-extra": "^0.30.0", - "memorystream": "^0.3.1", - "require-from-string": "^1.1.0", - "semver": "^5.3.0", - "yargs": "^4.7.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, - "yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "requires": { - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "lodash.assign": "^4.0.3", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.1", - "which-module": "^1.0.0", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^2.4.1" - } - }, - "yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", - "requires": { - "camelcase": "^3.0.0", - "lodash.assign": "^4.0.6" - } - } - } - }, - "@ensdomains/resolver": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz", - "integrity": "sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==" - }, - "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - } - }, - "@ethereum-waffle/chai": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-3.4.4.tgz", - "integrity": "sha512-/K8czydBtXXkcM9X6q29EqEkc5dN3oYenyH2a9hF7rGAApAJUpH8QBtojxOY/xQ2up5W332jqgxwp0yPiYug1g==", - "requires": { - "@ethereum-waffle/provider": "^3.4.4", - "ethers": "^5.5.2" - } - }, - "@ethereum-waffle/compiler": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-3.4.4.tgz", - "integrity": "sha512-RUK3axJ8IkD5xpWjWoJgyHclOeEzDLQFga6gKpeGxiS/zBu+HB0W2FvsrrLalTFIaPw/CGYACRBSIxqiCqwqTQ==", - "requires": { - "@resolver-engine/imports": "^0.3.3", - "@resolver-engine/imports-fs": "^0.3.3", - "@typechain/ethers-v5": "^2.0.0", - "@types/mkdirp": "^0.5.2", - "@types/node-fetch": "^2.5.5", - "ethers": "^5.0.1", - "mkdirp": "^0.5.1", - "node-fetch": "^2.6.1", - "solc": "^0.6.3", - "ts-generator": "^0.1.1", - "typechain": "^3.0.0" - }, - "dependencies": { - "@typechain/ethers-v5": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-2.0.0.tgz", - "integrity": "sha512-0xdCkyGOzdqh4h5JSf+zoWx85IusEjDcPIwNEHP8mrWSnCae4rvrqB+/gtpdNfX7zjlFlZiMeePn2r63EI3Lrw==", - "requires": { - "ethers": "^5.0.2" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "ts-essentials": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-6.0.7.tgz", - "integrity": "sha512-2E4HIIj4tQJlIHuATRHayv0EfMGK3ris/GRk1E3CFnsZzeNV+hUmelbaTZHLtXaZppM5oLhHRtO04gINC4Jusw==", - "requires": {} - }, - "typechain": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-3.0.0.tgz", - "integrity": "sha512-ft4KVmiN3zH4JUFu2WJBrwfHeDf772Tt2d8bssDTo/YcckKW2D+OwFrHXRC6hJvO3mHjFQTihoMV6fJOi0Hngg==", - "requires": { - "command-line-args": "^4.0.7", - "debug": "^4.1.1", - "fs-extra": "^7.0.0", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "ts-essentials": "^6.0.3", - "ts-generator": "^0.1.1" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "@ethereum-waffle/ens": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-3.4.4.tgz", - "integrity": "sha512-0m4NdwWxliy3heBYva1Wr4WbJKLnwXizmy5FfSSr5PMbjI7SIGCdCB59U7/ZzY773/hY3bLnzLwvG5mggVjJWg==", - "requires": { - "@ensdomains/ens": "^0.4.4", - "@ensdomains/resolver": "^0.2.4", - "ethers": "^5.5.2" - } - }, - "@ethereum-waffle/mock-contract": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-3.4.4.tgz", - "integrity": "sha512-Mp0iB2YNWYGUV+VMl5tjPsaXKbKo8MDH9wSJ702l9EBjdxFf/vBvnMBAC1Fub1lLtmD0JHtp1pq+mWzg/xlLnA==", - "requires": { - "@ethersproject/abi": "^5.5.0", - "ethers": "^5.5.2" - } - }, - "@ethereum-waffle/provider": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-3.4.4.tgz", - "integrity": "sha512-GK8oKJAM8+PKy2nK08yDgl4A80mFuI8zBkE0C9GqTRYQqvuxIyXoLmJ5NZU9lIwyWVv5/KsoA11BgAv2jXE82g==", - "requires": { - "@ethereum-waffle/ens": "^3.4.4", - "ethers": "^5.5.2", - "ganache-core": "^2.13.2", - "patch-package": "^6.2.2", - "postinstall-postinstall": "^2.1.0" - } - }, - "@ethereumjs/block": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.2.tgz", - "integrity": "sha512-mOqYWwMlAZpYUEOEqt7EfMFuVL2eyLqWWIzcf4odn6QgXY8jBI2NhVuJncrMCKeMZrsJAe7/auaRRB6YcdH+Qw==", - "requires": { - "@ethereumjs/common": "^2.6.3", - "@ethereumjs/tx": "^3.5.1", - "ethereumjs-util": "^7.1.4", - "merkle-patricia-tree": "^4.2.4" - } - }, - "@ethereumjs/blockchain": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.2.tgz", - "integrity": "sha512-Jz26iJmmsQtngerW6r5BDFaew/f2mObLrRZo3rskLOx1lmtMZ8+TX/vJexmivrnWgmAsTdNWhlKUYY4thPhPig==", - "requires": { - "@ethereumjs/block": "^3.6.2", - "@ethereumjs/common": "^2.6.3", - "@ethereumjs/ethash": "^1.1.0", - "debug": "^4.3.3", - "ethereumjs-util": "^7.1.4", - "level-mem": "^5.0.1", - "lru-cache": "^5.1.1", - "semaphore-async-await": "^1.5.1" - } - }, - "@ethereumjs/common": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.3.tgz", - "integrity": "sha512-mQwPucDL7FDYIg9XQ8DL31CnIYZwGhU5hyOO5E+BMmT71G0+RHvIT5rIkLBirJEKxV6+Rcf9aEIY0kXInxUWpQ==", - "requires": { - "crc-32": "^1.2.0", - "ethereumjs-util": "^7.1.4" - } - }, - "@ethereumjs/ethash": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", - "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", - "requires": { - "@ethereumjs/block": "^3.5.0", - "@types/levelup": "^4.3.0", - "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.1.1", - "miller-rabin": "^4.0.0" - } - }, - "@ethereumjs/tx": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.1.tgz", - "integrity": "sha512-xzDrTiu4sqZXUcaBxJ4n4W5FrppwxLxZB4ZDGVLtxSQR4lVuOnFR6RcUHdg1mpUhAPVrmnzLJpxaeXnPxIyhWA==", - "requires": { - "@ethereumjs/common": "^2.6.3", - "ethereumjs-util": "^7.1.4" - } - }, - "@ethereumjs/vm": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.8.0.tgz", - "integrity": "sha512-mn2G2SX79QY4ckVvZUfxlNUpzwT2AEIkvgJI8aHoQaNYEHhH8rmdVDIaVVgz6//PjK52BZsK23afz+WvSR0Qqw==", - "requires": { - "@ethereumjs/block": "^3.6.2", - "@ethereumjs/blockchain": "^5.5.2", - "@ethereumjs/common": "^2.6.3", - "@ethereumjs/tx": "^3.5.1", - "async-eventemitter": "^0.2.4", - "core-js-pure": "^3.0.1", - "debug": "^4.3.3", - "ethereumjs-util": "^7.1.4", - "functional-red-black-tree": "^1.0.1", - "mcl-wasm": "^0.7.1", - "merkle-patricia-tree": "^4.2.4", - "rustbn.js": "~0.2.0" - } - }, - "@ethersproject/abi": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.1.tgz", - "integrity": "sha512-0cqssYh6FXjlwKWBmLm3+zH2BNARoS5u/hxbz+LpQmcDB3w0W553h2btWui1/uZp2GBM/SI3KniTuMcYyHpA5w==", - "requires": { - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/hash": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz", - "integrity": "sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==", - "requires": { - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "@ethersproject/web": "^5.6.0" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.0.tgz", - "integrity": "sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==", - "requires": { - "@ethersproject/abstract-provider": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "@ethersproject/address": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.0.tgz", - "integrity": "sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==", - "requires": { - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/rlp": "^5.6.0" - } - }, - "@ethersproject/base64": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.0.tgz", - "integrity": "sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==", - "requires": { - "@ethersproject/bytes": "^5.6.0" - } - }, - "@ethersproject/basex": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.0.tgz", - "integrity": "sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==", - "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/properties": "^5.6.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.0.tgz", - "integrity": "sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==", - "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "bn.js": "^4.11.9" - } - }, - "@ethersproject/bytes": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz", - "integrity": "sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/constants": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.0.tgz", - "integrity": "sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==", - "requires": { - "@ethersproject/bignumber": "^5.6.0" - } - }, - "@ethersproject/contracts": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.0.tgz", - "integrity": "sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==", - "requires": { - "@ethersproject/abi": "^5.6.0", - "@ethersproject/abstract-provider": "^5.6.0", - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/transactions": "^5.6.0" - } - }, - "@ethersproject/hash": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.0.tgz", - "integrity": "sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==", - "requires": { - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" - } - }, - "@ethersproject/hdnode": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.0.tgz", - "integrity": "sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==", - "requires": { - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/basex": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/pbkdf2": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/sha2": "^5.6.0", - "@ethersproject/signing-key": "^5.6.0", - "@ethersproject/strings": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "@ethersproject/wordlists": "^5.6.0" - } - }, - "@ethersproject/json-wallets": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.0.tgz", - "integrity": "sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==", - "requires": { - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/hdnode": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/pbkdf2": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.0", - "@ethersproject/strings": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.0.tgz", - "integrity": "sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==", - "requires": { - "@ethersproject/bytes": "^5.6.0", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz", - "integrity": "sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==" - }, - "@ethersproject/networks": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.2.tgz", - "integrity": "sha512-9uEzaJY7j5wpYGTojGp8U89mSsgQLc40PCMJLMCnFXTs7nhBveZ0t7dbqWUNrepWTszDbFkYD6WlL8DKx5huHA==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.0.tgz", - "integrity": "sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==", - "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/sha2": "^5.6.0" - } - }, - "@ethersproject/properties": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz", - "integrity": "sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==", - "requires": { - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/providers": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.3.tgz", - "integrity": "sha512-PKTEZXjdAhGK/+hUwRLQqlGrwTRrK4D0FHEP2V9klUF8C6+AWfHkA3AoLI+a8oq5CUZoRAH0nMecYGkKxUjeSw==", - "requires": { - "@ethersproject/abstract-provider": "^5.6.0", - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/basex": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/hash": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/networks": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.0", - "@ethersproject/rlp": "^5.6.0", - "@ethersproject/sha2": "^5.6.0", - "@ethersproject/strings": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "@ethersproject/web": "^5.6.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "@ethersproject/random": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.0.tgz", - "integrity": "sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==", - "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/rlp": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.0.tgz", - "integrity": "sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==", - "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/sha2": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.0.tgz", - "integrity": "sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==", - "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.0.tgz", - "integrity": "sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==", - "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "@ethersproject/solidity": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.0.tgz", - "integrity": "sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==", - "requires": { - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/sha2": "^5.6.0", - "@ethersproject/strings": "^5.6.0" - } - }, - "@ethersproject/strings": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.0.tgz", - "integrity": "sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==", - "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/transactions": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.0.tgz", - "integrity": "sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==", - "requires": { - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/rlp": "^5.6.0", - "@ethersproject/signing-key": "^5.6.0" - } - }, - "@ethersproject/units": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.0.tgz", - "integrity": "sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==", - "requires": { - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/constants": "^5.6.0", - "@ethersproject/logger": "^5.6.0" - } - }, - "@ethersproject/wallet": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.0.tgz", - "integrity": "sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==", - "requires": { - "@ethersproject/abstract-provider": "^5.6.0", - "@ethersproject/abstract-signer": "^5.6.0", - "@ethersproject/address": "^5.6.0", - "@ethersproject/bignumber": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/hash": "^5.6.0", - "@ethersproject/hdnode": "^5.6.0", - "@ethersproject/json-wallets": "^5.6.0", - "@ethersproject/keccak256": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/random": "^5.6.0", - "@ethersproject/signing-key": "^5.6.0", - "@ethersproject/transactions": "^5.6.0", - "@ethersproject/wordlists": "^5.6.0" - } - }, - "@ethersproject/web": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.0.tgz", - "integrity": "sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==", - "requires": { - "@ethersproject/base64": "^5.6.0", - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" - } - }, - "@ethersproject/wordlists": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.0.tgz", - "integrity": "sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==", - "requires": { - "@ethersproject/bytes": "^5.6.0", - "@ethersproject/hash": "^5.6.0", - "@ethersproject/logger": "^5.6.0", - "@ethersproject/properties": "^5.6.0", - "@ethersproject/strings": "^5.6.0" - } - }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - } - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@metamask/eth-sig-util": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.0.tgz", - "integrity": "sha512-LczOjjxY4A7XYloxzyxJIHONELmUxVZncpOLoClpEcTiebiVdM46KRPYXGuULro9oNNR2xdVx3yoKiQjdfWmoA==", - "requires": { - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^6.2.1", - "ethjs-util": "^0.1.6", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "@noble/hashes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.0.0.tgz", - "integrity": "sha512-DZVbtY62kc3kkBtMHqwCOfXrT/hnoORy5BJ4+HU1IR59X0KWAOqsfzQPcUl/lQLlG7qXbe/fZ3r/emxtAl+sqg==", - "dev": true - }, - "@noble/secp256k1": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.5.5.tgz", - "integrity": "sha512-sZ1W6gQzYnu45wPrWx8D3kwI2/U29VYTx9OjbDAd7jwRItJ0cSTMPRL/C8AWZFn9kWFLQGqEXVEE86w4Z8LpIQ==", - "dev": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@nomiclabs/hardhat-ethers": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.5.tgz", - "integrity": "sha512-A2gZAGB6kUvLx+kzM92HKuUF33F1FSe90L0TmkXkT2Hh0OKRpvWZURUSU2nghD2yC4DzfEZ3DftfeHGvZ2JTUw==", - "requires": {} - }, - "@nomiclabs/hardhat-waffle": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.3.tgz", - "integrity": "sha512-049PHSnI1CZq6+XTbrMbMv5NaL7cednTfPenx02k3cEh8wBMLa6ys++dBETJa6JjfwgA9nBhhHQ173LJv6k2Pg==", - "requires": { - "@types/sinon-chai": "^3.2.3", - "@types/web3": "1.0.19" - } - }, - "@openzeppelin/contracts": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-3.4.2.tgz", - "integrity": "sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA==" - }, - "@openzeppelin/contracts-upgradeable": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.5.2.tgz", - "integrity": "sha512-xgWZYaPlrEOQo3cBj97Ufiuv79SPd8Brh4GcFYhPgb6WvAq4ppz8dWKL6h+jLAK01rUqMRp/TS9AdXgAeNvCLA==" - }, - "@resolver-engine/core": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/core/-/core-0.3.3.tgz", - "integrity": "sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ==", - "requires": { - "debug": "^3.1.0", - "is-url": "^1.2.4", - "request": "^2.85.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "@resolver-engine/fs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/fs/-/fs-0.3.3.tgz", - "integrity": "sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ==", - "requires": { - "@resolver-engine/core": "^0.3.3", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "@resolver-engine/imports": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports/-/imports-0.3.3.tgz", - "integrity": "sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q==", - "requires": { - "@resolver-engine/core": "^0.3.3", - "debug": "^3.1.0", - "hosted-git-info": "^2.6.0", - "path-browserify": "^1.0.0", - "url": "^0.11.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "@resolver-engine/imports-fs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz", - "integrity": "sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA==", - "requires": { - "@resolver-engine/fs": "^0.3.3", - "@resolver-engine/imports": "^0.3.3", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "@scure/base": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.0.0.tgz", - "integrity": "sha512-gIVaYhUsy+9s58m/ETjSJVKHhKTBMmcRb9cEV5/5dwvfDlfORjKrFsDeDHWRrm6RjcPvCLZFwGJjAjLj1gg4HA==", - "dev": true - }, - "@scure/bip32": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.0.1.tgz", - "integrity": "sha512-AU88KKTpQ+YpTLoicZ/qhFhRRIo96/tlb+8YmDDHR9yiKVjSsFZiefJO4wjS2PMTkz5/oIcw84uAq/8pleQURA==", - "dev": true, - "requires": { - "@noble/hashes": "~1.0.0", - "@noble/secp256k1": "~1.5.2", - "@scure/base": "~1.0.0" - } - }, - "@scure/bip39": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.0.0.tgz", - "integrity": "sha512-HrtcikLbd58PWOkl02k9V6nXWQyoa7A0+Ek9VF7z17DDk9XZAFUcIdqfh0jJXLypmizc5/8P6OxoUeKliiWv4w==", - "dev": true, - "requires": { - "@noble/hashes": "~1.0.0", - "@scure/base": "~1.0.0" - } - }, - "@sentry/core": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", - "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sentry/hub": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", - "requires": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sentry/minimal": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", - "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sentry/node": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", - "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", - "requires": { - "@sentry/core": "5.30.0", - "@sentry/hub": "5.30.0", - "@sentry/tracing": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "cookie": "^0.4.1", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^1.9.3" - } - }, - "@sentry/tracing": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", - "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sentry/types": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==" - }, - "@sentry/utils": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", - "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", - "requires": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true - }, - "@solidity-parser/parser": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.1.tgz", - "integrity": "sha512-eLjj2L6AuQjBB6s/ibwCAc0DwrR5Ge+ys+wgWo+bviU7fV2nTMQhU63CGaDKXg9iTmMxwhkyoggdIR7ZGRfMgw==", - "requires": { - "antlr4ts": "^0.5.0-alpha.4" - } - }, - "@summa-tx/memview-sol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@summa-tx/memview-sol/-/memview-sol-2.0.1.tgz", - "integrity": "sha512-GuaXBYG6/aIjKae3UJSBS61J/IuK/NTuk2IJBpGxytkxN1p3ZdRNIp8HQAIOVoCKZQtvzdPaBWokzCk/LakA/Q==" - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@truffle/error": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@truffle/error/-/error-0.1.0.tgz", - "integrity": "sha512-RbUfp5VreNhsa2Q4YbBjz18rOQI909pG32bghl1hulO7IpvcqTS+C3Ge5cNbiWQ1WGzy1wIeKLW0tmQtHFB7qg==", - "dev": true - }, - "@truffle/interface-adapter": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.13.tgz", - "integrity": "sha512-XuxSGq3IvTihiXaBzxuFKjIZTETuwyk79vGPsZTjgddhW1Ao9/CX8c2kcqKGYLf6nuDBcBSynLn4NCamsfSNuA==", - "dev": true, - "requires": { - "bn.js": "^5.1.3", - "ethers": "^4.0.32", - "web3": "1.5.3" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - }, - "ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "requires": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true - }, - "scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", - "dev": true - }, - "uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", - "dev": true - } - } - }, - "@truffle/provider": { - "version": "0.2.51", - "resolved": "https://registry.npmjs.org/@truffle/provider/-/provider-0.2.51.tgz", - "integrity": "sha512-7N6pBECypJN8GwpzeR18RQeazn5KEmSTvxfhLd1LwFsga5CkU0fF+WB7rc0+ET6IeqPy5op3QWEwsvAz4MxMlw==", - "dev": true, - "requires": { - "@truffle/error": "^0.1.0", - "@truffle/interface-adapter": "^0.5.13", - "web3": "1.5.3" - } - }, - "@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" - }, - "@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" - }, - "@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" - }, - "@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" - }, - "@typechain/ethers-v5": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-7.0.1.tgz", - "integrity": "sha512-mXEJ7LG0pOYO+MRPkHtbf30Ey9X2KAsU0wkeoVvjQIn7iAY6tB3k3s+82bbmJAUMyENbQ04RDOZit36CgSG6Gg==", - "dev": true, - "requires": {} - }, - "@typechain/hardhat": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-2.3.1.tgz", - "integrity": "sha512-BQV8OKQi0KAzLXCdsPO0pZBNQQ6ra8A2ucC26uFX/kquRBtJu1yEyWnVSmtr07b5hyRoJRpzUeINLnyqz4/MAw==", - "requires": { - "fs-extra": "^9.1.0" - } - }, - "@types/abstract-leveldown": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz", - "integrity": "sha512-q5veSX6zjUy/DlDhR4Y4cU0k2Ar+DT2LUraP00T19WLmTO6Se1djepCCaqU6nQrwcJ5Hyo/CWqxTzrrFg8eqbQ==" - }, - "@types/bn.js": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz", - "integrity": "sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA==", - "requires": { - "@types/node": "*" - } - }, - "@types/chai": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==" - }, - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha1-yayFsqX9GENbjIXZ7LUObWyJP/g=", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/level-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.0.tgz", - "integrity": "sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ==" - }, - "@types/levelup": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", - "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", - "requires": { - "@types/abstract-leveldown": "*", - "@types/level-errors": "*", - "@types/node": "*" - } - }, - "@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "@types/mkdirp": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", - "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", - "requires": { - "@types/node": "*" - } - }, - "@types/mocha": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", - "integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==", - "dev": true - }, - "@types/node": { - "version": "17.0.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", - "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" - }, - "@types/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==", - "requires": { - "@types/node": "*", - "form-data": "^3.0.0" - } - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/prettier": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz", - "integrity": "sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==" - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "@types/resolve": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", - "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "requires": { - "@types/node": "*" - } - }, - "@types/sinon": { - "version": "10.0.11", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.11.tgz", - "integrity": "sha512-dmZsHlBsKUtBpHriNjlK0ndlvEh8dcb9uV9Afsbt89QIyydpC7NcR+nWlAhASfy3GHnxTl4FX/aKE7XZUt/B4g==", - "requires": { - "@types/sinonjs__fake-timers": "*" - } - }, - "@types/sinon-chai": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", - "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", - "requires": { - "@types/chai": "*", - "@types/sinon": "*" - } - }, - "@types/sinonjs__fake-timers": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==" - }, - "@types/underscore": { - "version": "1.11.4", - "resolved": "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.4.tgz", - "integrity": "sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg==" - }, - "@types/web3": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/@types/web3/-/web3-1.0.19.tgz", - "integrity": "sha512-fhZ9DyvDYDwHZUp5/STa9XW2re0E8GxoioYJ4pEUZ13YHpApSagixj7IAdoYH5uAK+UalGq6Ml8LYzmgRA/q+A==", - "requires": { - "@types/bn.js": "*", - "@types/underscore": "*" - } - }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" - }, - "abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", - "dev": true - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "abstract-leveldown": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", - "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", - "requires": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", - "dev": true - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" - }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "optional": true - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - } - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "antlr4": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.7.1.tgz", - "integrity": "sha512-haHyTW7Y9joE5MVs37P2lNYfU2RWBLfcRDD8OWldcdZm5TiCE91B5Xl1oWSwiDUSd4rlExpt2pu1fksYQjRBYQ==", - "dev": true - }, - "antlr4ts": { - "version": "0.5.0-alpha.4", - "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", - "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==" - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-back": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", - "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", - "requires": { - "typical": "^2.6.1" - } - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - }, - "ast-parents": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/ast-parents/-/ast-parents-0.0.1.tgz", - "integrity": "sha1-UI/Q8F0MSHddnszaLhdEIyYejdM=", - "dev": true - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "requires": { - "lodash": "^4.17.14" - } - }, - "async-eventemitter": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/async-eventemitter/-/async-eventemitter-0.2.4.tgz", - "integrity": "sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==", - "requires": { - "async": "^2.4.0" - } - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - } - } - }, - "bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "bignumber.js": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.10.3", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "dependencies": { - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - } - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - } - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", - "dev": true - } - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "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==" - }, - "buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=", - "dev": true - }, - "buffer-xor": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", - "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "bufferutil": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz", - "integrity": "sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw==", - "devOptional": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - }, - "dependencies": { - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - } - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "celo-ethers-provider": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/celo-ethers-provider/-/celo-ethers-provider-0.0.0.tgz", - "integrity": "sha512-fKm4DXyngvjafyFCwjh8WKDrWsC+fJTDDRZEIduC/IiZcp8W5KrrwNoIbi3arv1B8Yd4D4E3nxhmIudfOczVEw==", - "requires": { - "ethers": "^5.4.7" - } - }, - "chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", - "dev": true - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "cids": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz", - "integrity": "sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz", - "integrity": "sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==", - "dev": true, - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-is": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz", - "integrity": "sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==", - "dev": true - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "dev": true, - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - } - }, - "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 - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - }, - "command-line-args": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz", - "integrity": "sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==", - "requires": { - "array-back": "^2.0.0", - "find-replace": "^1.0.3", - "typical": "^2.6.1" - } - }, - "commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "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, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-hash": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz", - "integrity": "sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==", - "dev": true, - "requires": { - "cids": "^0.7.1", - "multicodec": "^0.5.5", - "multihashes": "^0.4.15" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", - "dev": true - }, - "core-js-pure": { - "version": "3.21.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", - "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } - } - }, - "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", - "dev": true - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dev": true, - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "death": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", - "integrity": "sha1-AaqcQB7dknUFFEcLgmY5DGbGcxg=", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "requires": { - "type-detect": "^4.0.0" - } - }, - "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 - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true - }, - "deferred-leveldown": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", - "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", - "requires": { - "abstract-leveldown": "~6.2.1", - "inherits": "^2.0.3" - }, - "dependencies": { - "abstract-leveldown": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "requires": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - } - } - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true - }, - "detect-port": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", - "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", - "dev": true, - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", - "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", - "dev": true - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "emoji-regex": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.1.0.tgz", - "integrity": "sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "encoding-down": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", - "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", - "requires": { - "abstract-leveldown": "^6.2.1", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0" - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.4.tgz", - "integrity": "sha512-flV8e5g9/xulChMG48Fygk1ptpo4lQRJ0eJYtxJFgi7pklLx7EFcOJ34jnvr8pbWlaFN/AT1cZpe0hiFel9Hqg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.60", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.60.tgz", - "integrity": "sha512-jpKNXIt60htYG59/9FGf2PYT3pwMpnEbNKysU+k/4FGwyGtMotOvcZOuW+EmXXYASRqYSXQfGL5cVIthOTgbkg==", - "dev": true, - "requires": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dev": true, - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", - "dev": true, - "requires": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.2.0" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "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" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "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 - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "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, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", - "requires": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - }, - "dependencies": { - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" - } - } - }, - "eth-gas-reporter": { - "version": "0.2.25", - "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.25.tgz", - "integrity": "sha512-1fRgyE4xUB8SoqLgN3eDfpDfwEfRxh2Sz1b7wzFbyQA+9TekMmvSjjoRu9SKcSVyK+vLkLIsVbJDsTWjw195OQ==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.0.0-beta.146", - "@solidity-parser/parser": "^0.14.0", - "cli-table3": "^0.5.0", - "colors": "1.4.0", - "ethereum-cryptography": "^1.0.3", - "ethers": "^4.0.40", - "fs-readdir-recursive": "^1.1.0", - "lodash": "^4.17.14", - "markdown-table": "^1.1.3", - "mocha": "^7.1.1", - "req-cwd": "^2.0.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.5", - "sha1": "^1.1.1", - "sync-request": "^6.0.0" - }, - "dependencies": { - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true - }, - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "ethereum-cryptography": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.0.3.tgz", - "integrity": "sha512-NQLTW0x0CosoVb/n79x/TRHtfvS3hgNUPTUSCu0vM+9k6IIhHFFrAOJReneexjZsoZxMjJHnJn4lrE8EbnSyqQ==", - "dev": true, - "requires": { - "@noble/hashes": "1.0.0", - "@noble/secp256k1": "1.5.5", - "@scure/bip32": "1.0.1", - "@scure/bip39": "1.0.0" - } - }, - "ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "requires": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "dev": true, - "requires": { - "is-buffer": "~2.0.3" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "mocha": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", - "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", - "dev": true, - "requires": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", - "dev": true, - "requires": { - "picomatch": "^2.0.4" - } - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true - }, - "setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dev": true, - "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - } - } - } - }, - "eth-lib": { - "version": "0.1.29", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz", - "integrity": "sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - }, - "dependencies": { - "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 - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - } - } - }, - "ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "requires": { - "js-sha3": "^0.8.0" - } - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "ethereum-waffle": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-3.4.4.tgz", - "integrity": "sha512-PA9+jCjw4WC3Oc5ocSMBj5sXvueWQeAbvCA+hUlb6oFgwwKyq5ka3bWQ7QZcjzIX+TdFkxP4IbFmoY2D8Dkj9Q==", - "requires": { - "@ethereum-waffle/chai": "^3.4.4", - "@ethereum-waffle/compiler": "^3.4.4", - "@ethereum-waffle/mock-contract": "^3.4.4", - "@ethereum-waffle/provider": "^3.4.4", - "ethers": "^5.0.1" - } - }, - "ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "requires": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "ethereumjs-util": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz", - "integrity": "sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A==", - "requires": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - } - } - }, - "ethers": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.6.3.tgz", - "integrity": "sha512-TkZAYGtbnzsGzEzqonLEMpOkmD5JIKCoWlAlj9ShAJlJszEkgKh3jVSeX1edLkYmqnpvJvGlBDK2y/HVe84LNg==", - "requires": { - "@ethersproject/abi": "5.6.1", - "@ethersproject/abstract-provider": "5.6.0", - "@ethersproject/abstract-signer": "5.6.0", - "@ethersproject/address": "5.6.0", - "@ethersproject/base64": "5.6.0", - "@ethersproject/basex": "5.6.0", - "@ethersproject/bignumber": "5.6.0", - "@ethersproject/bytes": "5.6.1", - "@ethersproject/constants": "5.6.0", - "@ethersproject/contracts": "5.6.0", - "@ethersproject/hash": "5.6.0", - "@ethersproject/hdnode": "5.6.0", - "@ethersproject/json-wallets": "5.6.0", - "@ethersproject/keccak256": "5.6.0", - "@ethersproject/logger": "5.6.0", - "@ethersproject/networks": "5.6.2", - "@ethersproject/pbkdf2": "5.6.0", - "@ethersproject/properties": "5.6.0", - "@ethersproject/providers": "5.6.3", - "@ethersproject/random": "5.6.0", - "@ethersproject/rlp": "5.6.0", - "@ethersproject/sha2": "5.6.0", - "@ethersproject/signing-key": "5.6.0", - "@ethersproject/solidity": "5.6.0", - "@ethersproject/strings": "5.6.0", - "@ethersproject/transactions": "5.6.0", - "@ethersproject/units": "5.6.0", - "@ethersproject/wallet": "5.6.0", - "@ethersproject/web": "5.6.0", - "@ethersproject/wordlists": "5.6.0" - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" - }, - "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", - "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", - "dev": true, - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.19.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.4.2", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.9.7", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", - "setprototypeof": "1.2.0", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", - "dev": true - }, - "raw-body": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", - "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - } - } - }, - "ext": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", - "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", - "dev": true, - "requires": { - "type": "^2.5.0" - }, - "dependencies": { - "type": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", - "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - } - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - } - } - }, - "find-replace": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz", - "integrity": "sha1-uI5zZNLZyVlVnziMZmcNYTBEH6A=", - "requires": { - "array-back": "^1.0.4", - "test-value": "^2.1.0" - }, - "dependencies": { - "array-back": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", - "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", - "requires": { - "typical": "^2.6.0" - } - } - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - }, - "find-yarn-workspace-root": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", - "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", - "requires": { - "micromatch": "^4.0.2" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true - }, - "fp-ts": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dev": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" - }, - "ganache-core": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/ganache-core/-/ganache-core-2.13.2.tgz", - "integrity": "sha512-tIF5cR+ANQz0+3pHWxHjIwHqFXcVo0Mb+kcsNhglNFALcYo49aQpnS9dqHartqPfMFjiHh/qFoD3mYK0d/qGgw==", - "requires": { - "abstract-leveldown": "3.0.0", - "async": "2.6.2", - "bip39": "2.5.0", - "cachedown": "1.0.0", - "clone": "2.1.2", - "debug": "3.2.6", - "encoding-down": "5.0.4", - "eth-sig-util": "3.0.0", - "ethereumjs-abi": "0.6.8", - "ethereumjs-account": "3.0.0", - "ethereumjs-block": "2.2.2", - "ethereumjs-common": "1.5.0", - "ethereumjs-tx": "2.1.2", - "ethereumjs-util": "6.2.1", - "ethereumjs-vm": "4.2.0", - "ethereumjs-wallet": "0.6.5", - "heap": "0.2.6", - "keccak": "3.0.1", - "level-sublevel": "6.6.4", - "levelup": "3.1.1", - "lodash": "4.17.20", - "lru-cache": "5.1.1", - "merkle-patricia-tree": "3.0.0", - "patch-package": "6.2.2", - "seedrandom": "3.0.1", - "source-map-support": "0.5.12", - "tmp": "0.1.0", - "web3": "1.2.11", - "web3-provider-engine": "14.2.1", - "websocket": "1.0.32" - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.0.0-beta.153", - "optional": true, - "requires": { - "@ethersproject/address": ">=5.0.0-beta.128", - "@ethersproject/bignumber": ">=5.0.0-beta.130", - "@ethersproject/bytes": ">=5.0.0-beta.129", - "@ethersproject/constants": ">=5.0.0-beta.128", - "@ethersproject/hash": ">=5.0.0-beta.128", - "@ethersproject/keccak256": ">=5.0.0-beta.127", - "@ethersproject/logger": ">=5.0.0-beta.129", - "@ethersproject/properties": ">=5.0.0-beta.131", - "@ethersproject/strings": ">=5.0.0-beta.130" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.0.8", - "optional": true, - "requires": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/networks": "^5.0.7", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/transactions": "^5.0.9", - "@ethersproject/web": "^5.0.12" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.0.10", - "optional": true, - "requires": { - "@ethersproject/abstract-provider": "^5.0.8", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7" - } - }, - "@ethersproject/address": { - "version": "5.0.9", - "optional": true, - "requires": { - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/rlp": "^5.0.7" - } - }, - "@ethersproject/base64": { - "version": "5.0.7", - "optional": true, - "requires": { - "@ethersproject/bytes": "^5.0.9" - } - }, - "@ethersproject/bignumber": { - "version": "5.0.13", - "optional": true, - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "bn.js": "^4.4.0" - } - }, - "@ethersproject/bytes": { - "version": "5.0.9", - "optional": true, - "requires": { - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/constants": { - "version": "5.0.8", - "optional": true, - "requires": { - "@ethersproject/bignumber": "^5.0.13" - } - }, - "@ethersproject/hash": { - "version": "5.0.10", - "optional": true, - "requires": { - "@ethersproject/abstract-signer": "^5.0.10", - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "@ethersproject/keccak256": { - "version": "5.0.7", - "optional": true, - "requires": { - "@ethersproject/bytes": "^5.0.9", - "js-sha3": "0.5.7" - } - }, - "@ethersproject/logger": { - "version": "5.0.8", - "optional": true - }, - "@ethersproject/networks": { - "version": "5.0.7", - "optional": true, - "requires": { - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/properties": { - "version": "5.0.7", - "optional": true, - "requires": { - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/rlp": { - "version": "5.0.7", - "optional": true, - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/signing-key": { - "version": "5.0.8", - "optional": true, - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "elliptic": "6.5.3" - } - }, - "@ethersproject/strings": { - "version": "5.0.8", - "optional": true, - "requires": { - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/logger": "^5.0.8" - } - }, - "@ethersproject/transactions": { - "version": "5.0.9", - "optional": true, - "requires": { - "@ethersproject/address": "^5.0.9", - "@ethersproject/bignumber": "^5.0.13", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/constants": "^5.0.8", - "@ethersproject/keccak256": "^5.0.7", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/rlp": "^5.0.7", - "@ethersproject/signing-key": "^5.0.8" - } - }, - "@ethersproject/web": { - "version": "5.0.12", - "optional": true, - "requires": { - "@ethersproject/base64": "^5.0.7", - "@ethersproject/bytes": "^5.0.9", - "@ethersproject/logger": "^5.0.8", - "@ethersproject/properties": "^5.0.7", - "@ethersproject/strings": "^5.0.8" - } - }, - "@sindresorhus/is": { - "version": "0.14.0", - "optional": true - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "optional": true, - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@types/bn.js": { - "version": "4.11.6", - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "14.14.20" - }, - "@types/pbkdf2": { - "version": "3.1.0", - "requires": { - "@types/node": "*" - } - }, - "@types/secp256k1": { - "version": "4.0.1", - "requires": { - "@types/node": "*" - } - }, - "@yarnpkg/lockfile": { - "version": "1.1.0" - }, - "abstract-leveldown": { - "version": "3.0.0", - "requires": { - "xtend": "~4.0.0" - } - }, - "accepts": { - "version": "1.3.7", - "optional": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "aes-js": { - "version": "3.1.2", - "optional": true - }, - "ajv": { - "version": "6.12.6", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-styles": { - "version": "3.2.1", - "requires": { - "color-convert": "^1.9.0" - } - }, - "arr-diff": { - "version": "4.0.0" - }, - "arr-flatten": { - "version": "1.1.0" - }, - "arr-union": { - "version": "3.1.0" - }, - "array-flatten": { - "version": "1.1.1", - "optional": true - }, - "array-unique": { - "version": "0.3.2" - }, - "asn1": { - "version": "0.2.4", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "optional": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0" - }, - "assign-symbols": { - "version": "1.0.0" - }, - "async": { - "version": "2.6.2", - "requires": { - "lodash": "^4.17.11" - } - }, - "async-eventemitter": { - "version": "0.2.4", - "requires": { - "async": "^2.4.0" - } - }, - "async-limiter": { - "version": "1.0.1" - }, - "asynckit": { - "version": "0.4.0" - }, - "atob": { - "version": "2.1.2" - }, - "aws-sign2": { - "version": "0.7.0" - }, - "aws4": { - "version": "1.11.0" - }, - "babel-code-frame": { - "version": "6.26.0", - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1" - }, - "ansi-styles": { - "version": "2.2.1" - }, - "chalk": { - "version": "1.1.3", - "requires": { - "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" - } - }, - "js-tokens": { - "version": "3.0.2" - }, - "strip-ansi": { - "version": "3.0.1", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0" - } - } - }, - "babel-core": { - "version": "6.26.3", - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "requires": { - "ms": "2.0.0" - } - }, - "json5": { - "version": "0.5.1" - }, - "ms": { - "version": "2.0.0" - }, - "slash": { - "version": "1.0.0" - } - } - }, - "babel-generator": { - "version": "6.26.1", - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "1.3.0" - } - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-define-map": { - "version": "6.26.0", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-helper-regex": { - "version": "6.26.0", - "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helpers": { - "version": "6.24.1", - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-messages": { - "version": "6.23.0", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0" - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0" - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0" - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" - } - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.2", - "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "requires": { - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" - } - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "requires": { - "regenerator-transform": "^0.10.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, - "babel-preset-env": { - "version": "1.7.0", - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.0", - "babel-plugin-transform-es2015-function-name": "^6.22.0", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.0", - "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^3.2.6", - "invariant": "^2.2.2", - "semver": "^5.3.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1" - } - } - }, - "babel-register": { - "version": "6.26.0", - "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - }, - "dependencies": { - "source-map-support": { - "version": "0.4.18", - "requires": { - "source-map": "^0.5.6" - } - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "babel-template": { - "version": "6.26.0", - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "requires": { - "ms": "2.0.0" - } - }, - "globals": { - "version": "9.18.0" - }, - "ms": { - "version": "2.0.0" - } - } - }, - "babel-types": { - "version": "6.26.0", - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - }, - "dependencies": { - "to-fast-properties": { - "version": "1.0.3" - } - } - }, - "babelify": { - "version": "7.3.0", - "requires": { - "babel-core": "^6.0.14", - "object-assign": "^4.0.0" - } - }, - "babylon": { - "version": "6.18.0" - }, - "backoff": { - "version": "2.5.0", - "requires": { - "precond": "0.2" - } - }, - "balanced-match": { - "version": "1.0.0" - }, - "base": { - "version": "0.11.2", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "base-x": { - "version": "3.0.8", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "requires": { - "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5" - } - } - }, - "bignumber.js": { - "version": "9.0.1", - "optional": true - }, - "bip39": { - "version": "2.5.0", - "requires": { - "create-hash": "^1.1.0", - "pbkdf2": "^3.0.9", - "randombytes": "^2.0.1", - "safe-buffer": "^5.0.1", - "unorm": "^1.3.3" - } - }, - "blakejs": { - "version": "1.1.0" - }, - "bluebird": { - "version": "3.7.2", - "optional": true - }, - "bn.js": { - "version": "4.11.9" - }, - "body-parser": { - "version": "1.19.0", - "optional": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "optional": true - }, - "qs": { - "version": "6.7.0", - "optional": true - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "brorand": { - "version": "1.1.0" - }, - "browserify-aes": { - "version": "1.2.0", - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "optional": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "optional": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "optional": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "5.1.3", - "optional": true - } - } - }, - "browserify-sign": { - "version": "4.2.1", - "optional": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.1.3", - "optional": true - }, - "readable-stream": { - "version": "3.6.0", - "optional": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "browserslist": { - "version": "3.2.8", - "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" - } - }, - "bs58": { - "version": "4.0.1", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "buffer": { - "version": "5.7.1", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-from": { - "version": "1.1.1" - }, - "buffer-to-arraybuffer": { - "version": "0.0.5", - "optional": true - }, - "buffer-xor": { - "version": "1.0.3" - }, - "bufferutil": { - "version": "4.0.3", - "requires": { - "node-gyp-build": "^4.2.0" - } - }, - "bytes": { - "version": "3.1.0", - "optional": true - }, - "bytewise": { - "version": "1.1.0", - "requires": { - "bytewise-core": "^1.2.2", - "typewise": "^1.0.3" - } - }, - "bytewise-core": { - "version": "1.2.3", - "requires": { - "typewise-core": "^1.2" - } - }, - "cache-base": { - "version": "1.0.1", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cacheable-request": { - "version": "6.1.0", - "optional": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "lowercase-keys": { - "version": "2.0.0", - "optional": true - } - } - }, - "cachedown": { - "version": "1.0.0", - "requires": { - "abstract-leveldown": "^2.4.1", - "lru-cache": "^3.2.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "requires": { - "xtend": "~4.0.0" - } - }, - "lru-cache": { - "version": "3.2.0", - "requires": { - "pseudomap": "^1.0.1" - } - } - } - }, - "call-bind": { - "version": "1.0.2", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "caniuse-lite": { - "version": "1.0.30001174" - }, - "caseless": { - "version": "0.12.0" - }, - "chalk": { - "version": "2.4.2", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "checkpoint-store": { - "version": "1.1.0", - "requires": { - "functional-red-black-tree": "^1.0.1" - } - }, - "chownr": { - "version": "1.1.4", - "optional": true - }, - "ci-info": { - "version": "2.0.0" - }, - "cids": { - "version": "0.7.5", - "optional": true, - "requires": { - "buffer": "^5.5.0", - "class-is": "^1.1.0", - "multibase": "~0.6.0", - "multicodec": "^1.0.0", - "multihashes": "~0.4.15" - }, - "dependencies": { - "multicodec": { - "version": "1.0.4", - "optional": true, - "requires": { - "buffer": "^5.6.0", - "varint": "^5.0.0" - } - } - } - }, - "cipher-base": { - "version": "1.0.4", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-is": { - "version": "1.1.0", - "optional": true - }, - "class-utils": { - "version": "0.3.6", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6" - }, - "is-data-descriptor": { - "version": "0.1.4", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0" - } - } - }, - "clone": { - "version": "2.1.2" - }, - "clone-response": { - "version": "1.0.2", - "optional": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "collection-visit": { - "version": "1.0.0", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3" - }, - "combined-stream": { - "version": "1.0.8", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "component-emitter": { - "version": "1.3.0" - }, - "concat-map": { - "version": "0.0.1" - }, - "concat-stream": { - "version": "1.6.2", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "content-disposition": { - "version": "0.5.3", - "optional": true, - "requires": { - "safe-buffer": "5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "optional": true - } - } - }, - "content-hash": { - "version": "2.5.2", - "optional": true, - "requires": { - "cids": "^0.7.1", - "multicodec": "^0.5.5", - "multihashes": "^0.4.15" - } - }, - "content-type": { - "version": "1.0.4", - "optional": true - }, - "convert-source-map": { - "version": "1.7.0", - "requires": { - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2" - } - } - }, - "cookie": { - "version": "0.4.0", - "optional": true - }, - "cookie-signature": { - "version": "1.0.6", - "optional": true - }, - "cookiejar": { - "version": "2.1.2", - "optional": true - }, - "copy-descriptor": { - "version": "0.1.1" - }, - "core-js": { - "version": "2.6.12" - }, - "core-js-pure": { - "version": "3.8.2" - }, - "core-util-is": { - "version": "1.0.2" - }, - "cors": { - "version": "2.8.5", - "optional": true, - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "create-ecdh": { - "version": "4.0.4", - "optional": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - } - }, - "create-hash": { - "version": "1.2.0", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-fetch": { - "version": "2.2.3", - "requires": { - "node-fetch": "2.1.2", - "whatwg-fetch": "2.0.4" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "optional": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "d": { - "version": "1.0.1", - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "debug": { - "version": "3.2.6", - "requires": { - "ms": "^2.1.1" - } - }, - "decode-uri-component": { - "version": "0.2.0" - }, - "decompress-response": { - "version": "3.3.0", - "optional": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "deep-equal": { - "version": "1.1.1", - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "optional": true - }, - "deferred-leveldown": { - "version": "4.0.2", - "requires": { - "abstract-leveldown": "~5.0.0", - "inherits": "^2.0.3" - }, - "dependencies": { - "abstract-leveldown": { - "version": "5.0.0", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "define-properties": { - "version": "1.1.3", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "defined": { - "version": "1.0.0" - }, - "delayed-stream": { - "version": "1.0.0" - }, - "depd": { - "version": "1.1.2", - "optional": true - }, - "des.js": { - "version": "1.0.1", - "optional": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "optional": true - }, - "detect-indent": { - "version": "4.0.0", - "requires": { - "repeating": "^2.0.0" - } - }, - "diffie-hellman": { - "version": "5.0.3", - "optional": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dom-walk": { - "version": "0.1.2" - }, - "dotignore": { - "version": "0.1.2", - "requires": { - "minimatch": "^3.0.4" - } - }, - "duplexer3": { - "version": "0.1.4", - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "optional": true - }, - "electron-to-chromium": { - "version": "1.3.636" - }, - "elliptic": { - "version": "6.5.3", - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "encodeurl": { - "version": "1.0.2", - "optional": true - }, - "encoding": { - "version": "0.1.13", - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.2", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "encoding-down": { - "version": "5.0.4", - "requires": { - "abstract-leveldown": "^5.0.0", - "inherits": "^2.0.3", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0", - "xtend": "^4.0.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "5.0.0", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "end-of-stream": { - "version": "1.4.4", - "requires": { - "once": "^1.4.0" - } - }, - "errno": { - "version": "0.1.8", - "requires": { - "prr": "~1.0.1" - } - }, - "es-abstract": { - "version": "1.18.0-next.1", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-symbol": { - "version": "3.1.3", - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "escape-html": { - "version": "1.0.3", - "optional": true - }, - "escape-string-regexp": { - "version": "1.0.5" - }, - "esutils": { - "version": "2.0.3" - }, - "etag": { - "version": "1.8.1", - "optional": true - }, - "eth-block-tracker": { - "version": "3.0.1", - "requires": { - "eth-query": "^2.1.0", - "ethereumjs-tx": "^1.3.3", - "ethereumjs-util": "^5.1.3", - "ethjs-util": "^0.1.3", - "json-rpc-engine": "^3.6.0", - "pify": "^2.3.0", - "tape": "^4.6.3" - }, - "dependencies": { - "ethereumjs-tx": { - "version": "1.3.7", - "requires": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "pify": { - "version": "2.3.0" - } - } - }, - "eth-ens-namehash": { - "version": "2.0.8", - "optional": true, - "requires": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - } - }, - "eth-json-rpc-infura": { - "version": "3.2.1", - "requires": { - "cross-fetch": "^2.1.1", - "eth-json-rpc-middleware": "^1.5.0", - "json-rpc-engine": "^3.4.0", - "json-rpc-error": "^2.0.0" - } - }, - "eth-json-rpc-middleware": { - "version": "1.6.0", - "requires": { - "async": "^2.5.0", - "eth-query": "^2.1.2", - "eth-tx-summary": "^3.1.2", - "ethereumjs-block": "^1.6.0", - "ethereumjs-tx": "^1.3.3", - "ethereumjs-util": "^5.1.2", - "ethereumjs-vm": "^2.1.0", - "fetch-ponyfill": "^4.0.0", - "json-rpc-engine": "^3.6.0", - "json-rpc-error": "^2.0.0", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "tape": "^4.6.3" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.6.3", - "requires": { - "xtend": "~4.0.0" - } - }, - "deferred-leveldown": { - "version": "1.2.2", - "requires": { - "abstract-leveldown": "~2.6.0" - } - }, - "ethereumjs-account": { - "version": "2.0.5", - "requires": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-block": { - "version": "1.7.1", - "requires": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "ethereum-common": { - "version": "0.2.0" - } - } - }, - "ethereumjs-tx": { - "version": "1.3.7", - "requires": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-vm": { - "version": "2.6.0", - "requires": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "ethereumjs-block": { - "version": "2.2.2", - "requires": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "ethereumjs-util": { - "version": "5.2.1", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - } - } - }, - "ethereumjs-tx": { - "version": "2.1.2", - "requires": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "isarray": { - "version": "0.0.1" - }, - "level-codec": { - "version": "7.0.1" - }, - "level-errors": { - "version": "1.0.5", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "1.3.1", - "requires": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "level-ws": { - "version": "0.0.0", - "requires": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "xtend": { - "version": "2.1.2", - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "levelup": { - "version": "1.3.9", - "requires": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "ltgt": { - "version": "2.2.1" - }, - "memdown": { - "version": "1.4.1", - "requires": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "merkle-patricia-tree": { - "version": "2.3.2", - "requires": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "async": { - "version": "1.5.2" - } - } - }, - "object-keys": { - "version": "0.4.0" - }, - "safe-buffer": { - "version": "5.1.2" - }, - "semver": { - "version": "5.4.1" - }, - "string_decoder": { - "version": "0.10.31" - } - } - }, - "eth-lib": { - "version": "0.1.29", - "optional": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "nano-json-stream-parser": "^0.1.2", - "servify": "^0.1.12", - "ws": "^3.0.0", - "xhr-request-promise": "^0.1.2" - } - }, - "eth-query": { - "version": "2.1.2", - "requires": { - "json-rpc-random-id": "^1.0.0", - "xtend": "^4.0.1" - } - }, - "eth-sig-util": { - "version": "3.0.0", - "requires": { - "buffer": "^5.2.1", - "elliptic": "^6.4.0", - "ethereumjs-abi": "0.6.5", - "ethereumjs-util": "^5.1.1", - "tweetnacl": "^1.0.0", - "tweetnacl-util": "^0.15.0" - }, - "dependencies": { - "ethereumjs-abi": { - "version": "0.6.5", - "requires": { - "bn.js": "^4.10.0", - "ethereumjs-util": "^4.3.0" - }, - "dependencies": { - "ethereumjs-util": { - "version": "4.5.1", - "requires": { - "bn.js": "^4.8.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.0.0" - } - } - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - } - } - }, - "eth-tx-summary": { - "version": "3.2.4", - "requires": { - "async": "^2.1.2", - "clone": "^2.0.0", - "concat-stream": "^1.5.1", - "end-of-stream": "^1.1.0", - "eth-query": "^2.0.2", - "ethereumjs-block": "^1.4.1", - "ethereumjs-tx": "^1.1.1", - "ethereumjs-util": "^5.0.1", - "ethereumjs-vm": "^2.6.0", - "through2": "^2.0.3" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.6.3", - "requires": { - "xtend": "~4.0.0" - } - }, - "deferred-leveldown": { - "version": "1.2.2", - "requires": { - "abstract-leveldown": "~2.6.0" - } - }, - "ethereumjs-account": { - "version": "2.0.5", - "requires": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-block": { - "version": "1.7.1", - "requires": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "ethereum-common": { - "version": "0.2.0" - } - } - }, - "ethereumjs-tx": { - "version": "1.3.7", - "requires": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-vm": { - "version": "2.6.0", - "requires": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "ethereumjs-block": { - "version": "2.2.2", - "requires": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "ethereumjs-util": { - "version": "5.2.1", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - } - } - }, - "ethereumjs-tx": { - "version": "2.1.2", - "requires": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "isarray": { - "version": "0.0.1" - }, - "level-codec": { - "version": "7.0.1" - }, - "level-errors": { - "version": "1.0.5", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "1.3.1", - "requires": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "level-ws": { - "version": "0.0.0", - "requires": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "xtend": { - "version": "2.1.2", - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "levelup": { - "version": "1.3.9", - "requires": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "ltgt": { - "version": "2.2.1" - }, - "memdown": { - "version": "1.4.1", - "requires": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "merkle-patricia-tree": { - "version": "2.3.2", - "requires": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "async": { - "version": "1.5.2" - } - } - }, - "object-keys": { - "version": "0.4.0" - }, - "safe-buffer": { - "version": "5.1.2" - }, - "semver": { - "version": "5.4.1" - }, - "string_decoder": { - "version": "0.10.31" - } - } - }, - "ethashjs": { - "version": "0.0.8", - "requires": { - "async": "^2.1.2", - "buffer-xor": "^2.0.1", - "ethereumjs-util": "^7.0.2", - "miller-rabin": "^4.0.0" - }, - "dependencies": { - "bn.js": { - "version": "5.1.3" - }, - "buffer-xor": { - "version": "2.0.2", - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-util": { - "version": "7.0.7", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.4" - } - } - } - }, - "ethereum-bloom-filters": { - "version": "1.0.7", - "optional": true, - "requires": { - "js-sha3": "^0.8.0" - }, - "dependencies": { - "js-sha3": { - "version": "0.8.0", - "optional": true - } - } - }, - "ethereum-common": { - "version": "0.0.18" - }, - "ethereum-cryptography": { - "version": "0.1.3", - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "ethereumjs-abi": { - "version": "0.6.8", - "requires": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - } - }, - "ethereumjs-account": { - "version": "3.0.0", - "requires": { - "ethereumjs-util": "^6.0.0", - "rlp": "^2.2.1", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-block": { - "version": "2.2.2", - "requires": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.6.3", - "requires": { - "xtend": "~4.0.0" - } - }, - "deferred-leveldown": { - "version": "1.2.2", - "requires": { - "abstract-leveldown": "~2.6.0" - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "isarray": { - "version": "0.0.1" - }, - "level-codec": { - "version": "7.0.1" - }, - "level-errors": { - "version": "1.0.5", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "1.3.1", - "requires": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "level-ws": { - "version": "0.0.0", - "requires": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "xtend": { - "version": "2.1.2", - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "levelup": { - "version": "1.3.9", - "requires": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "ltgt": { - "version": "2.2.1" - }, - "memdown": { - "version": "1.4.1", - "requires": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "merkle-patricia-tree": { - "version": "2.3.2", - "requires": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "async": { - "version": "1.5.2" - } - } - }, - "object-keys": { - "version": "0.4.0" - }, - "safe-buffer": { - "version": "5.1.2" - }, - "semver": { - "version": "5.4.1" - }, - "string_decoder": { - "version": "0.10.31" - } - } - }, - "ethereumjs-blockchain": { - "version": "4.0.4", - "requires": { - "async": "^2.6.1", - "ethashjs": "~0.0.7", - "ethereumjs-block": "~2.2.2", - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.1.0", - "flow-stoplight": "^1.0.0", - "level-mem": "^3.0.1", - "lru-cache": "^5.1.1", - "rlp": "^2.2.2", - "semaphore": "^1.1.0" - } - }, - "ethereumjs-common": { - "version": "1.5.0" - }, - "ethereumjs-tx": { - "version": "2.1.2", - "requires": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "ethereumjs-vm": { - "version": "4.2.0", - "requires": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "core-js-pure": "^3.0.1", - "ethereumjs-account": "^3.0.0", - "ethereumjs-block": "^2.2.2", - "ethereumjs-blockchain": "^4.0.3", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.2", - "ethereumjs-util": "^6.2.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1", - "util.promisify": "^1.0.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.6.3", - "requires": { - "xtend": "~4.0.0" - } - }, - "deferred-leveldown": { - "version": "1.2.2", - "requires": { - "abstract-leveldown": "~2.6.0" - } - }, - "isarray": { - "version": "0.0.1" - }, - "level-codec": { - "version": "7.0.1" - }, - "level-errors": { - "version": "1.0.5", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "1.3.1", - "requires": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "level-ws": { - "version": "0.0.0", - "requires": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "xtend": { - "version": "2.1.2", - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "levelup": { - "version": "1.3.9", - "requires": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "ltgt": { - "version": "2.2.1" - }, - "memdown": { - "version": "1.4.1", - "requires": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "merkle-patricia-tree": { - "version": "2.3.2", - "requires": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "async": { - "version": "1.5.2" - }, - "ethereumjs-util": { - "version": "5.2.1", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - } - } - }, - "object-keys": { - "version": "0.4.0" - }, - "safe-buffer": { - "version": "5.1.2" - }, - "semver": { - "version": "5.4.1" - }, - "string_decoder": { - "version": "0.10.31" - } - } - }, - "ethereumjs-wallet": { - "version": "0.6.5", - "optional": true, - "requires": { - "aes-js": "^3.1.1", - "bs58check": "^2.1.2", - "ethereum-cryptography": "^0.1.3", - "ethereumjs-util": "^6.0.0", - "randombytes": "^2.0.6", - "safe-buffer": "^5.1.2", - "scryptsy": "^1.2.1", - "utf8": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "ethjs-unit": { - "version": "0.1.6", - "optional": true, - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "optional": true - } - } - }, - "ethjs-util": { - "version": "0.1.6", - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, - "eventemitter3": { - "version": "4.0.4", - "optional": true - }, - "events": { - "version": "3.2.0" - }, - "evp_bytestokey": { - "version": "1.0.3", - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "expand-brackets": { - "version": "2.1.4", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6" - }, - "is-data-descriptor": { - "version": "0.1.4", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1" - }, - "kind-of": { - "version": "5.1.0" - }, - "ms": { - "version": "2.0.0" - } - } - }, - "express": { - "version": "4.17.1", - "optional": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "optional": true - }, - "qs": { - "version": "6.7.0", - "optional": true - }, - "safe-buffer": { - "version": "5.1.2", - "optional": true - } - } - }, - "ext": { - "version": "1.4.0", - "requires": { - "type": "^2.0.0" - }, - "dependencies": { - "type": { - "version": "2.1.0" - } - } - }, - "extend": { - "version": "3.0.2" - }, - "extend-shallow": { - "version": "3.0.2", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "extglob": { - "version": "2.0.4", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1" - } - } - }, - "extsprintf": { - "version": "1.3.0" - }, - "fake-merkle-patricia-tree": { - "version": "1.0.1", - "requires": { - "checkpoint-store": "^1.1.0" - } - }, - "fast-deep-equal": { - "version": "3.1.3" - }, - "fast-json-stable-stringify": { - "version": "2.1.0" - }, - "fetch-ponyfill": { - "version": "4.1.0", - "requires": { - "node-fetch": "~1.7.1" - }, - "dependencies": { - "is-stream": { - "version": "1.1.0" - }, - "node-fetch": { - "version": "1.7.3", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - } - } - }, - "finalhandler": { - "version": "1.1.2", - "optional": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "optional": true - } - } - }, - "find-yarn-workspace-root": { - "version": "1.2.1", - "requires": { - "fs-extra": "^4.0.3", - "micromatch": "^3.1.4" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fs-extra": { - "version": "4.0.3", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "is-buffer": { - "version": "1.1.6" - }, - "is-extendable": { - "version": "0.1.1" - }, - "is-number": { - "version": "3.0.0", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "flow-stoplight": { - "version": "1.0.0" - }, - "for-each": { - "version": "0.3.3", - "requires": { - "is-callable": "^1.1.3" - } - }, - "for-in": { - "version": "1.0.2" - }, - "forever-agent": { - "version": "0.6.1" - }, - "form-data": { - "version": "2.3.3", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "optional": true - }, - "fragment-cache": { - "version": "0.2.1", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "optional": true - }, - "fs-extra": { - "version": "7.0.1", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs.realpath": { - "version": "1.0.0" - }, - "function-bind": { - "version": "1.1.1" - }, - "functional-red-black-tree": { - "version": "1.0.1" - }, - "get-intrinsic": { - "version": "1.0.2", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-stream": { - "version": "5.2.0", - "optional": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6" - }, - "getpass": { - "version": "0.1.7", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.3", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "global": { - "version": "4.4.0", - "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "got": { - "version": "9.6.0", - "optional": true, - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "dependencies": { - "get-stream": { - "version": "4.1.0", - "optional": true, - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "graceful-fs": { - "version": "4.2.4" - }, - "har-schema": { - "version": "2.0.0" - }, - "har-validator": { - "version": "5.1.5", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1" - } - } - }, - "has-flag": { - "version": "3.0.0" - }, - "has-symbol-support-x": { - "version": "1.4.2", - "optional": true - }, - "has-symbols": { - "version": "1.0.1" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "optional": true, - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "has-value": { - "version": "1.0.0", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6" - }, - "is-number": { - "version": "3.0.0", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "hash.js": { - "version": "1.1.7", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "heap": { - "version": "0.2.6" - }, - "hmac-drbg": { - "version": "1.0.1", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "home-or-tmp": { - "version": "2.0.0", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "optional": true - }, - "http-errors": { - "version": "1.7.2", - "optional": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "optional": true - } - } - }, - "http-https": { - "version": "1.0.0", - "optional": true - }, - "http-signature": { - "version": "1.2.0", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "idna-uts46-hx": { - "version": "2.3.1", - "optional": true, - "requires": { - "punycode": "2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.0", - "optional": true - } - } - }, - "ieee754": { - "version": "1.2.1" - }, - "immediate": { - "version": "3.2.3" - }, - "inflight": { - "version": "1.0.6", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4" - }, - "invariant": { - "version": "2.2.4", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ipaddr.js": { - "version": "1.9.1", - "optional": true - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-arguments": { - "version": "1.1.0", - "requires": { - "call-bind": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.2" - }, - "is-ci": { - "version": "2.0.0", - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-date-object": { - "version": "1.0.2" - }, - "is-descriptor": { - "version": "1.0.2", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extendable": { - "version": "1.0.1", - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "is-finite": { - "version": "1.1.0" - }, - "is-fn": { - "version": "1.0.0" - }, - "is-function": { - "version": "1.0.2" - }, - "is-hex-prefixed": { - "version": "1.0.0" - }, - "is-negative-zero": { - "version": "2.0.1" - }, - "is-object": { - "version": "1.0.2", - "optional": true - }, - "is-plain-obj": { - "version": "1.1.0", - "optional": true - }, - "is-plain-object": { - "version": "2.0.4", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.1", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-retry-allowed": { - "version": "1.2.0", - "optional": true - }, - "is-symbol": { - "version": "1.0.3", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0" - }, - "is-windows": { - "version": "1.0.2" - }, - "isarray": { - "version": "1.0.0" - }, - "isexe": { - "version": "2.0.0" - }, - "isobject": { - "version": "3.0.1" - }, - "isstream": { - "version": "0.1.2" - }, - "isurl": { - "version": "1.0.0", - "optional": true, - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "js-sha3": { - "version": "0.5.7", - "optional": true - }, - "js-tokens": { - "version": "4.0.0" - }, - "jsbn": { - "version": "0.1.1" - }, - "json-buffer": { - "version": "3.0.0", - "optional": true - }, - "json-rpc-engine": { - "version": "3.8.0", - "requires": { - "async": "^2.0.1", - "babel-preset-env": "^1.7.0", - "babelify": "^7.3.0", - "json-rpc-error": "^2.0.0", - "promise-to-callback": "^1.0.0", - "safe-event-emitter": "^1.0.1" - } - }, - "json-rpc-error": { - "version": "2.0.0", - "requires": { - "inherits": "^2.0.1" - } - }, - "json-rpc-random-id": { - "version": "1.0.1" - }, - "json-schema": { - "version": "0.2.3" - }, - "json-schema-traverse": { - "version": "0.4.1" - }, - "json-stable-stringify": { - "version": "1.0.1", - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1" - }, - "jsonfile": { - "version": "4.0.0", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonify": { - "version": "0.0.0" - }, - "jsprim": { - "version": "1.4.1", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "keccak": { - "version": "3.0.1", - "bundled": true, - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "keyv": { - "version": "3.1.0", - "optional": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "kind-of": { - "version": "6.0.3" - }, - "klaw-sync": { - "version": "6.0.0", - "requires": { - "graceful-fs": "^4.1.11" - } - }, - "level-codec": { - "version": "9.0.2", - "requires": { - "buffer": "^5.6.0" - } - }, - "level-errors": { - "version": "2.0.1", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "2.0.3", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.5", - "xtend": "^4.0.0" - } - }, - "level-mem": { - "version": "3.0.1", - "requires": { - "level-packager": "~4.0.0", - "memdown": "~3.0.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "5.0.0", - "requires": { - "xtend": "~4.0.0" - } - }, - "ltgt": { - "version": "2.2.1" - }, - "memdown": { - "version": "3.0.0", - "requires": { - "abstract-leveldown": "~5.0.0", - "functional-red-black-tree": "~1.0.1", - "immediate": "~3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - } - }, - "safe-buffer": { - "version": "5.1.2" - } - } - }, - "level-packager": { - "version": "4.0.1", - "requires": { - "encoding-down": "~5.0.0", - "levelup": "^3.0.0" - } - }, - "level-post": { - "version": "1.0.7", - "requires": { - "ltgt": "^2.1.2" - } - }, - "level-sublevel": { - "version": "6.6.4", - "requires": { - "bytewise": "~1.1.0", - "level-codec": "^9.0.0", - "level-errors": "^2.0.0", - "level-iterator-stream": "^2.0.3", - "ltgt": "~2.1.1", - "pull-defer": "^0.2.2", - "pull-level": "^2.0.3", - "pull-stream": "^3.6.8", - "typewiselite": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "level-ws": { - "version": "1.0.0", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.8", - "xtend": "^4.0.1" - } - }, - "levelup": { - "version": "3.1.1", - "requires": { - "deferred-leveldown": "~4.0.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~3.0.0", - "xtend": "~4.0.0" - }, - "dependencies": { - "level-iterator-stream": { - "version": "3.0.1", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "xtend": "^4.0.0" - } - } - } - }, - "lodash": { - "version": "4.17.20" - }, - "looper": { - "version": "2.0.0" - }, - "loose-envify": { - "version": "1.4.0", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "optional": true - }, - "lru-cache": { - "version": "5.1.1", - "requires": { - "yallist": "^3.0.2" - } - }, - "ltgt": { - "version": "2.1.3" - }, - "map-cache": { - "version": "0.2.2" - }, - "map-visit": { - "version": "1.0.0", - "requires": { - "object-visit": "^1.0.0" - } - }, - "md5.js": { - "version": "1.3.5", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "media-typer": { - "version": "0.3.0", - "optional": true - }, - "merge-descriptors": { - "version": "1.0.1", - "optional": true - }, - "merkle-patricia-tree": { - "version": "3.0.0", - "requires": { - "async": "^2.6.1", - "ethereumjs-util": "^5.2.0", - "level-mem": "^3.0.1", - "level-ws": "^1.0.0", - "readable-stream": "^3.0.6", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "ethereumjs-util": { - "version": "5.2.1", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "methods": { - "version": "1.1.2", - "optional": true - }, - "miller-rabin": { - "version": "4.0.1", - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "1.6.0", - "optional": true - }, - "mime-db": { - "version": "1.45.0" - }, - "mime-types": { - "version": "2.1.28", - "requires": { - "mime-db": "1.45.0" - } - }, - "mimic-response": { - "version": "1.0.1", - "optional": true - }, - "min-document": { - "version": "2.19.0", - "requires": { - "dom-walk": "^0.1.0" - } - }, - "minimalistic-assert": { - "version": "1.0.1" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1" - }, - "minimatch": { - "version": "3.0.4", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5" - }, - "minizlib": { - "version": "1.3.3", - "optional": true, - "requires": { - "minipass": "^2.9.0" - }, - "dependencies": { - "minipass": { - "version": "2.9.0", - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - } - } - }, - "mixin-deep": { - "version": "1.3.2", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - } - }, - "mkdirp": { - "version": "0.5.5", - "requires": { - "minimist": "^1.2.5" - } - }, - "mkdirp-promise": { - "version": "5.0.1", - "optional": true, - "requires": { - "mkdirp": "*" - } - }, - "mock-fs": { - "version": "4.13.0", - "optional": true - }, - "ms": { - "version": "2.1.3" - }, - "multibase": { - "version": "0.6.1", - "optional": true, - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "0.5.7", - "optional": true, - "requires": { - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "0.4.21", - "optional": true, - "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "0.7.0", - "optional": true, - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "nano-json-stream-parser": { - "version": "0.1.2", - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "negotiator": { - "version": "0.6.2", - "optional": true - }, - "next-tick": { - "version": "1.0.0" - }, - "nice-try": { - "version": "1.0.5" - }, - "node-addon-api": { - "version": "2.0.2", - "bundled": true - }, - "node-fetch": { - "version": "2.1.2" - }, - "node-gyp-build": { - "version": "4.2.3", - "bundled": true - }, - "normalize-url": { - "version": "4.5.0", - "optional": true - }, - "number-to-bn": { - "version": "1.7.0", - "optional": true, - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "optional": true - } - } - }, - "oauth-sign": { - "version": "0.9.0" - }, - "object-assign": { - "version": "4.1.1" - }, - "object-copy": { - "version": "0.1.0", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-buffer": { - "version": "1.1.6" - }, - "is-data-descriptor": { - "version": "0.1.4", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0" - } - } - }, - "kind-of": { - "version": "3.2.2", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.9.0" - }, - "object-is": { - "version": "1.1.4", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1" - }, - "object-visit": { - "version": "1.0.1", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.2", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.1", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "object.pick": { - "version": "1.3.0", - "requires": { - "isobject": "^3.0.1" - } - }, - "oboe": { - "version": "2.1.4", - "optional": true, - "requires": { - "http-https": "^1.0.0" - } - }, - "on-finished": { - "version": "2.3.0", - "optional": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2" - }, - "os-tmpdir": { - "version": "1.0.2" - }, - "p-cancelable": { - "version": "1.1.0", - "optional": true - }, - "p-timeout": { - "version": "1.2.1", - "optional": true, - "requires": { - "p-finally": "^1.0.0" - }, - "dependencies": { - "p-finally": { - "version": "1.0.0", - "optional": true - } - } - }, - "parse-asn1": { - "version": "5.1.6", - "optional": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-headers": { - "version": "2.0.3" - }, - "parseurl": { - "version": "1.3.3", - "optional": true - }, - "pascalcase": { - "version": "0.1.1" - }, - "patch-package": { - "version": "6.2.2", - "requires": { - "@yarnpkg/lockfile": "^1.1.0", - "chalk": "^2.4.2", - "cross-spawn": "^6.0.5", - "find-yarn-workspace-root": "^1.2.1", - "fs-extra": "^7.0.1", - "is-ci": "^2.0.0", - "klaw-sync": "^6.0.0", - "minimist": "^1.2.0", - "rimraf": "^2.6.3", - "semver": "^5.6.0", - "slash": "^2.0.0", - "tmp": "^0.0.33" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "path-key": { - "version": "2.0.1" - }, - "semver": { - "version": "5.7.1" - }, - "shebang-command": { - "version": "1.2.0", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0" - }, - "slash": { - "version": "2.0.0" - }, - "tmp": { - "version": "0.0.33", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "which": { - "version": "1.3.1", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "path-is-absolute": { - "version": "1.0.1" - }, - "path-parse": { - "version": "1.0.6" - }, - "path-to-regexp": { - "version": "0.1.7", - "optional": true - }, - "pbkdf2": { - "version": "3.1.1", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0" - }, - "posix-character-classes": { - "version": "0.1.1" - }, - "precond": { - "version": "0.2.3" - }, - "prepend-http": { - "version": "2.0.0", - "optional": true - }, - "private": { - "version": "0.1.8" - }, - "process": { - "version": "0.11.10" - }, - "process-nextick-args": { - "version": "2.0.1" - }, - "promise-to-callback": { - "version": "1.0.0", - "requires": { - "is-fn": "^1.0.0", - "set-immediate-shim": "^1.0.1" - } - }, - "proxy-addr": { - "version": "2.0.6", - "optional": true, - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1" - }, - "pseudomap": { - "version": "1.0.2" - }, - "psl": { - "version": "1.8.0" - }, - "public-encrypt": { - "version": "4.0.3", - "optional": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "pull-cat": { - "version": "1.1.11" - }, - "pull-defer": { - "version": "0.2.3" - }, - "pull-level": { - "version": "2.0.4", - "requires": { - "level-post": "^1.0.7", - "pull-cat": "^1.1.9", - "pull-live": "^1.0.1", - "pull-pushable": "^2.0.0", - "pull-stream": "^3.4.0", - "pull-window": "^2.1.4", - "stream-to-pull-stream": "^1.7.1" - } - }, - "pull-live": { - "version": "1.0.1", - "requires": { - "pull-cat": "^1.1.9", - "pull-stream": "^3.4.0" - } - }, - "pull-pushable": { - "version": "2.2.0" - }, - "pull-stream": { - "version": "3.6.14" - }, - "pull-window": { - "version": "2.1.4", - "requires": { - "looper": "^2.0.0" - } - }, - "pump": { - "version": "3.0.0", - "optional": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1" - }, - "qs": { - "version": "6.5.2" - }, - "query-string": { - "version": "5.1.1", - "optional": true, - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "randombytes": { - "version": "2.1.0", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "optional": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "optional": true - }, - "raw-body": { - "version": "2.4.0", - "optional": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "requires": { - "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" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2" - } - } - }, - "regenerate": { - "version": "1.4.2" - }, - "regenerator-runtime": { - "version": "0.11.1" - }, - "regenerator-transform": { - "version": "0.10.1", - "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" - } - }, - "regex-not": { - "version": "1.0.2", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } - } - }, - "regexpu-core": { - "version": "2.0.0", - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0" - }, - "regjsparser": { - "version": "0.1.5", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0" - } - } - }, - "repeat-element": { - "version": "1.1.3" - }, - "repeat-string": { - "version": "1.6.1" - }, - "repeating": { - "version": "2.0.1", - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.2", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "resolve-url": { - "version": "0.2.1" - }, - "responselike": { - "version": "1.0.2", - "optional": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "resumer": { - "version": "0.0.0", - "requires": { - "through": "~2.3.4" - } - }, - "ret": { - "version": "0.1.15" - }, - "rimraf": { - "version": "2.6.3", - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.6", - "requires": { - "bn.js": "^4.11.1" - } - }, - "rustbn.js": { - "version": "0.2.0" - }, - "safe-buffer": { - "version": "5.2.1" - }, - "safe-event-emitter": { - "version": "1.0.1", - "requires": { - "events": "^3.0.0" - } - }, - "safe-regex": { - "version": "1.1.0", - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2" - }, - "scrypt-js": { - "version": "3.0.1" - }, - "scryptsy": { - "version": "1.2.1", - "optional": true, - "requires": { - "pbkdf2": "^3.0.3" - } - }, - "secp256k1": { - "version": "4.0.2", - "requires": { - "elliptic": "^6.5.2", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "seedrandom": { - "version": "3.0.1" - }, - "semaphore": { - "version": "1.1.0" - }, - "send": { - "version": "0.17.1", - "optional": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "optional": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "optional": true - } - } - }, - "ms": { - "version": "2.1.1", - "optional": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "optional": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "servify": { - "version": "0.1.12", - "optional": true, - "requires": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" - } - }, - "set-immediate-shim": { - "version": "1.0.1" - }, - "set-value": { - "version": "2.0.1", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1" - } - } - }, - "setimmediate": { - "version": "1.0.5" - }, - "setprototypeof": { - "version": "1.1.1", - "optional": true - }, - "sha.js": { - "version": "2.4.11", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "simple-concat": { - "version": "1.0.1", - "optional": true - }, - "simple-get": { - "version": "2.8.1", - "optional": true, - "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "snapdragon": { - "version": "0.8.2", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6" - }, - "is-data-descriptor": { - "version": "0.1.4", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1" - }, - "kind-of": { - "version": "5.1.0" - }, - "ms": { - "version": "2.0.0" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6" - }, - "kind-of": { - "version": "3.2.2", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7" - }, - "source-map-resolve": { - "version": "0.5.3", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.12", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1" - } - } - }, - "source-map-url": { - "version": "0.4.0" - }, - "split-string": { - "version": "3.1.0", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sshpk": { - "version": "1.16.1", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5" - } - } - }, - "static-extend": { - "version": "0.1.2", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-buffer": { - "version": "1.1.6" - }, - "is-data-descriptor": { - "version": "0.1.4", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0" - } - } - }, - "statuses": { - "version": "1.5.0", - "optional": true - }, - "stream-to-pull-stream": { - "version": "1.7.3", - "requires": { - "looper": "^3.0.0", - "pull-stream": "^3.2.3" - }, - "dependencies": { - "looper": { - "version": "3.0.0" - } - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "optional": true - }, - "string_decoder": { - "version": "1.1.1", - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2" - } - } - }, - "string.prototype.trim": { - "version": "1.2.3", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.3", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "strip-hex-prefix": { - "version": "1.0.0", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "requires": { - "has-flag": "^3.0.0" - } - }, - "swarm-js": { - "version": "0.1.40", - "optional": true, - "requires": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^7.1.0", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request": "^1.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "4.0.3", - "optional": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "get-stream": { - "version": "3.0.0", - "optional": true - }, - "got": { - "version": "7.1.0", - "optional": true, - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - } - }, - "is-stream": { - "version": "1.1.0", - "optional": true - }, - "p-cancelable": { - "version": "0.3.0", - "optional": true - }, - "prepend-http": { - "version": "1.0.4", - "optional": true - }, - "url-parse-lax": { - "version": "1.0.0", - "optional": true, - "requires": { - "prepend-http": "^1.0.1" - } - } - } - }, - "tape": { - "version": "4.13.3", - "requires": { - "deep-equal": "~1.1.1", - "defined": "~1.0.0", - "dotignore": "~0.1.2", - "for-each": "~0.3.3", - "function-bind": "~1.1.1", - "glob": "~7.1.6", - "has": "~1.0.3", - "inherits": "~2.0.4", - "is-regex": "~1.0.5", - "minimist": "~1.2.5", - "object-inspect": "~1.7.0", - "resolve": "~1.17.0", - "resumer": "~0.0.0", - "string.prototype.trim": "~1.2.1", - "through": "~2.3.8" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "is-regex": { - "version": "1.0.5", - "requires": { - "has": "^1.0.3" - } - }, - "object-inspect": { - "version": "1.7.0" - }, - "resolve": { - "version": "1.17.0", - "requires": { - "path-parse": "^1.0.6" - } - } - } - }, - "tar": { - "version": "4.4.13", - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - }, - "dependencies": { - "fs-minipass": { - "version": "1.2.7", - "optional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "minipass": { - "version": "2.9.0", - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - } - } - }, - "through": { - "version": "2.3.8" - }, - "through2": { - "version": "2.0.5", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "timed-out": { - "version": "4.0.1", - "optional": true - }, - "tmp": { - "version": "0.1.0", - "requires": { - "rimraf": "^2.6.3" - } - }, - "to-object-path": { - "version": "0.3.0", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6" - }, - "kind-of": { - "version": "3.2.2", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-readable-stream": { - "version": "1.0.0", - "optional": true - }, - "to-regex": { - "version": "3.0.2", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "toidentifier": { - "version": "1.0.0", - "optional": true - }, - "tough-cookie": { - "version": "2.5.0", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "trim-right": { - "version": "1.0.1" - }, - "tunnel-agent": { - "version": "0.6.0", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "1.0.3" - }, - "tweetnacl-util": { - "version": "0.15.1" - }, - "type": { - "version": "1.2.0" - }, - "type-is": { - "version": "1.6.18", - "optional": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6" - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typewise": { - "version": "1.0.3", - "requires": { - "typewise-core": "^1.2.0" - } - }, - "typewise-core": { - "version": "1.2.0" - }, - "typewiselite": { - "version": "1.0.0" - }, - "ultron": { - "version": "1.1.1", - "optional": true - }, - "underscore": { - "version": "1.9.1", - "optional": true - }, - "union-value": { - "version": "1.0.1", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "0.1.1" - } - } - }, - "universalify": { - "version": "0.1.2" - }, - "unorm": { - "version": "1.6.0" - }, - "unpipe": { - "version": "1.0.0", - "optional": true - }, - "unset-value": { - "version": "1.0.0", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4" - } - } - }, - "uri-js": { - "version": "4.4.1", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0" - }, - "url-parse-lax": { - "version": "3.0.0", - "optional": true, - "requires": { - "prepend-http": "^2.0.0" - } - }, - "url-set-query": { - "version": "1.0.0", - "optional": true - }, - "url-to-options": { - "version": "1.0.1", - "optional": true - }, - "use": { - "version": "3.1.1" - }, - "utf-8-validate": { - "version": "5.0.4", - "requires": { - "node-gyp-build": "^4.2.0" - } - }, - "utf8": { - "version": "3.0.0", - "optional": true - }, - "util-deprecate": { - "version": "1.0.2" - }, - "util.promisify": { - "version": "1.1.1", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "for-each": "^0.3.3", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.1" - } - }, - "utils-merge": { - "version": "1.0.1", - "optional": true - }, - "uuid": { - "version": "3.4.0" - }, - "varint": { - "version": "5.0.2", - "optional": true - }, - "vary": { - "version": "1.1.2", - "optional": true - }, - "verror": { - "version": "1.10.0", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "web3": { - "version": "1.2.11", - "optional": true, - "requires": { - "web3-bzz": "1.2.11", - "web3-core": "1.2.11", - "web3-eth": "1.2.11", - "web3-eth-personal": "1.2.11", - "web3-net": "1.2.11", - "web3-shh": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-bzz": { - "version": "1.2.11", - "optional": true, - "requires": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40", - "underscore": "1.9.1" - }, - "dependencies": { - "@types/node": { - "version": "12.19.12", - "optional": true - } - } - }, - "web3-core": { - "version": "1.2.11", - "optional": true, - "requires": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-requestmanager": "1.2.11", - "web3-utils": "1.2.11" - }, - "dependencies": { - "@types/node": { - "version": "12.19.12", - "optional": true - } - } - }, - "web3-core-helpers": { - "version": "1.2.11", - "optional": true, - "requires": { - "underscore": "1.9.1", - "web3-eth-iban": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-core-method": { - "version": "1.2.11", - "optional": true, - "requires": { - "@ethersproject/transactions": "^5.0.0-beta.135", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-core-promievent": { - "version": "1.2.11", - "optional": true, - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-core-requestmanager": { - "version": "1.2.11", - "optional": true, - "requires": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "web3-providers-http": "1.2.11", - "web3-providers-ipc": "1.2.11", - "web3-providers-ws": "1.2.11" - } - }, - "web3-core-subscriptions": { - "version": "1.2.11", - "optional": true, - "requires": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11" - } - }, - "web3-eth": { - "version": "1.2.11", - "optional": true, - "requires": { - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-eth-accounts": "1.2.11", - "web3-eth-contract": "1.2.11", - "web3-eth-ens": "1.2.11", - "web3-eth-iban": "1.2.11", - "web3-eth-personal": "1.2.11", - "web3-net": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-eth-abi": { - "version": "1.2.11", - "optional": true, - "requires": { - "@ethersproject/abi": "5.0.0-beta.153", - "underscore": "1.9.1", - "web3-utils": "1.2.11" - } - }, - "web3-eth-accounts": { - "version": "1.2.11", - "optional": true, - "requires": { - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", - "scrypt-js": "^3.0.1", - "underscore": "1.9.1", - "uuid": "3.3.2", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-utils": "1.2.11" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "optional": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "uuid": { - "version": "3.3.2", - "optional": true - } - } - }, - "web3-eth-contract": { - "version": "1.2.11", - "optional": true, - "requires": { - "@types/bn.js": "^4.11.5", - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-eth-ens": { - "version": "1.2.11", - "optional": true, - "requires": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "underscore": "1.9.1", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-promievent": "1.2.11", - "web3-eth-abi": "1.2.11", - "web3-eth-contract": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-eth-iban": { - "version": "1.2.11", - "optional": true, - "requires": { - "bn.js": "^4.11.9", - "web3-utils": "1.2.11" - } - }, - "web3-eth-personal": { - "version": "1.2.11", - "optional": true, - "requires": { - "@types/node": "^12.12.6", - "web3-core": "1.2.11", - "web3-core-helpers": "1.2.11", - "web3-core-method": "1.2.11", - "web3-net": "1.2.11", - "web3-utils": "1.2.11" - }, - "dependencies": { - "@types/node": { - "version": "12.19.12", - "optional": true - } - } - }, - "web3-net": { - "version": "1.2.11", - "optional": true, - "requires": { - "web3-core": "1.2.11", - "web3-core-method": "1.2.11", - "web3-utils": "1.2.11" - } - }, - "web3-provider-engine": { - "version": "14.2.1", - "requires": { - "async": "^2.5.0", - "backoff": "^2.5.0", - "clone": "^2.0.0", - "cross-fetch": "^2.1.0", - "eth-block-tracker": "^3.0.0", - "eth-json-rpc-infura": "^3.1.0", - "eth-sig-util": "3.0.0", - "ethereumjs-block": "^1.2.2", - "ethereumjs-tx": "^1.2.0", - "ethereumjs-util": "^5.1.5", - "ethereumjs-vm": "^2.3.4", - "json-rpc-error": "^2.0.0", - "json-stable-stringify": "^1.0.1", - "promise-to-callback": "^1.0.0", - "readable-stream": "^2.2.9", - "request": "^2.85.0", - "semaphore": "^1.0.3", - "ws": "^5.1.1", - "xhr": "^2.2.0", - "xtend": "^4.0.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.6.3", - "requires": { - "xtend": "~4.0.0" - } - }, - "deferred-leveldown": { - "version": "1.2.2", - "requires": { - "abstract-leveldown": "~2.6.0" - } - }, - "eth-sig-util": { - "version": "1.4.2", - "requires": { - "ethereumjs-abi": "git+https://github.com/ethereumjs/ethereumjs-abi.git", - "ethereumjs-util": "^5.1.1" - } - }, - "ethereumjs-account": { - "version": "2.0.5", - "requires": { - "ethereumjs-util": "^5.0.0", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-block": { - "version": "1.7.1", - "requires": { - "async": "^2.0.1", - "ethereum-common": "0.2.0", - "ethereumjs-tx": "^1.2.2", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "ethereum-common": { - "version": "0.2.0" - } - } - }, - "ethereumjs-tx": { - "version": "1.3.7", - "requires": { - "ethereum-common": "^0.0.18", - "ethereumjs-util": "^5.0.0" - } - }, - "ethereumjs-util": { - "version": "5.2.1", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - }, - "ethereumjs-vm": { - "version": "2.6.0", - "requires": { - "async": "^2.1.2", - "async-eventemitter": "^0.2.2", - "ethereumjs-account": "^2.0.3", - "ethereumjs-block": "~2.2.0", - "ethereumjs-common": "^1.1.0", - "ethereumjs-util": "^6.0.0", - "fake-merkle-patricia-tree": "^1.0.1", - "functional-red-black-tree": "^1.0.1", - "merkle-patricia-tree": "^2.3.2", - "rustbn.js": "~0.2.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "ethereumjs-block": { - "version": "2.2.2", - "requires": { - "async": "^2.0.1", - "ethereumjs-common": "^1.5.0", - "ethereumjs-tx": "^2.1.1", - "ethereumjs-util": "^5.0.0", - "merkle-patricia-tree": "^2.1.2" - }, - "dependencies": { - "ethereumjs-util": { - "version": "5.2.1", - "requires": { - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "^0.1.3", - "rlp": "^2.0.0", - "safe-buffer": "^5.1.1" - } - } - } - }, - "ethereumjs-tx": { - "version": "2.1.2", - "requires": { - "ethereumjs-common": "^1.5.0", - "ethereumjs-util": "^6.0.0" - } - }, - "ethereumjs-util": { - "version": "6.2.1", - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "isarray": { - "version": "0.0.1" - }, - "level-codec": { - "version": "7.0.1" - }, - "level-errors": { - "version": "1.0.5", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "1.3.1", - "requires": { - "inherits": "^2.0.1", - "level-errors": "^1.0.3", - "readable-stream": "^1.0.33", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "level-ws": { - "version": "0.0.0", - "requires": { - "readable-stream": "~1.0.15", - "xtend": "~2.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "xtend": { - "version": "2.1.2", - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "levelup": { - "version": "1.3.9", - "requires": { - "deferred-leveldown": "~1.2.1", - "level-codec": "~7.0.0", - "level-errors": "~1.0.3", - "level-iterator-stream": "~1.3.0", - "prr": "~1.0.1", - "semver": "~5.4.1", - "xtend": "~4.0.0" - } - }, - "ltgt": { - "version": "2.2.1" - }, - "memdown": { - "version": "1.4.1", - "requires": { - "abstract-leveldown": "~2.7.1", - "functional-red-black-tree": "^1.0.1", - "immediate": "^3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.7.2", - "requires": { - "xtend": "~4.0.0" - } - } - } - }, - "merkle-patricia-tree": { - "version": "2.3.2", - "requires": { - "async": "^1.4.2", - "ethereumjs-util": "^5.0.0", - "level-ws": "0.0.0", - "levelup": "^1.2.1", - "memdown": "^1.0.0", - "readable-stream": "^2.0.0", - "rlp": "^2.0.0", - "semaphore": ">=1.0.1" - }, - "dependencies": { - "async": { - "version": "1.5.2" - } - } - }, - "object-keys": { - "version": "0.4.0" - }, - "safe-buffer": { - "version": "5.1.2" - }, - "semver": { - "version": "5.4.1" - }, - "string_decoder": { - "version": "0.10.31" - }, - "ws": { - "version": "5.2.2", - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "web3-providers-http": { - "version": "1.2.11", - "optional": true, - "requires": { - "web3-core-helpers": "1.2.11", - "xhr2-cookies": "1.1.0" - } - }, - "web3-providers-ipc": { - "version": "1.2.11", - "optional": true, - "requires": { - "oboe": "2.1.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11" - } - }, - "web3-providers-ws": { - "version": "1.2.11", - "optional": true, - "requires": { - "eventemitter3": "4.0.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.11", - "websocket": "^1.0.31" - } - }, - "web3-shh": { - "version": "1.2.11", - "optional": true, - "requires": { - "web3-core": "1.2.11", - "web3-core-method": "1.2.11", - "web3-core-subscriptions": "1.2.11", - "web3-net": "1.2.11" - } - }, - "web3-utils": { - "version": "1.2.11", - "optional": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.9.1", - "utf8": "3.0.0" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "optional": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - } - } - }, - "websocket": { - "version": "1.0.32", - "requires": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0" - } - } - }, - "whatwg-fetch": { - "version": "2.0.4" - }, - "wrappy": { - "version": "1.0.2" - }, - "ws": { - "version": "3.3.3", - "optional": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "optional": true - } - } - }, - "xhr": { - "version": "2.6.0", - "requires": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "xhr-request": { - "version": "1.1.0", - "optional": true, - "requires": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - } - }, - "xhr-request-promise": { - "version": "0.1.3", - "optional": true, - "requires": { - "xhr-request": "^1.1.0" - } - }, - "xhr2-cookies": { - "version": "1.1.0", - "optional": true, - "requires": { - "cookiejar": "^2.1.1" - } - }, - "xtend": { - "version": "4.0.2" - }, - "yaeti": { - "version": "0.0.6" - }, - "yallist": { - "version": "3.1.1" - } - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "ghost-testrpc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", - "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "node-emoji": "^1.10.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dev": true, - "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - } - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" - }, - "handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "hardhat": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.9.3.tgz", - "integrity": "sha512-7Vw99RbYbMZ15UzegOR/nqIYIqddZXvLwJGaX5sX4G5bydILnbjmDU6g3jMKJSiArEixS3vHAEaOs5CW1JQ3hg==", - "requires": { - "@ethereumjs/block": "^3.6.0", - "@ethereumjs/blockchain": "^5.5.0", - "@ethereumjs/common": "^2.6.0", - "@ethereumjs/tx": "^3.4.0", - "@ethereumjs/vm": "^5.6.0", - "@ethersproject/abi": "^5.1.2", - "@metamask/eth-sig-util": "^4.0.0", - "@sentry/node": "^5.18.1", - "@solidity-parser/parser": "^0.14.1", - "@types/bn.js": "^5.1.0", - "@types/lru-cache": "^5.1.0", - "abort-controller": "^3.0.0", - "adm-zip": "^0.4.16", - "aggregate-error": "^3.0.0", - "ansi-escapes": "^4.3.0", - "chalk": "^2.4.2", - "chokidar": "^3.4.0", - "ci-info": "^2.0.0", - "debug": "^4.1.1", - "enquirer": "^2.3.0", - "env-paths": "^2.2.0", - "ethereum-cryptography": "^0.1.2", - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^7.1.3", - "find-up": "^2.1.0", - "fp-ts": "1.19.3", - "fs-extra": "^7.0.1", - "glob": "^7.1.3", - "immutable": "^4.0.0-rc.12", - "io-ts": "1.10.4", - "lodash": "^4.17.11", - "merkle-patricia-tree": "^4.2.2", - "mnemonist": "^0.38.0", - "mocha": "^9.2.0", - "p-map": "^4.0.0", - "qs": "^6.7.0", - "raw-body": "^2.4.1", - "resolve": "1.17.0", - "semver": "^6.3.0", - "slash": "^3.0.0", - "solc": "0.7.3", - "source-map-support": "^0.5.13", - "stacktrace-parser": "^0.1.10", - "true-case-path": "^2.2.1", - "tsort": "0.0.1", - "undici": "^4.14.1", - "uuid": "^8.3.2", - "ws": "^7.4.6" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "solc": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", - "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", - "requires": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "follow-redirects": "^1.12.1", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "dependencies": { - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "hardhat-gas-reporter": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.8.tgz", - "integrity": "sha512-1G5thPnnhcwLHsFnl759f2tgElvuwdkzxlI65fC9PwxYMEe9cmjkVAAWTf3/3y8uP6ZSPiUiOW8PgZnykmZe0g==", - "dev": true, - "requires": { - "array-uniq": "1.0.3", - "eth-gas-reporter": "^0.2.24", - "sha1": "^1.1.1" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dev": true, - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "dev": true, - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-https": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", - "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=", - "dev": true - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "dev": true, - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", - "dev": true - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "requires": { - "punycode": "2.1.0" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "immediate": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", - "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" - }, - "immutable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", - "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, - "io-ts": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", - "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", - "requires": { - "fp-ts": "^1.0.0" - } - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true - }, - "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "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": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", - "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==", - "dev": true - }, - "is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", - "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", - "dev": true - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", - "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", - "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", - "has-tostringtag": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - }, - "is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==" - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dev": true, - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonschema": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.0.tgz", - "integrity": "sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw==", - "dev": true - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "keccak": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz", - "integrity": "sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==", - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - } - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "requires": { - "graceful-fs": "^4.1.9" - } - }, - "klaw-sync": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", - "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", - "requires": { - "graceful-fs": "^4.1.11" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "requires": { - "invert-kv": "^1.0.0" - } - }, - "level-codec": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", - "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", - "requires": { - "buffer": "^5.6.0" - } - }, - "level-concat-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", - "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==" - }, - "level-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", - "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", - "requires": { - "errno": "~0.1.1" - } - }, - "level-iterator-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", - "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.4.0", - "xtend": "^4.0.2" - } - }, - "level-mem": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", - "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", - "requires": { - "level-packager": "^5.0.3", - "memdown": "^5.0.0" - } - }, - "level-packager": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", - "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", - "requires": { - "encoding-down": "^6.3.0", - "levelup": "^4.3.2" - } - }, - "level-supports": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", - "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", - "requires": { - "xtend": "^4.0.2" - } - }, - "level-ws": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", - "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^3.1.0", - "xtend": "^4.0.1" - } - }, - "levelup": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", - "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", - "requires": { - "deferred-leveldown": "~5.3.0", - "level-errors": "~2.0.0", - "level-iterator-stream": "~4.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "^1.2.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", - "requires": { - "get-func-name": "^2.0.0" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, - "lru_map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "ltgt": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", - "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=" - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", - "dev": true - }, - "mcl-wasm": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", - "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==" - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "memdown": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", - "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", - "requires": { - "abstract-leveldown": "~6.2.1", - "functional-red-black-tree": "~1.0.1", - "immediate": "~3.2.3", - "inherits": "~2.0.1", - "ltgt": "~2.2.0", - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "abstract-leveldown": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", - "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", - "requires": { - "buffer": "^5.5.0", - "immediate": "^3.2.3", - "level-concat-iterator": "~2.0.0", - "level-supports": "~1.0.0", - "xtend": "~4.0.0" - } - }, - "immediate": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" - } - } - }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "merkle-patricia-tree": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", - "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", - "requires": { - "@types/levelup": "^4.3.0", - "ethereumjs-util": "^7.1.4", - "level-mem": "^5.0.1", - "level-ws": "^2.0.0", - "readable-stream": "^3.6.0", - "semaphore-async-await": "^1.5.1" - } - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "dev": true, - "requires": { - "dom-walk": "^0.1.0" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dev": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "mkdirp-promise": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", - "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", - "dev": true, - "requires": { - "mkdirp": "*" - } - }, - "mnemonist": { - "version": "0.38.5", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", - "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", - "requires": { - "obliterator": "^2.0.0" - } - }, - "mocha": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", - "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", - "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.3", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "4.2.1", - "ms": "2.1.3", - "nanoid": "3.3.1", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "workerpool": "6.2.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "minimatch": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", - "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "mock-fs": { - "version": "4.14.0", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz", - "integrity": "sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multibase": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz", - "integrity": "sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==", - "dev": true, - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - }, - "multicodec": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz", - "integrity": "sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==", - "dev": true, - "requires": { - "varint": "^5.0.0" - } - }, - "multihashes": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz", - "integrity": "sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "multibase": "^0.7.0", - "varint": "^5.0.0" - }, - "dependencies": { - "multibase": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz", - "integrity": "sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==", - "dev": true, - "requires": { - "base-x": "^3.0.8", - "buffer": "^5.5.0" - } - } - } - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "nano-json-stream-parser": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", - "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=", - "dev": true - }, - "nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "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 - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, - "node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "dev": true, - "requires": { - "lodash": "^4.17.21" - } - }, - "node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-gyp-build": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.4.0.tgz", - "integrity": "sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==" - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" - }, - "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 - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", - "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "obliterator": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.2.tgz", - "integrity": "sha512-g0TrA7SbUggROhDPK8cEu/qpItwH2LSKcNl4tlfBNT54XY+nOsqrs0Q68h1V9b3HOSpIWv15jb1lax2hAggdIg==" - }, - "oboe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz", - "integrity": "sha1-VVQoTFQ6ImbXo48X4HOCH73jk80=", - "dev": true, - "requires": { - "http-https": "^1.0.0" - } - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "^1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha1-juqz5U+laSD+Fro493+iGqzC104=", - "dev": true - }, - "parse-headers": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", - "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "patch-package": { - "version": "6.4.7", - "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.4.7.tgz", - "integrity": "sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ==", - "requires": { - "@yarnpkg/lockfile": "^1.1.0", - "chalk": "^2.4.2", - "cross-spawn": "^6.0.5", - "find-yarn-workspace-root": "^2.0.0", - "fs-extra": "^7.0.1", - "is-ci": "^2.0.0", - "klaw-sync": "^6.0.0", - "minimist": "^1.2.0", - "open": "^7.4.2", - "rimraf": "^2.6.3", - "semver": "^5.6.0", - "slash": "^2.0.0", - "tmp": "^0.0.33" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "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==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, - "postinstall-postinstall": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz", - "integrity": "sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==" - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - }, - "prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==" - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "prettier-plugin-solidity": { - "version": "1.0.0-beta.19", - "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.19.tgz", - "integrity": "sha512-xxRQ5ZiiZyUoMFLE9h7HnUDXI/daf1tnmL1msEdcKmyh7ZGQ4YklkYLC71bfBpYU2WruTb5/SFLUaEb3RApg5g==", - "dev": true, - "requires": { - "@solidity-parser/parser": "^0.14.0", - "emoji-regex": "^10.0.0", - "escape-string-regexp": "^4.0.0", - "semver": "^7.3.5", - "solidity-comments-extractor": "^0.0.7", - "string-width": "^4.2.3" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - } - } - } - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "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 - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz", - "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==", - "dev": true, - "requires": { - "asap": "~2.0.6" - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" - }, - "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "dev": true, - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "dependencies": { - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } - } - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "dev": true, - "requires": { - "minimatch": "3.0.4" - }, - "dependencies": { - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "req-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", - "integrity": "sha1-1AgrTURZgDZkD7c93qAe1T20nrw=", - "dev": true, - "requires": { - "req-from": "^2.0.0" - } - }, - "req-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", - "integrity": "sha1-10GI5H+TeW9Kpx327jWuaJ8+DnA=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "requires": { - "lodash": "^4.17.19" - } - }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "dev": true, - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "requires": { - "bn.js": "^5.2.0" - }, - "dependencies": { - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - } - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==" - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sc-istanbul": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", - "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", - "dev": true, - "requires": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "semaphore-async-await": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", - "integrity": "sha1-hXvvXjZEYBykuVcLh+nfXKEpdPo=" - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "1.8.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.2" - } - }, - "servify": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", - "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", - "dev": true, - "requires": { - "body-parser": "^1.16.0", - "cors": "^2.8.1", - "express": "^4.14.0", - "request": "^2.79.0", - "xhr": "^2.3.3" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "sha1": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", - "integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=", - "dev": true, - "requires": { - "charenc": ">= 0.0.1", - "crypt": ">= 0.0.1" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dev": true - }, - "simple-get": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz", - "integrity": "sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==", - "dev": true, - "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - } - } - }, - "solc": { - "version": "0.6.12", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.6.12.tgz", - "integrity": "sha512-Lm0Ql2G9Qc7yPP2Ba+WNmzw2jwsrd3u4PobHYlSOxaut3TtUbj9+5ZrT6f4DUpNPEoBaFUOEg9Op9C0mk7ge9g==", - "requires": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "dependencies": { - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "solhint": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/solhint/-/solhint-3.3.7.tgz", - "integrity": "sha512-NjjjVmXI3ehKkb3aNtRJWw55SUVJ8HMKKodwe0HnejA+k0d2kmhw7jvpa+MCTbcEgt8IWSwx0Hu6aCo/iYOZzQ==", - "dev": true, - "requires": { - "@solidity-parser/parser": "^0.14.1", - "ajv": "^6.6.1", - "antlr4": "4.7.1", - "ast-parents": "0.0.1", - "chalk": "^2.4.2", - "commander": "2.18.0", - "cosmiconfig": "^5.0.7", - "eslint": "^5.6.0", - "fast-diff": "^1.1.2", - "glob": "^7.1.3", - "ignore": "^4.0.6", - "js-yaml": "^3.12.0", - "lodash": "^4.17.11", - "prettier": "^1.14.3", - "semver": "^6.3.0" - }, - "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, - "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 - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "commander": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz", - "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "eslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.3", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.13.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "dev": true, - "requires": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "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" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true, - "optional": true - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - } - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "solhint-plugin-prettier": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/solhint-plugin-prettier/-/solhint-plugin-prettier-0.0.5.tgz", - "integrity": "sha512-7jmWcnVshIrO2FFinIvDQmhQpfpS2rRRn3RejiYgnjIE68xO2bvrYvjqVNfrio4xH9ghOqn83tKuTzLjEbmGIA==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "solidity-comments-extractor": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz", - "integrity": "sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw==", - "dev": true - }, - "solidity-coverage": { - "version": "0.7.20", - "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.7.20.tgz", - "integrity": "sha512-edOXTugUYdqxrtEnIn4vgrGjLPxdexcL0WD8LzAvVA3d1dwgcfRO3k8xQR02ZQnOnWMBi8Cqs0F+kAQQp3JW8g==", - "dev": true, - "requires": { - "@solidity-parser/parser": "^0.14.0", - "@truffle/provider": "^0.2.24", - "chalk": "^2.4.2", - "death": "^1.1.0", - "detect-port": "^1.3.0", - "fs-extra": "^8.1.0", - "ghost-testrpc": "^0.0.2", - "global-modules": "^2.0.0", - "globby": "^10.0.1", - "jsonschema": "^1.2.4", - "lodash": "^4.17.15", - "node-emoji": "^1.10.0", - "pify": "^4.0.1", - "recursive-readdir": "^2.2.2", - "sc-istanbul": "^0.4.5", - "semver": "^7.3.4", - "shelljs": "^0.8.3", - "web3-utils": "^1.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true, - "requires": { - "amdefine": ">=0.0.4" - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - } - } - }, - "stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "requires": { - "type-fest": "^0.7.1" - }, - "dependencies": { - "type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" - } - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "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 - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "swarm-js": { - "version": "0.1.40", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz", - "integrity": "sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA==", - "dev": true, - "requires": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^7.1.0", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request": "^1.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dev": true, - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "^1.0.1" - } - } - } - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "dev": true, - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "dev": true, - "requires": { - "get-port": "^3.1.0" - } - }, - "table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "dev": true, - "requires": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - } - }, - "test-value": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", - "integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=", - "requires": { - "array-back": "^1.0.3", - "typical": "^2.6.0" - }, - "dependencies": { - "array-back": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", - "integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=", - "requires": { - "typical": "^2.6.0" - } - } - } - }, - "testrpc": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz", - "integrity": "sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA==" - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "dev": true, - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", - "dev": true - }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - } - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - } - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "true-case-path": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", - "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" - }, - "ts-essentials": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-1.0.4.tgz", - "integrity": "sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==" - }, - "ts-generator": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ts-generator/-/ts-generator-0.1.1.tgz", - "integrity": "sha512-N+ahhZxTLYu1HNTQetwWcx3so8hcYbkKBHTr4b4/YgObFTIKkOSSsaa+nal12w8mfrJAyzJfETXawbNjSfP2gQ==", - "requires": { - "@types/mkdirp": "^0.5.2", - "@types/prettier": "^2.1.1", - "@types/resolve": "^0.0.8", - "chalk": "^2.4.1", - "glob": "^7.1.2", - "mkdirp": "^0.5.1", - "prettier": "^2.1.2", - "resolve": "^1.8.1", - "ts-essentials": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", - "requires": { - "@cspotcode/source-map-support": "0.7.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", - "yn": "3.1.1" - }, - "dependencies": { - "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - } - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "tsort": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha1-4igPXoF/i/QnVlf9D5rr1E9aJ4Y=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" - }, - "tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typechain": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-5.2.0.tgz", - "integrity": "sha512-0INirvQ+P+MwJOeMct+WLkUE4zov06QxC96D+i3uGFEHoiSkZN70MKDQsaj8zkL86wQwByJReI2e7fOUwECFuw==", - "requires": { - "@types/prettier": "^2.1.1", - "command-line-args": "^4.0.7", - "debug": "^4.1.1", - "fs-extra": "^7.0.0", - "glob": "^7.1.6", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "mkdirp": "^1.0.4", - "prettier": "^2.1.2", - "ts-essentials": "^7.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ts-essentials": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", - "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", - "requires": {} - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", - "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==" - }, - "typical": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=" - }, - "uglify-js": { - "version": "3.15.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.4.tgz", - "integrity": "sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==", - "dev": true, - "optional": true - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true - }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, - "undici": { - "version": "4.16.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-4.16.0.tgz", - "integrity": "sha512-tkZSECUYi+/T1i4u+4+lwZmQgLXd4BLGlrc7KZPcLIW7Jpq99+Xpc30ONv7nS6F5UNOxp/HBZSSL9MafUrvJbw==" - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - } - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "^2.0.0" - } - }, - "url-set-query": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=", - "dev": true - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "dev": true - }, - "utf-8-validate": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz", - "integrity": "sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q==", - "devOptional": true, - "requires": { - "node-gyp-build": "^4.3.0" - } - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==" - }, - "util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", - "which-typed-array": "^1.1.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "v8-compile-cache-lib": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", - "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==" - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "varint": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz", - "integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==", - "dev": true - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "web3": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz", - "integrity": "sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w==", - "dev": true, - "requires": { - "web3-bzz": "1.5.3", - "web3-core": "1.5.3", - "web3-eth": "1.5.3", - "web3-eth-personal": "1.5.3", - "web3-net": "1.5.3", - "web3-shh": "1.5.3", - "web3-utils": "1.5.3" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-bzz": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.5.3.tgz", - "integrity": "sha512-SlIkAqG0eS6cBS9Q2eBOTI1XFzqh83RqGJWnyrNZMDxUwsTVHL+zNnaPShVPvrWQA1Ub5b0bx1Kc5+qJVxsTJg==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "got": "9.6.0", - "swarm-js": "^0.1.40" - }, - "dependencies": { - "@types/node": { - "version": "12.20.47", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", - "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==", - "dev": true - } - } - }, - "web3-core": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.5.3.tgz", - "integrity": "sha512-ACTbu8COCu+0eUNmd9pG7Q9EVsNkAg2w3Y7SqhDr+zjTgbSHZV01jXKlapm9z+G3AN/BziV3zGwudClJ4u4xXQ==", - "dev": true, - "requires": { - "@types/bn.js": "^4.11.5", - "@types/node": "^12.12.6", - "bignumber.js": "^9.0.0", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-core-requestmanager": "1.5.3", - "web3-utils": "1.5.3" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "12.20.47", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", - "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-core-helpers": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.3.tgz", - "integrity": "sha512-Ip1IjB3S8vN7Kf1PPjK41U5gskmMk6IJQlxIVuS8/1U7n/o0jC8krqtpRwiMfAgYyw3TXwBFtxSRTvJtnLyXZw==", - "dev": true, - "requires": { - "web3-eth-iban": "1.5.3", - "web3-utils": "1.5.3" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-core-method": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.3.tgz", - "integrity": "sha512-8wJrwQ2qD9ibWieF9oHXwrJsUGrv3XAtEkNeyvyNMpktNTIjxJ2jaFGQUuLiyUrMubD18XXgLk4JS6PJU4Loeg==", - "dev": true, - "requires": { - "@ethereumjs/common": "^2.4.0", - "@ethersproject/transactions": "^5.0.0-beta.135", - "web3-core-helpers": "1.5.3", - "web3-core-promievent": "1.5.3", - "web3-core-subscriptions": "1.5.3", - "web3-utils": "1.5.3" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-core-promievent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.3.tgz", - "integrity": "sha512-CFfgqvk3Vk6PIAxtLLuX+pOMozxkKCY+/GdGr7weMh033mDXEPvwyVjoSRO1PqIKj668/hMGQsVoIgbyxkJ9Mg==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4" - } - }, - "web3-core-requestmanager": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.3.tgz", - "integrity": "sha512-9k/Bze2rs8ONix5IZR+hYdMNQv+ark2Ek2kVcrFgWO+LdLgZui/rn8FikPunjE+ub7x7pJaKCgVRbYFXjo3ZWg==", - "dev": true, - "requires": { - "util": "^0.12.0", - "web3-core-helpers": "1.5.3", - "web3-providers-http": "1.5.3", - "web3-providers-ipc": "1.5.3", - "web3-providers-ws": "1.5.3" - } - }, - "web3-core-subscriptions": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.3.tgz", - "integrity": "sha512-L2m9vG1iRN6thvmv/HQwO2YLhOQlmZU8dpLG6GSo9FBN14Uch868Swk0dYVr3rFSYjZ/GETevSXU+O+vhCummA==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.3" - } - }, - "web3-eth": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.5.3.tgz", - "integrity": "sha512-saFurA1L23Bd7MEf7cBli6/jRdMhD4X/NaMiO2mdMMCXlPujoudlIJf+VWpRWJpsbDFdu7XJ2WHkmBYT5R3p1Q==", - "dev": true, - "requires": { - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-core-subscriptions": "1.5.3", - "web3-eth-abi": "1.5.3", - "web3-eth-accounts": "1.5.3", - "web3-eth-contract": "1.5.3", - "web3-eth-ens": "1.5.3", - "web3-eth-iban": "1.5.3", - "web3-eth-personal": "1.5.3", - "web3-net": "1.5.3", - "web3-utils": "1.5.3" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-abi": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.3.tgz", - "integrity": "sha512-i/qhuFsoNrnV130CSRYX/z4SlCfSQ4mHntti5yTmmQpt70xZKYZ57BsU0R29ueSQ9/P+aQrL2t2rqkQkAloUxg==", - "dev": true, - "requires": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.5.3" - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "dev": true, - "requires": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-accounts": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.5.3.tgz", - "integrity": "sha512-pdGhXgeBaEJENMvRT6W9cmji3Zz/46ugFSvmnLLw79qi5EH7XJhKISNVb41eWCrs4am5GhI67GLx5d2s2a72iw==", - "dev": true, - "requires": { - "@ethereumjs/common": "^2.3.0", - "@ethereumjs/tx": "^3.2.1", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "ethereumjs-util": "^7.0.10", - "scrypt-js": "^3.0.1", - "uuid": "3.3.2", - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-utils": "1.5.3" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - }, - "web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-contract": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.5.3.tgz", - "integrity": "sha512-Gdlt1L6cdHe83k7SdV6xhqCytVtOZkjD0kY/15x441AuuJ4JLubCHuqu69k2Dr3tWifHYVys/vG8QE/W16syGg==", - "dev": true, - "requires": { - "@types/bn.js": "^4.11.5", - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-core-promievent": "1.5.3", - "web3-core-subscriptions": "1.5.3", - "web3-eth-abi": "1.5.3", - "web3-utils": "1.5.3" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-ens": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.5.3.tgz", - "integrity": "sha512-QmGFFtTGElg0E+3xfCIFhiUF+1imFi9eg/cdsRMUZU4F1+MZCC/ee+IAelYLfNTGsEslCqfAusliKOT9DdGGnw==", - "dev": true, - "requires": { - "content-hash": "^2.5.2", - "eth-ens-namehash": "2.0.8", - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-promievent": "1.5.3", - "web3-eth-abi": "1.5.3", - "web3-eth-contract": "1.5.3", - "web3-utils": "1.5.3" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-iban": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.3.tgz", - "integrity": "sha512-vMzmGqolYZvRHwP9P4Nf6G8uYM5aTLlQu2a34vz78p0KlDC+eV1th3+90Qeaupa28EG7OO0IT1F0BejiIauOPw==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "web3-utils": "1.5.3" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-eth-personal": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.5.3.tgz", - "integrity": "sha512-JzibJafR7ak/Icas8uvos3BmUNrZw1vShuNR5Cxjo+vteOC8XMqz1Vr7RH65B4bmlfb3bm9xLxetUHO894+Sew==", - "dev": true, - "requires": { - "@types/node": "^12.12.6", - "web3-core": "1.5.3", - "web3-core-helpers": "1.5.3", - "web3-core-method": "1.5.3", - "web3-net": "1.5.3", - "web3-utils": "1.5.3" - }, - "dependencies": { - "@types/node": { - "version": "12.20.47", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.47.tgz", - "integrity": "sha512-BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-net": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.5.3.tgz", - "integrity": "sha512-0W/xHIPvgVXPSdLu0iZYnpcrgNnhzHMC888uMlGP5+qMCt8VuflUZHy7tYXae9Mzsg1kxaJAS5lHVNyeNw4CoQ==", - "dev": true, - "requires": { - "web3-core": "1.5.3", - "web3-core-method": "1.5.3", - "web3-utils": "1.5.3" - }, - "dependencies": { - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "dev": true, - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "web3-utils": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz", - "integrity": "sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "eth-lib": "0.2.8", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - } - } - }, - "web3-providers-http": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.3.tgz", - "integrity": "sha512-5DpUyWGHtDAr2RYmBu34Fu+4gJuBAuNx2POeiJIooUtJ+Mu6pIx4XkONWH6V+Ez87tZAVAsFOkJRTYuzMr3rPw==", - "dev": true, - "requires": { - "web3-core-helpers": "1.5.3", - "xhr2-cookies": "1.1.0" - } - }, - "web3-providers-ipc": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.3.tgz", - "integrity": "sha512-JmeAptugVpmXI39LGxUSAymx0NOFdgpuI1hGQfIhbEAcd4sv7fhfd5D+ZU4oLHbRI8IFr4qfGU0uhR8BXhDzlg==", - "dev": true, - "requires": { - "oboe": "2.1.5", - "web3-core-helpers": "1.5.3" - } - }, - "web3-providers-ws": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.3.tgz", - "integrity": "sha512-6DhTw4Q7nm5CFYEUHOJM0gAb3xFx+9gWpVveg3YxJ/ybR1BUvEWo3bLgIJJtX56cYX0WyY6DS35a7f0LOI1kVg==", - "dev": true, - "requires": { - "eventemitter3": "4.0.4", - "web3-core-helpers": "1.5.3", - "websocket": "^1.0.32" - } - }, - "web3-shh": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.5.3.tgz", - "integrity": "sha512-COfEXfsqoV/BkcsNLRxQqnWc1Teb8/9GxdGag5GtPC5gQC/vsN+7hYVJUwNxY9LtJPKYTij2DHHnx6UkITng+Q==", - "dev": true, - "requires": { - "web3-core": "1.5.3", - "web3-core-method": "1.5.3", - "web3-core-subscriptions": "1.5.3", - "web3-net": "1.5.3" - } - }, - "web3-utils": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.3.tgz", - "integrity": "sha512-g6nQgvb/bUpVUIxJE+ezVN+rYwYmlFyMvMIRSuqpi1dk6ApDD00YNArrk7sPcZnjvxOJ76813Xs2vIN2rgh4lg==", - "requires": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "websocket": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz", - "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==", - "dev": true, - "requires": { - "bufferutil": "^4.0.1", - "debug": "^2.2.0", - "es5-ext": "^0.10.50", - "typedarray-to-buffer": "^3.1.5", - "utf-8-validate": "^5.0.2", - "yaeti": "^0.0.6" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" - }, - "which-typed-array": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", - "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-abstract": "^1.18.5", - "foreach": "^2.0.5", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.7" - } - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=" - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "workerpool": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", - "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "requires": {} - }, - "xhr": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz", - "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==", - "dev": true, - "requires": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "xhr-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", - "dev": true, - "requires": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - } - }, - "xhr-request-promise": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz", - "integrity": "sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==", - "dev": true, - "requires": { - "xhr-request": "^1.1.0" - } - }, - "xhr2-cookies": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", - "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", - "dev": true, - "requires": { - "cookiejar": "^2.1.1" - } - }, - "xmlhttprequest": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", - "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - } - } -} diff --git a/package.json b/package.json index cf5cf7d3a..50dc99d72 100644 --- a/package.json +++ b/package.json @@ -18,17 +18,15 @@ "coverage": "hardhat coverage" }, "dependencies": { - "@abacus-network/app": "^0.0.3", - "@abacus-network/core": "^0.0.6", - "@abacus-network/sdk": "^0.0.4", - "@abacus-network/utils": "^0.0.8", + "@abacus-network/app": "^0.1.1-alpha2", + "@abacus-network/sdk": "^0.1.1-alpha2", "@ethersproject/bignumber": "^5.5.0", "@ethersproject/bytes": "^5.5.0", "@openzeppelin/contracts-upgradeable": "~4.5.0", "ethers": "^5.4.7" }, "devDependencies": { - "@abacus-network/hardhat": "^0.0.18", + "@abacus-network/hardhat": "^0.1.1-alpha2", "@nomiclabs/hardhat-ethers": "^2.0.1", "@nomiclabs/hardhat-waffle": "^2.0.1", "@typechain/ethers-v5": "~7.0.0", diff --git a/test/TokenDeploy.ts b/test/TokenDeploy.ts index a501a6704..010f8f10f 100644 --- a/test/TokenDeploy.ts +++ b/test/TokenDeploy.ts @@ -18,7 +18,7 @@ export class TokenDeploy extends TestRouterDeploy { const tokenFactory = new AbcToken__factory(this.config.signer); const token = await tokenFactory.deploy(); await token.initialize( - abacus.xAppConnectionManager(domain).address, + abacus.abacusConnectionManager(domain).address, this.config.totalSupply, this.config.name, this.config.symbol, diff --git a/test/token.test.ts b/test/token.test.ts index 3f1dad5b0..980e874b0 100644 --- a/test/token.test.ts +++ b/test/token.test.ts @@ -3,6 +3,7 @@ import { expect } from 'chai'; import { abacus, ethers } from 'hardhat'; import { AbcToken } from '../types'; import { TokenConfig, TokenDeploy } from './TokenDeploy'; +import { Outbox, InterchainGasPaymaster } from '@abacus-network/core'; const localDomain = 1000; const remoteDomain = 2000; @@ -14,7 +15,10 @@ describe('AbcToken', async () => { recipient: SignerWithAddress, router: AbcToken, remote: AbcToken, + outbox: Outbox, + interchainGasPaymaster: InterchainGasPaymaster, token: TokenDeploy; + const testInterchainGasPayment = 123456789; before(async () => { [owner, recipient] = await ethers.getSigners(); @@ -32,6 +36,8 @@ describe('AbcToken', async () => { await token.deploy(abacus); router = token.router(localDomain); remote = token.router(remoteDomain); + outbox = abacus.outbox(localDomain); + interchainGasPaymaster = abacus.interchainGasPaymaster(localDomain); }); const expectBalance = async ( @@ -79,6 +85,17 @@ describe('AbcToken', async () => { await expectBalance(remote, owner, totalSupply); }); + it('allows interchain gas payment for remote transfers', async () => { + const leafIndex = await outbox.count(); + await expect( + router.transferRemote(remoteDomain, recipient.address, amount, { + value: testInterchainGasPayment, + }), + ) + .to.emit(interchainGasPaymaster, 'GasPayment') + .withArgs(leafIndex, testInterchainGasPayment); + }); + it('should emit TransferRemote events', async () => { expect(await router.transferRemote(remoteDomain, recipient.address, amount)) .to.emit(router, 'SentTransferRemote') diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 000000000..31d4dff64 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,13718 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 6 + cacheKey: 8 + +"@abacus-network/app@npm:^0.1.1-alpha2": + version: 0.1.1-alpha2 + resolution: "@abacus-network/app@npm:0.1.1-alpha2" + dependencies: + "@abacus-network/core": ^0.1.1-alpha2 + "@abacus-network/utils": ^0.1.1-alpha2 + "@openzeppelin/contracts-upgradeable": ^4.5.0 + checksum: 4bada19c763ee202b90339640ff3998413e6739fb533785f3f81e4d7f069671df1ca2fb882a5f61bd1e508239008c2ff277375170d0c5ecc430dca3454ac7ee1 + languageName: node + linkType: hard + +"@abacus-network/apps@npm:^0.1.1-alpha2": + version: 0.1.1-alpha2 + resolution: "@abacus-network/apps@npm:0.1.1-alpha2" + dependencies: + "@abacus-network/app": ^0.1.1-alpha2 + "@abacus-network/core": ^0.1.1-alpha2 + "@abacus-network/hardhat": ^0.1.1-alpha2 + "@abacus-network/utils": ^0.1.1-alpha2 + "@openzeppelin/contracts": ~3.4.2 + "@openzeppelin/contracts-upgradeable": ~3.4.2 + "@summa-tx/memview-sol": ^2.0.0 + checksum: aba57d8dde36985555e4e9d03614638f47ce3125ec77cd1f3a173996db71d0ada16a4cc48975bc74aa3761f2b229e42bd01e94861657fac1104f1ea8060184a8 + languageName: node + linkType: hard + +"@abacus-network/core@npm:^0.1.1-alpha2": + version: 0.1.1-alpha2 + resolution: "@abacus-network/core@npm:0.1.1-alpha2" + dependencies: + "@abacus-network/utils": ^0.1.1-alpha2 + "@openzeppelin/contracts": ^3.4.2 + "@openzeppelin/contracts-upgradeable": ~3.4.2 + "@summa-tx/memview-sol": ^2.0.0 + ts-generator: ^0.1.1 + checksum: 8b2094518168fa692b54543406d8b129cd4d73a138652f235f77fe5d10ff5fe860f97f40944d66681173e589c94966d9046441e9b3362b97307f1a5500400336 + languageName: node + linkType: hard + +"@abacus-network/hardhat@npm:^0.1.1-alpha2": + version: 0.1.1-alpha2 + resolution: "@abacus-network/hardhat@npm:0.1.1-alpha2" + dependencies: + "@abacus-network/core": ^0.1.1-alpha2 + "@abacus-network/utils": ^0.1.1-alpha2 + "@nomiclabs/hardhat-ethers": ^2.0.5 + "@nomiclabs/hardhat-waffle": ^2.0.2 + "@typechain/hardhat": ^2.0.1 + ethereum-waffle: ^3.2.2 + ethers: ^5.4.7 + hardhat: ^2.8.4 + prettier: ^2.3.1 + ts-node: ^10.1.0 + typechain: ^5.0.0 + typescript: ^4.3.2 + checksum: 9d0200001e62962c68b58f38517d67571b25414a3f58e683ae55a62bbedb91c9df43c223c2a5aad6dc223eca194f4865d1a8f0e02bd98a94c04cab059bf56da9 + languageName: node + linkType: hard + +"@abacus-network/sdk@npm:^0.1.1-alpha2": + version: 0.1.1-alpha2 + resolution: "@abacus-network/sdk@npm:0.1.1-alpha2" + dependencies: + "@abacus-network/apps": ^0.1.1-alpha2 + "@abacus-network/core": ^0.1.1-alpha2 + "@abacus-network/utils": ^0.1.1-alpha2 + "@ethersproject/bignumber": ^5.5.0 + "@ethersproject/bytes": ^5.5.0 + celo-ethers-provider: 0.0.0 + ethers: ^5.4.7 + checksum: da7fb9d05706f13ca87508ec424113189affbaf6950405b0a1740cee6a6fc9db4deaf4dc1ebc712ddb431f6f48f62fdfd2b1e0373d80dd3c60504e8c315a71b5 + languageName: node + linkType: hard + +"@abacus-network/token@workspace:.": + version: 0.0.0-use.local + resolution: "@abacus-network/token@workspace:." + dependencies: + "@abacus-network/app": ^0.1.1-alpha2 + "@abacus-network/hardhat": ^0.1.1-alpha2 + "@abacus-network/sdk": ^0.1.1-alpha2 + "@ethersproject/bignumber": ^5.5.0 + "@ethersproject/bytes": ^5.5.0 + "@nomiclabs/hardhat-ethers": ^2.0.1 + "@nomiclabs/hardhat-waffle": ^2.0.1 + "@openzeppelin/contracts-upgradeable": ~4.5.0 + "@typechain/ethers-v5": ~7.0.0 + "@typechain/hardhat": ^2.0.1 + "@types/mocha": ^9.1.0 + chai: ^4.3.0 + eslint: ^7.20.0 + ethers: ^5.4.7 + hardhat: ^2.8.3 + hardhat-gas-reporter: ^1.0.7 + prettier: ^2.2.1 + prettier-plugin-solidity: ^1.0.0-beta.5 + solhint: ^3.3.2 + solhint-plugin-prettier: ^0.0.5 + solidity-coverage: ^0.7.14 + ts-node: ^10.1.0 + typechain: ^5.0.0 + typescript: ^4.3.5 + languageName: unknown + linkType: soft + +"@abacus-network/utils@npm:^0.1.1-alpha2": + version: 0.1.1-alpha2 + resolution: "@abacus-network/utils@npm:0.1.1-alpha2" + dependencies: + chai: ^4.3.0 + ethers: ^5.4.7 + checksum: 427cfd367cb5be74f069ba9128fbec3fe59316c140e8de2f122d7186f78269ea6f2fae155d5aff54a5eb83ed2cdfd957e46281f2a95fbfd495f0df021c79f60d + languageName: node + linkType: hard + +"@babel/code-frame@npm:7.12.11": + version: 7.12.11 + resolution: "@babel/code-frame@npm:7.12.11" + dependencies: + "@babel/highlight": ^7.10.4 + checksum: 3963eff3ebfb0e091c7e6f99596ef4b258683e4ba8a134e4e95f77afe85be5c931e184fff6435fb4885d12eba04a5e25532f7fbc292ca13b48e7da943474e2f3 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0": + version: 7.16.7 + resolution: "@babel/code-frame@npm:7.16.7" + dependencies: + "@babel/highlight": ^7.16.7 + checksum: db2f7faa31bc2c9cf63197b481b30ea57147a5fc1a6fab60e5d6c02cdfbf6de8e17b5121f99917b3dabb5eeb572da078312e70697415940383efc140d4e0808b + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.16.7": + version: 7.16.7 + resolution: "@babel/helper-validator-identifier@npm:7.16.7" + checksum: dbb3db9d184343152520a209b5684f5e0ed416109cde82b428ca9c759c29b10c7450657785a8b5c5256aa74acc6da491c1f0cf6b784939f7931ef82982051b69 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.16.7": + version: 7.17.9 + resolution: "@babel/highlight@npm:7.17.9" + dependencies: + "@babel/helper-validator-identifier": ^7.16.7 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: 7bdf10228f2e4d18f48f114411ed584380d356e7c168d7582c14abd8df9909b2fc09e0a7cd334f47c3eb0bc17e639e0c8d9688c6afd5d09a2bdbf0ac193b11fd + languageName: node + linkType: hard + +"@cspotcode/source-map-consumer@npm:0.8.0": + version: 0.8.0 + resolution: "@cspotcode/source-map-consumer@npm:0.8.0" + checksum: c0c16ca3d2f58898f1bd74c4f41a189dbcc202e642e60e489cbcc2e52419c4e89bdead02c886a12fb13ea37798ede9e562b2321df997ebc210ae9bd881561b4e + languageName: node + linkType: hard + +"@cspotcode/source-map-support@npm:0.7.0": + version: 0.7.0 + resolution: "@cspotcode/source-map-support@npm:0.7.0" + dependencies: + "@cspotcode/source-map-consumer": 0.8.0 + checksum: 9faddda7757cd778b5fd6812137b2cc265810043680d6399acc20441668fafcdc874053be9dccd0d9110087287bfad27eb3bf342f72bceca9aa9059f5d0c4be8 + languageName: node + linkType: hard + +"@ensdomains/ens@npm:^0.4.4": + version: 0.4.5 + resolution: "@ensdomains/ens@npm:0.4.5" + dependencies: + bluebird: ^3.5.2 + eth-ens-namehash: ^2.0.8 + solc: ^0.4.20 + testrpc: 0.0.1 + web3-utils: ^1.0.0-beta.31 + checksum: 3b4f6e34f3376f1b3cc60927d53d5951c4da0a9ff0f8856aaedba5a73bceccb7c08632bf6709b3bb9e43d6e83223d23928f574fc62dec12b2b1a692bcd3d45c6 + languageName: node + linkType: hard + +"@ensdomains/resolver@npm:^0.2.4": + version: 0.2.4 + resolution: "@ensdomains/resolver@npm:0.2.4" + checksum: 3827a3430cc8935a0839dac9dafcfa6011c6f71af229ff91cbc6cdcbaa35d20c6dbb1a8a901cdb00e66428578ce1675bd6fe6901778b5d0d828321fbec9e0f7f + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^0.4.3": + version: 0.4.3 + resolution: "@eslint/eslintrc@npm:0.4.3" + dependencies: + ajv: ^6.12.4 + debug: ^4.1.1 + espree: ^7.3.0 + globals: ^13.9.0 + ignore: ^4.0.6 + import-fresh: ^3.2.1 + js-yaml: ^3.13.1 + minimatch: ^3.0.4 + strip-json-comments: ^3.1.1 + checksum: 03a7704150b868c318aab6a94d87a33d30dc2ec579d27374575014f06237ba1370ae11178db772f985ef680d469dc237e7b16a1c5d8edaaeb8c3733e7a95a6d3 + languageName: node + linkType: hard + +"@ethereum-waffle/chai@npm:^3.4.4": + version: 3.4.4 + resolution: "@ethereum-waffle/chai@npm:3.4.4" + dependencies: + "@ethereum-waffle/provider": ^3.4.4 + ethers: ^5.5.2 + checksum: b2b9b6b839c3f6b4abf8489fe50549e6fda07bd81ae8e4250b20d9a76ce4a729ef47c741364387b1d2dbc7fac14b46a5d6dcc4d404344b9cce5f9698ff012251 + languageName: node + linkType: hard + +"@ethereum-waffle/compiler@npm:^3.4.4": + version: 3.4.4 + resolution: "@ethereum-waffle/compiler@npm:3.4.4" + dependencies: + "@resolver-engine/imports": ^0.3.3 + "@resolver-engine/imports-fs": ^0.3.3 + "@typechain/ethers-v5": ^2.0.0 + "@types/mkdirp": ^0.5.2 + "@types/node-fetch": ^2.5.5 + ethers: ^5.0.1 + mkdirp: ^0.5.1 + node-fetch: ^2.6.1 + solc: ^0.6.3 + ts-generator: ^0.1.1 + typechain: ^3.0.0 + checksum: ebffca732969253934c1e8cca6cc1f12d6294f848d44e6595af81460bc3230bc69096d0965b9deb2c7eecd472a1d536d8cbe993f95bfc76fbbe2114ddbabff70 + languageName: node + linkType: hard + +"@ethereum-waffle/ens@npm:^3.4.4": + version: 3.4.4 + resolution: "@ethereum-waffle/ens@npm:3.4.4" + dependencies: + "@ensdomains/ens": ^0.4.4 + "@ensdomains/resolver": ^0.2.4 + ethers: ^5.5.2 + checksum: 71d93c09ef3ab89a46f05b9e2a06e129e2109d160c3a819e4bf3b4414fc4707e7fc646c87c1d82f9ba769dc1ac3c6f4934fd72499654fcfc9db4abf46c21d118 + languageName: node + linkType: hard + +"@ethereum-waffle/mock-contract@npm:^3.4.4": + version: 3.4.4 + resolution: "@ethereum-waffle/mock-contract@npm:3.4.4" + dependencies: + "@ethersproject/abi": ^5.5.0 + ethers: ^5.5.2 + checksum: 6e5c62b342e424cd1937f2f7eb424056ad143b238320880f378c0db61c6d694617f968687321a2f030d546aa5b4dde42681cbb419589d7f87452c82844a4488b + languageName: node + linkType: hard + +"@ethereum-waffle/provider@npm:^3.4.4": + version: 3.4.4 + resolution: "@ethereum-waffle/provider@npm:3.4.4" + dependencies: + "@ethereum-waffle/ens": ^3.4.4 + ethers: ^5.5.2 + ganache-core: ^2.13.2 + patch-package: ^6.2.2 + postinstall-postinstall: ^2.1.0 + checksum: 9e251d7b0198c22e337b18368e3893de766a821e818702dbef0e0d603bad550c6e3a29676cff11272bc82762833586ee9659593d957ec8759a8cc93c2b0f3d00 + languageName: node + linkType: hard + +"@ethereumjs/block@npm:^3.5.0, @ethereumjs/block@npm:^3.6.0, @ethereumjs/block@npm:^3.6.2": + version: 3.6.2 + resolution: "@ethereumjs/block@npm:3.6.2" + dependencies: + "@ethereumjs/common": ^2.6.3 + "@ethereumjs/tx": ^3.5.1 + ethereumjs-util: ^7.1.4 + merkle-patricia-tree: ^4.2.4 + checksum: 19af5fe3202ecadf8d7a4c49f1ec29e47227ee8257aebfd74defc9c252c2474c62475234e73d68d5a716956668c397d783a5a6acaa660a324d6bdbfd69dfdd74 + languageName: node + linkType: hard + +"@ethereumjs/blockchain@npm:^5.5.0, @ethereumjs/blockchain@npm:^5.5.2": + version: 5.5.2 + resolution: "@ethereumjs/blockchain@npm:5.5.2" + dependencies: + "@ethereumjs/block": ^3.6.2 + "@ethereumjs/common": ^2.6.3 + "@ethereumjs/ethash": ^1.1.0 + debug: ^4.3.3 + ethereumjs-util: ^7.1.4 + level-mem: ^5.0.1 + lru-cache: ^5.1.1 + semaphore-async-await: ^1.5.1 + checksum: 08402287dd70e316b23505ab37218c63b4a8ed285dadf55b5699e5e2819e184e6bf9cab8e0c1c5f4949975792e969487860f680971d9a745b0d01635d60c06b4 + languageName: node + linkType: hard + +"@ethereumjs/common@npm:^2.3.0, @ethereumjs/common@npm:^2.4.0, @ethereumjs/common@npm:^2.6.0, @ethereumjs/common@npm:^2.6.3, @ethereumjs/common@npm:^2.6.4": + version: 2.6.4 + resolution: "@ethereumjs/common@npm:2.6.4" + dependencies: + crc-32: ^1.2.0 + ethereumjs-util: ^7.1.4 + checksum: 2d3ef9e76c2dfb9fd1fc390834107ffd49e7074b893f3985f3d5996e217064cfe3617b16aff42fb7e8631a21ae32286ddf8ec21251589c4ac43d5b3c03217f9f + languageName: node + linkType: hard + +"@ethereumjs/ethash@npm:^1.1.0": + version: 1.1.0 + resolution: "@ethereumjs/ethash@npm:1.1.0" + dependencies: + "@ethereumjs/block": ^3.5.0 + "@types/levelup": ^4.3.0 + buffer-xor: ^2.0.1 + ethereumjs-util: ^7.1.1 + miller-rabin: ^4.0.0 + checksum: 152bc0850eeb0f2507383ca005418697b0a6a4487b120d7b3fadae4cb3b4781403c96c01f0c47149031431e518fb174c284ff38806b457f86f00c500eb213df3 + languageName: node + linkType: hard + +"@ethereumjs/tx@npm:^3.2.1, @ethereumjs/tx@npm:^3.4.0, @ethereumjs/tx@npm:^3.5.1": + version: 3.5.1 + resolution: "@ethereumjs/tx@npm:3.5.1" + dependencies: + "@ethereumjs/common": ^2.6.3 + ethereumjs-util: ^7.1.4 + checksum: ed17780314592eca96f7aed392707b55af713964a9ac8e5a1ba5b1a0d7cd90ced80d3793bc24e2ce7a5b4852cefae31af8731c5cf54cece48ada16c5dcb2713b + languageName: node + linkType: hard + +"@ethereumjs/vm@npm:^5.6.0": + version: 5.9.0 + resolution: "@ethereumjs/vm@npm:5.9.0" + dependencies: + "@ethereumjs/block": ^3.6.2 + "@ethereumjs/blockchain": ^5.5.2 + "@ethereumjs/common": ^2.6.4 + "@ethereumjs/tx": ^3.5.1 + async-eventemitter: ^0.2.4 + core-js-pure: ^3.0.1 + debug: ^4.3.3 + ethereumjs-util: ^7.1.4 + functional-red-black-tree: ^1.0.1 + mcl-wasm: ^0.7.1 + merkle-patricia-tree: ^4.2.4 + rustbn.js: ~0.2.0 + checksum: f707a1ca924b31db93cbec06a0782882092cd479ccf7359d9a8c9e9a0a00ef10efde873187ffa8728243122a8ad066c1f6f544b0c6ce10f3055a6ddcf765fc8c + languageName: node + linkType: hard + +"@ethersproject/abi@npm:5.0.0-beta.153": + version: 5.0.0-beta.153 + resolution: "@ethersproject/abi@npm:5.0.0-beta.153" + dependencies: + "@ethersproject/address": ">=5.0.0-beta.128" + "@ethersproject/bignumber": ">=5.0.0-beta.130" + "@ethersproject/bytes": ">=5.0.0-beta.129" + "@ethersproject/constants": ">=5.0.0-beta.128" + "@ethersproject/hash": ">=5.0.0-beta.128" + "@ethersproject/keccak256": ">=5.0.0-beta.127" + "@ethersproject/logger": ">=5.0.0-beta.129" + "@ethersproject/properties": ">=5.0.0-beta.131" + "@ethersproject/strings": ">=5.0.0-beta.130" + checksum: 9f5c3c986a47c2bcc066e0ea1d8190be4358de6722d0eb75eaaacbc1f7610169691cc369085aa390bd88c731c6e539f309cb81face594feffac9336e369444c5 + languageName: node + linkType: hard + +"@ethersproject/abi@npm:5.0.7": + version: 5.0.7 + resolution: "@ethersproject/abi@npm:5.0.7" + dependencies: + "@ethersproject/address": ^5.0.4 + "@ethersproject/bignumber": ^5.0.7 + "@ethersproject/bytes": ^5.0.4 + "@ethersproject/constants": ^5.0.4 + "@ethersproject/hash": ^5.0.4 + "@ethersproject/keccak256": ^5.0.3 + "@ethersproject/logger": ^5.0.5 + "@ethersproject/properties": ^5.0.3 + "@ethersproject/strings": ^5.0.4 + checksum: 47bce732782187ef0343662aa0ffdabb98be752d3ede57234205b118df511f35d8cddabd468f139e367d908ce7fbb0555f5af943f4b47cf3165c8fd61811183d + languageName: node + linkType: hard + +"@ethersproject/abi@npm:5.6.1, @ethersproject/abi@npm:^5.0.0-beta.146, @ethersproject/abi@npm:^5.1.2, @ethersproject/abi@npm:^5.5.0, @ethersproject/abi@npm:^5.6.0": + version: 5.6.1 + resolution: "@ethersproject/abi@npm:5.6.1" + dependencies: + "@ethersproject/address": ^5.6.0 + "@ethersproject/bignumber": ^5.6.0 + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/constants": ^5.6.0 + "@ethersproject/hash": ^5.6.0 + "@ethersproject/keccak256": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/strings": ^5.6.0 + checksum: 0545a874dc5bfe2fec63e472d269f9c6b22b8f9ea77f4c23b93d36a8652152171f1ae2681dc64ec8d46b69506967a5e99c8156dc1f74346eea48cb6b64a1fdc9 + languageName: node + linkType: hard + +"@ethersproject/abstract-provider@npm:5.6.0, @ethersproject/abstract-provider@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/abstract-provider@npm:5.6.0" + dependencies: + "@ethersproject/bignumber": ^5.6.0 + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/networks": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/transactions": ^5.6.0 + "@ethersproject/web": ^5.6.0 + checksum: 42ec4148217f7643f667f46235266100a1b31b8e87b6d540b6e8667703f56f633d25ec2e5d9b0f95556de0d0620189488e9d77dafc058c61e45872fef620ac5a + languageName: node + linkType: hard + +"@ethersproject/abstract-signer@npm:5.6.0, @ethersproject/abstract-signer@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/abstract-signer@npm:5.6.0" + dependencies: + "@ethersproject/abstract-provider": ^5.6.0 + "@ethersproject/bignumber": ^5.6.0 + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + checksum: 91722f3ad449da1a26898132b53e0130deac19ab8dbef55c5fd3c6d2b9ddb0428f539021c9b7085f3fc5e8615bdf1fddcbe4f6c5365f6b6cfd5d3952816d27b7 + languageName: node + linkType: hard + +"@ethersproject/address@npm:5.6.0, @ethersproject/address@npm:>=5.0.0-beta.128, @ethersproject/address@npm:^5.0.4, @ethersproject/address@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/address@npm:5.6.0" + dependencies: + "@ethersproject/bignumber": ^5.6.0 + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/keccak256": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/rlp": ^5.6.0 + checksum: 504cddd422ec9890eda61da0421991ace7c5cd9f365cbc9761305013621915dc5ff5247f4b04699b7060fc272a7a8c9dc88f993bc6fa6e0f6e9e4fa30d6f3c0f + languageName: node + linkType: hard + +"@ethersproject/base64@npm:5.6.0, @ethersproject/base64@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/base64@npm:5.6.0" + dependencies: + "@ethersproject/bytes": ^5.6.0 + checksum: 5f316367acf18fdba82d50868171251f75218740a1c9bad8b11c6c3372c86ae323f91bc6727e78e527866357974d19fcced12f666fb067ffba2be638d54d36f7 + languageName: node + linkType: hard + +"@ethersproject/basex@npm:5.6.0, @ethersproject/basex@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/basex@npm:5.6.0" + dependencies: + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + checksum: 144bb1d500ffd111045aee376ee86cacba6bc0b4169941f5532c3598aaa7590db0679793f4a6572585fae91a5e2200e0b8c782b155855138654aa6917527c975 + languageName: node + linkType: hard + +"@ethersproject/bignumber@npm:5.6.0, @ethersproject/bignumber@npm:>=5.0.0-beta.130, @ethersproject/bignumber@npm:^5.0.7, @ethersproject/bignumber@npm:^5.5.0, @ethersproject/bignumber@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/bignumber@npm:5.6.0" + dependencies: + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + bn.js: ^4.11.9 + checksum: cb1e0d712a1d991d7c74c66d34522413a2fd832e10bc15158b24e07f61e80a221689947936790334137c11c582f3f4d184d3ccf3036e09e4df1b2026923962b4 + languageName: node + linkType: hard + +"@ethersproject/bytes@npm:5.6.1, @ethersproject/bytes@npm:>=5.0.0-beta.129, @ethersproject/bytes@npm:^5.0.4, @ethersproject/bytes@npm:^5.5.0, @ethersproject/bytes@npm:^5.6.0": + version: 5.6.1 + resolution: "@ethersproject/bytes@npm:5.6.1" + dependencies: + "@ethersproject/logger": ^5.6.0 + checksum: d06ffe3bf12aa8a6588d99b82e40b46a2cbb8b057fc650aad836e3e8c95d4559773254eeeb8fed652066dcf8082e527e37cd2b9fff7ac8cabc4de7c49459a7eb + languageName: node + linkType: hard + +"@ethersproject/constants@npm:5.6.0, @ethersproject/constants@npm:>=5.0.0-beta.128, @ethersproject/constants@npm:^5.0.4, @ethersproject/constants@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/constants@npm:5.6.0" + dependencies: + "@ethersproject/bignumber": ^5.6.0 + checksum: da54458a0133b64c02052b86fefa6118ed88c449b02a61ba57745bf08029658214291935b0500461bde3f734ea98e6d8edc586eed9ce9fa7e6a16d9397716ff7 + languageName: node + linkType: hard + +"@ethersproject/contracts@npm:5.6.0": + version: 5.6.0 + resolution: "@ethersproject/contracts@npm:5.6.0" + dependencies: + "@ethersproject/abi": ^5.6.0 + "@ethersproject/abstract-provider": ^5.6.0 + "@ethersproject/abstract-signer": ^5.6.0 + "@ethersproject/address": ^5.6.0 + "@ethersproject/bignumber": ^5.6.0 + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/constants": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/transactions": ^5.6.0 + checksum: 9b149da295f0c063252185b94a907bbb3af2faac5a464947bca383a620b9cf8a4faa0e742c16d37a89d262547c645609ab91fbf87266a9e50ad4c17e65569e0d + languageName: node + linkType: hard + +"@ethersproject/hash@npm:5.6.0, @ethersproject/hash@npm:>=5.0.0-beta.128, @ethersproject/hash@npm:^5.0.4, @ethersproject/hash@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/hash@npm:5.6.0" + dependencies: + "@ethersproject/abstract-signer": ^5.6.0 + "@ethersproject/address": ^5.6.0 + "@ethersproject/bignumber": ^5.6.0 + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/keccak256": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/strings": ^5.6.0 + checksum: 7a3b9180963765fff1a307adeb2138219d1585fc979ee2d14888739102ae2b223759cf456a88da554b4043475ec459d3a8dd67a844e39a896f0584c5a9556a06 + languageName: node + linkType: hard + +"@ethersproject/hdnode@npm:5.6.0, @ethersproject/hdnode@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/hdnode@npm:5.6.0" + dependencies: + "@ethersproject/abstract-signer": ^5.6.0 + "@ethersproject/basex": ^5.6.0 + "@ethersproject/bignumber": ^5.6.0 + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/pbkdf2": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/sha2": ^5.6.0 + "@ethersproject/signing-key": ^5.6.0 + "@ethersproject/strings": ^5.6.0 + "@ethersproject/transactions": ^5.6.0 + "@ethersproject/wordlists": ^5.6.0 + checksum: 399919d8d43ed18e2ebfa7b9c1fab469d817d2146187b4a12eaa76508b8ec95ec80d1d64048831b7cbd7f7163b35fb13f8c26a1fe078319f7365d74e23c1c117 + languageName: node + linkType: hard + +"@ethersproject/json-wallets@npm:5.6.0, @ethersproject/json-wallets@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/json-wallets@npm:5.6.0" + dependencies: + "@ethersproject/abstract-signer": ^5.6.0 + "@ethersproject/address": ^5.6.0 + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/hdnode": ^5.6.0 + "@ethersproject/keccak256": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/pbkdf2": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/random": ^5.6.0 + "@ethersproject/strings": ^5.6.0 + "@ethersproject/transactions": ^5.6.0 + aes-js: 3.0.0 + scrypt-js: 3.0.1 + checksum: 8dda507745736bf37708af93df72727b4f375ff0f548e9496a39725fee5618955b3c4ce4850e667eca8b5b8576face747bb79be2f49a445b3228f99456675d3d + languageName: node + linkType: hard + +"@ethersproject/keccak256@npm:5.6.0, @ethersproject/keccak256@npm:>=5.0.0-beta.127, @ethersproject/keccak256@npm:^5.0.3, @ethersproject/keccak256@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/keccak256@npm:5.6.0" + dependencies: + "@ethersproject/bytes": ^5.6.0 + js-sha3: 0.8.0 + checksum: 8683ee5c665ae23c9e1a46be4efb9f208f256abc1885844ec653452ad6dd58d08e5df0d78fc01eef33dc10bca38e27a94390b71a86fae666ef7eddf49860e047 + languageName: node + linkType: hard + +"@ethersproject/logger@npm:5.6.0, @ethersproject/logger@npm:>=5.0.0-beta.129, @ethersproject/logger@npm:^5.0.5, @ethersproject/logger@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/logger@npm:5.6.0" + checksum: 6eee38a973c7a458552278971c109a3e5df3c257e433cb959da9a287ea04628d1f510d41b83bd5f9da5ddc05d97d307ed2162a9ba1b4fcc50664e4f60061636c + languageName: node + linkType: hard + +"@ethersproject/networks@npm:5.6.2, @ethersproject/networks@npm:^5.6.0": + version: 5.6.2 + resolution: "@ethersproject/networks@npm:5.6.2" + dependencies: + "@ethersproject/logger": ^5.6.0 + checksum: 3326a2d4accee41c9e93bdd3ae51db2319edd4eb9f7aca16e251261157b3940806fe837e9082f28f126164d9bb7583083c6be9493e7073d25289d3e7802c6873 + languageName: node + linkType: hard + +"@ethersproject/pbkdf2@npm:5.6.0, @ethersproject/pbkdf2@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/pbkdf2@npm:5.6.0" + dependencies: + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/sha2": ^5.6.0 + checksum: 7d70b46f39373a07abb5512f38ce2c9f3e05640a07c658b584909e22d51c8c47882396427b9ab6ce80a1aa3f2074fd0a2aa6ac03290e2d7505089aa5ebccb55c + languageName: node + linkType: hard + +"@ethersproject/properties@npm:5.6.0, @ethersproject/properties@npm:>=5.0.0-beta.131, @ethersproject/properties@npm:^5.0.3, @ethersproject/properties@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/properties@npm:5.6.0" + dependencies: + "@ethersproject/logger": ^5.6.0 + checksum: adcb6a843dcdf809262d77d6fbe52acdd48703327b298f78e698b76784e89564fb81791d27eaee72b1a6aaaf5688ea2ae7a95faabdef8b4aecc99989fec55901 + languageName: node + linkType: hard + +"@ethersproject/providers@npm:5.6.5": + version: 5.6.5 + resolution: "@ethersproject/providers@npm:5.6.5" + dependencies: + "@ethersproject/abstract-provider": ^5.6.0 + "@ethersproject/abstract-signer": ^5.6.0 + "@ethersproject/address": ^5.6.0 + "@ethersproject/basex": ^5.6.0 + "@ethersproject/bignumber": ^5.6.0 + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/constants": ^5.6.0 + "@ethersproject/hash": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/networks": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/random": ^5.6.0 + "@ethersproject/rlp": ^5.6.0 + "@ethersproject/sha2": ^5.6.0 + "@ethersproject/strings": ^5.6.0 + "@ethersproject/transactions": ^5.6.0 + "@ethersproject/web": ^5.6.0 + bech32: 1.1.4 + ws: 7.4.6 + checksum: f8b37d72068e845f447f922cceddda73508ad539bb035e3f094b6feb7de2a8c6dde87ecd7ee2ec00712e7135145f7e9a902f0b845a0cb604313caf7cb6b440a7 + languageName: node + linkType: hard + +"@ethersproject/random@npm:5.6.0, @ethersproject/random@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/random@npm:5.6.0" + dependencies: + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + checksum: 0d21ce97503f2764b01402093ba73afec69d2631611fe0bda35690e1e2aea0eda39f32dc868123c87505cf5e0618dd32c4aed933203d8011e234889e455212b3 + languageName: node + linkType: hard + +"@ethersproject/rlp@npm:5.6.0, @ethersproject/rlp@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/rlp@npm:5.6.0" + dependencies: + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + checksum: 3697871cec540e3bf3fd7a6a65ef3e5ca223f684ac928ecf028619eee251c6c5427b02493c152f057f5e9b07ea216d24f807ec84e5df80414511f8aff5505359 + languageName: node + linkType: hard + +"@ethersproject/sha2@npm:5.6.0, @ethersproject/sha2@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/sha2@npm:5.6.0" + dependencies: + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + hash.js: 1.1.7 + checksum: 8f424f52720e9127e015afca948412289f97444bc9c3e38c06a43fb1635aa29a7e98976ee4dab7044ba51b25836092377c0691ccbcae6fe7349ca38ca3ab8d80 + languageName: node + linkType: hard + +"@ethersproject/signing-key@npm:5.6.1, @ethersproject/signing-key@npm:^5.6.0": + version: 5.6.1 + resolution: "@ethersproject/signing-key@npm:5.6.1" + dependencies: + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + bn.js: ^4.11.9 + elliptic: 6.5.4 + hash.js: 1.1.7 + checksum: 9292611a2206b9b160a6e7b8ecaf95090efa66e0fb09c4069f6adcceac678b8be59340c623f61a2ffcc57af814745b0fefc1381b0208eda0a62e84234fa85455 + languageName: node + linkType: hard + +"@ethersproject/solidity@npm:5.6.0": + version: 5.6.0 + resolution: "@ethersproject/solidity@npm:5.6.0" + dependencies: + "@ethersproject/bignumber": ^5.6.0 + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/keccak256": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/sha2": ^5.6.0 + "@ethersproject/strings": ^5.6.0 + checksum: e23475603167291b0589cc7d1187e45f3bc5042de958153503e7a259a5d1677ce336d5cdb570805529e50d0bb5b9ade6ce6c0553ec7ea7bed5ecae603262701d + languageName: node + linkType: hard + +"@ethersproject/strings@npm:5.6.0, @ethersproject/strings@npm:>=5.0.0-beta.130, @ethersproject/strings@npm:^5.0.4, @ethersproject/strings@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/strings@npm:5.6.0" + dependencies: + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/constants": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + checksum: 0b69bdd2c2767049599e1b6bbf34782166a1b901fd00a09b2dab0f4a92a6a1e85bb28d498f40f138a68baf62714831b6398e170358c861b4b1e54bfac375b655 + languageName: node + linkType: hard + +"@ethersproject/transactions@npm:5.6.0, @ethersproject/transactions@npm:^5.0.0-beta.135, @ethersproject/transactions@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/transactions@npm:5.6.0" + dependencies: + "@ethersproject/address": ^5.6.0 + "@ethersproject/bignumber": ^5.6.0 + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/constants": ^5.6.0 + "@ethersproject/keccak256": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/rlp": ^5.6.0 + "@ethersproject/signing-key": ^5.6.0 + checksum: b01a3a9ce1e2d945825adbecfc71b992293e0274b77caf2c0b3c45bb76919ce64aa888a5705e6745a84448c50fc4eb58ff5e0ad11c37b1aae33c7a7d3b8af883 + languageName: node + linkType: hard + +"@ethersproject/units@npm:5.6.0": + version: 5.6.0 + resolution: "@ethersproject/units@npm:5.6.0" + dependencies: + "@ethersproject/bignumber": ^5.6.0 + "@ethersproject/constants": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + checksum: 4bca3d4797de2f204d6c23f64e417f60580008139067cf971ff0da3c03c20921f006933a6ae035b53df0e2522f8f999596dcd9df385b22b4b6f9479409f46b13 + languageName: node + linkType: hard + +"@ethersproject/wallet@npm:5.6.0": + version: 5.6.0 + resolution: "@ethersproject/wallet@npm:5.6.0" + dependencies: + "@ethersproject/abstract-provider": ^5.6.0 + "@ethersproject/abstract-signer": ^5.6.0 + "@ethersproject/address": ^5.6.0 + "@ethersproject/bignumber": ^5.6.0 + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/hash": ^5.6.0 + "@ethersproject/hdnode": ^5.6.0 + "@ethersproject/json-wallets": ^5.6.0 + "@ethersproject/keccak256": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/random": ^5.6.0 + "@ethersproject/signing-key": ^5.6.0 + "@ethersproject/transactions": ^5.6.0 + "@ethersproject/wordlists": ^5.6.0 + checksum: 2e0900f136ffd0418a161d708116d6b966596c001a7f55861ceeea28282ce6ad61180cce24589c9b4df001d096352d57128a401edfc613af9daed3724b2a0ec9 + languageName: node + linkType: hard + +"@ethersproject/web@npm:5.6.0, @ethersproject/web@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/web@npm:5.6.0" + dependencies: + "@ethersproject/base64": ^5.6.0 + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/strings": ^5.6.0 + checksum: 42b6e71658393e5abf8341c6bea0deb22cc744b4d22b3a979ed876bc772723b800c18e5180e223f77c47fb045828ef16ba5a01e8dd346474cf430533d1f053bc + languageName: node + linkType: hard + +"@ethersproject/wordlists@npm:5.6.0, @ethersproject/wordlists@npm:^5.6.0": + version: 5.6.0 + resolution: "@ethersproject/wordlists@npm:5.6.0" + dependencies: + "@ethersproject/bytes": ^5.6.0 + "@ethersproject/hash": ^5.6.0 + "@ethersproject/logger": ^5.6.0 + "@ethersproject/properties": ^5.6.0 + "@ethersproject/strings": ^5.6.0 + checksum: 648d948d884aff09cfc11f1db404fff0489a49d50f4d878f2dbda14e02214c24e2e2efec7a3215929a5e433232413c435e41d47f2f405a46408cfd79c7f2ae78 + languageName: node + linkType: hard + +"@gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.5.0": + version: 0.5.0 + resolution: "@humanwhocodes/config-array@npm:0.5.0" + dependencies: + "@humanwhocodes/object-schema": ^1.2.0 + debug: ^4.1.1 + minimatch: ^3.0.4 + checksum: 44ee6a9f05d93dd9d5935a006b17572328ba9caff8002442f601736cbda79c580cc0f5a49ce9eb88fbacc5c3a6b62098357c2e95326cd17bb9f1a6c61d6e95e7 + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^1.2.0": + version: 1.2.1 + resolution: "@humanwhocodes/object-schema@npm:1.2.1" + checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 + languageName: node + linkType: hard + +"@metamask/eth-sig-util@npm:^4.0.0": + version: 4.0.1 + resolution: "@metamask/eth-sig-util@npm:4.0.1" + dependencies: + ethereumjs-abi: ^0.6.8 + ethereumjs-util: ^6.2.1 + ethjs-util: ^0.1.6 + tweetnacl: ^1.0.3 + tweetnacl-util: ^0.15.1 + checksum: 740df4c92a1282e6be4c00c86c1a8ccfb93e767596e43f6da895aa5bab4a28fc3c2209f0327db34924a4a1e9db72bc4d3dddfcfc45cca0b218c9ccbf7d1b1445 + languageName: node + linkType: hard + +"@noble/hashes@npm:1.0.0, @noble/hashes@npm:~1.0.0": + version: 1.0.0 + resolution: "@noble/hashes@npm:1.0.0" + checksum: bdf1c28a4b587e72ec6b0c504903239c6f96680b2c15a6d90d367512f468eeca12f2ee7bd25967a9529be2bedbf3f8d0a50c33368937f8dfef2a973d0661c7b5 + languageName: node + linkType: hard + +"@noble/secp256k1@npm:1.5.5, @noble/secp256k1@npm:~1.5.2": + version: 1.5.5 + resolution: "@noble/secp256k1@npm:1.5.5" + checksum: 8a144e8469b29e94107ca4bcf442fc5d9410974239f8e42013f8604d602ab73cfc0c113c24170d41c25e2c40d6d1c46319c439c3bc26a7581c79060fabc3ea8c + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": 2.0.5 + run-parallel: ^1.1.9 + checksum: a970d595bd23c66c880e0ef1817791432dbb7acbb8d44b7e7d0e7a22f4521260d4a83f7f9fd61d44fda4610105577f8f58a60718105fb38352baed612fd79e59 + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0 + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": 2.1.5 + fastq: ^1.6.0 + checksum: 190c643f156d8f8f277bf2a6078af1ffde1fd43f498f187c2db24d35b4b4b5785c02c7dc52e356497b9a1b65b13edc996de08de0b961c32844364da02986dc53 + languageName: node + linkType: hard + +"@nomiclabs/hardhat-ethers@npm:^2.0.1, @nomiclabs/hardhat-ethers@npm:^2.0.5": + version: 2.0.5 + resolution: "@nomiclabs/hardhat-ethers@npm:2.0.5" + peerDependencies: + ethers: ^5.0.0 + hardhat: ^2.0.0 + checksum: 07a5916f9fbb1efd24effc0d3949c70d1f45240d0bc4705653f1d378573c419c72d9a00f8db48b19c4aa27bd6c9dc0033aa40717cc9d77025a2cceeb59668463 + languageName: node + linkType: hard + +"@nomiclabs/hardhat-waffle@npm:^2.0.1, @nomiclabs/hardhat-waffle@npm:^2.0.2": + version: 2.0.3 + resolution: "@nomiclabs/hardhat-waffle@npm:2.0.3" + dependencies: + "@types/sinon-chai": ^3.2.3 + "@types/web3": 1.0.19 + peerDependencies: + "@nomiclabs/hardhat-ethers": ^2.0.0 + ethereum-waffle: ^3.2.0 + ethers: ^5.0.0 + hardhat: ^2.0.0 + checksum: e68c9e13905caa54a10fa68d9ad7dc905c86469c879f91e999a1c4d039dd2f9fa43a8ed90ab975afb14a79cd6badeb60a7cf50dc6564660edd192614c55875ca + languageName: node + linkType: hard + +"@npmcli/fs@npm:^2.1.0": + version: 2.1.0 + resolution: "@npmcli/fs@npm:2.1.0" + dependencies: + "@gar/promisify": ^1.1.3 + semver: ^7.3.5 + checksum: 6ec6d678af6da49f9dac50cd882d7f661934dd278972ffbaacde40d9eaa2871292d634000a0cca9510f6fc29855fbd4af433e1adbff90a524ec3eaf140f1219b + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^2.0.0": + version: 2.0.0 + resolution: "@npmcli/move-file@npm:2.0.0" + dependencies: + mkdirp: ^1.0.4 + rimraf: ^3.0.2 + checksum: 1388777b507b0c592d53f41b9d182e1a8de7763bc625fc07999b8edbc22325f074e5b3ec90af79c89d6987fdb2325bc66d59f483258543c14a43661621f841b0 + languageName: node + linkType: hard + +"@openzeppelin/contracts-upgradeable@npm:^4.5.0": + version: 4.6.0 + resolution: "@openzeppelin/contracts-upgradeable@npm:4.6.0" + checksum: f9802c9cccf31bd475412ba5d862ed15eed5352302c30b29c38f84aed2dcfe0d957687935a72068f3d44292a4a55b0ff26cd018b2e14a47f16f74f087009aa29 + languageName: node + linkType: hard + +"@openzeppelin/contracts-upgradeable@npm:~3.4.2": + version: 3.4.2 + resolution: "@openzeppelin/contracts-upgradeable@npm:3.4.2" + checksum: dd461cdc8353ee6219e746fa71eced068df46c6df4bfe29207a8ad35064b476c2aa532ec0026c505d9515857ada5838c445b2433e2dadc0878fc678046c4e8b0 + languageName: node + linkType: hard + +"@openzeppelin/contracts-upgradeable@npm:~4.5.0": + version: 4.5.2 + resolution: "@openzeppelin/contracts-upgradeable@npm:4.5.2" + checksum: bd6a12eb83d8e3194e0847ffb248a1063668e2bf723afd21066316090de9b02e95af6057086a95fa21b0d09a2ef0ea057459bb5f5645dfff298e59e8c3267692 + languageName: node + linkType: hard + +"@openzeppelin/contracts@npm:^3.4.2, @openzeppelin/contracts@npm:~3.4.2": + version: 3.4.2 + resolution: "@openzeppelin/contracts@npm:3.4.2" + checksum: 0c90f029fe50a49643588e4c8670dae3bbf31795133a6ddce9bdcbc258486332700bb732287baabf7bf807f39182fe8ea2ffa19aa5caf359b1b9c0f083280748 + languageName: node + linkType: hard + +"@resolver-engine/core@npm:^0.3.3": + version: 0.3.3 + resolution: "@resolver-engine/core@npm:0.3.3" + dependencies: + debug: ^3.1.0 + is-url: ^1.2.4 + request: ^2.85.0 + checksum: e5ac586da2aeb7e384f6841821e528771fca533bf5cf38d7fd0851733bd9b70939e960459f2b841534ecdca6507c9aff71bd317f7481137d7b1d2e87ba15978a + languageName: node + linkType: hard + +"@resolver-engine/fs@npm:^0.3.3": + version: 0.3.3 + resolution: "@resolver-engine/fs@npm:0.3.3" + dependencies: + "@resolver-engine/core": ^0.3.3 + debug: ^3.1.0 + checksum: 734577b7864c3aceaaa80b4b74c252d92fb14a6f3c46dfc0a2d4658288dce1b38797578dd6a4ecbde88cbc4a366e8bdbc46451e282cb25dde8479548453c37a3 + languageName: node + linkType: hard + +"@resolver-engine/imports-fs@npm:^0.3.3": + version: 0.3.3 + resolution: "@resolver-engine/imports-fs@npm:0.3.3" + dependencies: + "@resolver-engine/fs": ^0.3.3 + "@resolver-engine/imports": ^0.3.3 + debug: ^3.1.0 + checksum: d24778788959f8a201bda0a91527cd1703dfbbf3675fd16bd3891046e3f12378be73233bb9d4da19c7247488be38daeab2bdf800317f70553a16fb62208ba2c7 + languageName: node + linkType: hard + +"@resolver-engine/imports@npm:^0.3.3": + version: 0.3.3 + resolution: "@resolver-engine/imports@npm:0.3.3" + dependencies: + "@resolver-engine/core": ^0.3.3 + debug: ^3.1.0 + hosted-git-info: ^2.6.0 + path-browserify: ^1.0.0 + url: ^0.11.0 + checksum: 690cf550fd0608e849fcb9c20a08479ce405173f8d0b09141a5bd140c4ae7c887ebcb0532c4ca64b5c1d3039fe77cc94172b7afb51c1a8fe7722475c429e6944 + languageName: node + linkType: hard + +"@scure/base@npm:~1.0.0": + version: 1.0.0 + resolution: "@scure/base@npm:1.0.0" + checksum: 4bff6fd46fa4afeff58410a157edbb93e6d1aaeca8be18ecd9ec439d5e86e297e52d9288ab269d0ec5f861d55cf1664f26bd14812dd631784f6a9cc11276ff91 + languageName: node + linkType: hard + +"@scure/bip32@npm:1.0.1": + version: 1.0.1 + resolution: "@scure/bip32@npm:1.0.1" + dependencies: + "@noble/hashes": ~1.0.0 + "@noble/secp256k1": ~1.5.2 + "@scure/base": ~1.0.0 + checksum: 7b9f653b0db87264ccfd3b744b848997b3a5fd1b9b33565b4bb9e73dbebeaa2ad0c4278fc5d7ec509546a38507b82de961a6cf1af05caaf1b2e48ce65a77b00e + languageName: node + linkType: hard + +"@scure/bip39@npm:1.0.0": + version: 1.0.0 + resolution: "@scure/bip39@npm:1.0.0" + dependencies: + "@noble/hashes": ~1.0.0 + "@scure/base": ~1.0.0 + checksum: e8711e4f22e5cb14a6e60874dba37a1c012ed26cf99f945454d8d0363441b0fe030b7861cc9e045539b1ba227ae262704fd58c2f46db1dd78af15d595d10316a + languageName: node + linkType: hard + +"@sentry/core@npm:5.30.0": + version: 5.30.0 + resolution: "@sentry/core@npm:5.30.0" + dependencies: + "@sentry/hub": 5.30.0 + "@sentry/minimal": 5.30.0 + "@sentry/types": 5.30.0 + "@sentry/utils": 5.30.0 + tslib: ^1.9.3 + checksum: 8a2b22687e70d76fa4381bce215d770b6c08561c5ff5d6afe39c8c3c509c18ee7384ad0be3aee18d3a858a3c88e1d2821cf10eb5e05646376a33200903b56da2 + languageName: node + linkType: hard + +"@sentry/hub@npm:5.30.0": + version: 5.30.0 + resolution: "@sentry/hub@npm:5.30.0" + dependencies: + "@sentry/types": 5.30.0 + "@sentry/utils": 5.30.0 + tslib: ^1.9.3 + checksum: 09f778cc78765213f1e35a3ee6da3a8e02a706e8a7e5b7f84614707f4b665c7297b700a1849ab2ca1f02ede5884fd9ae893e58dc65f04f35ccdfee17e99ee93d + languageName: node + linkType: hard + +"@sentry/minimal@npm:5.30.0": + version: 5.30.0 + resolution: "@sentry/minimal@npm:5.30.0" + dependencies: + "@sentry/hub": 5.30.0 + "@sentry/types": 5.30.0 + tslib: ^1.9.3 + checksum: 934650f6989ce51f425c7c4b4d4d9bfecface8162a36d21df8a241f780ab1716dd47b81e2170e4cc624797ed1eebe10f71e4876c1e25b787860daaef75ca7a0c + languageName: node + linkType: hard + +"@sentry/node@npm:^5.18.1": + version: 5.30.0 + resolution: "@sentry/node@npm:5.30.0" + dependencies: + "@sentry/core": 5.30.0 + "@sentry/hub": 5.30.0 + "@sentry/tracing": 5.30.0 + "@sentry/types": 5.30.0 + "@sentry/utils": 5.30.0 + cookie: ^0.4.1 + https-proxy-agent: ^5.0.0 + lru_map: ^0.3.3 + tslib: ^1.9.3 + checksum: 5f0367cc52f9d716c64ba727e2a5c8592364494c8fdadfb3df2d0ee9d7956b886fb3ec674370292d2a7b7e1d9a8e1b84c69c06e8a4a064be8d4687698df0090c + languageName: node + linkType: hard + +"@sentry/tracing@npm:5.30.0": + version: 5.30.0 + resolution: "@sentry/tracing@npm:5.30.0" + dependencies: + "@sentry/hub": 5.30.0 + "@sentry/minimal": 5.30.0 + "@sentry/types": 5.30.0 + "@sentry/utils": 5.30.0 + tslib: ^1.9.3 + checksum: 720c07b111e8128e70a939ab4e9f9cfd13dc23303b27575afddabab08d08f9b94499017c76a9ffe253bf3ca40833e8f9262cf6dc546ba24da6eb74fedae5f92b + languageName: node + linkType: hard + +"@sentry/types@npm:5.30.0": + version: 5.30.0 + resolution: "@sentry/types@npm:5.30.0" + checksum: de7df777824c8e311f143c6fd7de220b24f25b5018312fe8f67d93bebf0f3cdd32bbca9f155846f5c31441d940eebe27c8338000321559a743264c7e41dda560 + languageName: node + linkType: hard + +"@sentry/utils@npm:5.30.0": + version: 5.30.0 + resolution: "@sentry/utils@npm:5.30.0" + dependencies: + "@sentry/types": 5.30.0 + tslib: ^1.9.3 + checksum: 27b259a136c664427641dd32ee3dc490553f3b5e92986accfa829d14063ebc69b191e92209ac9c40fbc367f74cfa17dc93b4c40981d666711fd57b4d51a82062 + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^0.14.0": + version: 0.14.0 + resolution: "@sindresorhus/is@npm:0.14.0" + checksum: 971e0441dd44ba3909b467219a5e242da0fc584048db5324cfb8048148fa8dcc9d44d71e3948972c4f6121d24e5da402ef191420d1266a95f713bb6d6e59c98a + languageName: node + linkType: hard + +"@solidity-parser/parser@npm:^0.14.0, @solidity-parser/parser@npm:^0.14.1": + version: 0.14.1 + resolution: "@solidity-parser/parser@npm:0.14.1" + dependencies: + antlr4ts: ^0.5.0-alpha.4 + checksum: 616df6c31007710f2a99f8022fa5917968bbe83293cdc0154ba378aad405c0fc0b7af45cf2c99d159ff0b24b67c7a9bc01f80178d086c705682f2f8c7f771137 + languageName: node + linkType: hard + +"@summa-tx/memview-sol@npm:^2.0.0": + version: 2.0.1 + resolution: "@summa-tx/memview-sol@npm:2.0.1" + checksum: fbdb525033024f2a0a2078c8f36fb74902ea8590b91c4a68b2782eec27f5585220ae17e973ba96dff77bb87cd7491dca0a3af6694dfabc6db4e64c5ce740d5c8 + languageName: node + linkType: hard + +"@szmarczak/http-timer@npm:^1.1.2": + version: 1.1.2 + resolution: "@szmarczak/http-timer@npm:1.1.2" + dependencies: + defer-to-connect: ^1.0.1 + checksum: 4d9158061c5f397c57b4988cde33a163244e4f02df16364f103971957a32886beb104d6180902cbe8b38cb940e234d9f98a4e486200deca621923f62f50a06fe + languageName: node + linkType: hard + +"@tootallnate/once@npm:2": + version: 2.0.0 + resolution: "@tootallnate/once@npm:2.0.0" + checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 + languageName: node + linkType: hard + +"@truffle/error@npm:^0.1.0": + version: 0.1.0 + resolution: "@truffle/error@npm:0.1.0" + checksum: bb4765ec18b0e3cc0d1a4d879bbd1ed84e2354cc976a721909b52d7659eb8d0eadc40c5e1011b167896e3967cfaa6af8d9f74e28c8c17d66e4aef02ca821ec24 + languageName: node + linkType: hard + +"@truffle/interface-adapter@npm:^0.5.16": + version: 0.5.16 + resolution: "@truffle/interface-adapter@npm:0.5.16" + dependencies: + bn.js: ^5.1.3 + ethers: ^4.0.32 + web3: 1.5.3 + checksum: 9c600db5bedb8940a8865dd7ead65d5f9ba625245fee0fb75ed738a9d0cf6a06119cf08a8e8dd98354c8ce51929389d3bcf377155acb5725a7e27b5f1e8a0a30 + languageName: node + linkType: hard + +"@truffle/provider@npm:^0.2.24": + version: 0.2.54 + resolution: "@truffle/provider@npm:0.2.54" + dependencies: + "@truffle/error": ^0.1.0 + "@truffle/interface-adapter": ^0.5.16 + web3: 1.5.3 + checksum: 10d1a7228cd905ee72034e8b8a5ada1e626044cb26a8735efca7d2f14f99eb606b29caf519526e6f5b5e55bc30c7d21161b78f039ad049d1ac974ef0bf10a08e + languageName: node + linkType: hard + +"@tsconfig/node10@npm:^1.0.7": + version: 1.0.8 + resolution: "@tsconfig/node10@npm:1.0.8" + checksum: b8d5fffbc6b17ef64ef74f7fdbccee02a809a063ade785c3648dae59406bc207f70ea2c4296f92749b33019fa36a5ae716e42e49cc7f1bbf0fd147be0d6b970a + languageName: node + linkType: hard + +"@tsconfig/node12@npm:^1.0.7": + version: 1.0.9 + resolution: "@tsconfig/node12@npm:1.0.9" + checksum: a01b2400ab3582b86b589c6d31dcd0c0656f333adecde85d6d7d4086adb059808b82692380bb169546d189bf771ae21d02544a75b57bd6da4a5dd95f8567bec9 + languageName: node + linkType: hard + +"@tsconfig/node14@npm:^1.0.0": + version: 1.0.1 + resolution: "@tsconfig/node14@npm:1.0.1" + checksum: 976345e896c0f059867f94f8d0f6ddb8b1844fb62bf36b727de8a9a68f024857e5db97ed51d3325e23e0616a5e48c034ff51a8d595b3fe7e955f3587540489be + languageName: node + linkType: hard + +"@tsconfig/node16@npm:^1.0.2": + version: 1.0.2 + resolution: "@tsconfig/node16@npm:1.0.2" + checksum: ca94d3639714672bbfd55f03521d3f56bb6a25479bd425da81faf21f13e1e9d15f40f97377dedbbf477a5841c5b0c8f4cd1b391f33553d750b9202c54c2c07aa + languageName: node + linkType: hard + +"@typechain/ethers-v5@npm:^2.0.0": + version: 2.0.0 + resolution: "@typechain/ethers-v5@npm:2.0.0" + dependencies: + ethers: ^5.0.2 + peerDependencies: + ethers: ^5.0.0 + typechain: ^3.0.0 + checksum: 785430547f11de358c4018338f6f72aac113ece70d743aad410fff4eacbc3b4876d2e0d3389e1a56123afcf156f5c044ee72275342e45218448c23fe93d23915 + languageName: node + linkType: hard + +"@typechain/ethers-v5@npm:~7.0.0": + version: 7.0.1 + resolution: "@typechain/ethers-v5@npm:7.0.1" + peerDependencies: + "@ethersproject/abi": ^5.0.0 + "@ethersproject/bytes": ^5.0.0 + "@ethersproject/providers": ^5.0.0 + ethers: ^5.1.3 + typechain: ^5.0.0 + typescript: ">=4.0.0" + checksum: 5d09eb6969f7a9dc3d8b4748d63bcdb4b0c54e4397c186c331cbb4c91bba76467b6b5b8e694f00bb5f4656bb97fc5a07b8e1ff73529b7eb7a5ce0b158cab0487 + languageName: node + linkType: hard + +"@typechain/hardhat@npm:^2.0.1": + version: 2.3.1 + resolution: "@typechain/hardhat@npm:2.3.1" + dependencies: + fs-extra: ^9.1.0 + peerDependencies: + hardhat: ^2.0.10 + lodash: ^4.17.15 + typechain: ^5.1.2 + checksum: f6090b80e3c75e47bb02c9b2c669258e976ccf06502c168b851ad7ca20f53cb554dcb8104bc7ca608f2111baa047ee8e52ce6153eb80450edb9736ba5ebfb12f + languageName: node + linkType: hard + +"@types/abstract-leveldown@npm:*": + version: 7.2.0 + resolution: "@types/abstract-leveldown@npm:7.2.0" + checksum: f719ce076f65e47386ad412dbc6c89a6833a812ee2b2361b89a97480c69180cf9686effdabd0c76819ee5eaefeb18b19ae7dc54c06855261db0070a849124d90 + languageName: node + linkType: hard + +"@types/bn.js@npm:*, @types/bn.js@npm:^5.1.0": + version: 5.1.0 + resolution: "@types/bn.js@npm:5.1.0" + dependencies: + "@types/node": "*" + checksum: 1dc1cbbd7a1e8bf3614752e9602f558762a901031f499f3055828b5e3e2bba16e5b88c27b3c4152ad795248fbe4086c731a5c4b0f29bb243f1875beeeabee59c + languageName: node + linkType: hard + +"@types/bn.js@npm:^4.11.3, @types/bn.js@npm:^4.11.5": + version: 4.11.6 + resolution: "@types/bn.js@npm:4.11.6" + dependencies: + "@types/node": "*" + checksum: 7f66f2c7b7b9303b3205a57184261974b114495736b77853af5b18d857c0b33e82ce7146911e86e87a87837de8acae28986716fd381ac7c301fd6e8d8b6c811f + languageName: node + linkType: hard + +"@types/chai@npm:*": + version: 4.3.1 + resolution: "@types/chai@npm:4.3.1" + checksum: 2ee246b76c469cd620a7a1876a73bc597074361b67d547b4bd96a0c1adb43597ede2d8589ab626192e14349d83cbb646cc11e2c179eeeb43ff11596de94d82c4 + languageName: node + linkType: hard + +"@types/concat-stream@npm:^1.6.0": + version: 1.6.1 + resolution: "@types/concat-stream@npm:1.6.1" + dependencies: + "@types/node": "*" + checksum: 7d211e74331affd3578b5469244f5cef84a93775f38332adb3ef12413559a23862bc682c6873d0a404b01c9d5d5f7d3ae091fe835b435b633eb420e3055b3e56 + languageName: node + linkType: hard + +"@types/form-data@npm:0.0.33": + version: 0.0.33 + resolution: "@types/form-data@npm:0.0.33" + dependencies: + "@types/node": "*" + checksum: f0c283fdef2dd7191168a37b9cb2625af3cfbd7f72b5a514f938bea0a135669f79d736186d434b9e81150b47ef1bf20d97b188014a00583556fad6ce59fb9bbf + languageName: node + linkType: hard + +"@types/glob@npm:^7.1.1": + version: 7.2.0 + resolution: "@types/glob@npm:7.2.0" + dependencies: + "@types/minimatch": "*" + "@types/node": "*" + checksum: 6ae717fedfdfdad25f3d5a568323926c64f52ef35897bcac8aca8e19bc50c0bd84630bbd063e5d52078b2137d8e7d3c26eabebd1a2f03ff350fff8a91e79fc19 + languageName: node + linkType: hard + +"@types/keyv@npm:^3.1.1": + version: 3.1.4 + resolution: "@types/keyv@npm:3.1.4" + dependencies: + "@types/node": "*" + checksum: e009a2bfb50e90ca9b7c6e8f648f8464067271fd99116f881073fa6fa76dc8d0133181dd65e6614d5fb1220d671d67b0124aef7d97dc02d7e342ab143a47779d + languageName: node + linkType: hard + +"@types/level-errors@npm:*": + version: 3.0.0 + resolution: "@types/level-errors@npm:3.0.0" + checksum: ad9392663439306677ac9cb704f8fa0b64c300dfea4f3494369eb78a2e09c194156cbab2b52c71a361a09b735d54a2de65195dcadba0ec7db1d14a320198133e + languageName: node + linkType: hard + +"@types/levelup@npm:^4.3.0": + version: 4.3.3 + resolution: "@types/levelup@npm:4.3.3" + dependencies: + "@types/abstract-leveldown": "*" + "@types/level-errors": "*" + "@types/node": "*" + checksum: 04969bb805035960b8d6650e8f76893be7ba70267bb7012f6f00d67a0cf096ada552355629791b3f5925e9cdb6912d3fe08892c33c3c583e8fd02099b573bdd7 + languageName: node + linkType: hard + +"@types/lru-cache@npm:^5.1.0": + version: 5.1.1 + resolution: "@types/lru-cache@npm:5.1.1" + checksum: e1d6c0085f61b16ec5b3073ec76ad1be4844ea036561c3f145fc19f71f084b58a6eb600b14128aa95809d057d28f1d147c910186ae51219f58366ffd2ff2e118 + languageName: node + linkType: hard + +"@types/minimatch@npm:*": + version: 3.0.5 + resolution: "@types/minimatch@npm:3.0.5" + checksum: c41d136f67231c3131cf1d4ca0b06687f4a322918a3a5adddc87ce90ed9dbd175a3610adee36b106ae68c0b92c637c35e02b58c8a56c424f71d30993ea220b92 + languageName: node + linkType: hard + +"@types/mkdirp@npm:^0.5.2": + version: 0.5.2 + resolution: "@types/mkdirp@npm:0.5.2" + dependencies: + "@types/node": "*" + checksum: 21e6681ee18cee6314dbe0f57ada48981912b76de8266f438ba2573770d60aaa8dd376baad3f20e2346696a7cca84b0aadd1737222341553a0091831a46e6ad1 + languageName: node + linkType: hard + +"@types/mocha@npm:^9.1.0": + version: 9.1.1 + resolution: "@types/mocha@npm:9.1.1" + checksum: 516077c0acd9806dc78317f88aaac0df5aaf0bdc2f63dfdadeabdf0b0137953b6ca65472e6ff7c30bc93ce4e0ae76eae70e8d46764b9a8eae4877a928b6ef49a + languageName: node + linkType: hard + +"@types/node-fetch@npm:^2.5.5": + version: 2.6.1 + resolution: "@types/node-fetch@npm:2.6.1" + dependencies: + "@types/node": "*" + form-data: ^3.0.0 + checksum: a3e5d7f413d1638d795dff03f7b142b1b0e0c109ed210479000ce7b3ea11f9a6d89d9a024c96578d9249570c5fe5287a5f0f4aaba98199222230196ff2d6b283 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 17.0.31 + resolution: "@types/node@npm:17.0.31" + checksum: 704618350f8420d5c47db0f7778398e821b7724369946f5c441a7e6b9343295553936400eb8309f0b07d5e39c240988ab3456b983712ca86265dabc9aee4ad3d + languageName: node + linkType: hard + +"@types/node@npm:^10.0.3": + version: 10.17.60 + resolution: "@types/node@npm:10.17.60" + checksum: 2cdb3a77d071ba8513e5e8306fa64bf50e3c3302390feeaeff1fd325dd25c8441369715dfc8e3701011a72fed5958c7dfa94eb9239a81b3c286caa4d97db6eef + languageName: node + linkType: hard + +"@types/node@npm:^12.12.6": + version: 12.20.50 + resolution: "@types/node@npm:12.20.50" + checksum: 7101c8d7d38b7bba9b7b0a102ad519c05bbb257318c061362dcf2d3a3d78bb0c4cae905730dd9ca8f9c4b1c3f985ca7ea5c6d2906c0a0b93b0ab6a0cadff13e7 + languageName: node + linkType: hard + +"@types/node@npm:^8.0.0": + version: 8.10.66 + resolution: "@types/node@npm:8.10.66" + checksum: c52039de862654a139abdc6a51de532a69dd80516ac35a959c3b3a2831ecbaaf065b0df5f9db943f5e28b544ebb9a891730d52b52f7a169b86a82bc060210000 + languageName: node + linkType: hard + +"@types/pbkdf2@npm:^3.0.0": + version: 3.1.0 + resolution: "@types/pbkdf2@npm:3.1.0" + dependencies: + "@types/node": "*" + checksum: d15024b1957c21cf3b8887329d9bd8dfde754cf13a09d76ae25f1391cfc62bb8b8d7b760773c5dbaa748172fba8b3e0c3dbe962af6ccbd69b76df12a48dfba40 + languageName: node + linkType: hard + +"@types/prettier@npm:^2.1.1": + version: 2.6.0 + resolution: "@types/prettier@npm:2.6.0" + checksum: 946f1f82ce6f31664e023a5d65931c31b7d677b454f528f67dce851d72e7fcfe713076f4251b16c3646eecf1545f5f5b909b4962966341ed9ddf5b80113b3674 + languageName: node + linkType: hard + +"@types/qs@npm:^6.2.31": + version: 6.9.7 + resolution: "@types/qs@npm:6.9.7" + checksum: 7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba + languageName: node + linkType: hard + +"@types/resolve@npm:^0.0.8": + version: 0.0.8 + resolution: "@types/resolve@npm:0.0.8" + dependencies: + "@types/node": "*" + checksum: f241bb773ab14b14500623ac3b57c52006ce32b20426b6d8bf2fe5fdc0344f42c77ac0f94ff57b443ae1d320a1a86c62b4e47239f0321699404402fbeb24bad6 + languageName: node + linkType: hard + +"@types/responselike@npm:^1.0.0": + version: 1.0.0 + resolution: "@types/responselike@npm:1.0.0" + dependencies: + "@types/node": "*" + checksum: e99fc7cc6265407987b30deda54c1c24bb1478803faf6037557a774b2f034c5b097ffd65847daa87e82a61a250d919f35c3588654b0fdaa816906650f596d1b0 + languageName: node + linkType: hard + +"@types/secp256k1@npm:^4.0.1": + version: 4.0.3 + resolution: "@types/secp256k1@npm:4.0.3" + dependencies: + "@types/node": "*" + checksum: 1bd10b9afa724084b655dc81b7b315def3d2d0e272014ef16009fa76e17537411c07c0695fdea412bc7b36d2a02687f5fea33522d55b8ef29eda42992f812913 + languageName: node + linkType: hard + +"@types/sinon-chai@npm:^3.2.3": + version: 3.2.8 + resolution: "@types/sinon-chai@npm:3.2.8" + dependencies: + "@types/chai": "*" + "@types/sinon": "*" + checksum: a0f7a8cef24904db25a695f3c3adcc03ae72bab89a954c9b6e23fe7e541228e67fe4119cec069e8b36c80e9af33102b626129ff538efade9391cc0f65f1d4933 + languageName: node + linkType: hard + +"@types/sinon@npm:*": + version: 10.0.11 + resolution: "@types/sinon@npm:10.0.11" + dependencies: + "@types/sinonjs__fake-timers": "*" + checksum: 196f3e26985dca5dfb593592e4b64463e536c047a9f43aa2b328b16024a3b0e3fb27b7a3f3972c6ef75749f55012737eb6c63a1c2e9782b7fe5cbbd25f75fd62 + languageName: node + linkType: hard + +"@types/sinonjs__fake-timers@npm:*": + version: 8.1.2 + resolution: "@types/sinonjs__fake-timers@npm:8.1.2" + checksum: bbc73a5ab6c0ec974929392f3d6e1e8db4ebad97ec506d785301e1c3d8a4f98a35b1aa95b97035daef02886fd8efd7788a2fa3ced2ec7105988bfd8dce61eedd + languageName: node + linkType: hard + +"@types/underscore@npm:*": + version: 1.11.4 + resolution: "@types/underscore@npm:1.11.4" + checksum: db9f8486bc851b732259e51f42d62aad1ae2158be5724612dc125ece5f5d61c51447f9dea28284c2a0f79cb95e788d01cb5ce97709880019213e69fab0dd1696 + languageName: node + linkType: hard + +"@types/web3@npm:1.0.19": + version: 1.0.19 + resolution: "@types/web3@npm:1.0.19" + dependencies: + "@types/bn.js": "*" + "@types/underscore": "*" + checksum: 25a78e80052cca8abe5edf15c0ae92854d00d1bec15283486a2535ab673345b0be090e39cc9a86822be17ddd812fa76cbfd869be21bb944d2faaf2922e2a836a + languageName: node + linkType: hard + +"@ungap/promise-all-settled@npm:1.1.2": + version: 1.1.2 + resolution: "@ungap/promise-all-settled@npm:1.1.2" + checksum: 08d37fdfa23a6fe8139f1305313562ebad973f3fac01bcce2773b2bda5bcb0146dfdcf3cb6a722cf0a5f2ca0bc56a827eac8f1e7b3beddc548f654addf1fc34c + languageName: node + linkType: hard + +"@yarnpkg/lockfile@npm:^1.1.0": + version: 1.1.0 + resolution: "@yarnpkg/lockfile@npm:1.1.0" + checksum: 05b881b4866a3546861fee756e6d3812776ea47fa6eb7098f983d6d0eefa02e12b66c3fff931574120f196286a7ad4879ce02743c8bb2be36c6a576c7852083a + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 + languageName: node + linkType: hard + +"abbrev@npm:1.0.x": + version: 1.0.9 + resolution: "abbrev@npm:1.0.9" + checksum: 46460c897b4ce62cd9b1bd4a853cc46e771a1f1d929f5443f3945a976f8be5388891bf9e5f8a9862baa29587349e16c48596b6a621404d46d3b184fe9bd9fb26 + languageName: node + linkType: hard + +"abort-controller@npm:^3.0.0": + version: 3.0.0 + resolution: "abort-controller@npm:3.0.0" + dependencies: + event-target-shim: ^5.0.0 + checksum: 170bdba9b47b7e65906a28c8ce4f38a7a369d78e2271706f020849c1bfe0ee2067d4261df8bbb66eb84f79208fd5b710df759d64191db58cfba7ce8ef9c54b75 + languageName: node + linkType: hard + +"abstract-leveldown@npm:3.0.0": + version: 3.0.0 + resolution: "abstract-leveldown@npm:3.0.0" + dependencies: + xtend: ~4.0.0 + checksum: 1d3e65fc2288fd17955df3b0887fdd3d4fa7fcd816062014f872ea12a1e86e886151cbdc36abd2f243a810b7999252eaa30adf636ffe1be3103493ab37277e49 + languageName: node + linkType: hard + +"abstract-leveldown@npm:^2.4.1, abstract-leveldown@npm:~2.7.1": + version: 2.7.2 + resolution: "abstract-leveldown@npm:2.7.2" + dependencies: + xtend: ~4.0.0 + checksum: 97c45a05d8b5d24edf3855c1f9a19f919c4a189e387929745289a53116c80638339a7d4e50ad76d0ad2900166adaeaf2e0350dcdcd453e783cd8f04fd9bea17a + languageName: node + linkType: hard + +"abstract-leveldown@npm:^5.0.0, abstract-leveldown@npm:~5.0.0": + version: 5.0.0 + resolution: "abstract-leveldown@npm:5.0.0" + dependencies: + xtend: ~4.0.0 + checksum: d55d03cc7fad011d5fea30d26504b1a76123ec8edd3623d21f80ce0561c610b7ed1e00eb037c14746ec2b7ad8638586024f11d4a1476beee2c470c8cf27e3586 + languageName: node + linkType: hard + +"abstract-leveldown@npm:^6.2.1": + version: 6.3.0 + resolution: "abstract-leveldown@npm:6.3.0" + dependencies: + buffer: ^5.5.0 + immediate: ^3.2.3 + level-concat-iterator: ~2.0.0 + level-supports: ~1.0.0 + xtend: ~4.0.0 + checksum: 121a8509d8c6a540e656c2a69e5b8d853d4df71072011afefc868b98076991bb00120550e90643de9dc18889c675f62413409eeb4c8c204663124c7d215e4ec3 + languageName: node + linkType: hard + +"abstract-leveldown@npm:~2.6.0": + version: 2.6.3 + resolution: "abstract-leveldown@npm:2.6.3" + dependencies: + xtend: ~4.0.0 + checksum: 87b18580467c303c34c305620e2c3227010f64187d6b1cd60c2d1b9adc058b0c4de716e111e9493aaad0080cb7836601032c5084990cd713f86b6a78f1fab791 + languageName: node + linkType: hard + +"abstract-leveldown@npm:~6.2.1": + version: 6.2.3 + resolution: "abstract-leveldown@npm:6.2.3" + dependencies: + buffer: ^5.5.0 + immediate: ^3.2.3 + level-concat-iterator: ~2.0.0 + level-supports: ~1.0.0 + xtend: ~4.0.0 + checksum: 00202b2eb7955dd7bc04f3e44d225e60160cedb8f96fe6ae0e6dca9c356d57071f001ece8ae1d53f48095c4c036d92b3440f2bc7666730610ddea030f9fbde4a + languageName: node + linkType: hard + +"accepts@npm:~1.3.8": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: ~2.1.34 + negotiator: 0.6.3 + checksum: 50c43d32e7b50285ebe84b613ee4a3aa426715a7d131b65b786e2ead0fd76b6b60091b9916d3478a75f11f162628a2139991b6c03ab3f1d9ab7c86075dc8eab4 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.1": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: c3d3b2a89c9a056b205b69530a37b972b404ee46ec8e5b341666f9513d3163e2a4f214a71f4dfc7370f5a9c07472d2fd1c11c91c3f03d093e37637d95da98950 + languageName: node + linkType: hard + +"acorn-walk@npm:^8.1.1": + version: 8.2.0 + resolution: "acorn-walk@npm:8.2.0" + checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 + languageName: node + linkType: hard + +"acorn@npm:^6.0.7": + version: 6.4.2 + resolution: "acorn@npm:6.4.2" + bin: + acorn: bin/acorn + checksum: 44b07053729db7f44d28343eed32247ed56dc4a6ec6dff2b743141ecd6b861406bbc1c20bf9d4f143ea7dd08add5dc8c290582756539bc03a8db605050ce2fb4 + languageName: node + linkType: hard + +"acorn@npm:^7.4.0": + version: 7.4.1 + resolution: "acorn@npm:7.4.1" + bin: + acorn: bin/acorn + checksum: 1860f23c2107c910c6177b7b7be71be350db9e1080d814493fae143ae37605189504152d1ba8743ba3178d0b37269ce1ffc42b101547fdc1827078f82671e407 + languageName: node + linkType: hard + +"acorn@npm:^8.4.1": + version: 8.7.1 + resolution: "acorn@npm:8.7.1" + bin: + acorn: bin/acorn + checksum: aca0aabf98826717920ac2583fdcad0a6fbe4e583fdb6e843af2594e907455aeafe30b1e14f1757cd83ce1776773cf8296ffc3a4acf13f0bd3dfebcf1db6ae80 + languageName: node + linkType: hard + +"address@npm:^1.0.1": + version: 1.2.0 + resolution: "address@npm:1.2.0" + checksum: 2ef3aa9d23bbe0f9f2745a634b16f3a2f2b18c43146c0913c7b26c8be410e20d59b8c3808d0bb7fe94d50fc2448b4b91e65dd9f33deb4aed53c14f0dedc3ddd8 + languageName: node + linkType: hard + +"adm-zip@npm:^0.4.16": + version: 0.4.16 + resolution: "adm-zip@npm:0.4.16" + checksum: 5ea46664d8b3b073fffeb7f934705fea288708745e708cffc1dd732ce3d2672cecd476b243f9d051892fd12952db2b6bd061975e1ff40057246f6d0cb6534a50 + languageName: node + linkType: hard + +"aes-js@npm:3.0.0": + version: 3.0.0 + resolution: "aes-js@npm:3.0.0" + checksum: 251e26d533cd1a915b44896b17d5ed68c24a02484cfdd2e74ec700a309267db96651ea4eb657bf20aac32a3baa61f6e34edf8e2fec2de440a655da9942d334b8 + languageName: node + linkType: hard + +"aes-js@npm:^3.1.1": + version: 3.1.2 + resolution: "aes-js@npm:3.1.2" + checksum: 062154d50b1e433cc8c3b8ca7879f3a6375d5e79c2a507b2b6c4ec920b4cd851bf2afa7f65c98761a9da89c0ab618cbe6529e8e9a1c71f93290b53128fb8f712 + languageName: node + linkType: hard + +"agent-base@npm:6, agent-base@npm:^6.0.2": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: 4 + checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d + languageName: node + linkType: hard + +"agentkeepalive@npm:^4.2.1": + version: 4.2.1 + resolution: "agentkeepalive@npm:4.2.1" + dependencies: + debug: ^4.1.0 + depd: ^1.1.2 + humanize-ms: ^1.2.1 + checksum: 39cb49ed8cf217fd6da058a92828a0a84e0b74c35550f82ee0a10e1ee403c4b78ade7948be2279b188b7a7303f5d396ea2738b134731e464bf28de00a4f72a18 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: ^2.0.0 + indent-string: ^4.0.0 + checksum: 1101a33f21baa27a2fa8e04b698271e64616b886795fd43c31068c07533c7b3facfcaf4e9e0cab3624bd88f729a592f1c901a1a229c9e490eafce411a8644b79 + languageName: node + linkType: hard + +"ajv@npm:^6.10.0, ajv@npm:^6.10.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.6.1, ajv@npm:^6.9.1": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: ^3.1.1 + fast-json-stable-stringify: ^2.0.0 + json-schema-traverse: ^0.4.1 + uri-js: ^4.2.2 + checksum: 874972efe5c4202ab0a68379481fbd3d1b5d0a7bd6d3cc21d40d3536ebff3352a2a1fabb632d4fd2cc7fe4cbdcd5ed6782084c9bbf7f32a1536d18f9da5007d4 + languageName: node + linkType: hard + +"ajv@npm:^8.0.1": + version: 8.11.0 + resolution: "ajv@npm:8.11.0" + dependencies: + fast-deep-equal: ^3.1.1 + json-schema-traverse: ^1.0.0 + require-from-string: ^2.0.2 + uri-js: ^4.2.2 + checksum: 5e0ff226806763be73e93dd7805b634f6f5921e3e90ca04acdf8db81eed9d8d3f0d4c5f1213047f45ebbf8047ffe0c840fa1ef2ec42c3a644899f69aa72b5bef + languageName: node + linkType: hard + +"amdefine@npm:>=0.0.4": + version: 1.0.1 + resolution: "amdefine@npm:1.0.1" + checksum: 9d4e15b94641643a9385b2841b4cb2bcf4e8e2f741ea4bd475c93ad7bab261ad4ed827a32e9c549b38b98759c4526c173ae4e6dde8caeb75ee5cebedc9863762 + languageName: node + linkType: hard + +"ansi-colors@npm:3.2.3": + version: 3.2.3 + resolution: "ansi-colors@npm:3.2.3" + checksum: 018a92fbf8b143feb9e00559655072598902ff2cdfa07dbe24b933c70ae04845e3dda2c091ab128920fc50b3db06c3f09947f49fcb287d53beb6c5869b8bb32b + languageName: node + linkType: hard + +"ansi-colors@npm:4.1.1, ansi-colors@npm:^4.1.1": + version: 4.1.1 + resolution: "ansi-colors@npm:4.1.1" + checksum: 138d04a51076cb085da0a7e2d000c5c0bb09f6e772ed5c65c53cb118d37f6c5f1637506d7155fb5f330f0abcf6f12fa2e489ac3f8cdab9da393bf1bb4f9a32b0 + languageName: node + linkType: hard + +"ansi-escapes@npm:^3.2.0": + version: 3.2.0 + resolution: "ansi-escapes@npm:3.2.0" + checksum: 0f94695b677ea742f7f1eed961f7fd8d05670f744c6ad1f8f635362f6681dcfbc1575cb05b43abc7bb6d67e25a75fb8c7ea8f2a57330eb2c76b33f18cb2cef0a + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.3.0": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: ^0.21.3 + checksum: 93111c42189c0a6bed9cdb4d7f2829548e943827ee8479c74d6e0b22ee127b2a21d3f8b5ca57723b8ef78ce011fbfc2784350eb2bde3ccfccf2f575fa8489815 + languageName: node + linkType: hard + +"ansi-regex@npm:^2.0.0": + version: 2.1.1 + resolution: "ansi-regex@npm:2.1.1" + checksum: 190abd03e4ff86794f338a31795d262c1dfe8c91f7e01d04f13f646f1dcb16c5800818f886047876f1272f065570ab86b24b99089f8b68a0e11ff19aed4ca8f1 + languageName: node + linkType: hard + +"ansi-regex@npm:^3.0.0": + version: 3.0.1 + resolution: "ansi-regex@npm:3.0.1" + checksum: 09daf180c5f59af9850c7ac1bd7fda85ba596cc8cbeb210826e90755f06c818af86d9fa1e6e8322fab2c3b9e9b03f56c537b42241139f824dd75066a1e7257cc + languageName: node + linkType: hard + +"ansi-regex@npm:^4.1.0": + version: 4.1.1 + resolution: "ansi-regex@npm:4.1.1" + checksum: b1a6ee44cb6ecdabaa770b2ed500542714d4395d71c7e5c25baa631f680fb2ad322eb9ba697548d498a6fd366949fc8b5bfcf48d49a32803611f648005b01888 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b + languageName: node + linkType: hard + +"ansi-styles@npm:^2.2.1": + version: 2.2.1 + resolution: "ansi-styles@npm:2.2.1" + checksum: ebc0e00381f2a29000d1dac8466a640ce11943cef3bda3cd0020dc042e31e1058ab59bf6169cd794a54c3a7338a61ebc404b7c91e004092dd20e028c432c9c2c + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: ^1.9.0 + checksum: d85ade01c10e5dd77b6c89f34ed7531da5830d2cb5882c645f330079975b716438cd7ebb81d0d6e6b4f9c577f19ae41ab55f07f19786b02f9dfd9e0377395665 + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: ^2.0.1 + checksum: 513b44c3b2105dd14cc42a19271e80f386466c4be574bccf60b627432f9198571ebf4ab1e4c3ba17347658f4ee1711c163d574248c0c1cdc2d5917a0ad582ec4 + languageName: node + linkType: hard + +"antlr4@npm:4.7.1": + version: 4.7.1 + resolution: "antlr4@npm:4.7.1" + checksum: ac8644a82aa4031bf466b9dbde40c2f8b20cd944d41649332f01d4ecd384531f76fcefb1cfd044bdbad3d1fd3e2457e792aa72241aaffa225f3a1fe1aca7b9d5 + languageName: node + linkType: hard + +"antlr4ts@npm:^0.5.0-alpha.4": + version: 0.5.0-dev + resolution: "antlr4ts@npm:0.5.0-dev" + dependencies: + source-map-support: ^0.5.16 + checksum: 640dae2229124372b0329315e9614ae983bb80b1af237d8c0b3e90a2d85fb534e851c51d65d1897c92b36d27851d041ad8d95aab44af19cf7355b3ad11a3ddbf + languageName: node + linkType: hard + +"anymatch@npm:~3.1.1, anymatch@npm:~3.1.2": + version: 3.1.2 + resolution: "anymatch@npm:3.1.2" + dependencies: + normalize-path: ^3.0.0 + picomatch: ^2.0.4 + checksum: 985163db2292fac9e5a1e072bf99f1b5baccf196e4de25a0b0b81865ebddeb3b3eb4480734ef0a2ac8c002845396b91aa89121f5b84f93981a4658164a9ec6e9 + languageName: node + linkType: hard + +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 + languageName: node + linkType: hard + +"are-we-there-yet@npm:^3.0.0": + version: 3.0.0 + resolution: "are-we-there-yet@npm:3.0.0" + dependencies: + delegates: ^1.0.0 + readable-stream: ^3.6.0 + checksum: 348edfdd931b0b50868b55402c01c3f64df1d4c229ab6f063539a5025fd6c5f5bb8a0cab409bbed8d75d34762d22aa91b7c20b4204eb8177063158d9ba792981 + languageName: node + linkType: hard + +"arg@npm:^4.1.0": + version: 4.1.3 + resolution: "arg@npm:4.1.3" + checksum: 544af8dd3f60546d3e4aff084d451b96961d2267d668670199692f8d054f0415d86fc5497d0e641e91546f0aa920e7c29e5250e99fc89f5552a34b5d93b77f43 + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: ~1.0.2 + checksum: 7ca6e45583a28de7258e39e13d81e925cfa25d7d4aacbf806a382d3c02fcb13403a07fb8aeef949f10a7cfe4a62da0e2e807b348a5980554cc28ee573ef95945 + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 83644b56493e89a254bae05702abf3a1101b4fa4d0ca31df1c9985275a5a5bd47b3c27b7fa0b71098d41114d8ca000e6ed90cad764b306f8a503665e4d517ced + languageName: node + linkType: hard + +"arr-diff@npm:^4.0.0": + version: 4.0.0 + resolution: "arr-diff@npm:4.0.0" + checksum: ea7c8834842ad3869297f7915689bef3494fd5b102ac678c13ffccab672d3d1f35802b79e90c4cfec2f424af3392e44112d1ccf65da34562ed75e049597276a0 + languageName: node + linkType: hard + +"arr-flatten@npm:^1.1.0": + version: 1.1.0 + resolution: "arr-flatten@npm:1.1.0" + checksum: 963fe12564fca2f72c055f3f6c206b9e031f7c433a0c66ca9858b484821f248c5b1e5d53c8e4989d80d764cd776cf6d9b160ad05f47bdc63022bfd63b5455e22 + languageName: node + linkType: hard + +"arr-union@npm:^3.1.0": + version: 3.1.0 + resolution: "arr-union@npm:3.1.0" + checksum: b5b0408c6eb7591143c394f3be082fee690ddd21f0fdde0a0a01106799e847f67fcae1b7e56b0a0c173290e29c6aca9562e82b300708a268bc8f88f3d6613cb9 + languageName: node + linkType: hard + +"array-back@npm:^1.0.3, array-back@npm:^1.0.4": + version: 1.0.4 + resolution: "array-back@npm:1.0.4" + dependencies: + typical: ^2.6.0 + checksum: 37a8be4cd4920b3d07bdbef40dae83bb37948f5d49601da98a6e48ba5496e9a0008e7f3f2184bcf4d3501bd371a048c9bdca7dc3cc5c3d5b1eb189bbba7b55db + languageName: node + linkType: hard + +"array-back@npm:^2.0.0": + version: 2.0.0 + resolution: "array-back@npm:2.0.0" + dependencies: + typical: ^2.6.1 + checksum: ab36ab3504b25116b47541fb0ac78ff13d1e991f33d98c361edd3aada3ed818a900b619bd67b195dd4e41b9256c27e8cdd6a69ece507e482f1207d07670ed6bd + languageName: node + linkType: hard + +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: a9925bf3512d9dce202112965de90c222cd59a4fbfce68a0951d25d965cf44642931f40aac72309c41f12df19afa010ecadceb07cfff9ccc1621e99d89ab5f3b + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d + languageName: node + linkType: hard + +"array-uniq@npm:1.0.3": + version: 1.0.3 + resolution: "array-uniq@npm:1.0.3" + checksum: 1625f06b093d8bf279b81adfec6e72951c0857d65b5e3f65f053fffe9f9dd61c2fc52cff57e38a4700817e7e3f01a4faa433d505ea9e33cdae4514c334e0bf9e + languageName: node + linkType: hard + +"array-unique@npm:^0.3.2": + version: 0.3.2 + resolution: "array-unique@npm:0.3.2" + checksum: da344b89cfa6b0a5c221f965c21638bfb76b57b45184a01135382186924f55973cd9b171d4dad6bf606c6d9d36b0d721d091afdc9791535ead97ccbe78f8a888 + languageName: node + linkType: hard + +"asap@npm:~2.0.6": + version: 2.0.6 + resolution: "asap@npm:2.0.6" + checksum: b296c92c4b969e973260e47523207cd5769abd27c245a68c26dc7a0fe8053c55bb04360237cb51cab1df52be939da77150ace99ad331fb7fb13b3423ed73ff3d + languageName: node + linkType: hard + +"asn1.js@npm:^5.2.0": + version: 5.4.1 + resolution: "asn1.js@npm:5.4.1" + dependencies: + bn.js: ^4.0.0 + inherits: ^2.0.1 + minimalistic-assert: ^1.0.0 + safer-buffer: ^2.1.0 + checksum: 3786a101ac6f304bd4e9a7df79549a7561950a13d4bcaec0c7790d44c80d147c1a94ba3d4e663673406064642a40b23fcd6c82a9952468e386c1a1376d747f9a + languageName: node + linkType: hard + +"asn1@npm:~0.2.3": + version: 0.2.6 + resolution: "asn1@npm:0.2.6" + dependencies: + safer-buffer: ~2.1.0 + checksum: 39f2ae343b03c15ad4f238ba561e626602a3de8d94ae536c46a4a93e69578826305366dc09fbb9b56aec39b4982a463682f259c38e59f6fa380cd72cd61e493d + languageName: node + linkType: hard + +"assert-plus@npm:1.0.0, assert-plus@npm:^1.0.0": + version: 1.0.0 + resolution: "assert-plus@npm:1.0.0" + checksum: 19b4340cb8f0e6a981c07225eacac0e9d52c2644c080198765d63398f0075f83bbc0c8e95474d54224e297555ad0d631c1dcd058adb1ddc2437b41a6b424ac64 + languageName: node + linkType: hard + +"assertion-error@npm:^1.1.0": + version: 1.1.0 + resolution: "assertion-error@npm:1.1.0" + checksum: fd9429d3a3d4fd61782eb3962ae76b6d08aa7383123fca0596020013b3ebd6647891a85b05ce821c47d1471ed1271f00b0545cf6a4326cf2fc91efcc3b0fbecf + languageName: node + linkType: hard + +"assign-symbols@npm:^1.0.0": + version: 1.0.0 + resolution: "assign-symbols@npm:1.0.0" + checksum: c0eb895911d05b6b2d245154f70461c5e42c107457972e5ebba38d48967870dee53bcdf6c7047990586daa80fab8dab3cc6300800fbd47b454247fdedd859a2c + languageName: node + linkType: hard + +"ast-parents@npm:0.0.1": + version: 0.0.1 + resolution: "ast-parents@npm:0.0.1" + checksum: 51360afb9f7b939eb0330fdd0d5d855d0242f273f63478d30d9053069120492173719fb3c03ba372bccf1a7c1a9041c3c6bf2ab700de8c0f8c14792b045c3b23 + languageName: node + linkType: hard + +"astral-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "astral-regex@npm:1.0.0" + checksum: 93417fc0879531cd95ace2560a54df865c9461a3ac0714c60cbbaa5f1f85d2bee85489e78d82f70b911b71ac25c5f05fc5a36017f44c9bb33c701bee229ff848 + languageName: node + linkType: hard + +"astral-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "astral-regex@npm:2.0.0" + checksum: 876231688c66400473ba505731df37ea436e574dd524520294cc3bbc54ea40334865e01fa0d074d74d036ee874ee7e62f486ea38bc421ee8e6a871c06f011766 + languageName: node + linkType: hard + +"async-eventemitter@npm:^0.2.2, async-eventemitter@npm:^0.2.4": + version: 0.2.4 + resolution: "async-eventemitter@npm:0.2.4" + dependencies: + async: ^2.4.0 + checksum: b9e77e0f58ebd7188c50c23d613d1263e0ab501f5e677e02b57cc97d7032beaf60aafa189887e7105569c791e212df4af00b608be1e9a4c425911d577124911e + languageName: node + linkType: hard + +"async-limiter@npm:~1.0.0": + version: 1.0.1 + resolution: "async-limiter@npm:1.0.1" + checksum: 2b849695b465d93ad44c116220dee29a5aeb63adac16c1088983c339b0de57d76e82533e8e364a93a9f997f28bbfc6a92948cefc120652bd07f3b59f8d75cf2b + languageName: node + linkType: hard + +"async@npm:1.x, async@npm:^1.4.2": + version: 1.5.2 + resolution: "async@npm:1.5.2" + checksum: fe5d6214d8f15bd51eee5ae8ec5079b228b86d2d595f47b16369dec2e11b3ff75a567bb5f70d12d79006665fbbb7ee0a7ec0e388524eefd454ecbe651c124ebd + languageName: node + linkType: hard + +"async@npm:2.6.2": + version: 2.6.2 + resolution: "async@npm:2.6.2" + dependencies: + lodash: ^4.17.11 + checksum: e5e90a3bcc4d9bf964bfc6b77d63b8f5bee8c14e9a51c3317dbcace44d5b6b1fe01cd4fd347449704a107da7fcd25e1382ee8545957b2702782ae720605cf7a4 + languageName: node + linkType: hard + +"async@npm:^2.0.1, async@npm:^2.1.2, async@npm:^2.4.0, async@npm:^2.5.0, async@npm:^2.6.1": + version: 2.6.4 + resolution: "async@npm:2.6.4" + dependencies: + lodash: ^4.17.14 + checksum: a52083fb32e1ebe1d63e5c5624038bb30be68ff07a6c8d7dfe35e47c93fc144bd8652cbec869e0ac07d57dde387aa5f1386be3559cdee799cb1f789678d88e19 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 7b78c451df768adba04e2d02e63e2d0bf3b07adcd6e42b4cf665cb7ce899bedd344c69a1dcbce355b5f972d597b25aaa1c1742b52cffd9caccb22f348114f6be + languageName: node + linkType: hard + +"at-least-node@npm:^1.0.0": + version: 1.0.0 + resolution: "at-least-node@npm:1.0.0" + checksum: 463e2f8e43384f1afb54bc68485c436d7622acec08b6fad269b421cb1d29cebb5af751426793d0961ed243146fe4dc983402f6d5a51b720b277818dbf6f2e49e + languageName: node + linkType: hard + +"atob@npm:^2.1.2": + version: 2.1.2 + resolution: "atob@npm:2.1.2" + bin: + atob: bin/atob.js + checksum: dfeeeb70090c5ebea7be4b9f787f866686c645d9f39a0d184c817252d0cf08455ed25267d79c03254d3be1f03ac399992a792edcd5ffb9c91e097ab5ef42833a + languageName: node + linkType: hard + +"available-typed-arrays@npm:^1.0.5": + version: 1.0.5 + resolution: "available-typed-arrays@npm:1.0.5" + checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a + languageName: node + linkType: hard + +"aws-sign2@npm:~0.7.0": + version: 0.7.0 + resolution: "aws-sign2@npm:0.7.0" + checksum: b148b0bb0778098ad8cf7e5fc619768bcb51236707ca1d3e5b49e41b171166d8be9fdc2ea2ae43d7decf02989d0aaa3a9c4caa6f320af95d684de9b548a71525 + languageName: node + linkType: hard + +"aws4@npm:^1.8.0": + version: 1.11.0 + resolution: "aws4@npm:1.11.0" + checksum: 5a00d045fd0385926d20ebebcfba5ec79d4482fe706f63c27b324d489a04c68edb0db99ed991e19eda09cb8c97dc2452059a34d97545cebf591d7a2b5a10999f + languageName: node + linkType: hard + +"babel-code-frame@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-code-frame@npm:6.26.0" + dependencies: + chalk: ^1.1.3 + esutils: ^2.0.2 + js-tokens: ^3.0.2 + checksum: 9410c3d5a921eb02fa409675d1a758e493323a49e7b9dddb7a2a24d47e61d39ab1129dd29f9175836eac9ce8b1d4c0a0718fcdc57ce0b865b529fd250dbab313 + languageName: node + linkType: hard + +"babel-core@npm:^6.0.14, babel-core@npm:^6.26.0": + version: 6.26.3 + resolution: "babel-core@npm:6.26.3" + dependencies: + babel-code-frame: ^6.26.0 + babel-generator: ^6.26.0 + babel-helpers: ^6.24.1 + babel-messages: ^6.23.0 + babel-register: ^6.26.0 + babel-runtime: ^6.26.0 + babel-template: ^6.26.0 + babel-traverse: ^6.26.0 + babel-types: ^6.26.0 + babylon: ^6.18.0 + convert-source-map: ^1.5.1 + debug: ^2.6.9 + json5: ^0.5.1 + lodash: ^4.17.4 + minimatch: ^3.0.4 + path-is-absolute: ^1.0.1 + private: ^0.1.8 + slash: ^1.0.0 + source-map: ^0.5.7 + checksum: 3d6a37e5c69ea7f7d66c2a261cbd7219197f2f938700e6ebbabb6d84a03f2bf86691ffa066866dcb49ba6c4bd702d347c9e0e147660847d709705cf43c964752 + languageName: node + linkType: hard + +"babel-generator@npm:^6.26.0": + version: 6.26.1 + resolution: "babel-generator@npm:6.26.1" + dependencies: + babel-messages: ^6.23.0 + babel-runtime: ^6.26.0 + babel-types: ^6.26.0 + detect-indent: ^4.0.0 + jsesc: ^1.3.0 + lodash: ^4.17.4 + source-map: ^0.5.7 + trim-right: ^1.0.1 + checksum: 5397f4d4d1243e7157e3336be96c10fcb1f29f73bf2d9842229c71764d9a6431397d249483a38c4d8b1581459e67be4df6f32d26b1666f02d0f5bfc2c2f25193 + languageName: node + linkType: hard + +"babel-helper-builder-binary-assignment-operator-visitor@npm:^6.24.1": + version: 6.24.1 + resolution: "babel-helper-builder-binary-assignment-operator-visitor@npm:6.24.1" + dependencies: + babel-helper-explode-assignable-expression: ^6.24.1 + babel-runtime: ^6.22.0 + babel-types: ^6.24.1 + checksum: 6ef49597837d042980e78284df014972daac7f1f1f2635d978bb2d13990304322f5135f27b8f2d6eb8c4c2459b496ec76e21544e26afbb5dec88f53089e17476 + languageName: node + linkType: hard + +"babel-helper-call-delegate@npm:^6.24.1": + version: 6.24.1 + resolution: "babel-helper-call-delegate@npm:6.24.1" + dependencies: + babel-helper-hoist-variables: ^6.24.1 + babel-runtime: ^6.22.0 + babel-traverse: ^6.24.1 + babel-types: ^6.24.1 + checksum: b6277d6e48c10cf416632f6dfbac77bdf6ba8ec4ac2f6359a77d6b731dae941c2a3ec7f35e1eba78aad2a7e0838197731d1ef75af529055096c4cb7d96432c88 + languageName: node + linkType: hard + +"babel-helper-define-map@npm:^6.24.1": + version: 6.26.0 + resolution: "babel-helper-define-map@npm:6.26.0" + dependencies: + babel-helper-function-name: ^6.24.1 + babel-runtime: ^6.26.0 + babel-types: ^6.26.0 + lodash: ^4.17.4 + checksum: 08e201eb009a7dbd020232fb7468ac772ebb8cfd33ec9a41113a54f4c90fd1e3474497783d635b8f87d797706323ca0c1758c516a630b0c95277112fc2fe4f13 + languageName: node + linkType: hard + +"babel-helper-explode-assignable-expression@npm:^6.24.1": + version: 6.24.1 + resolution: "babel-helper-explode-assignable-expression@npm:6.24.1" + dependencies: + babel-runtime: ^6.22.0 + babel-traverse: ^6.24.1 + babel-types: ^6.24.1 + checksum: 1bafdb51ce3dd95cf25d712d24a0c3c2ae02ff58118c77462f14ede4d8161aaee42c5c759c3d3a3344a5851b8b0f8d16b395713413b8194e1c3264fc5b12b754 + languageName: node + linkType: hard + +"babel-helper-function-name@npm:^6.24.1": + version: 6.24.1 + resolution: "babel-helper-function-name@npm:6.24.1" + dependencies: + babel-helper-get-function-arity: ^6.24.1 + babel-runtime: ^6.22.0 + babel-template: ^6.24.1 + babel-traverse: ^6.24.1 + babel-types: ^6.24.1 + checksum: d651db9e0b29e135877e90e7858405750a684220d22a6f7c78bb163305a1b322cc1c8bea1bc617625c34d92d0927fdbaa49ee46822e2f86b524eced4c88c7ff0 + languageName: node + linkType: hard + +"babel-helper-get-function-arity@npm:^6.24.1": + version: 6.24.1 + resolution: "babel-helper-get-function-arity@npm:6.24.1" + dependencies: + babel-runtime: ^6.22.0 + babel-types: ^6.24.1 + checksum: 37e344d6c5c00b67a3b378490a5d7ba924bab1c2ccd6ecf1b7da96ca679be12d75fbec6279366ae9772e482fb06a7b48293954dd79cbeba9b947e2db67252fbd + languageName: node + linkType: hard + +"babel-helper-hoist-variables@npm:^6.24.1": + version: 6.24.1 + resolution: "babel-helper-hoist-variables@npm:6.24.1" + dependencies: + babel-runtime: ^6.22.0 + babel-types: ^6.24.1 + checksum: 6af1c165d5f0ad192df07daa194d13de77572bd914d2fc9a270d56b93b2705d98eebabf412b1211505535af131fbe95886fcfad8b3a07b4d501c24b9cb8e57fe + languageName: node + linkType: hard + +"babel-helper-optimise-call-expression@npm:^6.24.1": + version: 6.24.1 + resolution: "babel-helper-optimise-call-expression@npm:6.24.1" + dependencies: + babel-runtime: ^6.22.0 + babel-types: ^6.24.1 + checksum: 16e6aba819b473dbf013391f759497df9f57bc7060bc4e5f7f6b60fb03670eb1dec65dd2227601d58f151e9d647e1f676a12466f5e6674379978820fa02c0fbb + languageName: node + linkType: hard + +"babel-helper-regex@npm:^6.24.1": + version: 6.26.0 + resolution: "babel-helper-regex@npm:6.26.0" + dependencies: + babel-runtime: ^6.26.0 + babel-types: ^6.26.0 + lodash: ^4.17.4 + checksum: ab949a4c90ab255abaafd9ec11a4a6dc77dba360875af2bb0822b699c058858773792c1e969c425c396837f61009f30c9ee5ba4b9a8ca87b0779ae1622f89fb3 + languageName: node + linkType: hard + +"babel-helper-remap-async-to-generator@npm:^6.24.1": + version: 6.24.1 + resolution: "babel-helper-remap-async-to-generator@npm:6.24.1" + dependencies: + babel-helper-function-name: ^6.24.1 + babel-runtime: ^6.22.0 + babel-template: ^6.24.1 + babel-traverse: ^6.24.1 + babel-types: ^6.24.1 + checksum: f330943104b61e7f9248d222bd5fe5d3238904ee20643b76197571e14a724723d64a8096b292a60f64788f0efe30176882c376eeebde00657925678e304324f0 + languageName: node + linkType: hard + +"babel-helper-replace-supers@npm:^6.24.1": + version: 6.24.1 + resolution: "babel-helper-replace-supers@npm:6.24.1" + dependencies: + babel-helper-optimise-call-expression: ^6.24.1 + babel-messages: ^6.23.0 + babel-runtime: ^6.22.0 + babel-template: ^6.24.1 + babel-traverse: ^6.24.1 + babel-types: ^6.24.1 + checksum: ca1d216c5c6afc6af2ef55ea16777ba99e108780ea25da61d93edb09fd85f5e96c756306e2a21e737c3b0c7a16c99762b62a0e5f529d3865b14029fef7351cba + languageName: node + linkType: hard + +"babel-helpers@npm:^6.24.1": + version: 6.24.1 + resolution: "babel-helpers@npm:6.24.1" + dependencies: + babel-runtime: ^6.22.0 + babel-template: ^6.24.1 + checksum: 751c6010e18648eebae422adfea5f3b5eff70d592d693bfe0f53346227d74b38e6cd2553c4c18de1e64faac585de490eccbd3ab86ba0885bdac42ed4478bc6b0 + languageName: node + linkType: hard + +"babel-messages@npm:^6.23.0": + version: 6.23.0 + resolution: "babel-messages@npm:6.23.0" + dependencies: + babel-runtime: ^6.22.0 + checksum: c8075c17587a33869e1a5bd0a5b73bbe395b68188362dacd5418debbc7c8fd784bcd3295e81ee7e410dc2c2655755add6af03698c522209f6a68334c15e6d6ca + languageName: node + linkType: hard + +"babel-plugin-check-es2015-constants@npm:^6.22.0": + version: 6.22.0 + resolution: "babel-plugin-check-es2015-constants@npm:6.22.0" + dependencies: + babel-runtime: ^6.22.0 + checksum: 39168cb4ff078911726bfaf9d111d1e18f3e99d8b6f6101d343249b28346c3869e415c97fe7e857e7f34b913f8a052634b2b9dcfb4c0272e5f64ed22df69c735 + languageName: node + linkType: hard + +"babel-plugin-syntax-async-functions@npm:^6.8.0": + version: 6.13.0 + resolution: "babel-plugin-syntax-async-functions@npm:6.13.0" + checksum: e982d9756869fa83eb6a4502490a90b0d31e8a41e2ee582045934f022ac8ff5fa6a3386366976fab3a391d5a7ab8ea5f9da623f35ed8ab328b8ab6d9b2feb1d3 + languageName: node + linkType: hard + +"babel-plugin-syntax-exponentiation-operator@npm:^6.8.0": + version: 6.13.0 + resolution: "babel-plugin-syntax-exponentiation-operator@npm:6.13.0" + checksum: cbcb3aeae7005240325f72d55c3c90575033123e8a1ddfa6bf9eac4ee7e246c2a23f5b5ab1144879590d947a3ed1d88838169d125e5d7c4f53678526482b020e + languageName: node + linkType: hard + +"babel-plugin-syntax-trailing-function-commas@npm:^6.22.0": + version: 6.22.0 + resolution: "babel-plugin-syntax-trailing-function-commas@npm:6.22.0" + checksum: d8b9039ded835bb128e8e14eeeb6e0ac2a876b85250924bdc3a8dc2a6984d3bfade4de04d40fb15ea04a86d561ac280ae0d7306d7d4ef7a8c52c43b6a23909c6 + languageName: node + linkType: hard + +"babel-plugin-transform-async-to-generator@npm:^6.22.0": + version: 6.24.1 + resolution: "babel-plugin-transform-async-to-generator@npm:6.24.1" + dependencies: + babel-helper-remap-async-to-generator: ^6.24.1 + babel-plugin-syntax-async-functions: ^6.8.0 + babel-runtime: ^6.22.0 + checksum: ffe8b4b2ed6db1f413ede385bd1a36f39e02a64ed79ce02779440049af75215c98f8debdc70eb01430bfd889f792682b0136576fe966f7f9e1b30e2a54695a8d + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-arrow-functions@npm:^6.22.0": + version: 6.22.0 + resolution: "babel-plugin-transform-es2015-arrow-functions@npm:6.22.0" + dependencies: + babel-runtime: ^6.22.0 + checksum: 746e2be0fed20771c07f0984ba79ef0bab37d6e98434267ec96cef57272014fe53a180bfb9047bf69ed149d367a2c97baad54d6057531cd037684f371aab2333 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-block-scoped-functions@npm:^6.22.0": + version: 6.22.0 + resolution: "babel-plugin-transform-es2015-block-scoped-functions@npm:6.22.0" + dependencies: + babel-runtime: ^6.22.0 + checksum: f251611f723d94b4068d2a873a2783e019bd81bd7144cfdbcfc31ef166f4d82fa2f1efba64342ba2630dab93a2b12284067725c0aa08315712419a2bc3b92a75 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-block-scoping@npm:^6.23.0": + version: 6.26.0 + resolution: "babel-plugin-transform-es2015-block-scoping@npm:6.26.0" + dependencies: + babel-runtime: ^6.26.0 + babel-template: ^6.26.0 + babel-traverse: ^6.26.0 + babel-types: ^6.26.0 + lodash: ^4.17.4 + checksum: 5e4dee33bf4aab0ce7751a9ae845c25d3bf03944ffdfc8d784e1de2123a3eec19657dd59274c9969461757f5e2ab75c517e978bafe5309a821a41e278ad38a63 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-classes@npm:^6.23.0": + version: 6.24.1 + resolution: "babel-plugin-transform-es2015-classes@npm:6.24.1" + dependencies: + babel-helper-define-map: ^6.24.1 + babel-helper-function-name: ^6.24.1 + babel-helper-optimise-call-expression: ^6.24.1 + babel-helper-replace-supers: ^6.24.1 + babel-messages: ^6.23.0 + babel-runtime: ^6.22.0 + babel-template: ^6.24.1 + babel-traverse: ^6.24.1 + babel-types: ^6.24.1 + checksum: 999392b47a83cf9297e49fbde00bc9b15fb6d71bc041f7b3d621ac45361486ec4b66f55c47f98dca6c398ceaa8bfc9f3c21257854822c4523e7475a92e6c000a + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-computed-properties@npm:^6.22.0": + version: 6.24.1 + resolution: "babel-plugin-transform-es2015-computed-properties@npm:6.24.1" + dependencies: + babel-runtime: ^6.22.0 + babel-template: ^6.24.1 + checksum: 34e466bfd4b021aa3861db66cf10a9093fa6a4fcedbc8c82a55f6ca1fcbd212a9967f2df6c5f9e9a20046fa43c8967633a476f2bbc15cb8d3769cbba948a5c16 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-destructuring@npm:^6.23.0": + version: 6.23.0 + resolution: "babel-plugin-transform-es2015-destructuring@npm:6.23.0" + dependencies: + babel-runtime: ^6.22.0 + checksum: 1343d27f09846e6e1e48da7b83d0d4f2d5571559c468ad8ad4c3715b8ff3e21b2d553e90ad420dc6840de260b7f3b9f9c057606d527e3d838a52a3a7c5fffdbe + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-duplicate-keys@npm:^6.22.0": + version: 6.24.1 + resolution: "babel-plugin-transform-es2015-duplicate-keys@npm:6.24.1" + dependencies: + babel-runtime: ^6.22.0 + babel-types: ^6.24.1 + checksum: 756a7a13517c3e80c8312137b9872b9bc32fbfbb905e9f1e45bf321e2b464d0e6a6e6deca22c61b62377225bd8136b73580897cccb394995d6e00bc8ce882ba4 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-for-of@npm:^6.23.0": + version: 6.23.0 + resolution: "babel-plugin-transform-es2015-for-of@npm:6.23.0" + dependencies: + babel-runtime: ^6.22.0 + checksum: 0124e320c32b25de84ddaba951a6f0ad031fa5019de54de32bd317d2a97b3f967026008f32e8c88728330c1cce7c4f1d0ecb15007020d50bd5ca1438a882e205 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-function-name@npm:^6.22.0": + version: 6.24.1 + resolution: "babel-plugin-transform-es2015-function-name@npm:6.24.1" + dependencies: + babel-helper-function-name: ^6.24.1 + babel-runtime: ^6.22.0 + babel-types: ^6.24.1 + checksum: 629ecd824d53ec973a3ef85e74d9fd8c710203084ca2f7ac833879ddfa3b83a28f0270fe2ee5f3b8c078bb4b3e4b843173a646a7cd4abc49e8c1c563d31fb711 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-literals@npm:^6.22.0": + version: 6.22.0 + resolution: "babel-plugin-transform-es2015-literals@npm:6.22.0" + dependencies: + babel-runtime: ^6.22.0 + checksum: 40e270580a0236990f2555f5dc7ae24b4db9f4709ca455ed1a6724b0078592482274be7448579b14122bd06481641a38e7b2e48d0b49b8c81c88e154a26865b4 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-modules-amd@npm:^6.22.0, babel-plugin-transform-es2015-modules-amd@npm:^6.24.1": + version: 6.24.1 + resolution: "babel-plugin-transform-es2015-modules-amd@npm:6.24.1" + dependencies: + babel-plugin-transform-es2015-modules-commonjs: ^6.24.1 + babel-runtime: ^6.22.0 + babel-template: ^6.24.1 + checksum: 084c7a1ef3bd0b2b9f4851b27cfb65f8ea1408349af05b4d88f994c23844a0754abfa4799bbc5f3f0ec94232b3a54a2e46d7f1dff1bdd40fa66a46f645197dfa + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-modules-commonjs@npm:^6.23.0, babel-plugin-transform-es2015-modules-commonjs@npm:^6.24.1": + version: 6.26.2 + resolution: "babel-plugin-transform-es2015-modules-commonjs@npm:6.26.2" + dependencies: + babel-plugin-transform-strict-mode: ^6.24.1 + babel-runtime: ^6.26.0 + babel-template: ^6.26.0 + babel-types: ^6.26.0 + checksum: 9cd93a84037855c1879bcc100229bee25b44c4805a9a9f040e8927f772c4732fa17a0706c81ea0db77b357dd9baf84388eec03ceb36597932c48fe32fb3d4171 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-modules-systemjs@npm:^6.23.0": + version: 6.24.1 + resolution: "babel-plugin-transform-es2015-modules-systemjs@npm:6.24.1" + dependencies: + babel-helper-hoist-variables: ^6.24.1 + babel-runtime: ^6.22.0 + babel-template: ^6.24.1 + checksum: b34877e201d7b4d293d87c04962a3575fe7727a9593e99ce3a7f8deea3da8883a08bd87a6a12927083ac26f47f6944a31cdbfe3d6eb4d18dd884cb2d304ee943 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-modules-umd@npm:^6.23.0": + version: 6.24.1 + resolution: "babel-plugin-transform-es2015-modules-umd@npm:6.24.1" + dependencies: + babel-plugin-transform-es2015-modules-amd: ^6.24.1 + babel-runtime: ^6.22.0 + babel-template: ^6.24.1 + checksum: 735857b9f2ad0c41ceda31a1594fe2a063025f4428f9e243885a437b5bd415aca445a5e8495ff34b7120617735b1c3a2158033f0be23f1f5a90e655fff742a01 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-object-super@npm:^6.22.0": + version: 6.24.1 + resolution: "babel-plugin-transform-es2015-object-super@npm:6.24.1" + dependencies: + babel-helper-replace-supers: ^6.24.1 + babel-runtime: ^6.22.0 + checksum: 97b2968f699ac94cb55f4f1e7ea53dc9e4264ec99cab826f40f181da9f6db5980cd8b4985f05c7b6f1e19fbc31681e6e63894dfc5ecf4b3a673d736c4ef0f9db + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-parameters@npm:^6.23.0": + version: 6.24.1 + resolution: "babel-plugin-transform-es2015-parameters@npm:6.24.1" + dependencies: + babel-helper-call-delegate: ^6.24.1 + babel-helper-get-function-arity: ^6.24.1 + babel-runtime: ^6.22.0 + babel-template: ^6.24.1 + babel-traverse: ^6.24.1 + babel-types: ^6.24.1 + checksum: bb6c047dc10499be8ccebdffac22c77f14aee5d3106da8f2e96c801d2746403c809d8c6922e8ebd2eb31d8827b4bb2321ba43378fcdc9dca206417bb345c4f93 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-shorthand-properties@npm:^6.22.0": + version: 6.24.1 + resolution: "babel-plugin-transform-es2015-shorthand-properties@npm:6.24.1" + dependencies: + babel-runtime: ^6.22.0 + babel-types: ^6.24.1 + checksum: 9302c5de158a28432e932501a783560094c624c3659f4e0a472b6b2e9d6e8ab2634f82ef74d3e75363d46ccff6aad119267dbc34f67464c70625e24a651ad9e5 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-spread@npm:^6.22.0": + version: 6.22.0 + resolution: "babel-plugin-transform-es2015-spread@npm:6.22.0" + dependencies: + babel-runtime: ^6.22.0 + checksum: 8694a8a7802d905503194ab81c155354b36d39fc819ad2148f83146518dd37d2c6926c8568712f5aa890169afc9353fd4bcc49397959c6dc9da3480b449c0ae9 + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-sticky-regex@npm:^6.22.0": + version: 6.24.1 + resolution: "babel-plugin-transform-es2015-sticky-regex@npm:6.24.1" + dependencies: + babel-helper-regex: ^6.24.1 + babel-runtime: ^6.22.0 + babel-types: ^6.24.1 + checksum: d9c45401caf0d74779a1170e886976d4c865b7de2e90dfffc7557481b9e73b6e37e9f1028aa07b813896c4df88f4d7e89968249a74547c7875e6c499c90c801d + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-template-literals@npm:^6.22.0": + version: 6.22.0 + resolution: "babel-plugin-transform-es2015-template-literals@npm:6.22.0" + dependencies: + babel-runtime: ^6.22.0 + checksum: 4fad2b7b383a2e784858ee7bf837419ee8ff9602afe218e1472f8c33a0c008f01d06f23ff2f2322fb23e1ed17e37237a818575fe88ecc5417d85331973b0ea4d + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-typeof-symbol@npm:^6.23.0": + version: 6.23.0 + resolution: "babel-plugin-transform-es2015-typeof-symbol@npm:6.23.0" + dependencies: + babel-runtime: ^6.22.0 + checksum: 68a1609c6abcddf5f138c56bafcd9fad7c6b3b404fe40910148ab70eb21d6c7807a343a64eb81ce45daf4b70c384c528c55fad45e0d581e4b09efa4d574a6a1b + languageName: node + linkType: hard + +"babel-plugin-transform-es2015-unicode-regex@npm:^6.22.0": + version: 6.24.1 + resolution: "babel-plugin-transform-es2015-unicode-regex@npm:6.24.1" + dependencies: + babel-helper-regex: ^6.24.1 + babel-runtime: ^6.22.0 + regexpu-core: ^2.0.0 + checksum: 739ddb02e5f77904f83ea45323c9a636e3aed34b2a49c7c68208b5f2834eecb6b655e772f870f16a7aaf09ac8219f754ad69d61741d088f5b681d13cda69265d + languageName: node + linkType: hard + +"babel-plugin-transform-exponentiation-operator@npm:^6.22.0": + version: 6.24.1 + resolution: "babel-plugin-transform-exponentiation-operator@npm:6.24.1" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor: ^6.24.1 + babel-plugin-syntax-exponentiation-operator: ^6.8.0 + babel-runtime: ^6.22.0 + checksum: 533ad53ba2cd6ff3c0f751563e1beea429c620038dc2efeeb8348ab4752ebcc95d1521857abfd08047400f1921b2d4df5e0cd266e65ddbe4c3edc58b9ad6fd3c + languageName: node + linkType: hard + +"babel-plugin-transform-regenerator@npm:^6.22.0": + version: 6.26.0 + resolution: "babel-plugin-transform-regenerator@npm:6.26.0" + dependencies: + regenerator-transform: ^0.10.0 + checksum: 41a51d8f692bf4a5cbd705fa70f3cb6abebae66d9ba3dccfb5921da262f8c30f630e1fe9f7b132e29b96fe0d99385a801f6aa204278c5bd0af4284f7f93a665a + languageName: node + linkType: hard + +"babel-plugin-transform-strict-mode@npm:^6.24.1": + version: 6.24.1 + resolution: "babel-plugin-transform-strict-mode@npm:6.24.1" + dependencies: + babel-runtime: ^6.22.0 + babel-types: ^6.24.1 + checksum: 32d70ce9d8c8918a6a840e46df03dfe1e265eb9b25df5a800fedb5065ef1b4b5f24d7c62d92fca0e374db8b0b9b6f84e68edd02ad21883d48f608583ec29f638 + languageName: node + linkType: hard + +"babel-preset-env@npm:^1.7.0": + version: 1.7.0 + resolution: "babel-preset-env@npm:1.7.0" + dependencies: + babel-plugin-check-es2015-constants: ^6.22.0 + babel-plugin-syntax-trailing-function-commas: ^6.22.0 + babel-plugin-transform-async-to-generator: ^6.22.0 + babel-plugin-transform-es2015-arrow-functions: ^6.22.0 + babel-plugin-transform-es2015-block-scoped-functions: ^6.22.0 + babel-plugin-transform-es2015-block-scoping: ^6.23.0 + babel-plugin-transform-es2015-classes: ^6.23.0 + babel-plugin-transform-es2015-computed-properties: ^6.22.0 + babel-plugin-transform-es2015-destructuring: ^6.23.0 + babel-plugin-transform-es2015-duplicate-keys: ^6.22.0 + babel-plugin-transform-es2015-for-of: ^6.23.0 + babel-plugin-transform-es2015-function-name: ^6.22.0 + babel-plugin-transform-es2015-literals: ^6.22.0 + babel-plugin-transform-es2015-modules-amd: ^6.22.0 + babel-plugin-transform-es2015-modules-commonjs: ^6.23.0 + babel-plugin-transform-es2015-modules-systemjs: ^6.23.0 + babel-plugin-transform-es2015-modules-umd: ^6.23.0 + babel-plugin-transform-es2015-object-super: ^6.22.0 + babel-plugin-transform-es2015-parameters: ^6.23.0 + babel-plugin-transform-es2015-shorthand-properties: ^6.22.0 + babel-plugin-transform-es2015-spread: ^6.22.0 + babel-plugin-transform-es2015-sticky-regex: ^6.22.0 + babel-plugin-transform-es2015-template-literals: ^6.22.0 + babel-plugin-transform-es2015-typeof-symbol: ^6.23.0 + babel-plugin-transform-es2015-unicode-regex: ^6.22.0 + babel-plugin-transform-exponentiation-operator: ^6.22.0 + babel-plugin-transform-regenerator: ^6.22.0 + browserslist: ^3.2.6 + invariant: ^2.2.2 + semver: ^5.3.0 + checksum: 6e459a6c76086a2a377707680148b94c3d0aba425b039b427ca01171ebada7f5db5d336b309548462f6ba015e13176a4724f912875c15084d4aa88d77020d185 + languageName: node + linkType: hard + +"babel-register@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-register@npm:6.26.0" + dependencies: + babel-core: ^6.26.0 + babel-runtime: ^6.26.0 + core-js: ^2.5.0 + home-or-tmp: ^2.0.0 + lodash: ^4.17.4 + mkdirp: ^0.5.1 + source-map-support: ^0.4.15 + checksum: 75d5fe060e4850dbdbd5f56db2928cd0b6b6c93a65ba5f2a991465af4dc3f4adf46d575138f228b2169b1e25e3b4a7cdd16515a355fea41b873321bf56467583 + languageName: node + linkType: hard + +"babel-runtime@npm:^6.18.0, babel-runtime@npm:^6.22.0, babel-runtime@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-runtime@npm:6.26.0" + dependencies: + core-js: ^2.4.0 + regenerator-runtime: ^0.11.0 + checksum: 8aeade94665e67a73c1ccc10f6fd42ba0c689b980032b70929de7a6d9a12eb87ef51902733f8fefede35afea7a5c3ef7e916a64d503446c1eedc9e3284bd3d50 + languageName: node + linkType: hard + +"babel-template@npm:^6.24.1, babel-template@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-template@npm:6.26.0" + dependencies: + babel-runtime: ^6.26.0 + babel-traverse: ^6.26.0 + babel-types: ^6.26.0 + babylon: ^6.18.0 + lodash: ^4.17.4 + checksum: 028dd57380f09b5641b74874a19073c53c4fb3f1696e849575aae18f8c80eaf21db75209057db862f3b893ce2cd9b795d539efa591b58f4a0fb011df0a56fbed + languageName: node + linkType: hard + +"babel-traverse@npm:^6.24.1, babel-traverse@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-traverse@npm:6.26.0" + dependencies: + babel-code-frame: ^6.26.0 + babel-messages: ^6.23.0 + babel-runtime: ^6.26.0 + babel-types: ^6.26.0 + babylon: ^6.18.0 + debug: ^2.6.8 + globals: ^9.18.0 + invariant: ^2.2.2 + lodash: ^4.17.4 + checksum: fca037588d2791ae0409f1b7aa56075b798699cccc53ea04d82dd1c0f97b9e7ab17065f7dd3ecd69101d7874c9c8fd5e0f88fa53abbae1fe94e37e6b81ebcb8d + languageName: node + linkType: hard + +"babel-types@npm:^6.19.0, babel-types@npm:^6.24.1, babel-types@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-types@npm:6.26.0" + dependencies: + babel-runtime: ^6.26.0 + esutils: ^2.0.2 + lodash: ^4.17.4 + to-fast-properties: ^1.0.3 + checksum: d16b0fa86e9b0e4c2623be81d0a35679faff24dd2e43cde4ca58baf49f3e39415a011a889e6c2259ff09e1228e4c3a3db6449a62de59e80152fe1ce7398fde76 + languageName: node + linkType: hard + +"babelify@npm:^7.3.0": + version: 7.3.0 + resolution: "babelify@npm:7.3.0" + dependencies: + babel-core: ^6.0.14 + object-assign: ^4.0.0 + checksum: 4e169606ed0f2ff6f886d2367c72243d36b3b354490ccc916b913f6b4afd14102c91f771d71d485857feb134581dd48702f25431e19b5c7035f474f9898c3c2e + languageName: node + linkType: hard + +"babylon@npm:^6.18.0": + version: 6.18.0 + resolution: "babylon@npm:6.18.0" + bin: + babylon: ./bin/babylon.js + checksum: 0777ae0c735ce1cbfc856d627589ed9aae212b84fb0c03c368b55e6c5d3507841780052808d0ad46e18a2ba516e93d55eeed8cd967f3b2938822dfeccfb2a16d + languageName: node + linkType: hard + +"backoff@npm:^2.5.0": + version: 2.5.0 + resolution: "backoff@npm:2.5.0" + dependencies: + precond: 0.2 + checksum: ccdcf2a26acd9379d0d4f09e3fb3b7ee34dee94f07ab74d1e38b38f89a3675d9f3cbebb142d9c61c655f4c9eb63f1d6ec28cebeb3dc9215efd8fe7cef92725b9 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65 + languageName: node + linkType: hard + +"base-x@npm:^3.0.2, base-x@npm:^3.0.8": + version: 3.0.9 + resolution: "base-x@npm:3.0.9" + dependencies: + safe-buffer: ^5.0.1 + checksum: 957101d6fd09e1903e846fd8f69fd7e5e3e50254383e61ab667c725866bec54e5ece5ba49ce385128ae48f9ec93a26567d1d5ebb91f4d56ef4a9cc0d5a5481e8 + languageName: node + linkType: hard + +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 + languageName: node + linkType: hard + +"base@npm:^0.11.1": + version: 0.11.2 + resolution: "base@npm:0.11.2" + dependencies: + cache-base: ^1.0.1 + class-utils: ^0.3.5 + component-emitter: ^1.2.1 + define-property: ^1.0.0 + isobject: ^3.0.1 + mixin-deep: ^1.2.0 + pascalcase: ^0.1.1 + checksum: a4a146b912e27eea8f66d09cb0c9eab666f32ce27859a7dfd50f38cd069a2557b39f16dba1bc2aecb3b44bf096738dd207b7970d99b0318423285ab1b1994edd + languageName: node + linkType: hard + +"bcrypt-pbkdf@npm:^1.0.0": + version: 1.0.2 + resolution: "bcrypt-pbkdf@npm:1.0.2" + dependencies: + tweetnacl: ^0.14.3 + checksum: 4edfc9fe7d07019609ccf797a2af28351736e9d012c8402a07120c4453a3b789a15f2ee1530dc49eee8f7eb9379331a8dd4b3766042b9e502f74a68e7f662291 + languageName: node + linkType: hard + +"bech32@npm:1.1.4": + version: 1.1.4 + resolution: "bech32@npm:1.1.4" + checksum: 0e98db619191548390d6f09ff68b0253ba7ae6a55db93dfdbb070ba234c1fd3308c0606fbcc95fad50437227b10011e2698b89f0181f6e7f845c499bd14d0f4b + languageName: node + linkType: hard + +"bignumber.js@npm:^9.0.0": + version: 9.0.2 + resolution: "bignumber.js@npm:9.0.2" + checksum: 8637b71d0a99104b20413c47578953970006fec6b4df796b9dcfd9835ea9c402ea0e727eba9a5ca9f9a393c1d88b6168c5bbe0887598b708d4f8b4870ad62e1f + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.2.0 + resolution: "binary-extensions@npm:2.2.0" + checksum: ccd267956c58d2315f5d3ea6757cf09863c5fc703e50fbeb13a7dc849b812ef76e3cf9ca8f35a0c48498776a7478d7b4a0418e1e2b8cb9cb9731f2922aaad7f8 + languageName: node + linkType: hard + +"bip39@npm:2.5.0": + version: 2.5.0 + resolution: "bip39@npm:2.5.0" + dependencies: + create-hash: ^1.1.0 + pbkdf2: ^3.0.9 + randombytes: ^2.0.1 + safe-buffer: ^5.0.1 + unorm: ^1.3.3 + checksum: 26e83583c43a8430afea1c385328b447005c74ddaf997cd8d3e416057f4968360b08ebf7de32374d605295c3abdd7ddd448d8078a2aa3d951735f4499c23875b + languageName: node + linkType: hard + +"blakejs@npm:^1.1.0": + version: 1.2.1 + resolution: "blakejs@npm:1.2.1" + checksum: d699ba116cfa21d0b01d12014a03e484dd76d483133e6dc9eb415aa70a119f08beb3bcefb8c71840106a00b542cba77383f8be60cd1f0d4589cb8afb922eefbe + languageName: node + linkType: hard + +"bluebird@npm:^3.5.0, bluebird@npm:^3.5.2": + version: 3.7.2 + resolution: "bluebird@npm:3.7.2" + checksum: 869417503c722e7dc54ca46715f70e15f4d9c602a423a02c825570862d12935be59ed9c7ba34a9b31f186c017c23cac6b54e35446f8353059c101da73eac22ef + languageName: node + linkType: hard + +"bn.js@npm:4.11.6": + version: 4.11.6 + resolution: "bn.js@npm:4.11.6" + checksum: db23047bf06fdf9cf74401c8e76bca9f55313c81df382247d2c753868b368562e69171716b81b7038ada8860af18346fd4bcd1cf9d4963f923fe8e54e61cb58a + languageName: node + linkType: hard + +"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.10.0, bn.js@npm:^4.11.0, bn.js@npm:^4.11.6, bn.js@npm:^4.11.8, bn.js@npm:^4.11.9, bn.js@npm:^4.8.0": + version: 4.12.0 + resolution: "bn.js@npm:4.12.0" + checksum: 39afb4f15f4ea537b55eaf1446c896af28ac948fdcf47171961475724d1bb65118cca49fa6e3d67706e4790955ec0e74de584e45c8f1ef89f46c812bee5b5a12 + languageName: node + linkType: hard + +"bn.js@npm:^5.0.0, bn.js@npm:^5.1.1, bn.js@npm:^5.1.2, bn.js@npm:^5.1.3, bn.js@npm:^5.2.0": + version: 5.2.0 + resolution: "bn.js@npm:5.2.0" + checksum: 6117170393200f68b35a061ecbf55d01dd989302e7b3c798a3012354fa638d124f0b2f79e63f77be5556be80322a09c40339eda6413ba7468524c0b6d4b4cb7a + languageName: node + linkType: hard + +"body-parser@npm:1.20.0, body-parser@npm:^1.16.0": + version: 1.20.0 + resolution: "body-parser@npm:1.20.0" + dependencies: + bytes: 3.1.2 + content-type: ~1.0.4 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.10.3 + raw-body: 2.5.1 + type-is: ~1.6.18 + unpipe: 1.0.0 + checksum: 12fffdeac82fe20dddcab7074215d5156e7d02a69ae90cbe9fee1ca3efa2f28ef52097cbea76685ee0a1509c71d85abd0056a08e612c09077cad6277a644cf88 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: ^1.0.0 + concat-map: 0.0.1 + checksum: faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: ^1.0.0 + checksum: a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1 + languageName: node + linkType: hard + +"braces@npm:^2.3.1": + version: 2.3.2 + resolution: "braces@npm:2.3.2" + dependencies: + arr-flatten: ^1.1.0 + array-unique: ^0.3.2 + extend-shallow: ^2.0.1 + fill-range: ^4.0.0 + isobject: ^3.0.1 + repeat-element: ^1.1.2 + snapdragon: ^0.8.1 + snapdragon-node: ^2.0.1 + split-string: ^3.0.2 + to-regex: ^3.0.1 + checksum: e30dcb6aaf4a31c8df17d848aa283a65699782f75ad61ae93ec25c9729c66cf58e66f0000a9fec84e4add1135bb7da40f7cb9601b36bebcfa9ca58e8d5c07de0 + languageName: node + linkType: hard + +"braces@npm:^3.0.2, braces@npm:~3.0.2": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: ^7.0.1 + checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459 + languageName: node + linkType: hard + +"brorand@npm:^1.0.1, brorand@npm:^1.1.0": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 8a05c9f3c4b46572dec6ef71012b1946db6cae8c7bb60ccd4b7dd5a84655db49fe043ecc6272e7ef1f69dc53d6730b9e2a3a03a8310509a3d797a618cbee52be + languageName: node + linkType: hard + +"browser-stdout@npm:1.3.1": + version: 1.3.1 + resolution: "browser-stdout@npm:1.3.1" + checksum: b717b19b25952dd6af483e368f9bcd6b14b87740c3d226c2977a65e84666ffd67000bddea7d911f111a9b6ddc822b234de42d52ab6507bce4119a4cc003ef7b3 + languageName: node + linkType: hard + +"browserify-aes@npm:^1.0.0, browserify-aes@npm:^1.0.4, browserify-aes@npm:^1.2.0": + version: 1.2.0 + resolution: "browserify-aes@npm:1.2.0" + dependencies: + buffer-xor: ^1.0.3 + cipher-base: ^1.0.0 + create-hash: ^1.1.0 + evp_bytestokey: ^1.0.3 + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + checksum: 4a17c3eb55a2aa61c934c286f34921933086bf6d67f02d4adb09fcc6f2fc93977b47d9d884c25619144fccd47b3b3a399e1ad8b3ff5a346be47270114bcf7104 + languageName: node + linkType: hard + +"browserify-cipher@npm:^1.0.0": + version: 1.0.1 + resolution: "browserify-cipher@npm:1.0.1" + dependencies: + browserify-aes: ^1.0.4 + browserify-des: ^1.0.0 + evp_bytestokey: ^1.0.0 + checksum: 2d8500acf1ee535e6bebe808f7a20e4c3a9e2ed1a6885fff1facbfd201ac013ef030422bec65ca9ece8ffe82b03ca580421463f9c45af6c8415fd629f4118c13 + languageName: node + linkType: hard + +"browserify-des@npm:^1.0.0": + version: 1.0.2 + resolution: "browserify-des@npm:1.0.2" + dependencies: + cipher-base: ^1.0.1 + des.js: ^1.0.0 + inherits: ^2.0.1 + safe-buffer: ^5.1.2 + checksum: b15a3e358a1d78a3b62ddc06c845d02afde6fc826dab23f1b9c016e643e7b1fda41de628d2110b712f6a44fb10cbc1800bc6872a03ddd363fb50768e010395b7 + languageName: node + linkType: hard + +"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.0.1": + version: 4.1.0 + resolution: "browserify-rsa@npm:4.1.0" + dependencies: + bn.js: ^5.0.0 + randombytes: ^2.0.1 + checksum: 155f0c135873efc85620571a33d884aa8810e40176125ad424ec9d85016ff105a07f6231650914a760cca66f29af0494087947b7be34880dd4599a0cd3c38e54 + languageName: node + linkType: hard + +"browserify-sign@npm:^4.0.0": + version: 4.2.1 + resolution: "browserify-sign@npm:4.2.1" + dependencies: + bn.js: ^5.1.1 + browserify-rsa: ^4.0.1 + create-hash: ^1.2.0 + create-hmac: ^1.1.7 + elliptic: ^6.5.3 + inherits: ^2.0.4 + parse-asn1: ^5.1.5 + readable-stream: ^3.6.0 + safe-buffer: ^5.2.0 + checksum: 0221f190e3f5b2d40183fa51621be7e838d9caa329fe1ba773406b7637855f37b30f5d83e52ff8f244ed12ffe6278dd9983638609ed88c841ce547e603855707 + languageName: node + linkType: hard + +"browserslist@npm:^3.2.6": + version: 3.2.8 + resolution: "browserslist@npm:3.2.8" + dependencies: + caniuse-lite: ^1.0.30000844 + electron-to-chromium: ^1.3.47 + bin: + browserslist: ./cli.js + checksum: 74d9ab1089a3813f54a7c4f9f6612faa6256799c8e42c7e00e4aae626c17f199049a01707a525a05b1673cd1493936583e51aad295e25249166e7e8fbd0273ba + languageName: node + linkType: hard + +"bs58@npm:^4.0.0": + version: 4.0.1 + resolution: "bs58@npm:4.0.1" + dependencies: + base-x: ^3.0.2 + checksum: b3c5365bb9e0c561e1a82f1a2d809a1a692059fae016be233a6127ad2f50a6b986467c3a50669ce4c18929dcccb297c5909314dd347a25a68c21b68eb3e95ac2 + languageName: node + linkType: hard + +"bs58check@npm:^2.1.2": + version: 2.1.2 + resolution: "bs58check@npm:2.1.2" + dependencies: + bs58: ^4.0.0 + create-hash: ^1.1.0 + safe-buffer: ^5.1.2 + checksum: 43bdf08a5dd04581b78f040bc4169480e17008da482ffe2a6507327bbc4fc5c28de0501f7faf22901cfe57fbca79cbb202ca529003fedb4cb8dccd265b38e54d + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 0448524a562b37d4d7ed9efd91685a5b77a50672c556ea254ac9a6d30e3403a517d8981f10e565db24e8339413b43c97ca2951f10e399c6125a0d8911f5679bb + languageName: node + linkType: hard + +"buffer-to-arraybuffer@npm:^0.0.5": + version: 0.0.5 + resolution: "buffer-to-arraybuffer@npm:0.0.5" + checksum: b2e6493a6679e03d0e0e146b4258b9a6d92649d528d8fc4a74423b77f0d4f9398c9f965f3378d1683a91738054bae2761196cfe233f41ab3695126cb58cb25f9 + languageName: node + linkType: hard + +"buffer-xor@npm:^1.0.3": + version: 1.0.3 + resolution: "buffer-xor@npm:1.0.3" + checksum: 10c520df29d62fa6e785e2800e586a20fc4f6dfad84bcdbd12e1e8a83856de1cb75c7ebd7abe6d036bbfab738a6cf18a3ae9c8e5a2e2eb3167ca7399ce65373a + languageName: node + linkType: hard + +"buffer-xor@npm:^2.0.1": + version: 2.0.2 + resolution: "buffer-xor@npm:2.0.2" + dependencies: + safe-buffer: ^5.1.1 + checksum: 78226fcae9f4a0b4adec69dffc049f26f6bab240dfdd1b3f6fe07c4eb6b90da202ea5c363f98af676156ee39450a06405fddd9e8965f68a5327edcc89dcbe5d0 + languageName: node + linkType: hard + +"buffer@npm:^5.0.5, buffer@npm:^5.2.1, buffer@npm:^5.5.0, buffer@npm:^5.6.0": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: ^1.3.1 + ieee754: ^1.1.13 + checksum: e2cf8429e1c4c7b8cbd30834ac09bd61da46ce35f5c22a78e6c2f04497d6d25541b16881e30a019c6fd3154150650ccee27a308eff3e26229d788bbdeb08ab84 + languageName: node + linkType: hard + +"bufferutil@npm:^4.0.1": + version: 4.0.6 + resolution: "bufferutil@npm:4.0.6" + dependencies: + node-gyp: latest + node-gyp-build: ^4.3.0 + checksum: dd107560947445280af7820c3d0534127b911577d85d537e1d7e0aa30fd634853cef8a994d6e8aed3d81388ab1a20257de776164afe6a6af8e78f5f17968ebd6 + languageName: node + linkType: hard + +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: e4bcd3948d289c5127591fbedf10c0b639ccbf00243504e4e127374a15c3bc8eed0d28d4aaab08ff6f1cf2abc0cce6ba3085ed32f4f90e82a5683ce0014e1b6e + languageName: node + linkType: hard + +"bytewise-core@npm:^1.2.2": + version: 1.2.3 + resolution: "bytewise-core@npm:1.2.3" + dependencies: + typewise-core: ^1.2 + checksum: e0d28fb7ff5bb6fd9320eef31c6b37e98da3b9a24d9893e2c17e0ee544457e0c76c2d3fc642c99d82daa0f18dcd49e7dce8dcc338711200e9ced79107cb78e8e + languageName: node + linkType: hard + +"bytewise@npm:~1.1.0": + version: 1.1.0 + resolution: "bytewise@npm:1.1.0" + dependencies: + bytewise-core: ^1.2.2 + typewise: ^1.0.3 + checksum: 20d7387ecf8c29adc4740e626fb02eaa27f34ae4c5ca881657d403e792730c0625ba4fed824462b3ddb7d3ebe41b7abbfe24f1cd3bf07cecc5a631f154d2d8d2 + languageName: node + linkType: hard + +"cacache@npm:^16.0.2": + version: 16.0.7 + resolution: "cacache@npm:16.0.7" + dependencies: + "@npmcli/fs": ^2.1.0 + "@npmcli/move-file": ^2.0.0 + chownr: ^2.0.0 + fs-minipass: ^2.1.0 + glob: ^8.0.1 + infer-owner: ^1.0.4 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + mkdirp: ^1.0.4 + p-map: ^4.0.0 + promise-inflight: ^1.0.1 + rimraf: ^3.0.2 + ssri: ^9.0.0 + tar: ^6.1.11 + unique-filename: ^1.1.1 + checksum: 2155b099b7e0f0369fb1155ca4673532ca7efe2ebdbec63acca8743580b8446b5d4fd7184626b1cb059001af77b981cdc67035c7855544d365d4f048eafca2ca + languageName: node + linkType: hard + +"cache-base@npm:^1.0.1": + version: 1.0.1 + resolution: "cache-base@npm:1.0.1" + dependencies: + collection-visit: ^1.0.0 + component-emitter: ^1.2.1 + get-value: ^2.0.6 + has-value: ^1.0.0 + isobject: ^3.0.1 + set-value: ^2.0.0 + to-object-path: ^0.3.0 + union-value: ^1.0.0 + unset-value: ^1.0.0 + checksum: 9114b8654fe2366eedc390bad0bcf534e2f01b239a888894e2928cb58cdc1e6ea23a73c6f3450dcfd2058aa73a8a981e723cd1e7c670c047bf11afdc65880107 + languageName: node + linkType: hard + +"cacheable-request@npm:^6.0.0": + version: 6.1.0 + resolution: "cacheable-request@npm:6.1.0" + dependencies: + clone-response: ^1.0.2 + get-stream: ^5.1.0 + http-cache-semantics: ^4.0.0 + keyv: ^3.0.0 + lowercase-keys: ^2.0.0 + normalize-url: ^4.1.0 + responselike: ^1.0.2 + checksum: b510b237b18d17e89942e9ee2d2a077cb38db03f12167fd100932dfa8fc963424bfae0bfa1598df4ae16c944a5484e43e03df8f32105b04395ee9495e9e4e9f1 + languageName: node + linkType: hard + +"cachedown@npm:1.0.0": + version: 1.0.0 + resolution: "cachedown@npm:1.0.0" + dependencies: + abstract-leveldown: ^2.4.1 + lru-cache: ^3.2.0 + checksum: ffd229839ca7efbfa14e35321fb8df444421e192bdf7be16048a303d2a24f3ed86cbe6c7a8cca91761423e4c53c3ed1098d337bbb9d3448801d4792172b4ab3e + languageName: node + linkType: hard + +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:~1.0.2": + version: 1.0.2 + resolution: "call-bind@npm:1.0.2" + dependencies: + function-bind: ^1.1.1 + get-intrinsic: ^1.0.2 + checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 + languageName: node + linkType: hard + +"caller-callsite@npm:^2.0.0": + version: 2.0.0 + resolution: "caller-callsite@npm:2.0.0" + dependencies: + callsites: ^2.0.0 + checksum: b685e9d126d9247b320cfdfeb3bc8da0c4be28d8fb98c471a96bc51aab3130099898a2fe3bf0308f0fe048d64c37d6d09f563958b9afce1a1e5e63d879c128a2 + languageName: node + linkType: hard + +"caller-path@npm:^2.0.0": + version: 2.0.0 + resolution: "caller-path@npm:2.0.0" + dependencies: + caller-callsite: ^2.0.0 + checksum: 3e12ccd0c71ec10a057aac69e3ec175b721ca858c640df021ef0d25999e22f7c1d864934b596b7d47038e9b56b7ec315add042abbd15caac882998b50102fb12 + languageName: node + linkType: hard + +"callsites@npm:^2.0.0": + version: 2.0.0 + resolution: "callsites@npm:2.0.0" + checksum: be2f67b247df913732b7dec1ec0bbfcdbaea263e5a95968b19ec7965affae9496b970e3024317e6d4baa8e28dc6ba0cec03f46fdddc2fdcc51396600e53c2623 + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3 + languageName: node + linkType: hard + +"camelcase@npm:^3.0.0": + version: 3.0.0 + resolution: "camelcase@npm:3.0.0" + checksum: ae4fe1c17c8442a3a345a6b7d2393f028ab7a7601af0c352ad15d1ab97ca75112e19e29c942b2a214898e160194829b68923bce30e018d62149c6d84187f1673 + languageName: node + linkType: hard + +"camelcase@npm:^5.0.0": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b + languageName: node + linkType: hard + +"camelcase@npm:^6.0.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30000844": + version: 1.0.30001338 + resolution: "caniuse-lite@npm:1.0.30001338" + checksum: 80ac481b20aac13d6168825762e2ad9b9895d36451088b921400c3cd818185e6d113c2d202e82cf3b88f4d2311b3064507f2e3f9fe9f0935fcaf42d9d4f15570 + languageName: node + linkType: hard + +"caseless@npm:^0.12.0, caseless@npm:~0.12.0": + version: 0.12.0 + resolution: "caseless@npm:0.12.0" + checksum: b43bd4c440aa1e8ee6baefee8063b4850fd0d7b378f6aabc796c9ec8cb26d27fb30b46885350777d9bd079c5256c0e1329ad0dc7c2817e0bb466810ebb353751 + languageName: node + linkType: hard + +"celo-ethers-provider@npm:0.0.0": + version: 0.0.0 + resolution: "celo-ethers-provider@npm:0.0.0" + dependencies: + ethers: ^5.4.7 + checksum: e684dafae84dc6e1f88f1f9456e9eccbf225cac0b9075759a7341b1263afe8f9fed1fc515e6902429fdb24adb982e67b7b37f81d3708c1e47c6b365541c5eceb + languageName: node + linkType: hard + +"chai@npm:^4.3.0": + version: 4.3.6 + resolution: "chai@npm:4.3.6" + dependencies: + assertion-error: ^1.1.0 + check-error: ^1.0.2 + deep-eql: ^3.0.1 + get-func-name: ^2.0.0 + loupe: ^2.3.1 + pathval: ^1.1.1 + type-detect: ^4.0.5 + checksum: acff93fd537f96d4a4d62dd83810285dffcfccb5089e1bf2a1205b28ec82d93dff551368722893cf85004282df10ee68802737c33c90c5493957ed449ed7ce71 + languageName: node + linkType: hard + +"chalk@npm:^1.1.3": + version: 1.1.3 + resolution: "chalk@npm:1.1.3" + 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 + checksum: 9d2ea6b98fc2b7878829eec223abcf404622db6c48396a9b9257f6d0ead2acf18231ae368d6a664a83f272b0679158da12e97b5229f794939e555cc574478acd + languageName: node + linkType: hard + +"chalk@npm:^2.0.0, chalk@npm:^2.1.0, chalk@npm:^2.4.1, chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: ^3.2.1 + escape-string-regexp: ^1.0.5 + supports-color: ^5.3.0 + checksum: ec3661d38fe77f681200f878edbd9448821924e0f93a9cefc0e26a33b145f1027a2084bf19967160d11e1f03bfe4eaffcabf5493b89098b2782c3fe0b03d80c2 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.1.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: fe75c9d5c76a7a98d45495b91b2172fa3b7a09e0cc9370e5c8feb1c567b85c4288e2b3fded7cfdd7359ac28d6b3844feb8b82b8686842e93d23c827c417e83fc + languageName: node + linkType: hard + +"chardet@npm:^0.7.0": + version: 0.7.0 + resolution: "chardet@npm:0.7.0" + checksum: 6fd5da1f5d18ff5712c1e0aed41da200d7c51c28f11b36ee3c7b483f3696dabc08927fc6b227735eb8f0e1215c9a8abd8154637f3eff8cada5959df7f58b024d + languageName: node + linkType: hard + +"charenc@npm:>= 0.0.1": + version: 0.0.2 + resolution: "charenc@npm:0.0.2" + checksum: 81dcadbe57e861d527faf6dd3855dc857395a1c4d6781f4847288ab23cffb7b3ee80d57c15bba7252ffe3e5e8019db767757ee7975663ad2ca0939bb8fcaf2e5 + languageName: node + linkType: hard + +"check-error@npm:^1.0.2": + version: 1.0.2 + resolution: "check-error@npm:1.0.2" + checksum: d9d106504404b8addd1ee3f63f8c0eaa7cd962a1a28eb9c519b1c4a1dc7098be38007fc0060f045ee00f075fbb7a2a4f42abcf61d68323677e11ab98dc16042e + languageName: node + linkType: hard + +"checkpoint-store@npm:^1.1.0": + version: 1.1.0 + resolution: "checkpoint-store@npm:1.1.0" + dependencies: + functional-red-black-tree: ^1.0.1 + checksum: 94e921ccb222c7970615e8b2bcd956dbd52f15a1c397af0447dbdef8ecd32ffe342e394d39e55f2912278a460f3736de777b5b57a5baf229c0a6bd04d2465511 + languageName: node + linkType: hard + +"chokidar@npm:3.3.0": + version: 3.3.0 + resolution: "chokidar@npm:3.3.0" + dependencies: + anymatch: ~3.1.1 + braces: ~3.0.2 + fsevents: ~2.1.1 + glob-parent: ~5.1.0 + is-binary-path: ~2.1.0 + is-glob: ~4.0.1 + normalize-path: ~3.0.0 + readdirp: ~3.2.0 + dependenciesMeta: + fsevents: + optional: true + checksum: e9863256ebb29dbc5e58a7e2637439814beb63b772686cb9e94478312c24dcaf3d0570220c5e75ea29029f43b664f9956d87b716120d38cf755f32124f047e8e + languageName: node + linkType: hard + +"chokidar@npm:3.5.3, chokidar@npm:^3.4.0": + version: 3.5.3 + resolution: "chokidar@npm:3.5.3" + dependencies: + anymatch: ~3.1.2 + braces: ~3.0.2 + fsevents: ~2.3.2 + glob-parent: ~5.1.2 + is-binary-path: ~2.1.0 + is-glob: ~4.0.1 + normalize-path: ~3.0.0 + readdirp: ~3.6.0 + dependenciesMeta: + fsevents: + optional: true + checksum: b49fcde40176ba007ff361b198a2d35df60d9bb2a5aab228279eb810feae9294a6b4649ab15981304447afe1e6ffbf4788ad5db77235dc770ab777c6e771980c + languageName: node + linkType: hard + +"chownr@npm:^1.1.4": + version: 1.1.4 + resolution: "chownr@npm:1.1.4" + checksum: 115648f8eb38bac5e41c3857f3e663f9c39ed6480d1349977c4d96c95a47266fcacc5a5aabf3cb6c481e22d72f41992827db47301851766c4fd77ac21a4f081d + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f + languageName: node + linkType: hard + +"ci-info@npm:^2.0.0": + version: 2.0.0 + resolution: "ci-info@npm:2.0.0" + checksum: 3b374666a85ea3ca43fa49aa3a048d21c9b475c96eb13c133505d2324e7ae5efd6a454f41efe46a152269e9b6a00c9edbe63ec7fa1921957165aae16625acd67 + languageName: node + linkType: hard + +"cids@npm:^0.7.1": + version: 0.7.5 + resolution: "cids@npm:0.7.5" + dependencies: + buffer: ^5.5.0 + class-is: ^1.1.0 + multibase: ~0.6.0 + multicodec: ^1.0.0 + multihashes: ~0.4.15 + checksum: 54aa031bef76b08a2c934237696a4af2cfc8afb5d2727cb39ab69f6ac142ef312b9a0c6070dc2b4be0a43076d8961339d8bf85287773c647b3d1d25ce203f325 + languageName: node + linkType: hard + +"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": + version: 1.0.4 + resolution: "cipher-base@npm:1.0.4" + dependencies: + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + checksum: 47d3568dbc17431a339bad1fe7dff83ac0891be8206911ace3d3b818fc695f376df809bea406e759cdea07fff4b454fa25f1013e648851bec790c1d75763032e + languageName: node + linkType: hard + +"class-is@npm:^1.1.0": + version: 1.1.0 + resolution: "class-is@npm:1.1.0" + checksum: 49024de3b264fc501a38dd59d8668f1a2b4973fa6fcef6b83d80fe6fe99a2000a8fbea5b50d4607169c65014843c9f6b41a4f8473df806c1b4787b4d47521880 + languageName: node + linkType: hard + +"class-utils@npm:^0.3.5": + version: 0.3.6 + resolution: "class-utils@npm:0.3.6" + dependencies: + arr-union: ^3.1.0 + define-property: ^0.2.5 + isobject: ^3.0.0 + static-extend: ^0.1.1 + checksum: be108900801e639e50f96a7e4bfa8867c753a7750a7603879f3981f8b0a89cba657497a2d5f40cd4ea557ff15d535a100818bb486baf6e26fe5d7872e75f1078 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 2ac8cd2b2f5ec986a3c743935ec85b07bc174d5421a5efc8017e1f146a1cf5f781ae962618f416352103b32c9cd7e203276e8c28241bbe946160cab16149fb68 + languageName: node + linkType: hard + +"cli-cursor@npm:^2.1.0": + version: 2.1.0 + resolution: "cli-cursor@npm:2.1.0" + dependencies: + restore-cursor: ^2.0.0 + checksum: d88e97bfdac01046a3ffe7d49f06757b3126559d7e44aa2122637eb179284dc6cd49fca2fac4f67c19faaf7e6dab716b6fe1dfcd309977407d8c7578ec2d044d + languageName: node + linkType: hard + +"cli-table3@npm:^0.5.0": + version: 0.5.1 + resolution: "cli-table3@npm:0.5.1" + dependencies: + colors: ^1.1.2 + object-assign: ^4.1.0 + string-width: ^2.1.1 + dependenciesMeta: + colors: + optional: true + checksum: 3ff8c821440a2a0e655a01f04e5b54a0365b3814676cd93cec2b2b0b9952a08311797ad242a181733fcff714fa7d776f8bb45ad812f296390bfa5ef584fb231d + languageName: node + linkType: hard + +"cli-width@npm:^2.0.0": + version: 2.2.1 + resolution: "cli-width@npm:2.2.1" + checksum: 3c21b897a2ff551ae5b3c3ab32c866ed2965dcf7fb442f81adf0e27f4a397925c8f84619af7bcc6354821303f6ee9b2aa31d248306174f32c287986158cf4eed + languageName: node + linkType: hard + +"cliui@npm:^3.2.0": + version: 3.2.0 + resolution: "cliui@npm:3.2.0" + dependencies: + string-width: ^1.0.1 + strip-ansi: ^3.0.1 + wrap-ansi: ^2.0.0 + checksum: c68d1dbc3e347bfe79ed19cc7f48007d5edd6cd8438342e32073e0b4e311e3c44e1f4f19221462bc6590de56c2df520e427533a9dde95dee25710bec322746ad + languageName: node + linkType: hard + +"cliui@npm:^5.0.0": + version: 5.0.0 + resolution: "cliui@npm:5.0.0" + dependencies: + string-width: ^3.1.0 + strip-ansi: ^5.2.0 + wrap-ansi: ^5.1.0 + checksum: 0bb8779efe299b8f3002a73619eaa8add4081eb8d1c17bc4fedc6240557fb4eacdc08fe87c39b002eacb6cfc117ce736b362dbfd8bf28d90da800e010ee97df4 + languageName: node + linkType: hard + +"cliui@npm:^7.0.2": + version: 7.0.4 + resolution: "cliui@npm:7.0.4" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.0 + wrap-ansi: ^7.0.0 + checksum: ce2e8f578a4813806788ac399b9e866297740eecd4ad1823c27fd344d78b22c5f8597d548adbcc46f0573e43e21e751f39446c5a5e804a12aace402b7a315d7f + languageName: node + linkType: hard + +"clone-response@npm:^1.0.2": + version: 1.0.2 + resolution: "clone-response@npm:1.0.2" + dependencies: + mimic-response: ^1.0.0 + checksum: 2d0e61547fc66276e0903be9654ada422515f5a15741691352000d47e8c00c226061221074ce2c0064d12e975e84a8687cfd35d8b405750cb4e772f87b256eda + languageName: node + linkType: hard + +"clone@npm:2.1.2, clone@npm:^2.0.0": + version: 2.1.2 + resolution: "clone@npm:2.1.2" + checksum: aaf106e9bc025b21333e2f4c12da539b568db4925c0501a1bf4070836c9e848c892fa22c35548ce0d1132b08bbbfa17a00144fe58fccdab6fa900fec4250f67d + languageName: node + linkType: hard + +"code-point-at@npm:^1.0.0": + version: 1.1.0 + resolution: "code-point-at@npm:1.1.0" + checksum: 17d5666611f9b16d64fdf48176d9b7fb1c7d1c1607a189f7e600040a11a6616982876af148230336adb7d8fe728a559f743a4e29db3747e3b1a32fa7f4529681 + languageName: node + linkType: hard + +"collection-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "collection-visit@npm:1.0.0" + dependencies: + map-visit: ^1.0.0 + object-visit: ^1.0.0 + checksum: 15d9658fe6eb23594728346adad5433b86bb7a04fd51bbab337755158722f9313a5376ef479de5b35fbc54140764d0d39de89c339f5d25b959ed221466981da9 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: 1.1.3 + checksum: fd7a64a17cde98fb923b1dd05c5f2e6f7aefda1b60d67e8d449f9328b4e53b228a428fd38bfeaeb2db2ff6b6503a776a996150b80cdf224062af08a5c8a3a203 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: ~1.1.4 + checksum: 79e6bdb9fd479a205c71d89574fccfb22bd9053bd98c6c4d870d65c132e5e904e6034978e55b43d69fcaa7433af2016ee203ce76eeba9cfa554b373e7f7db336 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 09c5d3e33d2105850153b14466501f2bfb30324a2f76568a408763a3b7433b0e50e5b4ab1947868e65cb101bb7cb75029553f2c333b6d4b8138a73fcc133d69d + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610 + languageName: node + linkType: hard + +"color-support@npm:^1.1.3": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 9b7356817670b9a13a26ca5af1c21615463b500783b739b7634a0c2047c16cef4b2865d7576875c31c3cddf9dd621fa19285e628f20198b233a5cfdda6d0793b + languageName: node + linkType: hard + +"colors@npm:1.4.0, colors@npm:^1.1.2": + version: 1.4.0 + resolution: "colors@npm:1.4.0" + checksum: 98aa2c2418ad87dedf25d781be69dc5fc5908e279d9d30c34d8b702e586a0474605b3a189511482b9d5ed0d20c867515d22749537f7bc546256c6014f3ebdcec + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: ~1.0.0 + checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c + languageName: node + linkType: hard + +"command-exists@npm:^1.2.8": + version: 1.2.9 + resolution: "command-exists@npm:1.2.9" + checksum: 729ae3d88a2058c93c58840f30341b7f82688a573019535d198b57a4d8cb0135ced0ad7f52b591e5b28a90feb2c675080ce916e56254a0f7c15cb2395277cac3 + languageName: node + linkType: hard + +"command-line-args@npm:^4.0.7": + version: 4.0.7 + resolution: "command-line-args@npm:4.0.7" + dependencies: + array-back: ^2.0.0 + find-replace: ^1.0.3 + typical: ^2.6.1 + bin: + command-line-args: bin/cli.js + checksum: 618109143fbca741048d54a5d31a2a5e166fbda318ed1419c1ca66877ce92ed80d6768a52a2e6392eb751f16ca7755d4014ced6f5f858a68d0cbe793bab6e3ee + languageName: node + linkType: hard + +"commander@npm:2.18.0": + version: 2.18.0 + resolution: "commander@npm:2.18.0" + checksum: 3a31585348a5000bbdc457c9839aabbdf0bb0020e5dfaa1c9f9903680073d67c06911b55368e4c8df2ed166e0d4468f9a668585c1667c321804034a2819a819f + languageName: node + linkType: hard + +"commander@npm:3.0.2": + version: 3.0.2 + resolution: "commander@npm:3.0.2" + checksum: 6d14ad030d1904428139487ed31febcb04c1604db2b8d9fae711f60ee6718828dc0e11602249e91c8a97b0e721e9c6d53edbc166bad3cde1596851d59a8f824d + languageName: node + linkType: hard + +"component-emitter@npm:^1.2.1": + version: 1.3.0 + resolution: "component-emitter@npm:1.3.0" + checksum: b3c46de38ffd35c57d1c02488355be9f218e582aec72d72d1b8bbec95a3ac1b38c96cd6e03ff015577e68f550fbb361a3bfdbd9bb248be9390b7b3745691be6b + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 902a9f5d8967a3e2faf138d5cb784b9979bad2e6db5357c5b21c568df4ebe62bcb15108af1b2253744844eb964fc023fbd9afbbbb6ddd0bcc204c6fb5b7bf3af + languageName: node + linkType: hard + +"concat-stream@npm:^1.5.1, concat-stream@npm:^1.6.0, concat-stream@npm:^1.6.2": + version: 1.6.2 + resolution: "concat-stream@npm:1.6.2" + dependencies: + buffer-from: ^1.0.0 + inherits: ^2.0.3 + readable-stream: ^2.2.2 + typedarray: ^0.0.6 + checksum: 1ef77032cb4459dcd5187bd710d6fc962b067b64ec6a505810de3d2b8cc0605638551b42f8ec91edf6fcd26141b32ef19ad749239b58fae3aba99187adc32285 + languageName: node + linkType: hard + +"console-control-strings@npm:^1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed + languageName: node + linkType: hard + +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: 5.2.1 + checksum: afb9d545e296a5171d7574fcad634b2fdf698875f4006a9dd04a3e1333880c5c0c98d47b560d01216fb6505a54a2ba6a843ee3a02ec86d7e911e8315255f56c3 + languageName: node + linkType: hard + +"content-hash@npm:^2.5.2": + version: 2.5.2 + resolution: "content-hash@npm:2.5.2" + dependencies: + cids: ^0.7.1 + multicodec: ^0.5.5 + multihashes: ^0.4.15 + checksum: 31869e4d137b59d02003df0c0f0ad080744d878ed12a57f7d20b2cfd526d59d6317e9f52fa6e49cba59df7f9ab49ceb96d6a832685b85bae442e0c906f7193be + languageName: node + linkType: hard + +"content-type@npm:~1.0.4": + version: 1.0.4 + resolution: "content-type@npm:1.0.4" + checksum: 3d93585fda985d1554eca5ebd251994327608d2e200978fdbfba21c0c679914d5faf266d17027de44b34a72c7b0745b18584ecccaa7e1fdfb6a68ac7114f12e0 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.5.1": + version: 1.8.0 + resolution: "convert-source-map@npm:1.8.0" + dependencies: + safe-buffer: ~5.1.1 + checksum: 985d974a2d33e1a2543ada51c93e1ba2f73eaed608dc39f229afc78f71dcc4c8b7d7c684aa647e3c6a3a204027444d69e53e169ce94e8d1fa8d7dee80c9c8fed + languageName: node + linkType: hard + +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: f4e1b0a98a27a0e6e66fd7ea4e4e9d8e038f624058371bf4499cfcd8f3980be9a121486995202ba3fca74fbed93a407d6d54d43a43f96fd28d0bd7a06761591a + languageName: node + linkType: hard + +"cookie@npm:0.5.0": + version: 0.5.0 + resolution: "cookie@npm:0.5.0" + checksum: 1f4bd2ca5765f8c9689a7e8954183f5332139eb72b6ff783d8947032ec1fdf43109852c178e21a953a30c0dd42257828185be01b49d1eb1a67fd054ca588a180 + languageName: node + linkType: hard + +"cookie@npm:^0.4.1": + version: 0.4.2 + resolution: "cookie@npm:0.4.2" + checksum: a00833c998bedf8e787b4c342defe5fa419abd96b32f4464f718b91022586b8f1bafbddd499288e75c037642493c83083da426c6a9080d309e3bd90fd11baa9b + languageName: node + linkType: hard + +"cookiejar@npm:^2.1.1": + version: 2.1.3 + resolution: "cookiejar@npm:2.1.3" + checksum: 88259983ebc52ceb23cdacfa48762b6a518a57872eff1c7ed01d214fff5cf492e2660d7d5c04700a28f1787a76811df39e8639f8e17670b3cf94ecd86e161f07 + languageName: node + linkType: hard + +"copy-descriptor@npm:^0.1.0": + version: 0.1.1 + resolution: "copy-descriptor@npm:0.1.1" + checksum: d4b7b57b14f1d256bb9aa0b479241048afd7f5bcf22035fc7b94e8af757adeae247ea23c1a774fe44869fd5694efba4a969b88d966766c5245fdee59837fe45b + languageName: node + linkType: hard + +"core-js-pure@npm:^3.0.1": + version: 3.22.4 + resolution: "core-js-pure@npm:3.22.4" + checksum: 5499aaf7b90da501552f34ffec11853dd41bbd00c5ce9511e0a292edc581b55598a58c5f98f3aecb3d63d893875cef8d631f10fe9984a101a86b7b1ec564b650 + languageName: node + linkType: hard + +"core-js@npm:^2.4.0, core-js@npm:^2.5.0": + version: 2.6.12 + resolution: "core-js@npm:2.6.12" + checksum: 44fa9934a85f8c78d61e0c8b7b22436330471ffe59ec5076fe7f324d6e8cf7f824b14b1c81ca73608b13bdb0fef035bd820989bf059767ad6fa13123bb8bd016 + languageName: node + linkType: hard + +"core-util-is@npm:1.0.2": + version: 1.0.2 + resolution: "core-util-is@npm:1.0.2" + checksum: 7a4c925b497a2c91421e25bf76d6d8190f0b2359a9200dbeed136e63b2931d6294d3b1893eda378883ed363cd950f44a12a401384c609839ea616befb7927dab + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 + languageName: node + linkType: hard + +"cors@npm:^2.8.1": + version: 2.8.5 + resolution: "cors@npm:2.8.5" + dependencies: + object-assign: ^4 + vary: ^1 + checksum: ced838404ccd184f61ab4fdc5847035b681c90db7ac17e428f3d81d69e2989d2b680cc254da0e2554f5ed4f8a341820a1ce3d1c16b499f6e2f47a1b9b07b5006 + languageName: node + linkType: hard + +"cosmiconfig@npm:^5.0.7": + version: 5.2.1 + resolution: "cosmiconfig@npm:5.2.1" + dependencies: + import-fresh: ^2.0.0 + is-directory: ^0.3.1 + js-yaml: ^3.13.1 + parse-json: ^4.0.0 + checksum: 8b6f1d3c8a5ffdf663a952f17af0761adf210b7a5933d0fe8988f3ca3a1f0e1e5cbbb74d5b419c15933dd2fdcaec31dbc5cc85cb8259a822342b93b529eff89c + languageName: node + linkType: hard + +"crc-32@npm:^1.2.0": + version: 1.2.2 + resolution: "crc-32@npm:1.2.2" + bin: + crc32: bin/crc32.njs + checksum: ad2d0ad0cbd465b75dcaeeff0600f8195b686816ab5f3ba4c6e052a07f728c3e70df2e3ca9fd3d4484dc4ba70586e161ca5a2334ec8bf5a41bf022a6103ff243 + languageName: node + linkType: hard + +"create-ecdh@npm:^4.0.0": + version: 4.0.4 + resolution: "create-ecdh@npm:4.0.4" + dependencies: + bn.js: ^4.1.0 + elliptic: ^6.5.3 + checksum: 0dd7fca9711d09e152375b79acf1e3f306d1a25ba87b8ff14c2fd8e68b83aafe0a7dd6c4e540c9ffbdd227a5fa1ad9b81eca1f233c38bb47770597ba247e614b + languageName: node + linkType: hard + +"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": + version: 1.2.0 + resolution: "create-hash@npm:1.2.0" + dependencies: + cipher-base: ^1.0.1 + inherits: ^2.0.1 + md5.js: ^1.3.4 + ripemd160: ^2.0.1 + sha.js: ^2.4.0 + checksum: 02a6ae3bb9cd4afee3fabd846c1d8426a0e6b495560a977ba46120c473cb283be6aa1cace76b5f927cf4e499c6146fb798253e48e83d522feba807d6b722eaa9 + languageName: node + linkType: hard + +"create-hmac@npm:^1.1.0, create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": + version: 1.1.7 + resolution: "create-hmac@npm:1.1.7" + dependencies: + cipher-base: ^1.0.3 + create-hash: ^1.1.0 + inherits: ^2.0.1 + ripemd160: ^2.0.0 + safe-buffer: ^5.0.1 + sha.js: ^2.4.8 + checksum: ba12bb2257b585a0396108c72830e85f882ab659c3320c83584b1037f8ab72415095167ced80dc4ce8e446a8ecc4b2acf36d87befe0707d73b26cf9dc77440ed + languageName: node + linkType: hard + +"create-require@npm:^1.1.0": + version: 1.1.1 + resolution: "create-require@npm:1.1.1" + checksum: a9a1503d4390d8b59ad86f4607de7870b39cad43d929813599a23714831e81c520bddf61bcdd1f8e30f05fd3a2b71ae8538e946eb2786dc65c2bbc520f692eff + languageName: node + linkType: hard + +"cross-fetch@npm:^2.1.0, cross-fetch@npm:^2.1.1": + version: 2.2.6 + resolution: "cross-fetch@npm:2.2.6" + dependencies: + node-fetch: ^2.6.7 + whatwg-fetch: ^2.0.4 + checksum: df9c6728b314ff96022dca468a3d2a05b4546cd318d82a7e1f1445e7160472d39029bccbe5f20d319b8ba3793930592b0b956244aef6a87a133fbcfed85fc8ca + languageName: node + linkType: hard + +"cross-spawn@npm:^6.0.5": + version: 6.0.5 + resolution: "cross-spawn@npm:6.0.5" + dependencies: + nice-try: ^1.0.4 + path-key: ^2.0.1 + semver: ^5.5.0 + shebang-command: ^1.2.0 + which: ^1.2.9 + checksum: f893bb0d96cd3d5751d04e67145bdddf25f99449531a72e82dcbbd42796bbc8268c1076c6b3ea51d4d455839902804b94bc45dfb37ecbb32ea8e54a6741c3ab9 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.2": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: ^3.1.0 + shebang-command: ^2.0.0 + which: ^2.0.1 + checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 + languageName: node + linkType: hard + +"crypt@npm:>= 0.0.1": + version: 0.0.2 + resolution: "crypt@npm:0.0.2" + checksum: baf4c7bbe05df656ec230018af8cf7dbe8c14b36b98726939cef008d473f6fe7a4fad906cfea4062c93af516f1550a3f43ceb4d6615329612c6511378ed9fe34 + languageName: node + linkType: hard + +"crypto-browserify@npm:3.12.0": + version: 3.12.0 + resolution: "crypto-browserify@npm:3.12.0" + dependencies: + browserify-cipher: ^1.0.0 + browserify-sign: ^4.0.0 + create-ecdh: ^4.0.0 + create-hash: ^1.1.0 + create-hmac: ^1.1.0 + diffie-hellman: ^5.0.0 + inherits: ^2.0.1 + pbkdf2: ^3.0.3 + public-encrypt: ^4.0.0 + randombytes: ^2.0.0 + randomfill: ^1.0.3 + checksum: c1609af82605474262f3eaa07daa0b2140026bd264ab316d4bf1170272570dbe02f0c49e29407fe0d3634f96c507c27a19a6765fb856fed854a625f9d15618e2 + languageName: node + linkType: hard + +"d@npm:1, d@npm:^1.0.1": + version: 1.0.1 + resolution: "d@npm:1.0.1" + dependencies: + es5-ext: ^0.10.50 + type: ^1.0.1 + checksum: 49ca0639c7b822db670de93d4fbce44b4aa072cd848c76292c9978a8cd0fff1028763020ff4b0f147bd77bfe29b4c7f82e0f71ade76b2a06100543cdfd948d19 + languageName: node + linkType: hard + +"dashdash@npm:^1.12.0": + version: 1.14.1 + resolution: "dashdash@npm:1.14.1" + dependencies: + assert-plus: ^1.0.0 + checksum: 3634c249570f7f34e3d34f866c93f866c5b417f0dd616275decae08147dcdf8fccfaa5947380ccfb0473998ea3a8057c0b4cd90c875740ee685d0624b2983598 + languageName: node + linkType: hard + +"death@npm:^1.1.0": + version: 1.1.0 + resolution: "death@npm:1.1.0" + checksum: 8010ba9a320752f9580eb474985ed214572c0595cf83e92859e3c5a014a01fc8e8f2f2908b80b5f8bca9cb3f94adb546cf55810df6b80e282452e355cdce5aaa + languageName: node + linkType: hard + +"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.0, debug@npm:^2.6.8, debug@npm:^2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: 2.0.0 + checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6 + languageName: node + linkType: hard + +"debug@npm:3.2.6": + version: 3.2.6 + resolution: "debug@npm:3.2.6" + dependencies: + ms: ^2.1.1 + checksum: 07bc8b3a13ef3cfa6c06baf7871dfb174c291e5f85dbf566f086620c16b9c1a0e93bb8f1935ebbd07a683249e7e30286f2966e2ef461e8fd17b1b60732062d6b + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.3": + version: 4.3.4 + resolution: "debug@npm:4.3.4" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708 + languageName: node + linkType: hard + +"debug@npm:4.3.3": + version: 4.3.3 + resolution: "debug@npm:4.3.3" + dependencies: + ms: 2.1.2 + peerDependenciesMeta: + supports-color: + optional: true + checksum: 14472d56fe4a94dbcfaa6dbed2dd3849f1d72ba78104a1a328047bb564643ca49df0224c3a17fa63533fd11dd3d4c8636cd861191232a2c6735af00cc2d4de16 + languageName: node + linkType: hard + +"debug@npm:^3.1.0": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: ^2.1.1 + checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c + languageName: node + linkType: hard + +"decamelize@npm:^1.1.1, decamelize@npm:^1.2.0": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa + languageName: node + linkType: hard + +"decamelize@npm:^4.0.0": + version: 4.0.0 + resolution: "decamelize@npm:4.0.0" + checksum: b7d09b82652c39eead4d6678bb578e3bebd848add894b76d0f6b395bc45b2d692fb88d977e7cfb93c4ed6c119b05a1347cef261174916c2e75c0a8ca57da1809 + languageName: node + linkType: hard + +"decode-uri-component@npm:^0.2.0": + version: 0.2.0 + resolution: "decode-uri-component@npm:0.2.0" + checksum: f3749344ab9305ffcfe4bfe300e2dbb61fc6359e2b736812100a3b1b6db0a5668cba31a05e4b45d4d63dbf1a18dfa354cd3ca5bb3ededddabb8cd293f4404f94 + languageName: node + linkType: hard + +"decompress-response@npm:^3.2.0, decompress-response@npm:^3.3.0": + version: 3.3.0 + resolution: "decompress-response@npm:3.3.0" + dependencies: + mimic-response: ^1.0.0 + checksum: 952552ac3bd7de2fc18015086b09468645c9638d98a551305e485230ada278c039c91116e946d07894b39ee53c0f0d5b6473f25a224029344354513b412d7380 + languageName: node + linkType: hard + +"deep-eql@npm:^3.0.1": + version: 3.0.1 + resolution: "deep-eql@npm:3.0.1" + dependencies: + type-detect: ^4.0.0 + checksum: 4f4c9fb79eb994fb6e81d4aa8b063adc40c00f831588aa65e20857d5d52f15fb23034a6576ecf886f7ff6222d5ae42e71e9b7d57113e0715b1df7ea1e812b125 + languageName: node + linkType: hard + +"deep-equal@npm:~1.1.1": + version: 1.1.1 + resolution: "deep-equal@npm:1.1.1" + dependencies: + is-arguments: ^1.0.4 + is-date-object: ^1.0.1 + is-regex: ^1.0.4 + object-is: ^1.0.1 + object-keys: ^1.1.1 + regexp.prototype.flags: ^1.2.0 + checksum: f92686f2c5bcdf714a75a5fa7a9e47cb374a8ec9307e717b8d1ce61f56a75aaebf5619c2a12b8087a705b5a2f60d0292c35f8b58cb1f72e3268a3a15cab9f78d + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 + languageName: node + linkType: hard + +"defer-to-connect@npm:^1.0.1": + version: 1.1.3 + resolution: "defer-to-connect@npm:1.1.3" + checksum: 9491b301dcfa04956f989481ba7a43c2231044206269eb4ab64a52d6639ee15b1252262a789eb4239fb46ab63e44d4e408641bae8e0793d640aee55398cb3930 + languageName: node + linkType: hard + +"deferred-leveldown@npm:~1.2.1": + version: 1.2.2 + resolution: "deferred-leveldown@npm:1.2.2" + dependencies: + abstract-leveldown: ~2.6.0 + checksum: ad3a26d20dc80c702c85c4795cbb52ef25d8e500728c98098b468c499ca745051e6cc03bd12be97ff38c43466a7895879db76ffb761a75b0f009829d990a0ea9 + languageName: node + linkType: hard + +"deferred-leveldown@npm:~4.0.0": + version: 4.0.2 + resolution: "deferred-leveldown@npm:4.0.2" + dependencies: + abstract-leveldown: ~5.0.0 + inherits: ^2.0.3 + checksum: 6b3649bbb7a2617e08eecdddb516d0bde215bd376a37089df203ad78627f59c424c785afbcbfd3e53488d4f9e5d27d9d126d5645b7da53e8760cc34df2d2f13e + languageName: node + linkType: hard + +"deferred-leveldown@npm:~5.3.0": + version: 5.3.0 + resolution: "deferred-leveldown@npm:5.3.0" + dependencies: + abstract-leveldown: ~6.2.1 + inherits: ^2.0.3 + checksum: 5631e153528bb9de1aa60d59a5065d1a519374c5e4c1d486f2190dba4008dcf5c2ee8dd7f2f81396fc4d5a6bb6e7d0055e3dfe68afe00da02adaa3bf329addf7 + languageName: node + linkType: hard + +"define-properties@npm:^1.1.2, define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": + version: 1.1.4 + resolution: "define-properties@npm:1.1.4" + dependencies: + has-property-descriptors: ^1.0.0 + object-keys: ^1.1.1 + checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b + languageName: node + linkType: hard + +"define-property@npm:^0.2.5": + version: 0.2.5 + resolution: "define-property@npm:0.2.5" + dependencies: + is-descriptor: ^0.1.0 + checksum: 85af107072b04973b13f9e4128ab74ddfda48ec7ad2e54b193c0ffb57067c4ce5b7786a7b4ae1f24bd03e87c5d18766b094571810b314d7540f86d4354dbd394 + languageName: node + linkType: hard + +"define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "define-property@npm:1.0.0" + dependencies: + is-descriptor: ^1.0.0 + checksum: 5fbed11dace44dd22914035ba9ae83ad06008532ca814d7936a53a09e897838acdad5b108dd0688cc8d2a7cf0681acbe00ee4136cf36743f680d10517379350a + languageName: node + linkType: hard + +"define-property@npm:^2.0.2": + version: 2.0.2 + resolution: "define-property@npm:2.0.2" + dependencies: + is-descriptor: ^1.0.2 + isobject: ^3.0.1 + checksum: 3217ed53fc9eed06ba8da6f4d33e28c68a82e2f2a8ab4d562c4920d8169a166fe7271453675e6c69301466f36a65d7f47edf0cf7f474b9aa52a5ead9c1b13c99 + languageName: node + linkType: hard + +"defined@npm:~1.0.0": + version: 1.0.0 + resolution: "defined@npm:1.0.0" + checksum: 77672997c5001773371c4dbcce98da0b3dc43089d6da2ad87c4b800adb727633cea8723ea3889fe0c2112a2404e2fd07e3bfd0e55f7426aa6441d8992045dbd5 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 46fe6e83e2cb1d85ba50bd52803c68be9bd953282fa7096f51fc29edd5d67ff84ff753c51966061e5ba7cb5e47ef6d36a91924eddb7f3f3483b1c560f77a0020 + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd + languageName: node + linkType: hard + +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a + languageName: node + linkType: hard + +"depd@npm:^1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 + languageName: node + linkType: hard + +"des.js@npm:^1.0.0": + version: 1.0.1 + resolution: "des.js@npm:1.0.1" + dependencies: + inherits: ^2.0.1 + minimalistic-assert: ^1.0.0 + checksum: 1ec2eedd7ed6bd61dd5e0519fd4c96124e93bb22de8a9d211b02d63e5dd152824853d919bb2090f965cc0e3eb9c515950a9836b332020d810f9c71feb0fd7df4 + languageName: node + linkType: hard + +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 0acb300b7478a08b92d810ab229d5afe0d2f4399272045ab22affa0d99dbaf12637659411530a6fcd597a9bdac718fc94373a61a95b4651bbc7b83684a565e38 + languageName: node + linkType: hard + +"detect-indent@npm:^4.0.0": + version: 4.0.0 + resolution: "detect-indent@npm:4.0.0" + dependencies: + repeating: ^2.0.0 + checksum: 328f273915c1610899bc7d4784ce874413d0a698346364cd3ee5d79afba1c5cf4dbc97b85a801e20f4d903c0598bd5096af32b800dfb8696b81464ccb3dfda2c + languageName: node + linkType: hard + +"detect-port@npm:^1.3.0": + version: 1.3.0 + resolution: "detect-port@npm:1.3.0" + dependencies: + address: ^1.0.1 + debug: ^2.6.0 + bin: + detect: ./bin/detect-port + detect-port: ./bin/detect-port + checksum: 93c40febe714f56711d1fedc2b7a9cc4cbaa0fcddec0509876c46b9dd6099ed6bfd6662a4f35e5fa0301660f48ed516829253ab0fc90b9e79b823dd77786b379 + languageName: node + linkType: hard + +"diff@npm:3.5.0": + version: 3.5.0 + resolution: "diff@npm:3.5.0" + checksum: 00842950a6551e26ce495bdbce11047e31667deea546527902661f25cc2e73358967ebc78cf86b1a9736ec3e14286433225f9970678155753a6291c3bca5227b + languageName: node + linkType: hard + +"diff@npm:5.0.0": + version: 5.0.0 + resolution: "diff@npm:5.0.0" + checksum: f19fe29284b633afdb2725c2a8bb7d25761ea54d321d8e67987ac851c5294be4afeab532bd84531e02583a3fe7f4014aa314a3eda84f5590e7a9e6b371ef3b46 + languageName: node + linkType: hard + +"diff@npm:^4.0.1": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: f2c09b0ce4e6b301c221addd83bf3f454c0bc00caa3dd837cf6c127d6edf7223aa2bbe3b688feea110b7f262adbfc845b757c44c8a9f8c0c5b15d8fa9ce9d20d + languageName: node + linkType: hard + +"diffie-hellman@npm:^5.0.0": + version: 5.0.3 + resolution: "diffie-hellman@npm:5.0.3" + dependencies: + bn.js: ^4.1.0 + miller-rabin: ^4.0.0 + randombytes: ^2.0.0 + checksum: 0e620f322170c41076e70181dd1c24e23b08b47dbb92a22a644f3b89b6d3834b0f8ee19e37916164e5eb1ee26d2aa836d6129f92723995267250a0b541811065 + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: ^4.0.0 + checksum: fa05e18324510d7283f55862f3161c6759a3f2f8dbce491a2fc14c8324c498286c54282c1f0e933cb930da8419b30679389499b919122952a4f8592362ef4615 + languageName: node + linkType: hard + +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: ^2.0.2 + checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce + languageName: node + linkType: hard + +"dom-walk@npm:^0.1.0": + version: 0.1.2 + resolution: "dom-walk@npm:0.1.2" + checksum: 19eb0ce9c6de39d5e231530685248545d9cd2bd97b2cb3486e0bfc0f2a393a9addddfd5557463a932b52fdfcf68ad2a619020cd2c74a5fe46fbecaa8e80872f3 + languageName: node + linkType: hard + +"dotignore@npm:~0.1.2": + version: 0.1.2 + resolution: "dotignore@npm:0.1.2" + dependencies: + minimatch: ^3.0.4 + bin: + ignored: bin/ignored + checksum: 06bab15e2a2400c6f823a0edbcd73661180f6245a4041a3fe3b9fde4b22ae74b896604df4520a877093f05c656bd080087376c9f605bccdea847664c59910f37 + languageName: node + linkType: hard + +"duplexer3@npm:^0.1.4": + version: 0.1.4 + resolution: "duplexer3@npm:0.1.4" + checksum: c2fd6969314607d23439c583699aaa43c4100d66b3e161df55dccd731acc57d5c81a64bb4f250805fbe434ddb1d2623fee2386fb890f5886ca1298690ec53415 + languageName: node + linkType: hard + +"ecc-jsbn@npm:~0.1.1": + version: 0.1.2 + resolution: "ecc-jsbn@npm:0.1.2" + dependencies: + jsbn: ~0.1.0 + safer-buffer: ^2.1.0 + checksum: 22fef4b6203e5f31d425f5b711eb389e4c6c2723402e389af394f8411b76a488fa414d309d866e2b577ce3e8462d344205545c88a8143cc21752a5172818888a + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 1b4cac778d64ce3b582a7e26b218afe07e207a0f9bfe13cc7395a6d307849cfe361e65033c3251e00c27dd060cab43014c2d6b2647676135e18b77d2d05b3f4f + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.3.47": + version: 1.4.137 + resolution: "electron-to-chromium@npm:1.4.137" + checksum: 639d7b94906efafcf363519c3698eecc44be46755a6a5cdc9088954329978866cc93fbd57e08b97290599b68d5226243d21de9fa50be416b8a5d3fa8fd42c3a0 + languageName: node + linkType: hard + +"elliptic@npm:6.5.4, elliptic@npm:^6.4.0, elliptic@npm:^6.5.2, elliptic@npm:^6.5.3, elliptic@npm:^6.5.4": + version: 6.5.4 + resolution: "elliptic@npm:6.5.4" + dependencies: + bn.js: ^4.11.9 + brorand: ^1.1.0 + hash.js: ^1.0.0 + hmac-drbg: ^1.0.1 + inherits: ^2.0.4 + minimalistic-assert: ^1.0.1 + minimalistic-crypto-utils: ^1.0.1 + checksum: d56d21fd04e97869f7ffcc92e18903b9f67f2d4637a23c860492fbbff5a3155fd9ca0184ce0c865dd6eb2487d234ce9551335c021c376cd2d3b7cb749c7d10f4 + languageName: node + linkType: hard + +"emoji-regex@npm:^10.0.0": + version: 10.1.0 + resolution: "emoji-regex@npm:10.1.0" + checksum: 5bc780fc4d75f89369155a87c55f7e83a0bf72bcccda7df7f2c570cde4738d8b17d112d12afdadfec16647d1faef6501307b4304f81d35c823a938fe6547df0f + languageName: node + linkType: hard + +"emoji-regex@npm:^7.0.1": + version: 7.0.3 + resolution: "emoji-regex@npm:7.0.3" + checksum: 9159b2228b1511f2870ac5920f394c7e041715429a68459ebe531601555f11ea782a8e1718f969df2711d38c66268174407cbca57ce36485544f695c2dfdc96e + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: d4c5c39d5a9868b5fa152f00cada8a936868fd3367f33f71be515ecee4c803132d11b31a6222b2571b1e5f7e13890156a94880345594d0ce7e3c9895f560f192 + languageName: node + linkType: hard + +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: e50e3d508cdd9c4565ba72d2012e65038e5d71bdc9198cb125beb6237b5b1ade6c0d343998da9e170fb2eae52c1bed37d4d6d98a46ea423a0cddbed5ac3f780c + languageName: node + linkType: hard + +"encoding-down@npm:5.0.4, encoding-down@npm:~5.0.0": + version: 5.0.4 + resolution: "encoding-down@npm:5.0.4" + dependencies: + abstract-leveldown: ^5.0.0 + inherits: ^2.0.3 + level-codec: ^9.0.0 + level-errors: ^2.0.0 + xtend: ^4.0.1 + checksum: b8d9d4b058622c11e33d8ec0fb6432194925e109ed8e44e93555406496e8b77b294c8c338dd5ed9ab8d7bc50250a48bb93f9af62ecee3ce8d82f4ef78b2ca880 + languageName: node + linkType: hard + +"encoding-down@npm:^6.3.0": + version: 6.3.0 + resolution: "encoding-down@npm:6.3.0" + dependencies: + abstract-leveldown: ^6.2.1 + inherits: ^2.0.3 + level-codec: ^9.0.0 + level-errors: ^2.0.0 + checksum: 74043e6d9061a470614ff61d708c849259ab32932a428fd5ddfb0878719804f56a52f59b31cccd95fddc2e636c0fd22dc3e02481fb98d5bf1bdbbbc44ca09bdc + languageName: node + linkType: hard + +"encoding@npm:^0.1.11, encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: ^0.6.2 + checksum: bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f + languageName: node + linkType: hard + +"end-of-stream@npm:^1.1.0": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" + dependencies: + once: ^1.4.0 + checksum: 530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b + languageName: node + linkType: hard + +"enquirer@npm:^2.3.0, enquirer@npm:^2.3.5": + version: 2.3.6 + resolution: "enquirer@npm:2.3.6" + dependencies: + ansi-colors: ^4.1.1 + checksum: 1c0911e14a6f8d26721c91e01db06092a5f7675159f0261d69c403396a385afd13dd76825e7678f66daffa930cfaa8d45f506fb35f818a2788463d022af1b884 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 8b7b1be20d2de12d2255c0bc2ca638b7af5171142693299416e6a9339bd7d88fc8d7707d913d78e0993176005405a236b066b45666b27b797252c771156ace54 + languageName: node + linkType: hard + +"errno@npm:~0.1.1": + version: 0.1.8 + resolution: "errno@npm:0.1.8" + dependencies: + prr: ~1.0.1 + bin: + errno: cli.js + checksum: 1271f7b9fbb3bcbec76ffde932485d1e3561856d21d847ec613a9722ee924cdd4e523a62dc71a44174d91e898fe21fdc8d5b50823f4b5e0ce8c35c8271e6ef4a + languageName: node + linkType: hard + +"error-ex@npm:^1.2.0, error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: ^0.2.1 + checksum: c1c2b8b65f9c91b0f9d75f0debaa7ec5b35c266c2cac5de412c1a6de86d4cbae04ae44e510378cb14d032d0645a36925d0186f8bb7367bcc629db256b743a001 + languageName: node + linkType: hard + +"es-abstract@npm:^1.18.5, es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.5": + version: 1.20.0 + resolution: "es-abstract@npm:1.20.0" + dependencies: + call-bind: ^1.0.2 + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + function.prototype.name: ^1.1.5 + get-intrinsic: ^1.1.1 + get-symbol-description: ^1.0.0 + has: ^1.0.3 + has-property-descriptors: ^1.0.0 + has-symbols: ^1.0.3 + internal-slot: ^1.0.3 + is-callable: ^1.2.4 + is-negative-zero: ^2.0.2 + is-regex: ^1.1.4 + is-shared-array-buffer: ^1.0.2 + is-string: ^1.0.7 + is-weakref: ^1.0.2 + object-inspect: ^1.12.0 + object-keys: ^1.1.1 + object.assign: ^4.1.2 + regexp.prototype.flags: ^1.4.1 + string.prototype.trimend: ^1.0.5 + string.prototype.trimstart: ^1.0.5 + unbox-primitive: ^1.0.2 + checksum: c9cc85a7aa0e3cdef740293b4b90892d6954e4e834d0888e3071cc9544bce0ae12923f5026a1970e0ac75a254d311d53e72ba4675647b81e7ca05acb703004e6 + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.2.1": + version: 1.2.1 + resolution: "es-to-primitive@npm:1.2.1" + dependencies: + is-callable: ^1.1.4 + is-date-object: ^1.0.1 + is-symbol: ^1.0.2 + checksum: 4ead6671a2c1402619bdd77f3503991232ca15e17e46222b0a41a5d81aebc8740a77822f5b3c965008e631153e9ef0580540007744521e72de8e33599fca2eed + languageName: node + linkType: hard + +"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.50": + version: 0.10.61 + resolution: "es5-ext@npm:0.10.61" + dependencies: + es6-iterator: ^2.0.3 + es6-symbol: ^3.1.3 + next-tick: ^1.1.0 + checksum: 2f2034e91e77fe247d94f0fd13a94bcf113273b7cc4650794d6795e377267ffb2425d3a891bd8c4d9c8b990e16e17dd7c28f12dbd3fa4b0909d0874892f491bf + languageName: node + linkType: hard + +"es6-iterator@npm:^2.0.3": + version: 2.0.3 + resolution: "es6-iterator@npm:2.0.3" + dependencies: + d: 1 + es5-ext: ^0.10.35 + es6-symbol: ^3.1.1 + checksum: 6e48b1c2d962c21dee604b3d9f0bc3889f11ed5a8b33689155a2065d20e3107e2a69cc63a71bd125aeee3a589182f8bbcb5c8a05b6a8f38fa4205671b6d09697 + languageName: node + linkType: hard + +"es6-symbol@npm:^3.1.1, es6-symbol@npm:^3.1.3": + version: 3.1.3 + resolution: "es6-symbol@npm:3.1.3" + dependencies: + d: ^1.0.1 + ext: ^1.1.2 + checksum: cd49722c2a70f011eb02143ef1c8c70658d2660dead6641e160b94619f408b9cf66425515787ffe338affdf0285ad54f4eae30ea5bd510e33f8659ec53bcaa70 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.1.1 + resolution: "escalade@npm:3.1.1" + checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 + languageName: node + linkType: hard + +"escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24 + languageName: node + linkType: hard + +"escape-string-regexp@npm:1.0.5, escape-string-regexp@npm:^1.0.2, escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 + languageName: node + linkType: hard + +"escape-string-regexp@npm:4.0.0, escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 + languageName: node + linkType: hard + +"escodegen@npm:1.8.x": + version: 1.8.1 + resolution: "escodegen@npm:1.8.1" + dependencies: + esprima: ^2.7.1 + estraverse: ^1.9.1 + esutils: ^2.0.2 + optionator: ^0.8.1 + source-map: ~0.2.0 + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: ./bin/escodegen.js + esgenerate: ./bin/esgenerate.js + checksum: 99f5579dbc309d8f95f8051cce2f85620c073ff1d4f7b58197addee7e81aeb5281dadfbd446a0885b8fb8c0c47ce5c2cdb5f97dbfddccb5126cca5eb9af73992 + languageName: node + linkType: hard + +"eslint-scope@npm:^4.0.3": + version: 4.0.3 + resolution: "eslint-scope@npm:4.0.3" + dependencies: + esrecurse: ^4.1.0 + estraverse: ^4.1.1 + checksum: c5f835f681884469991fe58d76a554688d9c9e50811299ccd4a8f79993a039f5bcb0ee6e8de2b0017d97c794b5832ef3b21c9aac66228e3aa0f7a0485bcfb65b + languageName: node + linkType: hard + +"eslint-scope@npm:^5.1.1": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" + dependencies: + esrecurse: ^4.3.0 + estraverse: ^4.1.1 + checksum: 47e4b6a3f0cc29c7feedee6c67b225a2da7e155802c6ea13bbef4ac6b9e10c66cd2dcb987867ef176292bf4e64eccc680a49e35e9e9c669f4a02bac17e86abdb + languageName: node + linkType: hard + +"eslint-utils@npm:^1.3.1": + version: 1.4.3 + resolution: "eslint-utils@npm:1.4.3" + dependencies: + eslint-visitor-keys: ^1.1.0 + checksum: a20630e686034107138272f245c460f6d77705d1f4bb0628c1a1faf59fc800f441188916b3ec3b957394dc405aa200a3017dfa2b0fff0976e307a4e645a18d1e + languageName: node + linkType: hard + +"eslint-utils@npm:^2.1.0": + version: 2.1.0 + resolution: "eslint-utils@npm:2.1.0" + dependencies: + eslint-visitor-keys: ^1.1.0 + checksum: 27500938f348da42100d9e6ad03ae29b3de19ba757ae1a7f4a087bdcf83ac60949bbb54286492ca61fac1f5f3ac8692dd21537ce6214240bf95ad0122f24d71d + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^1.0.0, eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0": + version: 1.3.0 + resolution: "eslint-visitor-keys@npm:1.3.0" + checksum: 37a19b712f42f4c9027e8ba98c2b06031c17e0c0a4c696cd429bd9ee04eb43889c446f2cd545e1ff51bef9593fcec94ecd2c2ef89129fcbbf3adadbef520376a + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^2.0.0": + version: 2.1.0 + resolution: "eslint-visitor-keys@npm:2.1.0" + checksum: e3081d7dd2611a35f0388bbdc2f5da60b3a3c5b8b6e928daffff7391146b434d691577aa95064c8b7faad0b8a680266bcda0a42439c18c717b80e6718d7e267d + languageName: node + linkType: hard + +"eslint@npm:^5.6.0": + version: 5.16.0 + resolution: "eslint@npm:5.16.0" + dependencies: + "@babel/code-frame": ^7.0.0 + ajv: ^6.9.1 + chalk: ^2.1.0 + cross-spawn: ^6.0.5 + debug: ^4.0.1 + doctrine: ^3.0.0 + eslint-scope: ^4.0.3 + eslint-utils: ^1.3.1 + eslint-visitor-keys: ^1.0.0 + espree: ^5.0.1 + esquery: ^1.0.1 + esutils: ^2.0.2 + file-entry-cache: ^5.0.1 + functional-red-black-tree: ^1.0.1 + glob: ^7.1.2 + globals: ^11.7.0 + ignore: ^4.0.6 + import-fresh: ^3.0.0 + imurmurhash: ^0.1.4 + inquirer: ^6.2.2 + js-yaml: ^3.13.0 + json-stable-stringify-without-jsonify: ^1.0.1 + levn: ^0.3.0 + lodash: ^4.17.11 + minimatch: ^3.0.4 + mkdirp: ^0.5.1 + natural-compare: ^1.4.0 + optionator: ^0.8.2 + path-is-inside: ^1.0.2 + progress: ^2.0.0 + regexpp: ^2.0.1 + semver: ^5.5.1 + strip-ansi: ^4.0.0 + strip-json-comments: ^2.0.1 + table: ^5.2.3 + text-table: ^0.2.0 + bin: + eslint: ./bin/eslint.js + checksum: 53c6b9420992df95f986dc031f76949edbea14bdeed4e40d8cda8970fbf0fc013c6d91b98f469b6477753e50c9af133c1a768e421a1c160ec2cac7a246e05494 + languageName: node + linkType: hard + +"eslint@npm:^7.20.0": + version: 7.32.0 + resolution: "eslint@npm:7.32.0" + dependencies: + "@babel/code-frame": 7.12.11 + "@eslint/eslintrc": ^0.4.3 + "@humanwhocodes/config-array": ^0.5.0 + ajv: ^6.10.0 + chalk: ^4.0.0 + cross-spawn: ^7.0.2 + debug: ^4.0.1 + doctrine: ^3.0.0 + enquirer: ^2.3.5 + escape-string-regexp: ^4.0.0 + eslint-scope: ^5.1.1 + eslint-utils: ^2.1.0 + eslint-visitor-keys: ^2.0.0 + espree: ^7.3.1 + esquery: ^1.4.0 + esutils: ^2.0.2 + fast-deep-equal: ^3.1.3 + file-entry-cache: ^6.0.1 + functional-red-black-tree: ^1.0.1 + glob-parent: ^5.1.2 + globals: ^13.6.0 + ignore: ^4.0.6 + import-fresh: ^3.0.0 + imurmurhash: ^0.1.4 + is-glob: ^4.0.0 + js-yaml: ^3.13.1 + json-stable-stringify-without-jsonify: ^1.0.1 + levn: ^0.4.1 + lodash.merge: ^4.6.2 + minimatch: ^3.0.4 + natural-compare: ^1.4.0 + optionator: ^0.9.1 + progress: ^2.0.0 + regexpp: ^3.1.0 + semver: ^7.2.1 + strip-ansi: ^6.0.0 + strip-json-comments: ^3.1.0 + table: ^6.0.9 + text-table: ^0.2.0 + v8-compile-cache: ^2.0.3 + bin: + eslint: bin/eslint.js + checksum: cc85af9985a3a11085c011f3d27abe8111006d34cc274291b3c4d7bea51a4e2ff6135780249becd919ba7f6d6d1ecc38a6b73dacb6a7be08d38453b344dc8d37 + languageName: node + linkType: hard + +"espree@npm:^5.0.1": + version: 5.0.1 + resolution: "espree@npm:5.0.1" + dependencies: + acorn: ^6.0.7 + acorn-jsx: ^5.0.0 + eslint-visitor-keys: ^1.0.0 + checksum: a091aac2bddf872484b0a7e779e3a1ffab32d1c55a6c4f99e483613a0149443531272c191eda1c7c827e32a9e10f6ce7ea6b131c7b3f4e12471fe618ebbc5b7e + languageName: node + linkType: hard + +"espree@npm:^7.3.0, espree@npm:^7.3.1": + version: 7.3.1 + resolution: "espree@npm:7.3.1" + dependencies: + acorn: ^7.4.0 + acorn-jsx: ^5.3.1 + eslint-visitor-keys: ^1.3.0 + checksum: aa9b50dcce883449af2e23bc2b8d9abb77118f96f4cb313935d6b220f77137eaef7724a83c3f6243b96bc0e4ab14766198e60818caad99f9519ae5a336a39b45 + languageName: node + linkType: hard + +"esprima@npm:2.7.x, esprima@npm:^2.7.1": + version: 2.7.3 + resolution: "esprima@npm:2.7.3" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 55584508dca0551885e62c3369bc4a783bd948b43e2f034f05c2a37f3ca398db99f072ab228234e9cab09af8dc8c65d6ca7de3a975f2a296b34d1a3aba7e89f1 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: b45bc805a613dbea2835278c306b91aff6173c8d034223fa81498c77dcbce3b2931bf6006db816f62eacd9fd4ea975dfd85a5b7f3c6402cfd050d4ca3c13a628 + languageName: node + linkType: hard + +"esquery@npm:^1.0.1, esquery@npm:^1.4.0": + version: 1.4.0 + resolution: "esquery@npm:1.4.0" + dependencies: + estraverse: ^5.1.0 + checksum: a0807e17abd7fbe5fbd4fab673038d6d8a50675cdae6b04fbaa520c34581be0c5fa24582990e8acd8854f671dd291c78bb2efb9e0ed5b62f33bac4f9cf820210 + languageName: node + linkType: hard + +"esrecurse@npm:^4.1.0, esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: ^5.2.0 + checksum: ebc17b1a33c51cef46fdc28b958994b1dc43cd2e86237515cbc3b4e5d2be6a811b2315d0a1a4d9d340b6d2308b15322f5c8291059521cc5f4802f65e7ec32837 + languageName: node + linkType: hard + +"estraverse@npm:^1.9.1": + version: 1.9.3 + resolution: "estraverse@npm:1.9.3" + checksum: 78fa96317500e7783d48297dbd4c7f8735ddeb970be2981b485639ffa77578d05b8f781332622e436f2e9e533f32923c62c2e6463291e577ceeaf2776ac5e4b5 + languageName: node + linkType: hard + +"estraverse@npm:^4.1.1": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: a6299491f9940bb246124a8d44b7b7a413a8336f5436f9837aaa9330209bd9ee8af7e91a654a3545aee9c54b3308e78ee360cef1d777d37cfef77d2fa33b5827 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 072780882dc8416ad144f8fe199628d2b3e7bbc9989d9ed43795d2c90309a2047e6bc5979d7e2322a341163d22cfad9e21f4110597fe487519697389497e4e2b + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 22b5b08f74737379a840b8ed2036a5fb35826c709ab000683b092d9054e5c2a82c27818f12604bfc2a9a76b90b6834ef081edbc1c7ae30d1627012e067c6ec87 + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 571aeb3dbe0f2bbd4e4fadbdb44f325fc75335cd5f6f6b6a091e6a06a9f25ed5392f0863c5442acb0646787446e816f13cbfc6edce5b07658541dff573cab1ff + languageName: node + linkType: hard + +"eth-block-tracker@npm:^3.0.0": + version: 3.0.1 + resolution: "eth-block-tracker@npm:3.0.1" + dependencies: + eth-query: ^2.1.0 + ethereumjs-tx: ^1.3.3 + ethereumjs-util: ^5.1.3 + ethjs-util: ^0.1.3 + json-rpc-engine: ^3.6.0 + pify: ^2.3.0 + tape: ^4.6.3 + checksum: b68dda7a60e2c15fa7097f31277ebfce08852de83229c2c65879a5482db28610bc85248cfe6578971ad2357552d5ce6124fb0c2a29d18fd30c70f092beeda3b8 + languageName: node + linkType: hard + +"eth-ens-namehash@npm:2.0.8, eth-ens-namehash@npm:^2.0.8": + version: 2.0.8 + resolution: "eth-ens-namehash@npm:2.0.8" + dependencies: + idna-uts46-hx: ^2.3.1 + js-sha3: ^0.5.7 + checksum: 40ce4aeedaa4e7eb4485c8d8857457ecc46a4652396981d21b7e3a5f922d5beff63c71cb4b283c935293e530eba50b329d9248be3c433949c6bc40c850c202a3 + languageName: node + linkType: hard + +"eth-gas-reporter@npm:^0.2.24": + version: 0.2.25 + resolution: "eth-gas-reporter@npm:0.2.25" + dependencies: + "@ethersproject/abi": ^5.0.0-beta.146 + "@solidity-parser/parser": ^0.14.0 + cli-table3: ^0.5.0 + colors: 1.4.0 + ethereum-cryptography: ^1.0.3 + ethers: ^4.0.40 + fs-readdir-recursive: ^1.1.0 + lodash: ^4.17.14 + markdown-table: ^1.1.3 + mocha: ^7.1.1 + req-cwd: ^2.0.0 + request: ^2.88.0 + request-promise-native: ^1.0.5 + sha1: ^1.1.1 + sync-request: ^6.0.0 + peerDependencies: + "@codechecks/client": ^0.1.0 + peerDependenciesMeta: + "@codechecks/client": + optional: true + checksum: 3bfa81e554b069bb817f2a073a601a0429e6b582c56ad99db0727dc2a102ab00fc27888820b8a042a194a8fb7d40954d10cd7b011ede6b8170285d2d5a88666c + languageName: node + linkType: hard + +"eth-json-rpc-infura@npm:^3.1.0": + version: 3.2.1 + resolution: "eth-json-rpc-infura@npm:3.2.1" + dependencies: + cross-fetch: ^2.1.1 + eth-json-rpc-middleware: ^1.5.0 + json-rpc-engine: ^3.4.0 + json-rpc-error: ^2.0.0 + checksum: 393e825986c0eedb9a1bb771b84e5b7c4037d8f870ab92cdba9dbaa52b5c7d5755ed02fd80d2a07b5db7a3af2c0b30d37756eb39cd7d2ae39173c6c2ea138e7d + languageName: node + linkType: hard + +"eth-json-rpc-middleware@npm:^1.5.0": + version: 1.6.0 + resolution: "eth-json-rpc-middleware@npm:1.6.0" + dependencies: + async: ^2.5.0 + eth-query: ^2.1.2 + eth-tx-summary: ^3.1.2 + ethereumjs-block: ^1.6.0 + ethereumjs-tx: ^1.3.3 + ethereumjs-util: ^5.1.2 + ethereumjs-vm: ^2.1.0 + fetch-ponyfill: ^4.0.0 + json-rpc-engine: ^3.6.0 + json-rpc-error: ^2.0.0 + json-stable-stringify: ^1.0.1 + promise-to-callback: ^1.0.0 + tape: ^4.6.3 + checksum: 0f6c146bdb277b3be9eef68f7424e1709a57f58330a3ae076153313be60f5026a5eee0de16d1ee6e41515e76cb1d38ef590948dd55d4b3ab1b3659af61337922 + languageName: node + linkType: hard + +"eth-lib@npm:0.2.8": + version: 0.2.8 + resolution: "eth-lib@npm:0.2.8" + dependencies: + bn.js: ^4.11.6 + elliptic: ^6.4.0 + xhr-request-promise: ^0.1.2 + checksum: be7efb0b08a78e20d12d2892363ecbbc557a367573ac82fc26a549a77a1b13c7747e6eadbb88026634828fcf9278884b555035787b575b1cab5e6958faad0fad + languageName: node + linkType: hard + +"eth-lib@npm:^0.1.26": + version: 0.1.29 + resolution: "eth-lib@npm:0.1.29" + dependencies: + bn.js: ^4.11.6 + elliptic: ^6.4.0 + nano-json-stream-parser: ^0.1.2 + servify: ^0.1.12 + ws: ^3.0.0 + xhr-request-promise: ^0.1.2 + checksum: d1494fc0af372d46d1c9e7506cfbfa81b9073d98081cf4cbe518932f88bee40cf46a764590f1f8aba03d4a534fa2b1cd794fa2a4f235f656d82b8ab185b5cb9d + languageName: node + linkType: hard + +"eth-query@npm:^2.0.2, eth-query@npm:^2.1.0, eth-query@npm:^2.1.2": + version: 2.1.2 + resolution: "eth-query@npm:2.1.2" + dependencies: + json-rpc-random-id: ^1.0.0 + xtend: ^4.0.1 + checksum: 83daa0e28452c54722aec78cd24d036bad5b6e7c08035d98e10d4bea11f71662f12cab63ebd8a848d4df46ad316503d54ecccb41c9244d2ea8b29364b0a20201 + languageName: node + linkType: hard + +"eth-sig-util@npm:3.0.0": + version: 3.0.0 + resolution: "eth-sig-util@npm:3.0.0" + dependencies: + buffer: ^5.2.1 + elliptic: ^6.4.0 + ethereumjs-abi: 0.6.5 + ethereumjs-util: ^5.1.1 + tweetnacl: ^1.0.0 + tweetnacl-util: ^0.15.0 + checksum: fbe44efb7909737b070e1e1d8c7096da3bdbd1356de242fc3458849e042e39c83a4e2dd1cbce0dc21ff3e5eca1843981751428bc160dcf3a6fcca2f1e8161be4 + languageName: node + linkType: hard + +"eth-sig-util@npm:^1.4.2": + version: 1.4.2 + resolution: "eth-sig-util@npm:1.4.2" + dependencies: + ethereumjs-abi: "git+https://github.com/ethereumjs/ethereumjs-abi.git" + ethereumjs-util: ^5.1.1 + checksum: 578f5c571c1bb0a86dc1bd4a5b56b8073b37823496d7afa74d772cf91ae6860f91bafcbee931be39a3d13f0c195df9f026a27fce350605ad5d15901a5a4ea94a + languageName: node + linkType: hard + +"eth-tx-summary@npm:^3.1.2": + version: 3.2.4 + resolution: "eth-tx-summary@npm:3.2.4" + dependencies: + async: ^2.1.2 + clone: ^2.0.0 + concat-stream: ^1.5.1 + end-of-stream: ^1.1.0 + eth-query: ^2.0.2 + ethereumjs-block: ^1.4.1 + ethereumjs-tx: ^1.1.1 + ethereumjs-util: ^5.0.1 + ethereumjs-vm: ^2.6.0 + through2: ^2.0.3 + checksum: 7df8b91bc2bd3f6941e2a5b3230cad5c5523ca3750190cd06af07983feba1bb4af893f226f01072958b00aa626869846894bcb1bfaa451d9c8f7f5b8cdf5ce0a + languageName: node + linkType: hard + +"ethashjs@npm:~0.0.7": + version: 0.0.8 + resolution: "ethashjs@npm:0.0.8" + dependencies: + async: ^2.1.2 + buffer-xor: ^2.0.1 + ethereumjs-util: ^7.0.2 + miller-rabin: ^4.0.0 + checksum: d9b6b47d32cbe017848ce5d8aec86eb6416300c6f52a68029bf6fc8fcf5429a45c14f2033d514435acd02047af16f6f804056e81587b30ed677039ac678b15f8 + languageName: node + linkType: hard + +"ethereum-bloom-filters@npm:^1.0.6": + version: 1.0.10 + resolution: "ethereum-bloom-filters@npm:1.0.10" + dependencies: + js-sha3: ^0.8.0 + checksum: 4019cc6f9274ae271a52959194a72f6e9b013366f168f922dc3b349319faf7426bf1010125ee0676b4f75714fe4a440edd4e7e62342c121a046409f4cd4c0af9 + languageName: node + linkType: hard + +"ethereum-common@npm:0.2.0": + version: 0.2.0 + resolution: "ethereum-common@npm:0.2.0" + checksum: 5e80af27482530ac700676502cd4c02a7248c064999d01dced302f5f40a180c86f57caaab347dbd12482c2869539d321c8c0039db9e3dfb1411e6ad3d57b2547 + languageName: node + linkType: hard + +"ethereum-common@npm:^0.0.18": + version: 0.0.18 + resolution: "ethereum-common@npm:0.0.18" + checksum: 2244126199604abc17508ca249c6f8a66a2ed02e9c97115f234e311f42e2d67aedff08128569fa3dfb8a2d09e1c194eace39a1ce61bfeb2338b6d3f2ac324ee8 + languageName: node + linkType: hard + +"ethereum-cryptography@npm:^0.1.2, ethereum-cryptography@npm:^0.1.3": + version: 0.1.3 + resolution: "ethereum-cryptography@npm:0.1.3" + dependencies: + "@types/pbkdf2": ^3.0.0 + "@types/secp256k1": ^4.0.1 + blakejs: ^1.1.0 + browserify-aes: ^1.2.0 + bs58check: ^2.1.2 + create-hash: ^1.2.0 + create-hmac: ^1.1.7 + hash.js: ^1.1.7 + keccak: ^3.0.0 + pbkdf2: ^3.0.17 + randombytes: ^2.1.0 + safe-buffer: ^5.1.2 + scrypt-js: ^3.0.0 + secp256k1: ^4.0.1 + setimmediate: ^1.0.5 + checksum: 54bae7a4a96bd81398cdc35c91cfcc74339f71a95ed1b5b694663782e69e8e3afd21357de3b8bac9ff4877fd6f043601e200a7ad9133d94be6fd7d898ee0a449 + languageName: node + linkType: hard + +"ethereum-cryptography@npm:^1.0.3": + version: 1.0.3 + resolution: "ethereum-cryptography@npm:1.0.3" + dependencies: + "@noble/hashes": 1.0.0 + "@noble/secp256k1": 1.5.5 + "@scure/bip32": 1.0.1 + "@scure/bip39": 1.0.0 + checksum: a461a50975626a3061a3775046713ebf48f37b6a61fbaec46d8a070e3fd6e982edba754bd2f9f58b11f46ad4d7fad9b18ae614cfc42e619c00cc6e3d31cee10d + languageName: node + linkType: hard + +"ethereum-waffle@npm:^3.2.2": + version: 3.4.4 + resolution: "ethereum-waffle@npm:3.4.4" + dependencies: + "@ethereum-waffle/chai": ^3.4.4 + "@ethereum-waffle/compiler": ^3.4.4 + "@ethereum-waffle/mock-contract": ^3.4.4 + "@ethereum-waffle/provider": ^3.4.4 + ethers: ^5.0.1 + bin: + waffle: bin/waffle + checksum: 5a181b52f66f1b3c89ed1b68ef44cbd9acd4d743262de9edbe1fd57b0925576dd62c3436b1e65434d5ac03ab16da0df283972cd9aae726de0b8b9cdd7876b917 + languageName: node + linkType: hard + +"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": + version: 0.6.8 + resolution: "ethereumjs-abi@https://github.com/ethereumjs/ethereumjs-abi.git#commit=ee3994657fa7a427238e6ba92a84d0b529bbcde0" + dependencies: + bn.js: ^4.11.8 + ethereumjs-util: ^6.0.0 + checksum: ae074be0bb012857ab5d3ae644d1163b908a48dd724b7d2567cfde309dc72222d460438f2411936a70dc949dc604ce1ef7118f7273bd525815579143c907e336 + languageName: node + linkType: hard + +"ethereumjs-abi@npm:0.6.5": + version: 0.6.5 + resolution: "ethereumjs-abi@npm:0.6.5" + dependencies: + bn.js: ^4.10.0 + ethereumjs-util: ^4.3.0 + checksum: 3abdc79dc60614d30b1cefb5e6bfbdab3ca8252b4e742330544103f86d6e49a55921d9b8822a0a47fee3efd9dd2493ec93448b1869d82479a4c71a44001e8337 + languageName: node + linkType: hard + +"ethereumjs-abi@npm:0.6.8, ethereumjs-abi@npm:^0.6.8": + version: 0.6.8 + resolution: "ethereumjs-abi@npm:0.6.8" + dependencies: + bn.js: ^4.11.8 + ethereumjs-util: ^6.0.0 + checksum: cede2a8ae7c7e04eeaec079c2f925601a25b2ef75cf9230e7c5da63b4ea27883b35447365a47e35c1e831af520973a2252af89022c292c18a09a4607821a366b + languageName: node + linkType: hard + +"ethereumjs-account@npm:3.0.0, ethereumjs-account@npm:^3.0.0": + version: 3.0.0 + resolution: "ethereumjs-account@npm:3.0.0" + dependencies: + ethereumjs-util: ^6.0.0 + rlp: ^2.2.1 + safe-buffer: ^5.1.1 + checksum: 64dbe026d29aca12c79596cf4085fb27e209988f11b7d5bf3a1f2aadaaa517d90d722680c8b525144c26a2d9cd8494aa26ac088fa80b358cc3e28024f7ddbe81 + languageName: node + linkType: hard + +"ethereumjs-account@npm:^2.0.3": + version: 2.0.5 + resolution: "ethereumjs-account@npm:2.0.5" + dependencies: + ethereumjs-util: ^5.0.0 + rlp: ^2.0.0 + safe-buffer: ^5.1.1 + checksum: 2e4546b8b0213168eebd3a5296da904b6f55470e39b4c742d252748927d2b268f8d6374b0178c1d5b7188646f97dae74a7ac1c7485fe96ea557c152b52223f18 + languageName: node + linkType: hard + +"ethereumjs-block@npm:2.2.2, ethereumjs-block@npm:^2.2.2, ethereumjs-block@npm:~2.2.0, ethereumjs-block@npm:~2.2.2": + version: 2.2.2 + resolution: "ethereumjs-block@npm:2.2.2" + dependencies: + async: ^2.0.1 + ethereumjs-common: ^1.5.0 + ethereumjs-tx: ^2.1.1 + ethereumjs-util: ^5.0.0 + merkle-patricia-tree: ^2.1.2 + checksum: 91f7f60820394e072c9a115da2871a096414644109d2449d4a79b30be67b0080bc848dfa7e2ae7b2ab255de3be4f6736c6cb2b418c29eada794d018cc384e189 + languageName: node + linkType: hard + +"ethereumjs-block@npm:^1.2.2, ethereumjs-block@npm:^1.4.1, ethereumjs-block@npm:^1.6.0": + version: 1.7.1 + resolution: "ethereumjs-block@npm:1.7.1" + dependencies: + async: ^2.0.1 + ethereum-common: 0.2.0 + ethereumjs-tx: ^1.2.2 + ethereumjs-util: ^5.0.0 + merkle-patricia-tree: ^2.1.2 + checksum: 9967c3674af77ea8475a3c023fa160ef6b614450ec50fa32ac083909ead22d3d1c3148f9407b6593d3ccfbe0c51f889c26aa1c15b17026fc2d35cbc542822af8 + languageName: node + linkType: hard + +"ethereumjs-blockchain@npm:^4.0.3": + version: 4.0.4 + resolution: "ethereumjs-blockchain@npm:4.0.4" + dependencies: + async: ^2.6.1 + ethashjs: ~0.0.7 + ethereumjs-block: ~2.2.2 + ethereumjs-common: ^1.5.0 + ethereumjs-util: ^6.1.0 + flow-stoplight: ^1.0.0 + level-mem: ^3.0.1 + lru-cache: ^5.1.1 + rlp: ^2.2.2 + semaphore: ^1.1.0 + checksum: efa04b2e2d02ce9c524f246f862b1ca779bbfd9f795cc7a9e471f0d96229de5188f1f6b17e54948f640100116b646ed03242494c23cd66f0f7e8384a4f217ba4 + languageName: node + linkType: hard + +"ethereumjs-common@npm:1.5.0": + version: 1.5.0 + resolution: "ethereumjs-common@npm:1.5.0" + checksum: a30474986a88b8f3ee53f9fb34027528f12d1bc7ecee8b80aa8060a09ccde3b2af4dd24c928287018003e4e206cd4f6311cdd508442d1452d02ec3d8e7a0601e + languageName: node + linkType: hard + +"ethereumjs-common@npm:^1.1.0, ethereumjs-common@npm:^1.3.2, ethereumjs-common@npm:^1.5.0": + version: 1.5.2 + resolution: "ethereumjs-common@npm:1.5.2" + checksum: 3fc64faced268e0c61da50c5db76d18cfd44325d5706792f32ac8c85c0e800d52db284f042c3bd0623daf59b946176ef7dbea476d1b0252492137fa4549a3349 + languageName: node + linkType: hard + +"ethereumjs-tx@npm:2.1.2, ethereumjs-tx@npm:^2.1.1, ethereumjs-tx@npm:^2.1.2": + version: 2.1.2 + resolution: "ethereumjs-tx@npm:2.1.2" + dependencies: + ethereumjs-common: ^1.5.0 + ethereumjs-util: ^6.0.0 + checksum: a5b607b4e125ed696d76a9e4db8a95e03a967323c66694912d799619b16fa43985336924221f9e7582dc1b09ff88a62116bf2290ee14d952bf7e6715e5728525 + languageName: node + linkType: hard + +"ethereumjs-tx@npm:^1.1.1, ethereumjs-tx@npm:^1.2.0, ethereumjs-tx@npm:^1.2.2, ethereumjs-tx@npm:^1.3.3": + version: 1.3.7 + resolution: "ethereumjs-tx@npm:1.3.7" + dependencies: + ethereum-common: ^0.0.18 + ethereumjs-util: ^5.0.0 + checksum: fe2323fe7db7f5dda85715dc67c31dd1f2925bf5a88e393ba939dbe699b73df008f1332f711b1aa37e943193acf3b6976202a33f2fab1f7675b6d2dd70f424d4 + languageName: node + linkType: hard + +"ethereumjs-util@npm:6.2.1, ethereumjs-util@npm:^6.0.0, ethereumjs-util@npm:^6.1.0, ethereumjs-util@npm:^6.2.0, ethereumjs-util@npm:^6.2.1": + version: 6.2.1 + resolution: "ethereumjs-util@npm:6.2.1" + dependencies: + "@types/bn.js": ^4.11.3 + bn.js: ^4.11.0 + create-hash: ^1.1.2 + elliptic: ^6.5.2 + ethereum-cryptography: ^0.1.3 + ethjs-util: 0.1.6 + rlp: ^2.2.3 + checksum: e3cb4a2c034a2529281fdfc21a2126fe032fdc3038863f5720352daa65ddcc50fc8c67dbedf381a882dc3802e05d979287126d7ecf781504bde1fd8218693bde + languageName: node + linkType: hard + +"ethereumjs-util@npm:^4.3.0": + version: 4.5.1 + resolution: "ethereumjs-util@npm:4.5.1" + dependencies: + bn.js: ^4.8.0 + create-hash: ^1.1.2 + elliptic: ^6.5.2 + ethereum-cryptography: ^0.1.3 + rlp: ^2.0.0 + checksum: ee91fbd29634d40cad9adf90f202158324c089bbc10b405d2ef139f4542090e6f76a616d16c601b52d6b5c5d59ddb6c8387cf60cc732884e732dad9a62b8a539 + languageName: node + linkType: hard + +"ethereumjs-util@npm:^5.0.0, ethereumjs-util@npm:^5.0.1, ethereumjs-util@npm:^5.1.1, ethereumjs-util@npm:^5.1.2, ethereumjs-util@npm:^5.1.3, ethereumjs-util@npm:^5.1.5, ethereumjs-util@npm:^5.2.0": + version: 5.2.1 + resolution: "ethereumjs-util@npm:5.2.1" + dependencies: + bn.js: ^4.11.0 + create-hash: ^1.1.2 + elliptic: ^6.5.2 + ethereum-cryptography: ^0.1.3 + ethjs-util: ^0.1.3 + rlp: ^2.0.0 + safe-buffer: ^5.1.1 + checksum: 20db6c639d92b35739fd5f7a71e64a92e85442ea0d176b59b5cd5828265b6cf42bd4868cf81a9b20a83738db1ffa7a2f778f1d850d663627a1a5209f7904b44f + languageName: node + linkType: hard + +"ethereumjs-util@npm:^7.0.10, ethereumjs-util@npm:^7.0.2, ethereumjs-util@npm:^7.1.0, ethereumjs-util@npm:^7.1.1, ethereumjs-util@npm:^7.1.3, ethereumjs-util@npm:^7.1.4": + version: 7.1.4 + resolution: "ethereumjs-util@npm:7.1.4" + dependencies: + "@types/bn.js": ^5.1.0 + bn.js: ^5.1.2 + create-hash: ^1.1.2 + ethereum-cryptography: ^0.1.3 + rlp: ^2.2.4 + checksum: ccfd9208bfe9205af124a9138c5a90db46cd2fcacf4b80f17f67915381c03253aa2fb90ead9e0b53d9a6fcfeed4310e5dfa8dc516ca2846d16baf81d605cd8c2 + languageName: node + linkType: hard + +"ethereumjs-vm@npm:4.2.0": + version: 4.2.0 + resolution: "ethereumjs-vm@npm:4.2.0" + dependencies: + async: ^2.1.2 + async-eventemitter: ^0.2.2 + core-js-pure: ^3.0.1 + ethereumjs-account: ^3.0.0 + ethereumjs-block: ^2.2.2 + ethereumjs-blockchain: ^4.0.3 + ethereumjs-common: ^1.5.0 + ethereumjs-tx: ^2.1.2 + ethereumjs-util: ^6.2.0 + fake-merkle-patricia-tree: ^1.0.1 + functional-red-black-tree: ^1.0.1 + merkle-patricia-tree: ^2.3.2 + rustbn.js: ~0.2.0 + safe-buffer: ^5.1.1 + util.promisify: ^1.0.0 + checksum: ca73c406d55baefacafbdd8cefce80740098e5834096042e93285dc386ee670b4fed2f7846b78e3078fdf41231d04b3f1c40e435e639d072e0529ccb560b797b + languageName: node + linkType: hard + +"ethereumjs-vm@npm:^2.1.0, ethereumjs-vm@npm:^2.3.4, ethereumjs-vm@npm:^2.6.0": + version: 2.6.0 + resolution: "ethereumjs-vm@npm:2.6.0" + dependencies: + async: ^2.1.2 + async-eventemitter: ^0.2.2 + ethereumjs-account: ^2.0.3 + ethereumjs-block: ~2.2.0 + ethereumjs-common: ^1.1.0 + ethereumjs-util: ^6.0.0 + fake-merkle-patricia-tree: ^1.0.1 + functional-red-black-tree: ^1.0.1 + merkle-patricia-tree: ^2.3.2 + rustbn.js: ~0.2.0 + safe-buffer: ^5.1.1 + checksum: 3b3098b2ac3d5335797e4d73fceb76d1b776e453abb5fa4d1cd94f6391f493e95e3c89a8ee602558bc2a3b36b89977e66473de73faa87c8540b1954aa7b8c3fd + languageName: node + linkType: hard + +"ethereumjs-wallet@npm:0.6.5": + version: 0.6.5 + resolution: "ethereumjs-wallet@npm:0.6.5" + dependencies: + aes-js: ^3.1.1 + bs58check: ^2.1.2 + ethereum-cryptography: ^0.1.3 + ethereumjs-util: ^6.0.0 + randombytes: ^2.0.6 + safe-buffer: ^5.1.2 + scryptsy: ^1.2.1 + utf8: ^3.0.0 + uuid: ^3.3.2 + checksum: 54a9cc8beb8ea55e9be9b024b6ed09349423145fd8c49b8662d60d9258039330163c830fec055f92becc71ea54b430d2ef29f6bd73fa49d93ea854af01d13e58 + languageName: node + linkType: hard + +"ethers@npm:^4.0.32, ethers@npm:^4.0.40": + version: 4.0.49 + resolution: "ethers@npm:4.0.49" + dependencies: + aes-js: 3.0.0 + bn.js: ^4.11.9 + elliptic: 6.5.4 + hash.js: 1.1.3 + js-sha3: 0.5.7 + scrypt-js: 2.0.4 + setimmediate: 1.0.4 + uuid: 2.0.1 + xmlhttprequest: 1.8.0 + checksum: 357115348a5f1484c7745fae1d852876788216c7d94c072c80132192f1800c4d388433ea2456750856641d6d4eed8a3b41847eb44f5e1c42139963864e3bcc38 + languageName: node + linkType: hard + +"ethers@npm:^5.0.1, ethers@npm:^5.0.2, ethers@npm:^5.4.7, ethers@npm:^5.5.2": + version: 5.6.5 + resolution: "ethers@npm:5.6.5" + dependencies: + "@ethersproject/abi": 5.6.1 + "@ethersproject/abstract-provider": 5.6.0 + "@ethersproject/abstract-signer": 5.6.0 + "@ethersproject/address": 5.6.0 + "@ethersproject/base64": 5.6.0 + "@ethersproject/basex": 5.6.0 + "@ethersproject/bignumber": 5.6.0 + "@ethersproject/bytes": 5.6.1 + "@ethersproject/constants": 5.6.0 + "@ethersproject/contracts": 5.6.0 + "@ethersproject/hash": 5.6.0 + "@ethersproject/hdnode": 5.6.0 + "@ethersproject/json-wallets": 5.6.0 + "@ethersproject/keccak256": 5.6.0 + "@ethersproject/logger": 5.6.0 + "@ethersproject/networks": 5.6.2 + "@ethersproject/pbkdf2": 5.6.0 + "@ethersproject/properties": 5.6.0 + "@ethersproject/providers": 5.6.5 + "@ethersproject/random": 5.6.0 + "@ethersproject/rlp": 5.6.0 + "@ethersproject/sha2": 5.6.0 + "@ethersproject/signing-key": 5.6.1 + "@ethersproject/solidity": 5.6.0 + "@ethersproject/strings": 5.6.0 + "@ethersproject/transactions": 5.6.0 + "@ethersproject/units": 5.6.0 + "@ethersproject/wallet": 5.6.0 + "@ethersproject/web": 5.6.0 + "@ethersproject/wordlists": 5.6.0 + checksum: f2c2528452eea1fa3c6e735ea9acf8162555b681d712e770a2e11560a71f9c9ef4abbe686e68c4e2cfa4c51eda35fe06f1bac7dc030daf00747c229b8cab5812 + languageName: node + linkType: hard + +"ethjs-unit@npm:0.1.6": + version: 0.1.6 + resolution: "ethjs-unit@npm:0.1.6" + dependencies: + bn.js: 4.11.6 + number-to-bn: 1.7.0 + checksum: df6b4752ff7461a59a20219f4b1684c631ea601241c39660e3f6c6bd63c950189723841c22b3c6c0ebeb3c9fc99e0e803e3c613101206132603705fcbcf4def5 + languageName: node + linkType: hard + +"ethjs-util@npm:0.1.6, ethjs-util@npm:^0.1.3, ethjs-util@npm:^0.1.6": + version: 0.1.6 + resolution: "ethjs-util@npm:0.1.6" + dependencies: + is-hex-prefixed: 1.0.0 + strip-hex-prefix: 1.0.0 + checksum: 1f42959e78ec6f49889c49c8a98639e06f52a15966387dd39faf2930db48663d026efb7db2702dcffe7f2a99c4a0144b7ce784efdbf733f4077aae95de76d65f + languageName: node + linkType: hard + +"event-target-shim@npm:^5.0.0": + version: 5.0.1 + resolution: "event-target-shim@npm:5.0.1" + checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166 + languageName: node + linkType: hard + +"eventemitter3@npm:4.0.4": + version: 4.0.4 + resolution: "eventemitter3@npm:4.0.4" + checksum: 7afb1cd851d19898bc99cc55ca894fe18cb1f8a07b0758652830a09bd6f36082879a25345be6219b81d74764140688b1a8fa75bcd1073d96b9a6661e444bc2ea + languageName: node + linkType: hard + +"events@npm:^3.0.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 + languageName: node + linkType: hard + +"evp_bytestokey@npm:^1.0.0, evp_bytestokey@npm:^1.0.3": + version: 1.0.3 + resolution: "evp_bytestokey@npm:1.0.3" + dependencies: + md5.js: ^1.3.4 + node-gyp: latest + safe-buffer: ^5.1.1 + checksum: ad4e1577f1a6b721c7800dcc7c733fe01f6c310732bb5bf2240245c2a5b45a38518b91d8be2c610611623160b9d1c0e91f1ce96d639f8b53e8894625cf20fa45 + languageName: node + linkType: hard + +"expand-brackets@npm:^2.1.4": + version: 2.1.4 + resolution: "expand-brackets@npm:2.1.4" + dependencies: + debug: ^2.3.3 + define-property: ^0.2.5 + extend-shallow: ^2.0.1 + posix-character-classes: ^0.1.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: 1781d422e7edfa20009e2abda673cadb040a6037f0bd30fcd7357304f4f0c284afd420d7622722ca4a016f39b6d091841ab57b401c1f7e2e5131ac65b9f14fa1 + languageName: node + linkType: hard + +"express@npm:^4.14.0": + version: 4.18.1 + resolution: "express@npm:4.18.1" + dependencies: + accepts: ~1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.0 + content-disposition: 0.5.4 + content-type: ~1.0.4 + cookie: 0.5.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: ~1.1.2 + on-finished: 2.4.1 + parseurl: ~1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: ~2.0.7 + qs: 6.10.3 + range-parser: ~1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: ~1.6.18 + utils-merge: 1.0.1 + vary: ~1.1.2 + checksum: c3d44c92e48226ef32ec978becfedb0ecf0ca21316bfd33674b3c5d20459840584f2325726a4f17f33d9c99f769636f728982d1c5433a5b6fe6eb95b8cf0c854 + languageName: node + linkType: hard + +"ext@npm:^1.1.2": + version: 1.6.0 + resolution: "ext@npm:1.6.0" + dependencies: + type: ^2.5.0 + checksum: ca3ef4619e838f441a92238a98b77ac873da2175ace746c64303ffe2c3208e79a3acf3bf7004e40b720f3c2a83bf0143e6dd4a7cdfae6e73f54a3bfc7a14b5c2 + languageName: node + linkType: hard + +"extend-shallow@npm:^2.0.1": + version: 2.0.1 + resolution: "extend-shallow@npm:2.0.1" + dependencies: + is-extendable: ^0.1.0 + checksum: 8fb58d9d7a511f4baf78d383e637bd7d2e80843bd9cd0853649108ea835208fb614da502a553acc30208e1325240bb7cc4a68473021612496bb89725483656d8 + languageName: node + linkType: hard + +"extend-shallow@npm:^3.0.0, extend-shallow@npm:^3.0.2": + version: 3.0.2 + resolution: "extend-shallow@npm:3.0.2" + dependencies: + assign-symbols: ^1.0.0 + is-extendable: ^1.0.1 + checksum: a920b0cd5838a9995ace31dfd11ab5e79bf6e295aa566910ce53dff19f4b1c0fda2ef21f26b28586c7a2450ca2b42d97bd8c0f5cec9351a819222bf861e02461 + languageName: node + linkType: hard + +"extend@npm:~3.0.2": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: a50a8309ca65ea5d426382ff09f33586527882cf532931cb08ca786ea3146c0553310bda688710ff61d7668eba9f96b923fe1420cdf56a2c3eaf30fcab87b515 + languageName: node + linkType: hard + +"external-editor@npm:^3.0.3": + version: 3.1.0 + resolution: "external-editor@npm:3.1.0" + dependencies: + chardet: ^0.7.0 + iconv-lite: ^0.4.24 + tmp: ^0.0.33 + checksum: 1c2a616a73f1b3435ce04030261bed0e22d4737e14b090bb48e58865da92529c9f2b05b893de650738d55e692d071819b45e1669259b2b354bc3154d27a698c7 + languageName: node + linkType: hard + +"extglob@npm:^2.0.4": + version: 2.0.4 + resolution: "extglob@npm:2.0.4" + dependencies: + array-unique: ^0.3.2 + define-property: ^1.0.0 + expand-brackets: ^2.1.4 + extend-shallow: ^2.0.1 + fragment-cache: ^0.2.1 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: a41531b8934735b684cef5e8c5a01d0f298d7d384500ceca38793a9ce098125aab04ee73e2d75d5b2901bc5dddd2b64e1b5e3bf19139ea48bac52af4a92f1d00 + languageName: node + linkType: hard + +"extsprintf@npm:1.3.0": + version: 1.3.0 + resolution: "extsprintf@npm:1.3.0" + checksum: cee7a4a1e34cffeeec18559109de92c27517e5641991ec6bab849aa64e3081022903dd53084f2080d0d2530803aa5ee84f1e9de642c365452f9e67be8f958ce2 + languageName: node + linkType: hard + +"extsprintf@npm:^1.2.0": + version: 1.4.1 + resolution: "extsprintf@npm:1.4.1" + checksum: a2f29b241914a8d2bad64363de684821b6b1609d06ae68d5b539e4de6b28659715b5bea94a7265201603713b7027d35399d10b0548f09071c5513e65e8323d33 + languageName: node + linkType: hard + +"fake-merkle-patricia-tree@npm:^1.0.1": + version: 1.0.1 + resolution: "fake-merkle-patricia-tree@npm:1.0.1" + dependencies: + checkpoint-store: ^1.1.0 + checksum: 8f9fe05bb5beabb31e4fbb8d2cfe83cfb36fd9f6ba78193dea8fab7a679470d45bb04c6f052d4f79da03e81129c5b5bed528902430184e1e11b4959f397019ac + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d + languageName: node + linkType: hard + +"fast-diff@npm:^1.1.2": + version: 1.2.0 + resolution: "fast-diff@npm:1.2.0" + checksum: 1b5306eaa9e826564d9e5ffcd6ebd881eb5f770b3f977fcbf38f05c824e42172b53c79920e8429c54eb742ce15a0caf268b0fdd5b38f6de52234c4a8368131ae + languageName: node + linkType: hard + +"fast-glob@npm:^3.0.3": + version: 3.2.11 + resolution: "fast-glob@npm:3.2.11" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: f473105324a7780a20c06de842e15ddbb41d3cb7e71d1e4fe6e8373204f22245d54f5ab9e2061e6a1c613047345954d29b022e0e76f5c28b1df9858179a0e6d7 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.13.0 + resolution: "fastq@npm:1.13.0" + dependencies: + reusify: ^1.0.4 + checksum: 32cf15c29afe622af187d12fc9cd93e160a0cb7c31a3bb6ace86b7dea3b28e7b72acde89c882663f307b2184e14782c6c664fa315973c03626c7d4bff070bb0b + languageName: node + linkType: hard + +"fetch-ponyfill@npm:^4.0.0": + version: 4.1.0 + resolution: "fetch-ponyfill@npm:4.1.0" + dependencies: + node-fetch: ~1.7.1 + checksum: 00c85b661a8314e18cb314640b69d3b6e9635517d54290c8f366ddcb21b506ac8fa5d92f899c0fe21bc2163238130be2cf73ffd9d5a8a41a9866a55c52f57f16 + languageName: node + linkType: hard + +"figures@npm:^2.0.0": + version: 2.0.0 + resolution: "figures@npm:2.0.0" + dependencies: + escape-string-regexp: ^1.0.5 + checksum: 081beb16ea57d1716f8447c694f637668322398b57017b20929376aaf5def9823b35245b734cdd87e4832dc96e9c6f46274833cada77bfe15e5f980fea1fd21f + languageName: node + linkType: hard + +"file-entry-cache@npm:^5.0.1": + version: 5.0.1 + resolution: "file-entry-cache@npm:5.0.1" + dependencies: + flat-cache: ^2.0.1 + checksum: 9014b17766815d59b8b789633aed005242ef857348c09be558bd85b4a24e16b0ad1e0e5229ccea7a2109f74ef1b3db1a559b58afe12b884f09019308711376fd + languageName: node + linkType: hard + +"file-entry-cache@npm:^6.0.1": + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" + dependencies: + flat-cache: ^3.0.4 + checksum: f49701feaa6314c8127c3c2f6173cfefff17612f5ed2daaafc6da13b5c91fd43e3b2a58fd0d63f9f94478a501b167615931e7200e31485e320f74a33885a9c74 + languageName: node + linkType: hard + +"fill-range@npm:^4.0.0": + version: 4.0.0 + resolution: "fill-range@npm:4.0.0" + dependencies: + extend-shallow: ^2.0.1 + is-number: ^3.0.0 + repeat-string: ^1.6.1 + to-regex-range: ^2.1.0 + checksum: dbb5102467786ab42bc7a3ec7380ae5d6bfd1b5177b2216de89e4a541193f8ba599a6db84651bd2c58c8921db41b8cc3d699ea83b477342d3ce404020f73c298 + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: ^5.0.1 + checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917 + languageName: node + linkType: hard + +"finalhandler@npm:1.2.0": + version: 1.2.0 + resolution: "finalhandler@npm:1.2.0" + dependencies: + debug: 2.6.9 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + on-finished: 2.4.1 + parseurl: ~1.3.3 + statuses: 2.0.1 + unpipe: ~1.0.0 + checksum: 92effbfd32e22a7dff2994acedbd9bcc3aa646a3e919ea6a53238090e87097f8ef07cced90aa2cc421abdf993aefbdd5b00104d55c7c5479a8d00ed105b45716 + languageName: node + linkType: hard + +"find-replace@npm:^1.0.3": + version: 1.0.3 + resolution: "find-replace@npm:1.0.3" + dependencies: + array-back: ^1.0.4 + test-value: ^2.1.0 + checksum: fd95f44e59bd54ea1c0169480952b339a4642cd62d81236fef7f87146d3bc00a042b17d81f896712e8542e01fe5c84e82ac37b6b77b4e3422abbcf7c13bbacfd + languageName: node + linkType: hard + +"find-up@npm:3.0.0, find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: ^3.0.0 + checksum: 38eba3fe7a66e4bc7f0f5a1366dc25508b7cfc349f852640e3678d26ad9a6d7e2c43eff0a472287de4a9753ef58f066a0ea892a256fa3636ad51b3fe1e17fae9 + languageName: node + linkType: hard + +"find-up@npm:5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: ^6.0.0 + path-exists: ^4.0.0 + checksum: 07955e357348f34660bde7920783204ff5a26ac2cafcaa28bace494027158a97b9f56faaf2d89a6106211a8174db650dd9f503f9c0d526b1202d5554a00b9095 + languageName: node + linkType: hard + +"find-up@npm:^1.0.0": + version: 1.1.2 + resolution: "find-up@npm:1.1.2" + dependencies: + path-exists: ^2.0.0 + pinkie-promise: ^2.0.0 + checksum: a2cb9f4c9f06ee3a1e92ed71d5aed41ac8ae30aefa568132f6c556fac7678a5035126153b59eaec68da78ac409eef02503b2b059706bdbf232668d7245e3240a + languageName: node + linkType: hard + +"find-up@npm:^2.1.0": + version: 2.1.0 + resolution: "find-up@npm:2.1.0" + dependencies: + locate-path: ^2.0.0 + checksum: 43284fe4da09f89011f08e3c32cd38401e786b19226ea440b75386c1b12a4cb738c94969808d53a84f564ede22f732c8409e3cfc3f7fb5b5c32378ad0bbf28bd + languageName: node + linkType: hard + +"find-yarn-workspace-root@npm:^1.2.1": + version: 1.2.1 + resolution: "find-yarn-workspace-root@npm:1.2.1" + dependencies: + fs-extra: ^4.0.3 + micromatch: ^3.1.4 + checksum: a8f4565fb1ead6122acc0d324fa3257c20f7b0c91b7b266dab9eee7251fb5558fcff5b35dbfd301bfd1cbb91c1cdd1799b28ffa5b9a92efd8c7ded3663652bbe + languageName: node + linkType: hard + +"find-yarn-workspace-root@npm:^2.0.0": + version: 2.0.0 + resolution: "find-yarn-workspace-root@npm:2.0.0" + dependencies: + micromatch: ^4.0.2 + checksum: fa5ca8f9d08fe7a54ce7c0a5931ff9b7e36f9ee7b9475fb13752bcea80ec6b5f180fa5102d60b376d5526ce924ea3fc6b19301262efa0a5d248dd710f3644242 + languageName: node + linkType: hard + +"flat-cache@npm:^2.0.1": + version: 2.0.1 + resolution: "flat-cache@npm:2.0.1" + dependencies: + flatted: ^2.0.0 + rimraf: 2.6.3 + write: 1.0.3 + checksum: 0f5e66467658039e6fcaaccb363b28f43906ba72fab7ff2a4f6fcd5b4899679e13ca46d9fc6cc48b68ac925ae93137106d4aaeb79874c13f21f87a361705f1b1 + languageName: node + linkType: hard + +"flat-cache@npm:^3.0.4": + version: 3.0.4 + resolution: "flat-cache@npm:3.0.4" + dependencies: + flatted: ^3.1.0 + rimraf: ^3.0.2 + checksum: 4fdd10ecbcbf7d520f9040dd1340eb5dfe951e6f0ecf2252edeec03ee68d989ec8b9a20f4434270e71bcfd57800dc09b3344fca3966b2eb8f613072c7d9a2365 + languageName: node + linkType: hard + +"flat@npm:^4.1.0": + version: 4.1.1 + resolution: "flat@npm:4.1.1" + dependencies: + is-buffer: ~2.0.3 + bin: + flat: cli.js + checksum: 398be12185eb0f3c59797c3670a8c35d07020b673363175676afbaf53d6b213660e060488554cf82c25504986e1a6059bdbcc5d562e87ca3e972e8a33148e3ae + languageName: node + linkType: hard + +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: 12a1536ac746db74881316a181499a78ef953632ddd28050b7a3a43c62ef5462e3357c8c29d76072bb635f147f7a9a1f0c02efef6b4be28f8db62ceb3d5c7f5d + languageName: node + linkType: hard + +"flatted@npm:^2.0.0": + version: 2.0.2 + resolution: "flatted@npm:2.0.2" + checksum: 473c754db7a529e125a22057098f1a4c905ba17b8cc269c3acf77352f0ffa6304c851eb75f6a1845f74461f560e635129ca6b0b8a78fb253c65cea4de3d776f2 + languageName: node + linkType: hard + +"flatted@npm:^3.1.0": + version: 3.2.5 + resolution: "flatted@npm:3.2.5" + checksum: 3c436e9695ccca29620b4be5671dd72e5dd0a7500e0856611b7ca9bd8169f177f408c3b9abfa78dfe1493ee2d873e2c119080a8a9bee4e1a186a9e60ca6c89f1 + languageName: node + linkType: hard + +"flow-stoplight@npm:^1.0.0": + version: 1.0.0 + resolution: "flow-stoplight@npm:1.0.0" + checksum: 2f1f34629e724afe7de7b6cb7b5f9ef1b37fa5a4b8a10e24b9c1043872777c41f4c7e09994ecfd5bc70138a04966c3153c4e15187a24771f5d5151a325a96a2e + languageName: node + linkType: hard + +"follow-redirects@npm:^1.12.1": + version: 1.15.0 + resolution: "follow-redirects@npm:1.15.0" + peerDependenciesMeta: + debug: + optional: true + checksum: eaec81c3e0ae57aae2422e38ad3539d0e7279b3a63f9681eeea319bb683dea67502c4e097136b8ce9721542b4e236e092b6b49e34e326cdd7733c274f0a3f378 + languageName: node + linkType: hard + +"for-each@npm:^0.3.3, for-each@npm:~0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: ^1.1.3 + checksum: 6c48ff2bc63362319c65e2edca4a8e1e3483a2fabc72fbe7feaf8c73db94fc7861bd53bc02c8a66a0c1dd709da6b04eec42e0abdd6b40ce47305ae92a25e5d28 + languageName: node + linkType: hard + +"for-in@npm:^1.0.2": + version: 1.0.2 + resolution: "for-in@npm:1.0.2" + checksum: 09f4ae93ce785d253ac963d94c7f3432d89398bf25ac7a24ed034ca393bf74380bdeccc40e0f2d721a895e54211b07c8fad7132e8157827f6f7f059b70b4043d + languageName: node + linkType: hard + +"foreach@npm:^2.0.5": + version: 2.0.5 + resolution: "foreach@npm:2.0.5" + checksum: dab4fbfef0b40b69ee5eab81bcb9626b8fa8b3469c8cfa26480f3e5e1ee08c40eae07048c9a967c65aeda26e774511ccc70b3f10a604c01753c6ef24361f0fc8 + languageName: node + linkType: hard + +"forever-agent@npm:~0.6.1": + version: 0.6.1 + resolution: "forever-agent@npm:0.6.1" + checksum: 766ae6e220f5fe23676bb4c6a99387cec5b7b62ceb99e10923376e27bfea72f3c3aeec2ba5f45f3f7ba65d6616965aa7c20b15002b6860833bb6e394dea546a8 + languageName: node + linkType: hard + +"form-data@npm:^2.2.0": + version: 2.5.1 + resolution: "form-data@npm:2.5.1" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.6 + mime-types: ^2.1.12 + checksum: 5134ada56cc246b293a1ac7678dba6830000603a3979cf83ff7b2f21f2e3725202237cfb89e32bcb38a1d35727efbd3c3a22e65b42321e8ade8eec01ce755d08 + languageName: node + linkType: hard + +"form-data@npm:^3.0.0": + version: 3.0.1 + resolution: "form-data@npm:3.0.1" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.8 + mime-types: ^2.1.12 + checksum: b019e8d35c8afc14a2bd8a7a92fa4f525a4726b6d5a9740e8d2623c30e308fbb58dc8469f90415a856698933c8479b01646a9dff33c87cc4e76d72aedbbf860d + languageName: node + linkType: hard + +"form-data@npm:~2.3.2": + version: 2.3.3 + resolution: "form-data@npm:2.3.3" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.6 + mime-types: ^2.1.12 + checksum: 10c1780fa13dbe1ff3100114c2ce1f9307f8be10b14bf16e103815356ff567b6be39d70fc4a40f8990b9660012dc24b0f5e1dde1b6426166eb23a445ba068ca3 + languageName: node + linkType: hard + +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: fd27e2394d8887ebd16a66ffc889dc983fbbd797d5d3f01087c020283c0f019a7d05ee85669383d8e0d216b116d720fc0cef2f6e9b7eb9f4c90c6e0bc7fd28e6 + languageName: node + linkType: hard + +"fp-ts@npm:1.19.3": + version: 1.19.3 + resolution: "fp-ts@npm:1.19.3" + checksum: eb0d4766ad561e9c5c01bfdd3d0ae589af135556921c733d26cf5289aad9f400110defdd93e6ac1d71f626697bb44d9d95ed2879c53dfd868f7cac3cf5c5553c + languageName: node + linkType: hard + +"fp-ts@npm:^1.0.0": + version: 1.19.5 + resolution: "fp-ts@npm:1.19.5" + checksum: 67d2d9c3855d211ca2592b1ef805f98b618157e7681791a776d9d0f7f3e52fcca2122ebf5bc215908c9099fad69756d40e37210cf46cb4075dae1b61efe69e40 + languageName: node + linkType: hard + +"fragment-cache@npm:^0.2.1": + version: 0.2.1 + resolution: "fragment-cache@npm:0.2.1" + dependencies: + map-cache: ^0.2.2 + checksum: 1cbbd0b0116b67d5790175de0038a11df23c1cd2e8dcdbade58ebba5594c2d641dade6b4f126d82a7b4a6ffc2ea12e3d387dbb64ea2ae97cf02847d436f60fdc + languageName: node + linkType: hard + +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 + languageName: node + linkType: hard + +"fs-extra@npm:^0.30.0": + version: 0.30.0 + resolution: "fs-extra@npm:0.30.0" + dependencies: + graceful-fs: ^4.1.2 + jsonfile: ^2.1.0 + klaw: ^1.0.0 + path-is-absolute: ^1.0.0 + rimraf: ^2.2.8 + checksum: 6edfd65fc813baa27f1603778c0f5ec11f8c5006a20b920437813ee2023eba18aeec8bef1c89b2e6c84f9fc90fdc7c916f4a700466c8c69d22a35d018f2570f0 + languageName: node + linkType: hard + +"fs-extra@npm:^4.0.2, fs-extra@npm:^4.0.3": + version: 4.0.3 + resolution: "fs-extra@npm:4.0.3" + dependencies: + graceful-fs: ^4.1.2 + jsonfile: ^4.0.0 + universalify: ^0.1.0 + checksum: c5ae3c7043ad7187128e619c0371da01b58694c1ffa02c36fb3f5b459925d9c27c3cb1e095d9df0a34a85ca993d8b8ff6f6ecef868fd5ebb243548afa7fc0936 + languageName: node + linkType: hard + +"fs-extra@npm:^7.0.0, fs-extra@npm:^7.0.1": + version: 7.0.1 + resolution: "fs-extra@npm:7.0.1" + dependencies: + graceful-fs: ^4.1.2 + jsonfile: ^4.0.0 + universalify: ^0.1.0 + checksum: 141b9dccb23b66a66cefdd81f4cda959ff89282b1d721b98cea19ba08db3dcbe6f862f28841f3cf24bb299e0b7e6c42303908f65093cb7e201708e86ea5a8dcf + languageName: node + linkType: hard + +"fs-extra@npm:^8.1.0": + version: 8.1.0 + resolution: "fs-extra@npm:8.1.0" + dependencies: + graceful-fs: ^4.2.0 + jsonfile: ^4.0.0 + universalify: ^0.1.0 + checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880 + languageName: node + linkType: hard + +"fs-extra@npm:^9.1.0": + version: 9.1.0 + resolution: "fs-extra@npm:9.1.0" + dependencies: + at-least-node: ^1.0.0 + graceful-fs: ^4.2.0 + jsonfile: ^6.0.1 + universalify: ^2.0.0 + checksum: ba71ba32e0faa74ab931b7a0031d1523c66a73e225de7426e275e238e312d07313d2da2d33e34a52aa406c8763ade5712eb3ec9ba4d9edce652bcacdc29e6b20 + languageName: node + linkType: hard + +"fs-minipass@npm:^1.2.7": + version: 1.2.7 + resolution: "fs-minipass@npm:1.2.7" + dependencies: + minipass: ^2.6.0 + checksum: 40fd46a2b5dcb74b3a580269f9a0c36f9098c2ebd22cef2e1a004f375b7b665c11f1507ec3f66ee6efab5664109f72d0a74ea19c3370842214c3da5168d6fdd7 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: ^3.0.0 + checksum: 1b8d128dae2ac6cc94230cc5ead341ba3e0efaef82dab46a33d171c044caaa6ca001364178d42069b2809c35a1c3c35079a32107c770e9ffab3901b59af8c8b1 + languageName: node + linkType: hard + +"fs-readdir-recursive@npm:^1.1.0": + version: 1.1.0 + resolution: "fs-readdir-recursive@npm:1.1.0" + checksum: 29d50f3d2128391c7fc9fd051c8b7ea45bcc8aa84daf31ef52b17218e20bfd2bd34d02382742801954cc8d1905832b68227f6b680a666ce525d8b6b75068ad1e + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 99ddea01a7e75aa276c250a04eedeffe5662bce66c65c07164ad6264f9de18fb21be9433ead460e54cff20e31721c811f4fb5d70591799df5f85dce6d6746fd0 + languageName: node + linkType: hard + +"fsevents@npm:~2.1.1": + version: 2.1.3 + resolution: "fsevents@npm:2.1.3" + dependencies: + node-gyp: latest + checksum: b5ec0516b44d75b60af5c01ff80a80cd995d175e4640d2a92fbabd02991dd664d76b241b65feef0775c23d531c3c74742c0fbacd6205af812a9c3cef59f04292 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2": + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" + dependencies: + node-gyp: latest + checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@~2.1.1#~builtin": + version: 2.1.3 + resolution: "fsevents@patch:fsevents@npm%3A2.1.3#~builtin::version=2.1.3&hash=18f3a7" + dependencies: + node-gyp: latest + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@~2.3.2#~builtin": + version: 2.3.2 + resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=18f3a7" + dependencies: + node-gyp: latest + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.1": + version: 1.1.1 + resolution: "function-bind@npm:1.1.1" + checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a + languageName: node + linkType: hard + +"function.prototype.name@npm:^1.1.5": + version: 1.1.5 + resolution: "function.prototype.name@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.0 + functions-have-names: ^1.2.2 + checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 + languageName: node + linkType: hard + +"functional-red-black-tree@npm:^1.0.1, functional-red-black-tree@npm:~1.0.1": + version: 1.0.1 + resolution: "functional-red-black-tree@npm:1.0.1" + checksum: ca6c170f37640e2d94297da8bb4bf27a1d12bea3e00e6a3e007fd7aa32e37e000f5772acf941b4e4f3cf1c95c3752033d0c509af157ad8f526e7f00723b9eb9f + languageName: node + linkType: hard + +"functions-have-names@npm:^1.2.2": + version: 1.2.3 + resolution: "functions-have-names@npm:1.2.3" + checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 + languageName: node + linkType: hard + +"ganache-core@npm:^2.13.2": + version: 2.13.2 + resolution: "ganache-core@npm:2.13.2" + dependencies: + abstract-leveldown: 3.0.0 + async: 2.6.2 + bip39: 2.5.0 + cachedown: 1.0.0 + clone: 2.1.2 + debug: 3.2.6 + encoding-down: 5.0.4 + eth-sig-util: 3.0.0 + ethereumjs-abi: 0.6.8 + ethereumjs-account: 3.0.0 + ethereumjs-block: 2.2.2 + ethereumjs-common: 1.5.0 + ethereumjs-tx: 2.1.2 + ethereumjs-util: 6.2.1 + ethereumjs-vm: 4.2.0 + ethereumjs-wallet: 0.6.5 + heap: 0.2.6 + keccak: 3.0.1 + level-sublevel: 6.6.4 + levelup: 3.1.1 + lodash: 4.17.20 + lru-cache: 5.1.1 + merkle-patricia-tree: 3.0.0 + patch-package: 6.2.2 + seedrandom: 3.0.1 + source-map-support: 0.5.12 + tmp: 0.1.0 + web3: 1.2.11 + web3-provider-engine: 14.2.1 + websocket: 1.0.32 + dependenciesMeta: + ethereumjs-wallet: + optional: true + web3: + optional: true + checksum: 799b275abd09259c88a4e78c335e807d14cc12d3a1ceb9d7cdeef484cf5fab541847edf9cf209f448190199dbd0796393d308d50e6823565154c17dd0c3a4048 + languageName: node + linkType: hard + +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" + dependencies: + aproba: ^1.0.3 || ^2.0.0 + color-support: ^1.1.3 + console-control-strings: ^1.1.0 + has-unicode: ^2.0.1 + signal-exit: ^3.0.7 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + wide-align: ^1.1.5 + checksum: 788b6bfe52f1dd8e263cda800c26ac0ca2ff6de0b6eee2fe0d9e3abf15e149b651bd27bf5226be10e6e3edb5c4e5d5985a5a1a98137e7a892f75eff76467ad2d + languageName: node + linkType: hard + +"get-caller-file@npm:^1.0.1": + version: 1.0.3 + resolution: "get-caller-file@npm:1.0.3" + checksum: 2b90a7f848896abcebcdc0acc627a435bcf05b9cd280599bc980ebfcdc222416c3df12c24c4845f69adc4346728e8966f70b758f9369f3534182791dfbc25c05 + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 + languageName: node + linkType: hard + +"get-func-name@npm:^2.0.0": + version: 2.0.0 + resolution: "get-func-name@npm:2.0.0" + checksum: 8d82e69f3e7fab9e27c547945dfe5cc0c57fc0adf08ce135dddb01081d75684a03e7a0487466f478872b341d52ac763ae49e660d01ab83741f74932085f693c3 + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": + version: 1.1.1 + resolution: "get-intrinsic@npm:1.1.1" + dependencies: + function-bind: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.1 + checksum: a9fe2ca8fa3f07f9b0d30fb202bcd01f3d9b9b6b732452e79c48e79f7d6d8d003af3f9e38514250e3553fdc83c61650851cb6870832ac89deaaceb08e3721a17 + languageName: node + linkType: hard + +"get-port@npm:^3.1.0": + version: 3.2.0 + resolution: "get-port@npm:3.2.0" + checksum: 31f530326569683ac4b7452eb7573c40e9dbe52aec14d80745c35475261e6389160da153d5b8ae911150b4ce99003472b30c69ba5be0cedeaa7865b95542d168 + languageName: node + linkType: hard + +"get-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "get-stream@npm:3.0.0" + checksum: 36142f46005ed74ce3a45c55545ec4e7da8e243554179e345a786baf144e5c4a35fb7bdc49fadfa9f18bd08000589b6fe364abdadfc4e1eb0e1b9914a6bb9c56 + languageName: node + linkType: hard + +"get-stream@npm:^4.1.0": + version: 4.1.0 + resolution: "get-stream@npm:4.1.0" + dependencies: + pump: ^3.0.0 + checksum: 443e1914170c15bd52ff8ea6eff6dfc6d712b031303e36302d2778e3de2506af9ee964d6124010f7818736dcfde05c04ba7ca6cc26883106e084357a17ae7d73 + languageName: node + linkType: hard + +"get-stream@npm:^5.1.0": + version: 5.2.0 + resolution: "get-stream@npm:5.2.0" + dependencies: + pump: ^3.0.0 + checksum: 8bc1a23174a06b2b4ce600df38d6c98d2ef6d84e020c1ddad632ad75bac4e092eeb40e4c09e0761c35fc2dbc5e7fff5dab5e763a383582c4a167dd69a905bd12 + languageName: node + linkType: hard + +"get-symbol-description@npm:^1.0.0": + version: 1.0.0 + resolution: "get-symbol-description@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.1 + checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247 + languageName: node + linkType: hard + +"get-value@npm:^2.0.3, get-value@npm:^2.0.6": + version: 2.0.6 + resolution: "get-value@npm:2.0.6" + checksum: 5c3b99cb5398ea8016bf46ff17afc5d1d286874d2ad38ca5edb6e87d75c0965b0094cb9a9dddef2c59c23d250702323539a7fbdd870620db38c7e7d7ec87c1eb + languageName: node + linkType: hard + +"getpass@npm:^0.1.1": + version: 0.1.7 + resolution: "getpass@npm:0.1.7" + dependencies: + assert-plus: ^1.0.0 + checksum: ab18d55661db264e3eac6012c2d3daeafaab7a501c035ae0ccb193c3c23e9849c6e29b6ac762b9c2adae460266f925d55a3a2a3a3c8b94be2f222df94d70c046 + languageName: node + linkType: hard + +"ghost-testrpc@npm:^0.0.2": + version: 0.0.2 + resolution: "ghost-testrpc@npm:0.0.2" + dependencies: + chalk: ^2.4.2 + node-emoji: ^1.10.0 + bin: + testrpc-sc: ./index.js + checksum: 3f86326d32f5e96c9356381837edde7dd0f23dcb7223aa73e02816256b84703cb76ce922987054a05b65963326088e99a4aa142d4b467ddda7c28547ed915d6d + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.0, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: ^4.0.1 + checksum: f4f2bfe2425296e8a47e36864e4f42be38a996db40420fe434565e4480e3322f18eb37589617a98640c5dc8fdec1a387007ee18dbb1f3f5553409c34d17f425e + languageName: node + linkType: hard + +"glob@npm:7.1.3": + version: 7.1.3 + resolution: "glob@npm:7.1.3" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.0.4 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: d72a834a393948d6c4a5cacc6a29fe5fe190e1cd134e55dfba09aee0be6fe15be343e96d8ec43558ab67ff8af28e4420c7f63a4d4db1c779e515015e9c318616 + languageName: node + linkType: hard + +"glob@npm:7.2.0, glob@npm:^7.0.0, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:~7.2.0": + version: 7.2.0 + resolution: "glob@npm:7.2.0" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.0.4 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 78a8ea942331f08ed2e055cb5b9e40fe6f46f579d7fd3d694f3412fe5db23223d29b7fee1575440202e9a7ff9a72ab106a39fee39934c7bedafe5e5f8ae20134 + languageName: node + linkType: hard + +"glob@npm:^5.0.15": + version: 5.0.15 + resolution: "glob@npm:5.0.15" + dependencies: + inflight: ^1.0.4 + inherits: 2 + minimatch: 2 || 3 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: f9742448303460672607e569457f1b57e486a79a985e269b69465834d2075b243378225f65dc54c09fcd4b75e4fb34442aec88f33f8c65fa4abccc8ee2dc2f5d + languageName: node + linkType: hard + +"glob@npm:^8.0.1": + version: 8.0.1 + resolution: "glob@npm:8.0.1" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^5.0.1 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 7ac782f3ef1c08005884447479e68ceb0ad56997eb2003e1e9aefae71bad3cb48eb7c49190d3d6736f2ffcd8af4985d53a46831b3d5e0052cc5756822a38b61a + languageName: node + linkType: hard + +"global-modules@npm:^2.0.0": + version: 2.0.0 + resolution: "global-modules@npm:2.0.0" + dependencies: + global-prefix: ^3.0.0 + checksum: d6197f25856c878c2fb5f038899f2dca7cbb2f7b7cf8999660c0104972d5cfa5c68b5a0a77fa8206bb536c3903a4615665acb9709b4d80846e1bb47eaef65430 + languageName: node + linkType: hard + +"global-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "global-prefix@npm:3.0.0" + dependencies: + ini: ^1.3.5 + kind-of: ^6.0.2 + which: ^1.3.1 + checksum: 8a82fc1d6f22c45484a4e34656cc91bf021a03e03213b0035098d605bfc612d7141f1e14a21097e8a0413b4884afd5b260df0b6a25605ce9d722e11f1df2881d + languageName: node + linkType: hard + +"global@npm:~4.4.0": + version: 4.4.0 + resolution: "global@npm:4.4.0" + dependencies: + min-document: ^2.19.0 + process: ^0.11.10 + checksum: 9c057557c8f5a5bcfbeb9378ba4fe2255d04679452be504608dd5f13b54edf79f7be1db1031ea06a4ec6edd3b9f5f17d2d172fb47e6c69dae57fd84b7e72b77f + languageName: node + linkType: hard + +"globals@npm:^11.7.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 67051a45eca3db904aee189dfc7cd53c20c7d881679c93f6146ddd4c9f4ab2268e68a919df740d39c71f4445d2b38ee360fc234428baea1dbdfe68bbcb46979e + languageName: node + linkType: hard + +"globals@npm:^13.6.0, globals@npm:^13.9.0": + version: 13.14.0 + resolution: "globals@npm:13.14.0" + dependencies: + type-fest: ^0.20.2 + checksum: a8d560119c611b434fa7bd0f305d34fec03e2cc63dcf8ef8bc352f075c54f2653bc6f9c85a1ef9422d82916e6fe5a4fc87fdd6a3e691afcff04545a7d876e078 + languageName: node + linkType: hard + +"globals@npm:^9.18.0": + version: 9.18.0 + resolution: "globals@npm:9.18.0" + checksum: e9c066aecfdc5ea6f727344a4246ecc243aaf66ede3bffee10ddc0c73351794c25e727dd046090dcecd821199a63b9de6af299a6e3ba292c8b22f0a80ea32073 + languageName: node + linkType: hard + +"globby@npm:^10.0.1": + version: 10.0.2 + resolution: "globby@npm:10.0.2" + dependencies: + "@types/glob": ^7.1.1 + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.0.3 + glob: ^7.1.3 + ignore: ^5.1.1 + merge2: ^1.2.3 + slash: ^3.0.0 + checksum: 167cd067f2cdc030db2ec43232a1e835fa06217577d545709dbf29fd21631b30ff8258705172069c855dc4d5766c3b2690834e35b936fbff01ad0329fb95a26f + languageName: node + linkType: hard + +"got@npm:9.6.0": + version: 9.6.0 + resolution: "got@npm:9.6.0" + dependencies: + "@sindresorhus/is": ^0.14.0 + "@szmarczak/http-timer": ^1.1.2 + cacheable-request: ^6.0.0 + decompress-response: ^3.3.0 + duplexer3: ^0.1.4 + get-stream: ^4.1.0 + lowercase-keys: ^1.0.1 + mimic-response: ^1.0.1 + p-cancelable: ^1.0.0 + to-readable-stream: ^1.0.0 + url-parse-lax: ^3.0.0 + checksum: 941807bd9704bacf5eb401f0cc1212ffa1f67c6642f2d028fd75900471c221b1da2b8527f4553d2558f3faeda62ea1cf31665f8b002c6137f5de8732f07370b0 + languageName: node + linkType: hard + +"got@npm:^7.1.0": + version: 7.1.0 + resolution: "got@npm:7.1.0" + dependencies: + decompress-response: ^3.2.0 + duplexer3: ^0.1.4 + get-stream: ^3.0.0 + is-plain-obj: ^1.1.0 + is-retry-allowed: ^1.0.0 + is-stream: ^1.0.0 + isurl: ^1.0.0-alpha5 + lowercase-keys: ^1.0.0 + p-cancelable: ^0.3.0 + p-timeout: ^1.1.1 + safe-buffer: ^5.0.1 + timed-out: ^4.0.0 + url-parse-lax: ^1.0.0 + url-to-options: ^1.0.1 + checksum: 0270472a389bdca67e60d36cccd014e502d1797d925c06ea2ef372fb41ae99c9e25ac4f187cc422760b4a66abb5478f8821b8134b4eaefe0bf5183daeded5e2f + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": + version: 4.2.10 + resolution: "graceful-fs@npm:4.2.10" + checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da + languageName: node + linkType: hard + +"growl@npm:1.10.5": + version: 1.10.5 + resolution: "growl@npm:1.10.5" + checksum: 4b86685de6831cebcbb19f93870bea624afee61124b0a20c49017013987cd129e73a8c4baeca295728f41d21265e1f859d25ef36731b142ca59c655fea94bb1a + languageName: node + linkType: hard + +"handlebars@npm:^4.0.1": + version: 4.7.7 + resolution: "handlebars@npm:4.7.7" + dependencies: + minimist: ^1.2.5 + neo-async: ^2.6.0 + source-map: ^0.6.1 + uglify-js: ^3.1.4 + wordwrap: ^1.0.0 + dependenciesMeta: + uglify-js: + optional: true + bin: + handlebars: bin/handlebars + checksum: 1e79a43f5e18d15742977cb987923eab3e2a8f44f2d9d340982bcb69e1735ed049226e534d7c1074eaddaf37e4fb4f471a8adb71cddd5bc8cf3f894241df5cee + languageName: node + linkType: hard + +"har-schema@npm:^2.0.0": + version: 2.0.0 + resolution: "har-schema@npm:2.0.0" + checksum: d8946348f333fb09e2bf24cc4c67eabb47c8e1d1aa1c14184c7ffec1140a49ec8aa78aa93677ae452d71d5fc0fdeec20f0c8c1237291fc2bcb3f502a5d204f9b + languageName: node + linkType: hard + +"har-validator@npm:~5.1.3": + version: 5.1.5 + resolution: "har-validator@npm:5.1.5" + dependencies: + ajv: ^6.12.3 + har-schema: ^2.0.0 + checksum: b998a7269ca560d7f219eedc53e2c664cd87d487e428ae854a6af4573fc94f182fe9d2e3b92ab968249baec7ebaf9ead69cf975c931dc2ab282ec182ee988280 + languageName: node + linkType: hard + +"hardhat-gas-reporter@npm:^1.0.7": + version: 1.0.8 + resolution: "hardhat-gas-reporter@npm:1.0.8" + dependencies: + array-uniq: 1.0.3 + eth-gas-reporter: ^0.2.24 + sha1: ^1.1.1 + peerDependencies: + hardhat: ^2.0.2 + checksum: bf18aacd08e0bdef81b180f3c97f76fcab885de3e92ed2dc014712e671c83ee7f77755c0e6c0f923a95f8372714cfcb7cdaa019afc42984c159603f8a8d724cf + languageName: node + linkType: hard + +"hardhat@npm:^2.8.3, hardhat@npm:^2.8.4": + version: 2.9.3 + resolution: "hardhat@npm:2.9.3" + dependencies: + "@ethereumjs/block": ^3.6.0 + "@ethereumjs/blockchain": ^5.5.0 + "@ethereumjs/common": ^2.6.0 + "@ethereumjs/tx": ^3.4.0 + "@ethereumjs/vm": ^5.6.0 + "@ethersproject/abi": ^5.1.2 + "@metamask/eth-sig-util": ^4.0.0 + "@sentry/node": ^5.18.1 + "@solidity-parser/parser": ^0.14.1 + "@types/bn.js": ^5.1.0 + "@types/lru-cache": ^5.1.0 + abort-controller: ^3.0.0 + adm-zip: ^0.4.16 + aggregate-error: ^3.0.0 + ansi-escapes: ^4.3.0 + chalk: ^2.4.2 + chokidar: ^3.4.0 + ci-info: ^2.0.0 + debug: ^4.1.1 + enquirer: ^2.3.0 + env-paths: ^2.2.0 + ethereum-cryptography: ^0.1.2 + ethereumjs-abi: ^0.6.8 + ethereumjs-util: ^7.1.3 + find-up: ^2.1.0 + fp-ts: 1.19.3 + fs-extra: ^7.0.1 + glob: ^7.1.3 + immutable: ^4.0.0-rc.12 + io-ts: 1.10.4 + lodash: ^4.17.11 + merkle-patricia-tree: ^4.2.2 + mnemonist: ^0.38.0 + mocha: ^9.2.0 + p-map: ^4.0.0 + qs: ^6.7.0 + raw-body: ^2.4.1 + resolve: 1.17.0 + semver: ^6.3.0 + slash: ^3.0.0 + solc: 0.7.3 + source-map-support: ^0.5.13 + stacktrace-parser: ^0.1.10 + true-case-path: ^2.2.1 + tsort: 0.0.1 + undici: ^4.14.1 + uuid: ^8.3.2 + ws: ^7.4.6 + bin: + hardhat: internal/cli/cli.js + checksum: 1f563957185a7639d68afc778449989f1d6fc7326eda8a1f9fd01d6144ddc74de01607ecc077aaae6eaeafcd17eb3df4c827f59af244340ef4d3d393ca7c6faa + languageName: node + linkType: hard + +"has-ansi@npm:^2.0.0": + version: 2.0.0 + resolution: "has-ansi@npm:2.0.0" + dependencies: + ansi-regex: ^2.0.0 + checksum: 1b51daa0214440db171ff359d0a2d17bc20061164c57e76234f614c91dbd2a79ddd68dfc8ee73629366f7be45a6df5f2ea9de83f52e1ca24433f2cc78c35d8ec + languageName: node + linkType: hard + +"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": + version: 1.0.2 + resolution: "has-bigints@npm:1.0.2" + checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b + languageName: node + linkType: hard + +"has-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "has-flag@npm:1.0.0" + checksum: ce3f8ae978e70f16e4bbe17d3f0f6d6c0a3dd3b62a23f97c91d0fda9ed8e305e13baf95cc5bee4463b9f25ac9f5255de113165c5fb285e01b8065b2ac079b301 + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 4a15638b454bf086c8148979aae044dd6e39d63904cd452d970374fa6a87623423da485dfb814e7be882e05c096a7ccf1ebd48e7e7501d0208d8384ff4dea73b + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.0": + version: 1.0.0 + resolution: "has-property-descriptors@npm:1.0.0" + dependencies: + get-intrinsic: ^1.1.1 + checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb + languageName: node + linkType: hard + +"has-symbol-support-x@npm:^1.4.1": + version: 1.4.2 + resolution: "has-symbol-support-x@npm:1.4.2" + checksum: ff06631d556d897424c00e8e79c10093ad34c93e88bb0563932d7837f148a4c90a4377abc5d8da000cb6637c0ecdb4acc9ae836c7cfd0ffc919986db32097609 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.0, has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 + languageName: node + linkType: hard + +"has-to-string-tag-x@npm:^1.2.0": + version: 1.4.1 + resolution: "has-to-string-tag-x@npm:1.4.1" + dependencies: + has-symbol-support-x: ^1.4.1 + checksum: 804c4505727be7770f8b2f5e727ce31c9affc5b83df4ce12344f44b68d557fefb31f77751dbd739de900653126bcd71f8842fac06f97a3fae5422685ab0ce6f0 + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.0": + version: 1.0.0 + resolution: "has-tostringtag@npm:1.0.0" + dependencies: + has-symbols: ^1.0.2 + checksum: cc12eb28cb6ae22369ebaad3a8ab0799ed61270991be88f208d508076a1e99abe4198c965935ce85ea90b60c94ddda73693b0920b58e7ead048b4a391b502c1c + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 + languageName: node + linkType: hard + +"has-value@npm:^0.3.1": + version: 0.3.1 + resolution: "has-value@npm:0.3.1" + dependencies: + get-value: ^2.0.3 + has-values: ^0.1.4 + isobject: ^2.0.0 + checksum: 29e2a1e6571dad83451b769c7ce032fce6009f65bccace07c2962d3ad4d5530b6743d8f3229e4ecf3ea8e905d23a752c5f7089100c1f3162039fa6dc3976558f + languageName: node + linkType: hard + +"has-value@npm:^1.0.0": + version: 1.0.0 + resolution: "has-value@npm:1.0.0" + dependencies: + get-value: ^2.0.6 + has-values: ^1.0.0 + isobject: ^3.0.0 + checksum: b9421d354e44f03d3272ac39fd49f804f19bc1e4fa3ceef7745df43d6b402053f828445c03226b21d7d934a21ac9cf4bc569396dc312f496ddff873197bbd847 + languageName: node + linkType: hard + +"has-values@npm:^0.1.4": + version: 0.1.4 + resolution: "has-values@npm:0.1.4" + checksum: ab1c4bcaf811ccd1856c11cfe90e62fca9e2b026ebe474233a3d282d8d67e3b59ed85b622c7673bac3db198cb98bd1da2b39300a2f98e453729b115350af49bc + languageName: node + linkType: hard + +"has-values@npm:^1.0.0": + version: 1.0.0 + resolution: "has-values@npm:1.0.0" + dependencies: + is-number: ^3.0.0 + kind-of: ^4.0.0 + checksum: 77e6693f732b5e4cf6c38dfe85fdcefad0fab011af74995c3e83863fabf5e3a836f406d83565816baa0bc0a523c9410db8b990fe977074d61aeb6d8f4fcffa11 + languageName: node + linkType: hard + +"has@npm:^1.0.3, has@npm:~1.0.3": + version: 1.0.3 + resolution: "has@npm:1.0.3" + dependencies: + function-bind: ^1.1.1 + checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 + languageName: node + linkType: hard + +"hash-base@npm:^3.0.0": + version: 3.1.0 + resolution: "hash-base@npm:3.1.0" + dependencies: + inherits: ^2.0.4 + readable-stream: ^3.6.0 + safe-buffer: ^5.2.0 + checksum: 26b7e97ac3de13cb23fc3145e7e3450b0530274a9562144fc2bf5c1e2983afd0e09ed7cc3b20974ba66039fad316db463da80eb452e7373e780cbee9a0d2f2dc + languageName: node + linkType: hard + +"hash.js@npm:1.1.3": + version: 1.1.3 + resolution: "hash.js@npm:1.1.3" + dependencies: + inherits: ^2.0.3 + minimalistic-assert: ^1.0.0 + checksum: 93de6f178bf71feee38f66868a57ecb5602d937c1ccd69951b0bfec1488813b6afdbb4a81ddb2c62488c419b4a35af352298b006f14c9cfbf5b872c4191b657f + languageName: node + linkType: hard + +"hash.js@npm:1.1.7, hash.js@npm:^1.0.0, hash.js@npm:^1.0.3, hash.js@npm:^1.1.7": + version: 1.1.7 + resolution: "hash.js@npm:1.1.7" + dependencies: + inherits: ^2.0.3 + minimalistic-assert: ^1.0.1 + checksum: e350096e659c62422b85fa508e4b3669017311aa4c49b74f19f8e1bc7f3a54a584fdfd45326d4964d6011f2b2d882e38bea775a96046f2a61b7779a979629d8f + languageName: node + linkType: hard + +"he@npm:1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 3d4d6babccccd79c5c5a3f929a68af33360d6445587d628087f39a965079d84f18ce9c3d3f917ee1e3978916fc833bb8b29377c3b403f919426f91bc6965e7a7 + languageName: node + linkType: hard + +"heap@npm:0.2.6": + version: 0.2.6 + resolution: "heap@npm:0.2.6" + checksum: 1291b9b9efb5090d01c6d04a89c91ca6e0e0eb7f3694d8254f7a5effcc5ab9249bc3d16767b276645ffe86d9b2bbd82ed977f8988f55375e9f2a2c80647ebbdc + languageName: node + linkType: hard + +"hmac-drbg@npm:^1.0.1": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: ^1.0.3 + minimalistic-assert: ^1.0.0 + minimalistic-crypto-utils: ^1.0.1 + checksum: bd30b6a68d7f22d63f10e1888aee497d7c2c5c0bb469e66bbdac99f143904d1dfe95f8131f95b3e86c86dd239963c9d972fcbe147e7cffa00e55d18585c43fe0 + languageName: node + linkType: hard + +"home-or-tmp@npm:^2.0.0": + version: 2.0.0 + resolution: "home-or-tmp@npm:2.0.0" + dependencies: + os-homedir: ^1.0.0 + os-tmpdir: ^1.0.1 + checksum: b783c6ffd22f716d82f53e8c781cbe49bc9f4109a89ea86a27951e54c0bd335caf06bd828be2958cd9f4681986df1739558ae786abda6298cdd6d3edc2c362f1 + languageName: node + linkType: hard + +"hosted-git-info@npm:^2.1.4, hosted-git-info@npm:^2.6.0": + version: 2.8.9 + resolution: "hosted-git-info@npm:2.8.9" + checksum: c955394bdab888a1e9bb10eb33029e0f7ce5a2ac7b3f158099dc8c486c99e73809dca609f5694b223920ca2174db33d32b12f9a2a47141dc59607c29da5a62dd + languageName: node + linkType: hard + +"http-basic@npm:^8.1.1": + version: 8.1.3 + resolution: "http-basic@npm:8.1.3" + dependencies: + caseless: ^0.12.0 + concat-stream: ^1.6.2 + http-response-object: ^3.0.1 + parse-cache-control: ^1.0.1 + checksum: 7df5dc4d4b6eb8cc3beaa77f8e5c3074288ec3835abd83c85e5bb66d8a95a0ef97664d862caf5e225698cb795f78f9a5abd0d39404e5356ccd3e5e10c87936a5 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.0": + version: 4.1.0 + resolution: "http-cache-semantics@npm:4.1.0" + checksum: 974de94a81c5474be07f269f9fd8383e92ebb5a448208223bfb39e172a9dbc26feff250192ecc23b9593b3f92098e010406b0f24bd4d588d631f80214648ed42 + languageName: node + linkType: hard + +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + checksum: 9b0a3782665c52ce9dc658a0d1560bcb0214ba5699e4ea15aefb2a496e2ca83db03ebc42e1cce4ac1f413e4e0d2d736a3fd755772c556a9a06853ba2a0b7d920 + languageName: node + linkType: hard + +"http-https@npm:^1.0.0": + version: 1.0.0 + resolution: "http-https@npm:1.0.0" + checksum: 82fc4d2e512c64b35680944d1ae13e68220acfa05b06329832e271fd199c5c7fcff1f53fc1f91a1cd65a737ee4de14004dd3ba9a73cce33da970940c6e6ca774 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^5.0.0": + version: 5.0.0 + resolution: "http-proxy-agent@npm:5.0.0" + dependencies: + "@tootallnate/once": 2 + agent-base: 6 + debug: 4 + checksum: e2ee1ff1656a131953839b2a19cd1f3a52d97c25ba87bd2559af6ae87114abf60971e498021f9b73f9fd78aea8876d1fb0d4656aac8a03c6caa9fc175f22b786 + languageName: node + linkType: hard + +"http-response-object@npm:^3.0.1": + version: 3.0.2 + resolution: "http-response-object@npm:3.0.2" + dependencies: + "@types/node": ^10.0.3 + checksum: 6cbdcb4ce7b27c9158a131b772c903ed54add2ba831e29cc165e91c3969fa6f8105ddf924aac5b954b534ad15a1ae697b693331b2be5281ee24d79aae20c3264 + languageName: node + linkType: hard + +"http-signature@npm:~1.2.0": + version: 1.2.0 + resolution: "http-signature@npm:1.2.0" + dependencies: + assert-plus: ^1.0.0 + jsprim: ^1.2.2 + sshpk: ^1.7.0 + checksum: 3324598712266a9683585bb84a75dec4fd550567d5e0dd4a0fff6ff3f74348793404d3eeac4918fa0902c810eeee1a86419e4a2e92a164132dfe6b26743fb47c + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: 6 + debug: 4 + checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 + languageName: node + linkType: hard + +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: ^2.0.0 + checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: ">= 2.1.2 < 3" + checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: ">= 2.1.2 < 3.0.0" + checksum: 3f60d47a5c8fc3313317edfd29a00a692cc87a19cac0159e2ce711d0ebc9019064108323b5e493625e25594f11c6236647d8e256fbe7a58f4a3b33b89e6d30bf + languageName: node + linkType: hard + +"idna-uts46-hx@npm:^2.3.1": + version: 2.3.1 + resolution: "idna-uts46-hx@npm:2.3.1" + dependencies: + punycode: 2.1.0 + checksum: d434c3558d2bc1090eb90f978f995101f469cb26593414ac57aa082c9352e49972b332c6e4188b9b15538172ccfeae3121e5a19b96972a97e6aeb0676d86639c + languageName: node + linkType: hard + +"ieee754@npm:^1.1.13": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e + languageName: node + linkType: hard + +"ignore@npm:^4.0.6": + version: 4.0.6 + resolution: "ignore@npm:4.0.6" + checksum: 248f82e50a430906f9ee7f35e1158e3ec4c3971451dd9f99c9bc1548261b4db2b99709f60ac6c6cac9333494384176cc4cc9b07acbe42d52ac6a09cad734d800 + languageName: node + linkType: hard + +"ignore@npm:^5.1.1": + version: 5.2.0 + resolution: "ignore@npm:5.2.0" + checksum: 6b1f926792d614f64c6c83da3a1f9c83f6196c2839aa41e1e32dd7b8d174cef2e329d75caabb62cb61ce9dc432f75e67d07d122a037312db7caa73166a1bdb77 + languageName: node + linkType: hard + +"immediate@npm:^3.2.3": + version: 3.3.0 + resolution: "immediate@npm:3.3.0" + checksum: 634b4305101e2452eba6c07d485bf3e415995e533c94b9c3ffbc37026fa1be34def6e4f2276b0dc2162a3f91628564a4bfb26280278b89d3ee54624e854d2f5f + languageName: node + linkType: hard + +"immediate@npm:~3.2.3": + version: 3.2.3 + resolution: "immediate@npm:3.2.3" + checksum: 9867dc70794f3aa246a90afe8a0166607590b687e8c572839ff2342292ac2da4b1cdfd396d38f7b9e72625d817d601e73c33c2874e9c0b8e0f1d6658b3c03496 + languageName: node + linkType: hard + +"immutable@npm:^4.0.0-rc.12": + version: 4.0.0 + resolution: "immutable@npm:4.0.0" + checksum: 4b5e9181e4d5fa06728a481835ec09c86367e5d03268666c95b522b7644ab891098022e4479a43c4c81a68f2ed82f10751ce5d33e208d7b873b6e7f9dfaf4d87 + languageName: node + linkType: hard + +"import-fresh@npm:^2.0.0": + version: 2.0.0 + resolution: "import-fresh@npm:2.0.0" + dependencies: + caller-path: ^2.0.0 + resolve-from: ^3.0.0 + checksum: 610255f9753cc6775df00be08e9f43691aa39f7703e3636c45afe22346b8b545e600ccfe100c554607546fc8e861fa149a0d1da078c8adedeea30fff326eef79 + languageName: node + linkType: hard + +"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1": + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" + dependencies: + parent-module: ^1.0.0 + resolve-from: ^4.0.0 + checksum: 2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 7cae75c8cd9a50f57dadd77482359f659eaebac0319dd9368bcd1714f55e65badd6929ca58569da2b6494ef13fdd5598cd700b1eba23f8b79c5f19d195a3ecf7 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 824cfb9929d031dabf059bebfe08cf3137365e112019086ed3dcff6a0a7b698cb80cf67ccccde0e25b9e2d7527aa6cc1fed1ac490c752162496caba3e6699612 + languageName: node + linkType: hard + +"infer-owner@npm:^1.0.4": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: 181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: ^1.3.0 + wrappy: 1 + checksum: f4f76aa072ce19fae87ce1ef7d221e709afb59d445e05d47fba710e85470923a75de35bfae47da6de1b18afc3ce83d70facf44cfb0aff89f0a3f45c0a0244dfd + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3, inherits@npm:~2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 + languageName: node + linkType: hard + +"ini@npm:^1.3.5": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 + languageName: node + linkType: hard + +"inquirer@npm:^6.2.2": + version: 6.5.2 + resolution: "inquirer@npm:6.5.2" + dependencies: + ansi-escapes: ^3.2.0 + chalk: ^2.4.2 + cli-cursor: ^2.1.0 + cli-width: ^2.0.0 + external-editor: ^3.0.3 + figures: ^2.0.0 + lodash: ^4.17.12 + mute-stream: 0.0.7 + run-async: ^2.2.0 + rxjs: ^6.4.0 + string-width: ^2.1.0 + strip-ansi: ^5.1.0 + through: ^2.3.6 + checksum: 175ad4cd1ebed493b231b240185f1da5afeace5f4e8811dfa83cf55dcae59c3255eaed990aa71871b0fd31aa9dc212f43c44c50ed04fb529364405e72f484d28 + languageName: node + linkType: hard + +"internal-slot@npm:^1.0.3": + version: 1.0.3 + resolution: "internal-slot@npm:1.0.3" + dependencies: + get-intrinsic: ^1.1.0 + has: ^1.0.3 + side-channel: ^1.0.4 + checksum: 1944f92e981e47aebc98a88ff0db579fd90543d937806104d0b96557b10c1f170c51fb777b97740a8b6ddeec585fca8c39ae99fd08a8e058dfc8ab70937238bf + languageName: node + linkType: hard + +"interpret@npm:^1.0.0": + version: 1.4.0 + resolution: "interpret@npm:1.4.0" + checksum: 2e5f51268b5941e4a17e4ef0575bc91ed0ab5f8515e3cf77486f7c14d13f3010df9c0959f37063dcc96e78d12dc6b0bb1b9e111cdfe69771f4656d2993d36155 + languageName: node + linkType: hard + +"invariant@npm:^2.2.2": + version: 2.2.4 + resolution: "invariant@npm:2.2.4" + dependencies: + loose-envify: ^1.0.0 + checksum: cc3182d793aad82a8d1f0af697b462939cb46066ec48bbf1707c150ad5fad6406137e91a262022c269702e01621f35ef60269f6c0d7fd178487959809acdfb14 + languageName: node + linkType: hard + +"invert-kv@npm:^1.0.0": + version: 1.0.0 + resolution: "invert-kv@npm:1.0.0" + checksum: aebeee31dda3b3d25ffd242e9a050926e7fe5df642d60953ab183aca1a7d1ffb39922eb2618affb0e850cf2923116f0da1345367759d88d097df5da1f1e1590e + languageName: node + linkType: hard + +"io-ts@npm:1.10.4": + version: 1.10.4 + resolution: "io-ts@npm:1.10.4" + dependencies: + fp-ts: ^1.0.0 + checksum: 619134006778f7ca42693716ade7fc1a383079e7848bbeabc67a0e4ac9139cda6b2a88a052d539ab7d554033ee2ffe4dab5cb96b958c83fee2dff73d23f03e88 + languageName: node + linkType: hard + +"ip@npm:^1.1.5": + version: 1.1.5 + resolution: "ip@npm:1.1.5" + checksum: 30133981f082a060a32644f6a7746e9ba7ac9e2bc07ecc8bbdda3ee8ca9bec1190724c390e45a1ee7695e7edfd2a8f7dda2c104ec5f7ac5068c00648504c7e5a + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: f88d3825981486f5a1942414c8d77dd6674dd71c065adcfa46f578d677edcb99fda25af42675cb59db492fdf427b34a5abfcde3982da11a8fd83a500b41cfe77 + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^0.1.6": + version: 0.1.6 + resolution: "is-accessor-descriptor@npm:0.1.6" + dependencies: + kind-of: ^3.0.2 + checksum: 3d629a086a9585bc16a83a8e8a3416f400023301855cafb7ccc9a1d63145b7480f0ad28877dcc2cce09492c4ec1c39ef4c071996f24ee6ac626be4217b8ffc8a + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-accessor-descriptor@npm:1.0.0" + dependencies: + kind-of: ^6.0.0 + checksum: 8e475968e9b22f9849343c25854fa24492dbe8ba0dea1a818978f9f1b887339190b022c9300d08c47fe36f1b913d70ce8cbaca00369c55a56705fdb7caed37fe + languageName: node + linkType: hard + +"is-arguments@npm:^1.0.4": + version: 1.1.1 + resolution: "is-arguments@npm:1.1.1" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: 7f02700ec2171b691ef3e4d0e3e6c0ba408e8434368504bb593d0d7c891c0dbfda6d19d30808b904a6cb1929bca648c061ba438c39f296c2a8ca083229c49f27 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: eef4417e3c10e60e2c810b6084942b3ead455af16c4509959a27e490e7aee87cfb3f38e01bbde92220b528a0ee1a18d52b787e1458ee86174d8c7f0e58cd488f + languageName: node + linkType: hard + +"is-bigint@npm:^1.0.1": + version: 1.0.4 + resolution: "is-bigint@npm:1.0.4" + dependencies: + has-bigints: ^1.0.1 + checksum: c56edfe09b1154f8668e53ebe8252b6f185ee852a50f9b41e8d921cb2bed425652049fbe438723f6cb48a63ca1aa051e948e7e401e093477c99c84eba244f666 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: ^2.0.0 + checksum: 84192eb88cff70d320426f35ecd63c3d6d495da9d805b19bc65b518984b7c0760280e57dbf119b7e9be6b161784a5a673ab2c6abe83abb5198a432232ad5b35c + languageName: node + linkType: hard + +"is-boolean-object@npm:^1.1.0": + version: 1.1.2 + resolution: "is-boolean-object@npm:1.1.2" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: c03b23dbaacadc18940defb12c1c0e3aaece7553ef58b162a0f6bba0c2a7e1551b59f365b91e00d2dbac0522392d576ef322628cb1d036a0fe51eb466db67222 + languageName: node + linkType: hard + +"is-buffer@npm:^1.1.5": + version: 1.1.6 + resolution: "is-buffer@npm:1.1.6" + checksum: 4a186d995d8bbf9153b4bd9ff9fd04ae75068fe695d29025d25e592d9488911eeece84eefbd8fa41b8ddcc0711058a71d4c466dcf6f1f6e1d83830052d8ca707 + languageName: node + linkType: hard + +"is-buffer@npm:~2.0.3": + version: 2.0.5 + resolution: "is-buffer@npm:2.0.5" + checksum: 764c9ad8b523a9f5a32af29bdf772b08eb48c04d2ad0a7240916ac2688c983bf5f8504bf25b35e66240edeb9d9085461f9b5dae1f3d2861c6b06a65fe983de42 + languageName: node + linkType: hard + +"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.4": + version: 1.2.4 + resolution: "is-callable@npm:1.2.4" + checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f + languageName: node + linkType: hard + +"is-ci@npm:^2.0.0": + version: 2.0.0 + resolution: "is-ci@npm:2.0.0" + dependencies: + ci-info: ^2.0.0 + bin: + is-ci: bin.js + checksum: 77b869057510f3efa439bbb36e9be429d53b3f51abd4776eeea79ab3b221337fe1753d1e50058a9e2c650d38246108beffb15ccfd443929d77748d8c0cc90144 + languageName: node + linkType: hard + +"is-core-module@npm:^2.8.1": + version: 2.9.0 + resolution: "is-core-module@npm:2.9.0" + dependencies: + has: ^1.0.3 + checksum: b27034318b4b462f1c8f1dfb1b32baecd651d891a4e2d1922135daeff4141dfced2b82b07aef83ef54275c4a3526aa38da859223664d0868ca24182badb784ce + languageName: node + linkType: hard + +"is-data-descriptor@npm:^0.1.4": + version: 0.1.4 + resolution: "is-data-descriptor@npm:0.1.4" + dependencies: + kind-of: ^3.0.2 + checksum: 5c622e078ba933a78338ae398a3d1fc5c23332b395312daf4f74bab4afb10d061cea74821add726cb4db8b946ba36217ee71a24fe71dd5bca4632edb7f6aad87 + languageName: node + linkType: hard + +"is-data-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-data-descriptor@npm:1.0.0" + dependencies: + kind-of: ^6.0.0 + checksum: e705e6816241c013b05a65dc452244ee378d1c3e3842bd140beabe6e12c0d700ef23c91803f971aa7b091fb0573c5da8963af34a2b573337d87bc3e1f53a4e6d + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.1": + version: 1.0.5 + resolution: "is-date-object@npm:1.0.5" + dependencies: + has-tostringtag: ^1.0.0 + checksum: baa9077cdf15eb7b58c79398604ca57379b2fc4cf9aa7a9b9e295278648f628c9b201400c01c5e0f7afae56507d741185730307cbe7cad3b9f90a77e5ee342fc + languageName: node + linkType: hard + +"is-descriptor@npm:^0.1.0": + version: 0.1.6 + resolution: "is-descriptor@npm:0.1.6" + dependencies: + is-accessor-descriptor: ^0.1.6 + is-data-descriptor: ^0.1.4 + kind-of: ^5.0.0 + checksum: 0f780c1b46b465f71d970fd7754096ffdb7b69fd8797ca1f5069c163eaedcd6a20ec4a50af669075c9ebcfb5266d2e53c8b227e485eefdb0d1fee09aa1dd8ab6 + languageName: node + linkType: hard + +"is-descriptor@npm:^1.0.0, is-descriptor@npm:^1.0.2": + version: 1.0.2 + resolution: "is-descriptor@npm:1.0.2" + dependencies: + is-accessor-descriptor: ^1.0.0 + is-data-descriptor: ^1.0.0 + kind-of: ^6.0.2 + checksum: 2ed623560bee035fb67b23e32ce885700bef8abe3fbf8c909907d86507b91a2c89a9d3a4d835a4d7334dd5db0237a0aeae9ca109c1e4ef1c0e7b577c0846ab5a + languageName: node + linkType: hard + +"is-directory@npm:^0.3.1": + version: 0.3.1 + resolution: "is-directory@npm:0.3.1" + checksum: dce9a9d3981e38f2ded2a80848734824c50ee8680cd09aa477bef617949715cfc987197a2ca0176c58a9fb192a1a0d69b535c397140d241996a609d5906ae524 + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 3fef7ddbf0be25958e8991ad941901bf5922ab2753c46980b60b05c1bf9c9c2402d35e6dc32e4380b980ef5e1970a5d9d5e5aa2e02d77727c3b6b5e918474c56 + languageName: node + linkType: hard + +"is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 3875571d20a7563772ecc7a5f36cb03167e9be31ad259041b4a8f73f33f885441f778cee1f1fe0085eb4bc71679b9d8c923690003a36a6a5fdf8023e6e3f0672 + languageName: node + linkType: hard + +"is-extendable@npm:^1.0.1": + version: 1.0.1 + resolution: "is-extendable@npm:1.0.1" + dependencies: + is-plain-object: ^2.0.4 + checksum: db07bc1e9de6170de70eff7001943691f05b9d1547730b11be01c0ebfe67362912ba743cf4be6fd20a5e03b4180c685dad80b7c509fe717037e3eee30ad8e84f + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85 + languageName: node + linkType: hard + +"is-finite@npm:^1.0.0": + version: 1.1.0 + resolution: "is-finite@npm:1.1.0" + checksum: 532b97ed3d03e04c6bd203984d9e4ba3c0c390efee492bad5d1d1cd1802a68ab27adbd3ef6382f6312bed6c8bb1bd3e325ea79a8dc8fe080ed7a06f5f97b93e7 + languageName: node + linkType: hard + +"is-fn@npm:^1.0.0": + version: 1.0.0 + resolution: "is-fn@npm:1.0.0" + checksum: eeea1e536716f93a92dc1a8550b2c0909fe74bb5144d0fb6d65e0d31eb9c06c30559f69d83a9351d2288cc7293b43bc074e0fab5fae19e312ff38aa0c7672827 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^1.0.0": + version: 1.0.0 + resolution: "is-fullwidth-code-point@npm:1.0.0" + dependencies: + number-is-nan: ^1.0.0 + checksum: 4d46a7465a66a8aebcc5340d3b63a56602133874af576a9ca42c6f0f4bd787a743605771c5f246db77da96605fefeffb65fc1dbe862dcc7328f4b4d03edf5a57 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^2.0.0": + version: 2.0.0 + resolution: "is-fullwidth-code-point@npm:2.0.0" + checksum: eef9c6e15f68085fec19ff6a978a6f1b8f48018fd1265035552078ee945573594933b09bbd6f562553e2a241561439f1ef5339276eba68d272001343084cfab8 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348 + languageName: node + linkType: hard + +"is-function@npm:^1.0.1": + version: 1.0.2 + resolution: "is-function@npm:1.0.2" + checksum: 7d564562e07b4b51359547d3ccc10fb93bb392fd1b8177ae2601ee4982a0ece86d952323fc172a9000743a3971f09689495ab78a1d49a9b14fc97a7e28521dc0 + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.7": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: ^2.1.1 + checksum: d381c1319fcb69d341cc6e6c7cd588e17cd94722d9a32dbd60660b993c4fb7d0f19438674e68dfec686d09b7c73139c9166b47597f846af387450224a8101ab4 + languageName: node + linkType: hard + +"is-hex-prefixed@npm:1.0.0": + version: 1.0.0 + resolution: "is-hex-prefixed@npm:1.0.0" + checksum: 5ac58e6e528fb029cc43140f6eeb380fad23d0041cc23154b87f7c9a1b728bcf05909974e47248fd0b7fcc11ba33cf7e58d64804883056fabd23e2b898be41de + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35 + languageName: node + linkType: hard + +"is-negative-zero@npm:^2.0.2": + version: 2.0.2 + resolution: "is-negative-zero@npm:2.0.2" + checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a + languageName: node + linkType: hard + +"is-number-object@npm:^1.0.4": + version: 1.0.7 + resolution: "is-number-object@npm:1.0.7" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d1e8d01bb0a7134c74649c4e62da0c6118a0bfc6771ea3c560914d52a627873e6920dd0fd0ebc0e12ad2ff4687eac4c308f7e80320b973b2c8a2c8f97a7524f7 + languageName: node + linkType: hard + +"is-number@npm:^3.0.0": + version: 3.0.0 + resolution: "is-number@npm:3.0.0" + dependencies: + kind-of: ^3.0.2 + checksum: 0c62bf8e9d72c4dd203a74d8cfc751c746e75513380fef420cda8237e619a988ee43e678ddb23c87ac24d91ac0fe9f22e4ffb1301a50310c697e9d73ca3994e9 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 456ac6f8e0f3111ed34668a624e45315201dff921e5ac181f8ec24923b99e9f32ca1a194912dc79d539c97d33dba17dc635202ff0b2cf98326f608323276d27a + languageName: node + linkType: hard + +"is-object@npm:^1.0.1": + version: 1.0.2 + resolution: "is-object@npm:1.0.2" + checksum: 971219c4b1985b9751f65e4c8296d3104f0457b0e8a70849e848a4a2208bc47317d73b3b85d4a369619cb2df8284dc22584cb2695a7d99aca5e8d0aa64fc075a + languageName: node + linkType: hard + +"is-plain-obj@npm:^1.1.0": + version: 1.1.0 + resolution: "is-plain-obj@npm:1.1.0" + checksum: 0ee04807797aad50859652a7467481816cbb57e5cc97d813a7dcd8915da8195dc68c436010bf39d195226cde6a2d352f4b815f16f26b7bf486a5754290629931 + languageName: node + linkType: hard + +"is-plain-obj@npm:^2.1.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: cec9100678b0a9fe0248a81743041ed990c2d4c99f893d935545cfbc42876cbe86d207f3b895700c690ad2fa520e568c44afc1605044b535a7820c1d40e38daa + languageName: node + linkType: hard + +"is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: ^3.0.1 + checksum: 2a401140cfd86cabe25214956ae2cfee6fbd8186809555cd0e84574f88de7b17abacb2e477a6a658fa54c6083ecbda1e6ae404c7720244cd198903848fca70ca + languageName: node + linkType: hard + +"is-regex@npm:^1.0.4, is-regex@npm:^1.1.4, is-regex@npm:~1.1.4": + version: 1.1.4 + resolution: "is-regex@npm:1.1.4" + dependencies: + call-bind: ^1.0.2 + has-tostringtag: ^1.0.0 + checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652 + languageName: node + linkType: hard + +"is-retry-allowed@npm:^1.0.0": + version: 1.2.0 + resolution: "is-retry-allowed@npm:1.2.0" + checksum: 50d700a89ae31926b1c91b3eb0104dbceeac8790d8b80d02f5c76d9a75c2056f1bb24b5268a8a018dead606bddf116b2262e5ac07401eb8b8783b266ed22558d + languageName: node + linkType: hard + +"is-shared-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "is-shared-array-buffer@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a + languageName: node + linkType: hard + +"is-stream@npm:^1.0.0, is-stream@npm:^1.0.1": + version: 1.1.0 + resolution: "is-stream@npm:1.1.0" + checksum: 063c6bec9d5647aa6d42108d4c59723d2bd4ae42135a2d4db6eadbd49b7ea05b750fd69d279e5c7c45cf9da753ad2c00d8978be354d65aa9f6bb434969c6a2ae + languageName: node + linkType: hard + +"is-string@npm:^1.0.5, is-string@npm:^1.0.7": + version: 1.0.7 + resolution: "is-string@npm:1.0.7" + dependencies: + has-tostringtag: ^1.0.0 + checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989 + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": + version: 1.0.4 + resolution: "is-symbol@npm:1.0.4" + dependencies: + has-symbols: ^1.0.2 + checksum: 92805812ef590738d9de49d677cd17dfd486794773fb6fa0032d16452af46e9b91bb43ffe82c983570f015b37136f4b53b28b8523bfb10b0ece7a66c31a54510 + languageName: node + linkType: hard + +"is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.7": + version: 1.1.8 + resolution: "is-typed-array@npm:1.1.8" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + es-abstract: ^1.18.5 + foreach: ^2.0.5 + has-tostringtag: ^1.0.0 + checksum: aa0f9f0716e19e2fb8aef69e69e4205479d25ace778e2339fc910948115cde4b0d9aff9d5d1e8b80f09a5664998278e05e54ad3dc9cb12cefcf86db71084ed00 + languageName: node + linkType: hard + +"is-typedarray@npm:^1.0.0, is-typedarray@npm:~1.0.0": + version: 1.0.0 + resolution: "is-typedarray@npm:1.0.0" + checksum: 3508c6cd0a9ee2e0df2fa2e9baabcdc89e911c7bd5cf64604586697212feec525aa21050e48affb5ffc3df20f0f5d2e2cf79b08caa64e1ccc9578e251763aef7 + languageName: node + linkType: hard + +"is-unicode-supported@npm:^0.1.0": + version: 0.1.0 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: a2aab86ee7712f5c2f999180daaba5f361bdad1efadc9610ff5b8ab5495b86e4f627839d085c6530363c6d6d4ecbde340fb8e54bdb83da4ba8e0865ed5513c52 + languageName: node + linkType: hard + +"is-url@npm:^1.2.4": + version: 1.2.4 + resolution: "is-url@npm:1.2.4" + checksum: 100e74b3b1feab87a43ef7653736e88d997eb7bd32e71fd3ebc413e58c1cbe56269699c776aaea84244b0567f2a7d68dfaa512a062293ed2f9fdecb394148432 + languageName: node + linkType: hard + +"is-utf8@npm:^0.2.0": + version: 0.2.1 + resolution: "is-utf8@npm:0.2.1" + checksum: 167ccd2be869fc228cc62c1a28df4b78c6b5485d15a29027d3b5dceb09b383e86a3522008b56dcac14b592b22f0a224388718c2505027a994fd8471465de54b3 + languageName: node + linkType: hard + +"is-weakref@npm:^1.0.2": + version: 1.0.2 + resolution: "is-weakref@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + checksum: 95bd9a57cdcb58c63b1c401c60a474b0f45b94719c30f548c891860f051bc2231575c290a6b420c6bc6e7ed99459d424c652bd5bf9a1d5259505dc35b4bf83de + languageName: node + linkType: hard + +"is-windows@npm:^1.0.2": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 + languageName: node + linkType: hard + +"is-wsl@npm:^2.1.1": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: ^2.0.0 + checksum: 20849846ae414997d290b75e16868e5261e86ff5047f104027026fd61d8b5a9b0b3ade16239f35e1a067b3c7cc02f70183cb661010ed16f4b6c7c93dad1b19d8 + languageName: node + linkType: hard + +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 + languageName: node + linkType: hard + +"isarray@npm:1.0.0, isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 26bf6c5480dda5161c820c5b5c751ae1e766c587b1f951ea3fcfc973bafb7831ae5b54a31a69bd670220e42e99ec154475025a468eae58ea262f813fdc8d1c62 + languageName: node + linkType: hard + +"isobject@npm:^2.0.0": + version: 2.1.0 + resolution: "isobject@npm:2.1.0" + dependencies: + isarray: 1.0.0 + checksum: 811c6f5a866877d31f0606a88af4a45f282544de886bf29f6a34c46616a1ae2ed17076cc6bf34c0128f33eecf7e1fcaa2c82cf3770560d3e26810894e96ae79f + languageName: node + linkType: hard + +"isobject@npm:^3.0.0, isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 + languageName: node + linkType: hard + +"isstream@npm:~0.1.2": + version: 0.1.2 + resolution: "isstream@npm:0.1.2" + checksum: 1eb2fe63a729f7bdd8a559ab552c69055f4f48eb5c2f03724430587c6f450783c8f1cd936c1c952d0a927925180fcc892ebd5b174236cf1065d4bd5bdb37e963 + languageName: node + linkType: hard + +"isurl@npm:^1.0.0-alpha5": + version: 1.0.0 + resolution: "isurl@npm:1.0.0" + dependencies: + has-to-string-tag-x: ^1.2.0 + is-object: ^1.0.1 + checksum: 28a96e019269d57015fa5869f19dda5a3ed1f7b21e3e0c4ff695419bd0541547db352aa32ee4a3659e811a177b0e37a5bc1a036731e71939dd16b59808ab92bd + languageName: node + linkType: hard + +"js-sha3@npm:0.5.7, js-sha3@npm:^0.5.7": + version: 0.5.7 + resolution: "js-sha3@npm:0.5.7" + checksum: 973a28ea4b26cc7f12d2ab24f796e24ee4a71eef45a6634a052f6eb38cf8b2333db798e896e6e094ea6fa4dfe8e42a2a7942b425cf40da3f866623fd05bb91ea + languageName: node + linkType: hard + +"js-sha3@npm:0.8.0, js-sha3@npm:^0.8.0": + version: 0.8.0 + resolution: "js-sha3@npm:0.8.0" + checksum: 75df77c1fc266973f06cce8309ce010e9e9f07ec35ab12022ed29b7f0d9c8757f5a73e1b35aa24840dced0dea7059085aa143d817aea9e188e2a80d569d9adce + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 8a95213a5a77deb6cbe94d86340e8d9ace2b93bc367790b260101d2f36a2eaf4e4e22d9fa9cf459b38af3a32fb4190e638024cf82ec95ef708680e405ea7cc78 + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.2": + version: 3.0.2 + resolution: "js-tokens@npm:3.0.2" + checksum: ff24cf90e6e4ac446eba56e604781c1aaf3bdaf9b13a00596a0ebd972fa3b25dc83c0f0f67289c33252abb4111e0d14e952a5d9ffb61f5c22532d555ebd8d8a9 + languageName: node + linkType: hard + +"js-yaml@npm:3.13.1": + version: 3.13.1 + resolution: "js-yaml@npm:3.13.1" + dependencies: + argparse: ^1.0.7 + esprima: ^4.0.0 + bin: + js-yaml: bin/js-yaml.js + checksum: 7511b764abb66d8aa963379f7d2a404f078457d106552d05a7b556d204f7932384e8477513c124749fa2de52eb328961834562bd09924902c6432e40daa408bc + languageName: node + linkType: hard + +"js-yaml@npm:3.x, js-yaml@npm:^3.12.0, js-yaml@npm:^3.13.0, js-yaml@npm:^3.13.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: ^1.0.7 + esprima: ^4.0.0 + bin: + js-yaml: bin/js-yaml.js + checksum: bef146085f472d44dee30ec34e5cf36bf89164f5d585435a3d3da89e52622dff0b188a580e4ad091c3341889e14cb88cac6e4deb16dc5b1e9623bb0601fc255c + languageName: node + linkType: hard + +"js-yaml@npm:4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: ^2.0.1 + bin: + js-yaml: bin/js-yaml.js + checksum: c7830dfd456c3ef2c6e355cc5a92e6700ceafa1d14bba54497b34a99f0376cecbb3e9ac14d3e5849b426d5a5140709a66237a8c991c675431271c4ce5504151a + languageName: node + linkType: hard + +"jsbn@npm:~0.1.0": + version: 0.1.1 + resolution: "jsbn@npm:0.1.1" + checksum: e5ff29c1b8d965017ef3f9c219dacd6e40ad355c664e277d31246c90545a02e6047018c16c60a00f36d561b3647215c41894f5d869ada6908a2e0ce4200c88f2 + languageName: node + linkType: hard + +"jsesc@npm:^1.3.0": + version: 1.3.0 + resolution: "jsesc@npm:1.3.0" + bin: + jsesc: bin/jsesc + checksum: 9384cc72bf8ef7f2eb75fea64176b8b0c1c5e77604854c72cb4670b7072e112e3baaa69ef134be98cb078834a7812b0bfe676ad441ccd749a59427f5ed2127f1 + languageName: node + linkType: hard + +"jsesc@npm:~0.5.0": + version: 0.5.0 + resolution: "jsesc@npm:0.5.0" + bin: + jsesc: bin/jsesc + checksum: b8b44cbfc92f198ad972fba706ee6a1dfa7485321ee8c0b25f5cedd538dcb20cde3197de16a7265430fce8277a12db066219369e3d51055038946039f6e20e17 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.0": + version: 3.0.0 + resolution: "json-buffer@npm:3.0.0" + checksum: 0cecacb8025370686a916069a2ff81f7d55167421b6aa7270ee74e244012650dd6bce22b0852202ea7ff8624fce50ff0ec1bdf95914ccb4553426e290d5a63fa + languageName: node + linkType: hard + +"json-parse-better-errors@npm:^1.0.1": + version: 1.0.2 + resolution: "json-parse-better-errors@npm:1.0.2" + checksum: ff2b5ba2a70e88fd97a3cb28c1840144c5ce8fae9cbeeddba15afa333a5c407cf0e42300cd0a2885dbb055227fe68d405070faad941beeffbfde9cf3b2c78c5d + languageName: node + linkType: hard + +"json-rpc-engine@npm:^3.4.0, json-rpc-engine@npm:^3.6.0": + version: 3.8.0 + resolution: "json-rpc-engine@npm:3.8.0" + dependencies: + async: ^2.0.1 + babel-preset-env: ^1.7.0 + babelify: ^7.3.0 + json-rpc-error: ^2.0.0 + promise-to-callback: ^1.0.0 + safe-event-emitter: ^1.0.1 + checksum: 4a02ddda196b68717cdcdf9bc8eac91f956b717431daf1f317e016d564bd5b8974e8a66f75fd1f069d63b8e944128020ec7c371f28cf29ac0951d3338b2f667c + languageName: node + linkType: hard + +"json-rpc-error@npm:^2.0.0": + version: 2.0.0 + resolution: "json-rpc-error@npm:2.0.0" + dependencies: + inherits: ^2.0.1 + checksum: bbfb1ff82d0605b4dfd4ac6d093e863a8f623e0e83a098ccab5711a08d2ae09ea603260d4573a524e596701e64733690a5c31901e99daebe05b09053d8702d0c + languageName: node + linkType: hard + +"json-rpc-random-id@npm:^1.0.0": + version: 1.0.1 + resolution: "json-rpc-random-id@npm:1.0.1" + checksum: fcd2e884193a129ace4002bd65a86e9cdb206733b4693baea77bd8b372cf8de3043fbea27716a2c9a716581a908ca8d978d9dfec4847eb2cf77edb4cf4b2252c + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 7486074d3ba247769fda17d5181b345c9fb7d12e0da98b22d1d71a5db9698d8b4bd900a3ec1a4ffdd60846fc2556274a5c894d0c48795f14cb03aeae7b55260b + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad + languageName: node + linkType: hard + +"json-schema@npm:0.4.0": + version: 0.4.0 + resolution: "json-schema@npm:0.4.0" + checksum: 66389434c3469e698da0df2e7ac5a3281bcff75e797a5c127db7c5b56270e01ae13d9afa3c03344f76e32e81678337a8c912bdbb75101c62e487dc3778461d72 + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: cff44156ddce9c67c44386ad5cddf91925fe06b1d217f2da9c4910d01f358c6e3989c4d5a02683c7a5667f9727ff05831f7aa8ae66c8ff691c556f0884d49215 + languageName: node + linkType: hard + +"json-stable-stringify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify@npm:1.0.1" + dependencies: + jsonify: ~0.0.0 + checksum: 65d6cbf0fca72a4136999f65f4401cf39a129f7aeff0fdd987ac3d3423a2113659294045fb8377e6e20d865cac32b1b8d70f3d87346c9786adcee60661d96ca5 + languageName: node + linkType: hard + +"json-stringify-safe@npm:~5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 48ec0adad5280b8a96bb93f4563aa1667fd7a36334f79149abd42446d0989f2ddc58274b479f4819f1f00617957e6344c886c55d05a4e15ebb4ab931e4a6a8ee + languageName: node + linkType: hard + +"json5@npm:^0.5.1": + version: 0.5.1 + resolution: "json5@npm:0.5.1" + bin: + json5: lib/cli.js + checksum: 9b85bf06955b23eaa4b7328aa8892e3887e81ca731dd27af04a5f5f1458fbc5e1de57a24442e3272f8a888dd1abe1cb68eb693324035f6b3aeba4fcab7667d62 + languageName: node + linkType: hard + +"jsonfile@npm:^2.1.0": + version: 2.4.0 + resolution: "jsonfile@npm:2.4.0" + dependencies: + graceful-fs: ^4.1.6 + dependenciesMeta: + graceful-fs: + optional: true + checksum: f5064aabbc9e35530dc471d8b203ae1f40dbe949ddde4391c6f6a6d310619a15f0efdae5587df594d1d70c555193aaeee9d2ed4aec9ffd5767bd5e4e62d49c3d + languageName: node + linkType: hard + +"jsonfile@npm:^4.0.0": + version: 4.0.0 + resolution: "jsonfile@npm:4.0.0" + dependencies: + graceful-fs: ^4.1.6 + dependenciesMeta: + graceful-fs: + optional: true + checksum: 6447d6224f0d31623eef9b51185af03ac328a7553efcee30fa423d98a9e276ca08db87d71e17f2310b0263fd3ffa6c2a90a6308367f661dc21580f9469897c9e + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: ^4.1.6 + universalify: ^2.0.0 + dependenciesMeta: + graceful-fs: + optional: true + checksum: 7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354 + languageName: node + linkType: hard + +"jsonify@npm:~0.0.0": + version: 0.0.0 + resolution: "jsonify@npm:0.0.0" + checksum: d8d4ed476c116e6987a460dcb82f22284686caae9f498ac87b0502c1765ac1522f4f450a4cad4cc368d202fd3b27a3860735140a82867fc6d558f5f199c38bce + languageName: node + linkType: hard + +"jsonschema@npm:^1.2.4": + version: 1.4.0 + resolution: "jsonschema@npm:1.4.0" + checksum: a2f96b5154658f5567b064d6f25fa4cb7e38b923d5dce9dad8d2566a07dd94abc4acedf234333a91f31bc9934e9dd57c270dcc51e5656b4c104408196c768580 + languageName: node + linkType: hard + +"jsprim@npm:^1.2.2": + version: 1.4.2 + resolution: "jsprim@npm:1.4.2" + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + checksum: 2ad1b9fdcccae8b3d580fa6ced25de930eaa1ad154db21bbf8478a4d30bbbec7925b5f5ff29b933fba9412b16a17bd484a8da4fdb3663b5e27af95dd693bab2a + languageName: node + linkType: hard + +"keccak@npm:3.0.1": + version: 3.0.1 + resolution: "keccak@npm:3.0.1" + dependencies: + node-addon-api: ^2.0.0 + node-gyp: latest + node-gyp-build: ^4.2.0 + checksum: 1de1b62fbb3e035ee186232b11f154bd5c2c12a2d910bc8ec313dab412b6f39ddc51d3a105618dd8de752875da0ead21abb0eb1d4e7d7b17771a4acbb7159390 + languageName: node + linkType: hard + +"keccak@npm:^3.0.0": + version: 3.0.2 + resolution: "keccak@npm:3.0.2" + dependencies: + node-addon-api: ^2.0.0 + node-gyp: latest + node-gyp-build: ^4.2.0 + readable-stream: ^3.6.0 + checksum: 39a7d6128b8ee4cb7dcd186fc7e20c6087cc39f573a0f81b147c323f688f1f7c2b34f62c4ae189fe9b81c6730b2d1228d8a399cdc1f3d8a4c8f030cdc4f20272 + languageName: node + linkType: hard + +"keyv@npm:^3.0.0": + version: 3.1.0 + resolution: "keyv@npm:3.1.0" + dependencies: + json-buffer: 3.0.0 + checksum: bb7e8f3acffdbafbc2dd5b63f377fe6ec4c0e2c44fc82720449ef8ab54f4a7ce3802671ed94c0f475ae0a8549703353a2124561fcf3317010c141b32ca1ce903 + languageName: node + linkType: hard + +"kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": + version: 3.2.2 + resolution: "kind-of@npm:3.2.2" + dependencies: + is-buffer: ^1.1.5 + checksum: e898df8ca2f31038f27d24f0b8080da7be274f986bc6ed176f37c77c454d76627619e1681f6f9d2e8d2fd7557a18ecc419a6bb54e422abcbb8da8f1a75e4b386 + languageName: node + linkType: hard + +"kind-of@npm:^4.0.0": + version: 4.0.0 + resolution: "kind-of@npm:4.0.0" + dependencies: + is-buffer: ^1.1.5 + checksum: 1b9e7624a8771b5a2489026e820f3bbbcc67893e1345804a56b23a91e9069965854d2a223a7c6ee563c45be9d8c6ff1ef87f28ed5f0d1a8d00d9dcbb067c529f + languageName: node + linkType: hard + +"kind-of@npm:^5.0.0": + version: 5.1.0 + resolution: "kind-of@npm:5.1.0" + checksum: f2a0102ae0cf19c4a953397e552571bad2b588b53282874f25fca7236396e650e2db50d41f9f516bd402536e4df968dbb51b8e69e4d5d4a7173def78448f7bab + languageName: node + linkType: hard + +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 3ab01e7b1d440b22fe4c31f23d8d38b4d9b91d9f291df683476576493d5dfd2e03848a8b05813dd0c3f0e835bc63f433007ddeceb71f05cb25c45ae1b19c6d3b + languageName: node + linkType: hard + +"klaw-sync@npm:^6.0.0": + version: 6.0.0 + resolution: "klaw-sync@npm:6.0.0" + dependencies: + graceful-fs: ^4.1.11 + checksum: 0da397f8961313c3ef8f79fb63af9002cde5a8fb2aeb1a37351feff0dd6006129c790400c3f5c3b4e757bedcabb13d21ec0a5eaef5a593d59515d4f2c291e475 + languageName: node + linkType: hard + +"klaw@npm:^1.0.0": + version: 1.3.1 + resolution: "klaw@npm:1.3.1" + dependencies: + graceful-fs: ^4.1.9 + dependenciesMeta: + graceful-fs: + optional: true + checksum: 8f69e4797c26e7c3f2426bfa85f38a3da3c2cb1b4c6bd850d2377aed440d41ce9d806f2885c2e2e224372c56af4b1d43b8a499adecf9a05e7373dc6b8b7c52e4 + languageName: node + linkType: hard + +"lcid@npm:^1.0.0": + version: 1.0.0 + resolution: "lcid@npm:1.0.0" + dependencies: + invert-kv: ^1.0.0 + checksum: e8c7a4db07663068c5c44b650938a2bc41aa992037eebb69376214320f202c1250e70b50c32f939e28345fd30c2d35b8e8cd9a19d5932c398246a864ce54843d + languageName: node + linkType: hard + +"level-codec@npm:^9.0.0": + version: 9.0.2 + resolution: "level-codec@npm:9.0.2" + dependencies: + buffer: ^5.6.0 + checksum: 289003d51b8afcdd24c4d318606abf2bae81975e4b527d7349abfdbacc8fef26711f2f24e2d20da0e1dce0bb216a856c9433ccb9ca25fa78a96aed9f51e506ed + languageName: node + linkType: hard + +"level-codec@npm:~7.0.0": + version: 7.0.1 + resolution: "level-codec@npm:7.0.1" + checksum: 2565c131d93aea0786af5eda9bb907e3f5152fade03fd7a7751e2f95301fc5241063eb927c2f7df086fac33592523aab8df86bcf7ecc46ed53de11453b600329 + languageName: node + linkType: hard + +"level-concat-iterator@npm:~2.0.0": + version: 2.0.1 + resolution: "level-concat-iterator@npm:2.0.1" + checksum: 562583ef1292215f8e749c402510cb61c4d6fccf4541082b3d21dfa5ecde9fcccfe52bdcb5cfff9d2384e7ce5891f44df9439a6ddb39b0ffe31015600b4a828a + languageName: node + linkType: hard + +"level-errors@npm:^1.0.3": + version: 1.1.2 + resolution: "level-errors@npm:1.1.2" + dependencies: + errno: ~0.1.1 + checksum: 18c22fd574ff31567642a85d9a306604a32cbe969b8469fee29620c10488214a6b5e6bbf19e3b5e2042859e4b81041af537319c18132a1aaa56d4ed5981157b7 + languageName: node + linkType: hard + +"level-errors@npm:^2.0.0, level-errors@npm:~2.0.0": + version: 2.0.1 + resolution: "level-errors@npm:2.0.1" + dependencies: + errno: ~0.1.1 + checksum: aca5d7670e2a40609db8d7743fce289bb5202c0bc13e4a78f81f36a6642e9abc0110f48087d3d3c2c04f023d70d4ee6f2db0e20c63d29b3fda323a67bfff6526 + languageName: node + linkType: hard + +"level-errors@npm:~1.0.3": + version: 1.0.5 + resolution: "level-errors@npm:1.0.5" + dependencies: + errno: ~0.1.1 + checksum: a62df2a24987c0100855ec03f03655ddc6170b33a83987a53858ba0a7dbe125b4b5382e01068a1dc899ccf7f9d12b824702da15488bd06b4b3ee7a1e4232cb0a + languageName: node + linkType: hard + +"level-iterator-stream@npm:^2.0.3": + version: 2.0.3 + resolution: "level-iterator-stream@npm:2.0.3" + dependencies: + inherits: ^2.0.1 + readable-stream: ^2.0.5 + xtend: ^4.0.0 + checksum: dd4211798d032a06ebc3e9c5a3a969b003cb15f1fe6398d9c50c87dc8b0bf8b07197cada253fd7f8c4a933f3c86e12bb041df1561c89b749ac4b991d6e68b17f + languageName: node + linkType: hard + +"level-iterator-stream@npm:~1.3.0": + version: 1.3.1 + resolution: "level-iterator-stream@npm:1.3.1" + dependencies: + inherits: ^2.0.1 + level-errors: ^1.0.3 + readable-stream: ^1.0.33 + xtend: ^4.0.0 + checksum: bf57d8dcee6e7ec68e6c580edc768d2e3960f93e741d7d4adcc7d86f267c741ebcfba5353b3b6551ca10d12e30939c90f1a13303313b1b719325111f0ff14540 + languageName: node + linkType: hard + +"level-iterator-stream@npm:~3.0.0": + version: 3.0.1 + resolution: "level-iterator-stream@npm:3.0.1" + dependencies: + inherits: ^2.0.1 + readable-stream: ^2.3.6 + xtend: ^4.0.0 + checksum: f3348316907c70163ea15319ef7e28c21c6b4b948616e11dcbbb8e3dab9ec5b39f7bf13e0d53f7d23c69641b7a2985a4911c5c9a03bd57a07f1af469aba6e3a8 + languageName: node + linkType: hard + +"level-iterator-stream@npm:~4.0.0": + version: 4.0.2 + resolution: "level-iterator-stream@npm:4.0.2" + dependencies: + inherits: ^2.0.4 + readable-stream: ^3.4.0 + xtend: ^4.0.2 + checksum: 239e2c7e62bffb485ed696bcd3b98de7a2bc455d13be4fce175ae3544fe9cda81c2ed93d3e88b61380ae6d28cce02511862d77b86fb2ba5b5cf00471f3c1eccc + languageName: node + linkType: hard + +"level-mem@npm:^3.0.1": + version: 3.0.1 + resolution: "level-mem@npm:3.0.1" + dependencies: + level-packager: ~4.0.0 + memdown: ~3.0.0 + checksum: e4c680922afc3c8cd4502d761ab610c8aa7bcacde2550a0a463e1db069eeb55b6b7bec0bb7fda564cec82422944776f9909fe101b0d7746ad8f4f7446ec2a5cd + languageName: node + linkType: hard + +"level-mem@npm:^5.0.1": + version: 5.0.1 + resolution: "level-mem@npm:5.0.1" + dependencies: + level-packager: ^5.0.3 + memdown: ^5.0.0 + checksum: 37a38163b0c7cc55f64385fdff78438669f953bc08dc751739e2f1edd401472a89001a73a95cc8b81f38f989e46279797c11eb82e702690ea9a171e02bf31e84 + languageName: node + linkType: hard + +"level-packager@npm:^5.0.3": + version: 5.1.1 + resolution: "level-packager@npm:5.1.1" + dependencies: + encoding-down: ^6.3.0 + levelup: ^4.3.2 + checksum: befe2aa54f2010a6ecf7ddce392c8dee225e1839205080a2704d75e560e28b01191b345494696196777b70d376e3eaae4c9e7c330cc70d3000839f5b18dd78f2 + languageName: node + linkType: hard + +"level-packager@npm:~4.0.0": + version: 4.0.1 + resolution: "level-packager@npm:4.0.1" + dependencies: + encoding-down: ~5.0.0 + levelup: ^3.0.0 + checksum: af33054cfdf1f3cb409941c2e6a67190c0437f8b57a518fa1d40d3f9fd75edbb72c2c17595a52b10030fe2d64c8ef474ddb570f925d88402c94cfc95263865cb + languageName: node + linkType: hard + +"level-post@npm:^1.0.7": + version: 1.0.7 + resolution: "level-post@npm:1.0.7" + dependencies: + ltgt: ^2.1.2 + checksum: 27239cfebe2004036d7ed0ace860d03f829f099de62baf727cce53bd99cb06bfc4a202fa7cb828847fa01c421bab13d9d3e79c9554f5cffff681541dda575218 + languageName: node + linkType: hard + +"level-sublevel@npm:6.6.4": + version: 6.6.4 + resolution: "level-sublevel@npm:6.6.4" + dependencies: + bytewise: ~1.1.0 + level-codec: ^9.0.0 + level-errors: ^2.0.0 + level-iterator-stream: ^2.0.3 + ltgt: ~2.1.1 + pull-defer: ^0.2.2 + pull-level: ^2.0.3 + pull-stream: ^3.6.8 + typewiselite: ~1.0.0 + xtend: ~4.0.0 + checksum: 8370e6fbf67bf08daa23de07699d3d2ccf6a349a28db4025a890d4c07857811808372fdf5029c4afedf24e2ff828be6bb7cd9fd0b676090daba38981b2e75cff + languageName: node + linkType: hard + +"level-supports@npm:~1.0.0": + version: 1.0.1 + resolution: "level-supports@npm:1.0.1" + dependencies: + xtend: ^4.0.2 + checksum: 5d6bdb88cf00c3d9adcde970db06a548c72c5a94bf42c72f998b58341a105bfe2ea30d313ce1e84396b98cc9ddbc0a9bd94574955a86e929f73c986e10fc0df0 + languageName: node + linkType: hard + +"level-ws@npm:0.0.0": + version: 0.0.0 + resolution: "level-ws@npm:0.0.0" + dependencies: + readable-stream: ~1.0.15 + xtend: ~2.1.1 + checksum: fcc3e6993b538ed8931612a74ef26cf32b53d71c059a819bb1006c075f0c1198afb79026a69aeeafcbd4598c45b4b214315b4216b44eca68587fce1b5ad61b75 + languageName: node + linkType: hard + +"level-ws@npm:^1.0.0": + version: 1.0.0 + resolution: "level-ws@npm:1.0.0" + dependencies: + inherits: ^2.0.3 + readable-stream: ^2.2.8 + xtend: ^4.0.1 + checksum: 752fd0f89eb1ccf811c09de24ca8987437ea84f88e672d0037324fb5d71c5bc022c25ba64d6a00fca33beec48a81e3cd1ef99c2f9fff267b3a4f2233939fad35 + languageName: node + linkType: hard + +"level-ws@npm:^2.0.0": + version: 2.0.0 + resolution: "level-ws@npm:2.0.0" + dependencies: + inherits: ^2.0.3 + readable-stream: ^3.1.0 + xtend: ^4.0.1 + checksum: 4e5cbf090a07367373f693c98ad5b4797e7e694ea801ce5cd4103e06837ec883bdce9588ac11e0b9963ca144b96c95c6401c9e43583028ba1e4f847e81ec9ad6 + languageName: node + linkType: hard + +"levelup@npm:3.1.1, levelup@npm:^3.0.0": + version: 3.1.1 + resolution: "levelup@npm:3.1.1" + dependencies: + deferred-leveldown: ~4.0.0 + level-errors: ~2.0.0 + level-iterator-stream: ~3.0.0 + xtend: ~4.0.0 + checksum: cddcac2cf5eddcf85ade62efd21f11326cd83559619db6a78696725eac5c5cd16f62d8d49f6594fd3097d9329a1d04847f6d7df23bf4d69f18c16e49afd4a416 + languageName: node + linkType: hard + +"levelup@npm:^1.2.1": + version: 1.3.9 + resolution: "levelup@npm:1.3.9" + dependencies: + deferred-leveldown: ~1.2.1 + level-codec: ~7.0.0 + level-errors: ~1.0.3 + level-iterator-stream: ~1.3.0 + prr: ~1.0.1 + semver: ~5.4.1 + xtend: ~4.0.0 + checksum: df3b534b948c17d724050f6ecc2b21eb2fde357bd0c68582cd3a5eb4bf943a3057cd2e9db6bd7253020fcb853c83a70943bff9264f5132afa8cf3c25c3c7cd8e + languageName: node + linkType: hard + +"levelup@npm:^4.3.2": + version: 4.4.0 + resolution: "levelup@npm:4.4.0" + dependencies: + deferred-leveldown: ~5.3.0 + level-errors: ~2.0.0 + level-iterator-stream: ~4.0.0 + level-supports: ~1.0.0 + xtend: ~4.0.0 + checksum: 5a09e34c78cd7c23f9f6cb73563f1ebe8121ffc5f9f5f232242529d4fbdd40e8d1ffb337d2defa0b842334e0dbd4028fbfe7a072eebfe2c4d07174f0aa4aabca + languageName: node + linkType: hard + +"levn@npm:^0.3.0, levn@npm:~0.3.0": + version: 0.3.0 + resolution: "levn@npm:0.3.0" + dependencies: + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: ^1.2.1 + type-check: ~0.4.0 + checksum: 12c5021c859bd0f5248561bf139121f0358285ec545ebf48bb3d346820d5c61a4309535c7f387ed7d84361cf821e124ce346c6b7cef8ee09a67c1473b46d0fc4 + languageName: node + linkType: hard + +"load-json-file@npm:^1.0.0": + version: 1.1.0 + resolution: "load-json-file@npm:1.1.0" + dependencies: + graceful-fs: ^4.1.2 + parse-json: ^2.2.0 + pify: ^2.0.0 + pinkie-promise: ^2.0.0 + strip-bom: ^2.0.0 + checksum: 0e4e4f380d897e13aa236246a917527ea5a14e4fc34d49e01ce4e7e2a1e08e2740ee463a03fb021c04f594f29a178f4adb994087549d7c1c5315fcd29bf9934b + languageName: node + linkType: hard + +"locate-path@npm:^2.0.0": + version: 2.0.0 + resolution: "locate-path@npm:2.0.0" + dependencies: + p-locate: ^2.0.0 + path-exists: ^3.0.0 + checksum: 02d581edbbbb0fa292e28d96b7de36b5b62c2fa8b5a7e82638ebb33afa74284acf022d3b1e9ae10e3ffb7658fbc49163fcd5e76e7d1baaa7801c3e05a81da755 + languageName: node + linkType: hard + +"locate-path@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-path@npm:3.0.0" + dependencies: + p-locate: ^3.0.0 + path-exists: ^3.0.0 + checksum: 53db3996672f21f8b0bf2a2c645ae2c13ffdae1eeecfcd399a583bce8516c0b88dcb4222ca6efbbbeb6949df7e46860895be2c02e8d3219abd373ace3bfb4e11 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: ^5.0.0 + checksum: 72eb661788a0368c099a184c59d2fee760b3831c9c1c33955e8a19ae4a21b4116e53fa736dc086cdeb9fce9f7cc508f2f92d2d3aae516f133e16a2bb59a39f5a + languageName: node + linkType: hard + +"lodash.assign@npm:^4.0.3, lodash.assign@npm:^4.0.6": + version: 4.2.0 + resolution: "lodash.assign@npm:4.2.0" + checksum: 75bbc6733c9f577c448031b4051f990f068802708891f94be9d4c2faffd6a9ec67a2c49671dafc908a068d35687765464853282842b4560b662e6c903d11cc90 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: ad580b4bdbb7ca1f7abf7e1bce63a9a0b98e370cf40194b03380a46b4ed799c9573029599caebc1b14e3f24b111aef72b96674a56cfa105e0f5ac70546cdc005 + languageName: node + linkType: hard + +"lodash.truncate@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.truncate@npm:4.4.2" + checksum: b463d8a382cfb5f0e71c504dcb6f807a7bd379ff1ea216669aa42c52fc28c54e404bfbd96791aa09e6df0de2c1d7b8f1b7f4b1a61f324d38fe98bc535aeee4f5 + languageName: node + linkType: hard + +"lodash@npm:4.17.20": + version: 4.17.20 + resolution: "lodash@npm:4.17.20" + checksum: b31afa09739b7292a88ec49ffdb2fcaeb41f690def010f7a067eeedffece32da6b6847bfe4d38a77e6f41778b9b2bca75eeab91209936518173271f0b69376ea + languageName: node + linkType: hard + +"lodash@npm:^4.17.11, lodash@npm:^4.17.12, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21, lodash@npm:^4.17.4": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 + languageName: node + linkType: hard + +"log-symbols@npm:3.0.0": + version: 3.0.0 + resolution: "log-symbols@npm:3.0.0" + dependencies: + chalk: ^2.4.2 + checksum: f2322e1452d819050b11aad247660e1494f8b2219d40a964af91d5f9af1a90636f1b3d93f2952090e42af07cc5550aecabf6c1d8ec1181207e95cb66ba112361 + languageName: node + linkType: hard + +"log-symbols@npm:4.1.0": + version: 4.1.0 + resolution: "log-symbols@npm:4.1.0" + dependencies: + chalk: ^4.1.0 + is-unicode-supported: ^0.1.0 + checksum: fce1497b3135a0198803f9f07464165e9eb83ed02ceb2273930a6f8a508951178d8cf4f0378e9d28300a2ed2bc49050995d2bd5f53ab716bb15ac84d58c6ef74 + languageName: node + linkType: hard + +"looper@npm:^2.0.0": + version: 2.0.0 + resolution: "looper@npm:2.0.0" + checksum: ee5124d54c97cd9e778e602e297ed37dd6405b7c36830f90bb1aaa6adb8d64f2a228aa341459e6bf2db9a8d7dc9eb8c16ec9c6bffeab1c47f91efe213858ce36 + languageName: node + linkType: hard + +"looper@npm:^3.0.0": + version: 3.0.0 + resolution: "looper@npm:3.0.0" + checksum: 2ec29b4161e95d33f2257867b0b9ab7f2fef5425582362c966f8f9041a2a6032466b8be159af99323655aca9e6fe1c9da086cf208f6346bd97c9f83ab77ccce0 + languageName: node + linkType: hard + +"loose-envify@npm:^1.0.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: ^3.0.0 || ^4.0.0 + bin: + loose-envify: cli.js + checksum: 6517e24e0cad87ec9888f500c5b5947032cdfe6ef65e1c1936a0c48a524b81e65542c9c3edc91c97d5bddc806ee2a985dbc79be89215d613b1de5db6d1cfe6f4 + languageName: node + linkType: hard + +"loupe@npm:^2.3.1": + version: 2.3.4 + resolution: "loupe@npm:2.3.4" + dependencies: + get-func-name: ^2.0.0 + checksum: 5af91db61aa18530f1749a64735ee194ac263e65e9f4d1562bf3036c591f1baa948289c193e0e34c7b5e2c1b75d3c1dc4fce87f5edb3cee10b0c0df46bc9ffb3 + languageName: node + linkType: hard + +"lowercase-keys@npm:^1.0.0, lowercase-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "lowercase-keys@npm:1.0.1" + checksum: 4d045026595936e09953e3867722e309415ff2c80d7701d067546d75ef698dac218a4f53c6d1d0e7368b47e45fd7529df47e6cb56fbb90523ba599f898b3d147 + languageName: node + linkType: hard + +"lowercase-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "lowercase-keys@npm:2.0.0" + checksum: 24d7ebd56ccdf15ff529ca9e08863f3c54b0b9d1edb97a3ae1af34940ae666c01a1e6d200707bce730a8ef76cb57cc10e65f245ecaaf7e6bc8639f2fb460ac23 + languageName: node + linkType: hard + +"lru-cache@npm:5.1.1, lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: ^3.0.2 + checksum: c154ae1cbb0c2206d1501a0e94df349653c92c8cbb25236d7e85190bcaf4567a03ac6eb43166fabfa36fd35623694da7233e88d9601fbf411a9a481d85dbd2cb + languageName: node + linkType: hard + +"lru-cache@npm:^3.2.0": + version: 3.2.0 + resolution: "lru-cache@npm:3.2.0" + dependencies: + pseudomap: ^1.0.1 + checksum: 8e5fb3d7a83401165b8dc9fe16d74828df5754aaeda1061e4f2ea1d0e984b9071a6487f1c3f6f034f935429629f94366abbfb753827ab2977a56b3f5c276e736 + languageName: node + linkType: hard + +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" + dependencies: + yallist: ^4.0.0 + checksum: f97f499f898f23e4585742138a22f22526254fdba6d75d41a1c2526b3b6cc5747ef59c5612ba7375f42aca4f8461950e925ba08c991ead0651b4918b7c978297 + languageName: node + linkType: hard + +"lru-cache@npm:^7.7.1": + version: 7.9.0 + resolution: "lru-cache@npm:7.9.0" + checksum: c91a293a103d11ea4f07de4122ba4f73d8203d0de51852fb612b1764296aebf623a3e11dddef1b3aefdc8d71af97d52b222dad5459dcb967713bbab9a19fed7d + languageName: node + linkType: hard + +"lru_map@npm:^0.3.3": + version: 0.3.3 + resolution: "lru_map@npm:0.3.3" + checksum: ca9dd43c65ed7a4f117c548028101c5b6855e10923ea9d1f635af53ad20c5868ff428c364d454a7b57fe391b89c704982275410c3c5099cca5aeee00d76e169a + languageName: node + linkType: hard + +"ltgt@npm:^2.1.2, ltgt@npm:~2.2.0": + version: 2.2.1 + resolution: "ltgt@npm:2.2.1" + checksum: 7e3874296f7538bc8087b428ac4208008d7b76916354b34a08818ca7c83958c1df10ec427eeeaad895f6b81e41e24745b18d30f89abcc21d228b94f6961d50a2 + languageName: node + linkType: hard + +"ltgt@npm:~2.1.1": + version: 2.1.3 + resolution: "ltgt@npm:2.1.3" + checksum: b09281f6aeccb34eda52588d21f9116f6e5b7ae1c79f6180bba06edcdcba50de9c6d199be7f817a7ae59819064e3ca7d066fe0bcc67e2458006e4e45cd05cb11 + languageName: node + linkType: hard + +"make-error@npm:^1.1.1": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^10.0.3": + version: 10.1.2 + resolution: "make-fetch-happen@npm:10.1.2" + dependencies: + agentkeepalive: ^4.2.1 + cacache: ^16.0.2 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^5.0.0 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^7.7.1 + minipass: ^3.1.6 + minipass-collect: ^1.0.2 + minipass-fetch: ^2.0.3 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.3 + promise-retry: ^2.0.1 + socks-proxy-agent: ^6.1.1 + ssri: ^9.0.0 + checksum: 42825d119a7e4f5b1a8e7048a86d328cd36bb1ff875d155ce7079d9a0afdd310c198fb310096af358cfa9ecdf643cecf960380686792457dccb36e17efe89eb0 + languageName: node + linkType: hard + +"map-cache@npm:^0.2.2": + version: 0.2.2 + resolution: "map-cache@npm:0.2.2" + checksum: 3067cea54285c43848bb4539f978a15dedc63c03022abeec6ef05c8cb6829f920f13b94bcaf04142fc6a088318e564c4785704072910d120d55dbc2e0c421969 + languageName: node + linkType: hard + +"map-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "map-visit@npm:1.0.0" + dependencies: + object-visit: ^1.0.0 + checksum: c27045a5021c344fc19b9132eb30313e441863b2951029f8f8b66f79d3d8c1e7e5091578075a996f74e417479506fe9ede28c44ca7bc351a61c9d8073daec36a + languageName: node + linkType: hard + +"markdown-table@npm:^1.1.3": + version: 1.1.3 + resolution: "markdown-table@npm:1.1.3" + checksum: 292e8c956ae833c2ccb0a55cd8d87980cd657ab11cd9ff63c3fcc4d3a518d3b3882ba07410b8f477ba9e30b3f70658677e4e8acf61816dd6cfdd1f6293130664 + languageName: node + linkType: hard + +"mcl-wasm@npm:^0.7.1": + version: 0.7.9 + resolution: "mcl-wasm@npm:0.7.9" + checksum: 6b6ed5084156b98b2db70b223e1ba2c01953970b48a2e0c4ea3eeb9296610e6b3bfb2a2cce9e92e2d7ad61778b5f5a630e705e663835e915ba188c174a0a37fa + languageName: node + linkType: hard + +"md5.js@npm:^1.3.4": + version: 1.3.5 + resolution: "md5.js@npm:1.3.5" + dependencies: + hash-base: ^3.0.0 + inherits: ^2.0.1 + safe-buffer: ^5.1.2 + checksum: 098494d885684bcc4f92294b18ba61b7bd353c23147fbc4688c75b45cb8590f5a95fd4584d742415dcc52487f7a1ef6ea611cfa1543b0dc4492fe026357f3f0c + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: af1b38516c28ec95d6b0826f6c8f276c58aec391f76be42aa07646b4e39d317723e869700933ca6995b056db4b09a78c92d5440dc23657e6764be5d28874bba1 + languageName: node + linkType: hard + +"memdown@npm:^1.0.0": + version: 1.4.1 + resolution: "memdown@npm:1.4.1" + dependencies: + abstract-leveldown: ~2.7.1 + functional-red-black-tree: ^1.0.1 + immediate: ^3.2.3 + inherits: ~2.0.1 + ltgt: ~2.2.0 + safe-buffer: ~5.1.1 + checksum: 3f89142a12389b1ebfc7adaf3be19ed57cd073f84160eb7419b61c8e188e2b82eb787dad168d7b00ca68355b6b952067d9badaa5ac88c8ee014e4b0af2bfaea0 + languageName: node + linkType: hard + +"memdown@npm:^5.0.0": + version: 5.1.0 + resolution: "memdown@npm:5.1.0" + dependencies: + abstract-leveldown: ~6.2.1 + functional-red-black-tree: ~1.0.1 + immediate: ~3.2.3 + inherits: ~2.0.1 + ltgt: ~2.2.0 + safe-buffer: ~5.2.0 + checksum: 23e4414034e975eae1edd6864874bbe77501d41814fc27e8ead946c3379cb1cbea303d724083d08a6a269af9bf5d55073f1f767dfa7ad6e70465769f87e29794 + languageName: node + linkType: hard + +"memdown@npm:~3.0.0": + version: 3.0.0 + resolution: "memdown@npm:3.0.0" + dependencies: + abstract-leveldown: ~5.0.0 + functional-red-black-tree: ~1.0.1 + immediate: ~3.2.3 + inherits: ~2.0.1 + ltgt: ~2.2.0 + safe-buffer: ~5.1.1 + checksum: 4446fdf7198dcdbae764324200526f41738c9f2a32decb59b5a4dbb1bdfc72e2fc046e9bbe016469ab8a0a52e5d5c8b36bf3829e90dd4674a5f4c961e059d4de + languageName: node + linkType: hard + +"memorystream@npm:^0.3.1": + version: 0.3.1 + resolution: "memorystream@npm:0.3.1" + checksum: f18b42440d24d09516d01466c06adf797df7873f0d40aa7db02e5fb9ed83074e5e65412d0720901d7069363465f82dc4f8bcb44f0cde271567a61426ce6ca2e9 + languageName: node + linkType: hard + +"merge-descriptors@npm:1.0.1": + version: 1.0.1 + resolution: "merge-descriptors@npm:1.0.1" + checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 + languageName: node + linkType: hard + +"merge2@npm:^1.2.3, merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 + languageName: node + linkType: hard + +"merkle-patricia-tree@npm:3.0.0": + version: 3.0.0 + resolution: "merkle-patricia-tree@npm:3.0.0" + dependencies: + async: ^2.6.1 + ethereumjs-util: ^5.2.0 + level-mem: ^3.0.1 + level-ws: ^1.0.0 + readable-stream: ^3.0.6 + rlp: ^2.0.0 + semaphore: ">=1.0.1" + checksum: a500f00e7954eea132309310c48ee2635e9a190e0a775811236a0dc375465ff7e01b230ac0ee213ca13bb995399066719eedb4218e0f47596e9cab79cebc575e + languageName: node + linkType: hard + +"merkle-patricia-tree@npm:^2.1.2, merkle-patricia-tree@npm:^2.3.2": + version: 2.3.2 + resolution: "merkle-patricia-tree@npm:2.3.2" + dependencies: + async: ^1.4.2 + ethereumjs-util: ^5.0.0 + level-ws: 0.0.0 + levelup: ^1.2.1 + memdown: ^1.0.0 + readable-stream: ^2.0.0 + rlp: ^2.0.0 + semaphore: ">=1.0.1" + checksum: f6066a16e08190b9e8d3aa28d8e861a3e884ee0be8109c4f5e879965fdfb8181cfc04bae3aaf97c7fb6d07446d94b4f3e1cce502dde4a5699a03acf6df518b12 + languageName: node + linkType: hard + +"merkle-patricia-tree@npm:^4.2.2, merkle-patricia-tree@npm:^4.2.4": + version: 4.2.4 + resolution: "merkle-patricia-tree@npm:4.2.4" + dependencies: + "@types/levelup": ^4.3.0 + ethereumjs-util: ^7.1.4 + level-mem: ^5.0.1 + level-ws: ^2.0.0 + readable-stream: ^3.6.0 + semaphore-async-await: ^1.5.1 + checksum: acedc7eea7bb14b97da01e8e023406ed55742f8e82bdd28d1ed821e3bd0cfed9e92f18c7cb300aee0d38f319c960026fd4d4e601f61e2a8665b73c0786d9f799 + languageName: node + linkType: hard + +"methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 0917ff4041fa8e2f2fda5425a955fe16ca411591fbd123c0d722fcf02b73971ed6f764d85f0a6f547ce49ee0221ce2c19a5fa692157931cecb422984f1dcd13a + languageName: node + linkType: hard + +"micromatch@npm:^3.1.4": + version: 3.1.10 + resolution: "micromatch@npm:3.1.10" + dependencies: + arr-diff: ^4.0.0 + array-unique: ^0.3.2 + braces: ^2.3.1 + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + extglob: ^2.0.4 + fragment-cache: ^0.2.1 + kind-of: ^6.0.2 + nanomatch: ^1.2.9 + object.pick: ^1.3.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.2 + checksum: ad226cba4daa95b4eaf47b2ca331c8d2e038d7b41ae7ed0697cde27f3f1d6142881ab03d4da51b65d9d315eceb5e4cdddb3fbb55f5f72cfa19cf3ea469d054dc + languageName: node + linkType: hard + +"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4": + version: 4.0.5 + resolution: "micromatch@npm:4.0.5" + dependencies: + braces: ^3.0.2 + picomatch: ^2.3.1 + checksum: 02a17b671c06e8fefeeb6ef996119c1e597c942e632a21ef589154f23898c9c6a9858526246abb14f8bca6e77734aa9dcf65476fca47cedfb80d9577d52843fc + languageName: node + linkType: hard + +"miller-rabin@npm:^4.0.0": + version: 4.0.1 + resolution: "miller-rabin@npm:4.0.1" + dependencies: + bn.js: ^4.0.0 + brorand: ^1.0.1 + bin: + miller-rabin: bin/miller-rabin + checksum: 00cd1ab838ac49b03f236cc32a14d29d7d28637a53096bf5c6246a032a37749c9bd9ce7360cbf55b41b89b7d649824949ff12bc8eee29ac77c6b38eada619ece + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 0d99a03585f8b39d68182803b12ac601d9c01abfa28ec56204fa330bc9f3d1c5e14beb049bafadb3dbdf646dfb94b87e24d4ec7b31b7279ef906a8ea9b6a513f + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.16, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: 1.52.0 + checksum: 89a5b7f1def9f3af5dad6496c5ed50191ae4331cc5389d7c521c8ad28d5fdad2d06fd81baf38fed813dc4e46bb55c8145bb0ff406330818c9cf712fb2e9b3836 + languageName: node + linkType: hard + +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: fef25e39263e6d207580bdc629f8872a3f9772c923c7f8c7e793175cee22777bbe8bba95e5d509a40aaa292d8974514ce634ae35769faa45f22d17edda5e8557 + languageName: node + linkType: hard + +"mimic-fn@npm:^1.0.0": + version: 1.2.0 + resolution: "mimic-fn@npm:1.2.0" + checksum: 69c08205156a1f4906d9c46f9b4dc08d18a50176352e77fdeb645cedfe9f20c0b19865d465bd2dec27a5c432347f24dc07fc3695e11159d193f892834233e939 + languageName: node + linkType: hard + +"mimic-response@npm:^1.0.0, mimic-response@npm:^1.0.1": + version: 1.0.1 + resolution: "mimic-response@npm:1.0.1" + checksum: 034c78753b0e622bc03c983663b1cdf66d03861050e0c8606563d149bc2b02d63f62ce4d32be4ab50d0553ae0ffe647fc34d1f5281184c6e1e8cf4d85e8d9823 + languageName: node + linkType: hard + +"min-document@npm:^2.19.0": + version: 2.19.0 + resolution: "min-document@npm:2.19.0" + dependencies: + dom-walk: ^0.1.0 + checksum: da6437562ea2228041542a2384528e74e22d1daa1a4ec439c165abf0b9d8a63e17e3b8a6dc6e0c731845e85301198730426932a0e813d23f932ca668340c9623 + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: cc7974a9268fbf130fb055aff76700d7e2d8be5f761fb5c60318d0ed010d839ab3661a533ad29a5d37653133385204c503bfac995aaa4236f4e847461ea32ba7 + languageName: node + linkType: hard + +"minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 6e8a0422b30039406efd4c440829ea8f988845db02a3299f372fceba56ffa94994a9c0f2fd70c17f9969eedfbd72f34b5070ead9656a34d3f71c0bd72583a0ed + languageName: node + linkType: hard + +"minimatch@npm:2 || 3, minimatch@npm:^3.0.4": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: ^1.1.7 + checksum: c154e566406683e7bcb746e000b84d74465b3a832c45d59912b9b55cd50dee66e5c4b1e5566dba26154040e51672f9aa450a9aef0c97cfc7336b78b7afb9540a + languageName: node + linkType: hard + +"minimatch@npm:3.0.4": + version: 3.0.4 + resolution: "minimatch@npm:3.0.4" + dependencies: + brace-expansion: ^1.1.7 + checksum: 66ac295f8a7b59788000ea3749938b0970344c841750abd96694f80269b926ebcafad3deeb3f1da2522978b119e6ae3a5869b63b13a7859a456b3408bd18a078 + languageName: node + linkType: hard + +"minimatch@npm:4.2.1": + version: 4.2.1 + resolution: "minimatch@npm:4.2.1" + dependencies: + brace-expansion: ^1.1.7 + checksum: 2b1514e3d0f29a549912f0db7ae7b82c5cab4a8f2dd0369f1c6451a325b3f12b2cf473c95873b6157bb8df183d6cf6db82ff03614b6adaaf1d7e055beccdfd01 + languageName: node + linkType: hard + +"minimatch@npm:^5.0.1": + version: 5.0.1 + resolution: "minimatch@npm:5.0.1" + dependencies: + brace-expansion: ^2.0.1 + checksum: b34b98463da4754bc526b244d680c69d4d6089451ebe512edaf6dd9eeed0279399cfa3edb19233513b8f830bf4bfcad911dddcdf125e75074100d52f724774f0 + languageName: node + linkType: hard + +"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:~1.2.6": + version: 1.2.6 + resolution: "minimist@npm:1.2.6" + checksum: d15428cd1e11eb14e1233bcfb88ae07ed7a147de251441d61158619dfb32c4d7e9061d09cab4825fdee18ecd6fce323228c8c47b5ba7cd20af378ca4048fb3fb + languageName: node + linkType: hard + +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" + dependencies: + minipass: ^3.0.0 + checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 + languageName: node + linkType: hard + +"minipass-fetch@npm:^2.0.3": + version: 2.1.0 + resolution: "minipass-fetch@npm:2.1.0" + dependencies: + encoding: ^0.1.13 + minipass: ^3.1.6 + minipass-sized: ^1.0.3 + minizlib: ^2.1.2 + dependenciesMeta: + encoding: + optional: true + checksum: 1334732859a3f7959ed22589bafd9c40384b885aebb5932328071c33f86b3eb181d54c86919675d1825ab5f1c8e4f328878c863873258d113c29d79a4b0c9c9f + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: ^3.0.0 + checksum: 56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: ^3.0.0 + checksum: b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: ^3.0.0 + checksum: 79076749fcacf21b5d16dd596d32c3b6bf4d6e62abb43868fac21674078505c8b15eaca4e47ed844985a4514854f917d78f588fcd029693709417d8f98b2bd60 + languageName: node + linkType: hard + +"minipass@npm:^2.6.0, minipass@npm:^2.9.0": + version: 2.9.0 + resolution: "minipass@npm:2.9.0" + dependencies: + safe-buffer: ^5.1.2 + yallist: ^3.0.0 + checksum: 077b66f31ba44fd5a0d27d12a9e6a86bff8f97a4978dedb0373167156b5599fadb6920fdde0d9f803374164d810e05e8462ce28e86abbf7f0bea293a93711fc6 + languageName: node + linkType: hard + +"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": + version: 3.1.6 + resolution: "minipass@npm:3.1.6" + dependencies: + yallist: ^4.0.0 + checksum: 57a04041413a3531a65062452cb5175f93383ef245d6f4a2961d34386eb9aa8ac11ac7f16f791f5e8bbaf1dfb1ef01596870c88e8822215db57aa591a5bb0a77 + languageName: node + linkType: hard + +"minizlib@npm:^1.3.3": + version: 1.3.3 + resolution: "minizlib@npm:1.3.3" + dependencies: + minipass: ^2.9.0 + checksum: b0425c04d2ae6aad5027462665f07cc0d52075f7fa16e942b4611115f9b31f02924073b7221be6f75929d3c47ab93750c63f6dc2bbe8619ceacb3de1f77732c0 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: ^3.0.0 + yallist: ^4.0.0 + checksum: f1fdeac0b07cf8f30fcf12f4b586795b97be856edea22b5e9072707be51fc95d41487faec3f265b42973a304fe3a64acd91a44a3826a963e37b37bafde0212c3 + languageName: node + linkType: hard + +"mixin-deep@npm:^1.2.0": + version: 1.3.2 + resolution: "mixin-deep@npm:1.3.2" + dependencies: + for-in: ^1.0.2 + is-extendable: ^1.0.1 + checksum: 820d5a51fcb7479f2926b97f2c3bb223546bc915e6b3a3eb5d906dda871bba569863595424a76682f2b15718252954644f3891437cb7e3f220949bed54b1750d + languageName: node + linkType: hard + +"mkdirp-promise@npm:^5.0.1": + version: 5.0.1 + resolution: "mkdirp-promise@npm:5.0.1" + dependencies: + mkdirp: "*" + checksum: 31ddc9478216adf6d6bee9ea7ce9ccfe90356d9fcd1dfb18128eac075390b4161356d64c3a7b0a75f9de01a90aadd990a0ec8c7434036563985c4b853a053ee2 + languageName: node + linkType: hard + +"mkdirp@npm:*, mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: a96865108c6c3b1b8e1d5e9f11843de1e077e57737602de1b82030815f311be11f96f09cce59bd5b903d0b29834733e5313f9301e3ed6d6f6fba2eae0df4298f + languageName: node + linkType: hard + +"mkdirp@npm:0.5.5": + version: 0.5.5 + resolution: "mkdirp@npm:0.5.5" + dependencies: + minimist: ^1.2.5 + bin: + mkdirp: bin/cmd.js + checksum: 3bce20ea525f9477befe458ab85284b0b66c8dc3812f94155af07c827175948cdd8114852ac6c6d82009b13c1048c37f6d98743eb019651ee25c39acc8aabe7d + languageName: node + linkType: hard + +"mkdirp@npm:0.5.x, mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.5": + version: 0.5.6 + resolution: "mkdirp@npm:0.5.6" + dependencies: + minimist: ^1.2.6 + bin: + mkdirp: bin/cmd.js + checksum: 0c91b721bb12c3f9af4b77ebf73604baf350e64d80df91754dc509491ae93bf238581e59c7188360cec7cb62fc4100959245a42cfe01834efedc5e9d068376c2 + languageName: node + linkType: hard + +"mnemonist@npm:^0.38.0": + version: 0.38.5 + resolution: "mnemonist@npm:0.38.5" + dependencies: + obliterator: ^2.0.0 + checksum: 66080afc1616866beb164e230c432964d6eed467cf37ad00e9c10161b8267928124ca8f1d0ecfea86c85568acfa62d54faaf646a86968d1135189a0fdfdd6b78 + languageName: node + linkType: hard + +"mocha@npm:^7.1.1": + version: 7.2.0 + resolution: "mocha@npm:7.2.0" + dependencies: + ansi-colors: 3.2.3 + browser-stdout: 1.3.1 + chokidar: 3.3.0 + debug: 3.2.6 + diff: 3.5.0 + escape-string-regexp: 1.0.5 + find-up: 3.0.0 + glob: 7.1.3 + growl: 1.10.5 + he: 1.2.0 + js-yaml: 3.13.1 + log-symbols: 3.0.0 + minimatch: 3.0.4 + mkdirp: 0.5.5 + ms: 2.1.1 + node-environment-flags: 1.0.6 + object.assign: 4.1.0 + strip-json-comments: 2.0.1 + supports-color: 6.0.0 + which: 1.3.1 + wide-align: 1.1.3 + yargs: 13.3.2 + yargs-parser: 13.1.2 + yargs-unparser: 1.6.0 + bin: + _mocha: bin/_mocha + mocha: bin/mocha + checksum: d098484fe1b165bb964fdbf6b88b256c71fead47575ca7c5bcf8ed07db0dcff41905f6d2f0a05111a0441efaef9d09241a8cc1ddf7961056b28984ec63ba2874 + languageName: node + linkType: hard + +"mocha@npm:^9.2.0": + version: 9.2.2 + resolution: "mocha@npm:9.2.2" + dependencies: + "@ungap/promise-all-settled": 1.1.2 + ansi-colors: 4.1.1 + browser-stdout: 1.3.1 + chokidar: 3.5.3 + debug: 4.3.3 + diff: 5.0.0 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 7.2.0 + growl: 1.10.5 + he: 1.2.0 + js-yaml: 4.1.0 + log-symbols: 4.1.0 + minimatch: 4.2.1 + ms: 2.1.3 + nanoid: 3.3.1 + serialize-javascript: 6.0.0 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + which: 2.0.2 + workerpool: 6.2.0 + yargs: 16.2.0 + yargs-parser: 20.2.4 + yargs-unparser: 2.0.0 + bin: + _mocha: bin/_mocha + mocha: bin/mocha + checksum: 4d5ca4ce33fc66627e63acdf09a634e2358c9a00f61de7788b1091b6aad430da04f97f9ecb82d56dc034b623cb833b65576136fd010d77679c03fcea5bc1e12d + languageName: node + linkType: hard + +"mock-fs@npm:^4.1.0": + version: 4.14.0 + resolution: "mock-fs@npm:4.14.0" + checksum: dccd976a8d753e19d3c7602ea422d1f7137def3c1128c177e1f5500fe8c50ec15fe0937cfc3a15c4577fe7adb9a37628b92da9294d13d90f08be4b669b0fca76 + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 + languageName: node + linkType: hard + +"ms@npm:2.1.1": + version: 2.1.1 + resolution: "ms@npm:2.1.1" + checksum: 0078a23cd916a9a7435c413caa14c57d4b4f6e2470e0ab554b6964163c8a4436448ac7ae020e883685475da6b6796cc396b670f579cb275db288a21e3e57721e + languageName: node + linkType: hard + +"ms@npm:2.1.2": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f + languageName: node + linkType: hard + +"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d + languageName: node + linkType: hard + +"multibase@npm:^0.7.0": + version: 0.7.0 + resolution: "multibase@npm:0.7.0" + dependencies: + base-x: ^3.0.8 + buffer: ^5.5.0 + checksum: 3a520897d706b3064b59ddee286a9e1a5b35bb19bd830f93d7ddecdbf69fa46648c8fda0fec49a5d4640b8b7ac9d5fe360417d6de2906599aa535f55bf6b8e58 + languageName: node + linkType: hard + +"multibase@npm:~0.6.0": + version: 0.6.1 + resolution: "multibase@npm:0.6.1" + dependencies: + base-x: ^3.0.8 + buffer: ^5.5.0 + checksum: 0e25a978d2b5cf73e4cce31d032bad85230ea99e9394d259210f676a76539316e7c51bd7dcc9d83523ec7ea1f0e7a3353c5f69397639d78be9acbefa29431faa + languageName: node + linkType: hard + +"multicodec@npm:^0.5.5": + version: 0.5.7 + resolution: "multicodec@npm:0.5.7" + dependencies: + varint: ^5.0.0 + checksum: 5af1febc3bb5381c303c964a4c3bacb9d0d16615599426d58c68722c46e66a7085082995479943084322028324ad692cd70ea14b5eefb2791d325fa00ead04a3 + languageName: node + linkType: hard + +"multicodec@npm:^1.0.0": + version: 1.0.4 + resolution: "multicodec@npm:1.0.4" + dependencies: + buffer: ^5.6.0 + varint: ^5.0.0 + checksum: e6a2916fa76c023b1c90b32ae74f8a781cf0727f71660b245a5ed1db46add6f2ce1586bee5713b16caf0a724e81bfe0678d89910c20d3bb5fd9649dacb2be79e + languageName: node + linkType: hard + +"multihashes@npm:^0.4.15, multihashes@npm:~0.4.15": + version: 0.4.21 + resolution: "multihashes@npm:0.4.21" + dependencies: + buffer: ^5.5.0 + multibase: ^0.7.0 + varint: ^5.0.0 + checksum: 688731560cf7384e899dc75c0da51e426eb7d058c5ea5eb57b224720a1108deb8797f1cd7f45599344d512d2877de99dd6a7b7773a095812365dea4ffe6ebd4c + languageName: node + linkType: hard + +"mute-stream@npm:0.0.7": + version: 0.0.7 + resolution: "mute-stream@npm:0.0.7" + checksum: a9d4772c1c84206aa37c218ed4751cd060239bf1d678893124f51e037f6f22f4a159b2918c030236c93252638a74beb29c9b1fd3267c9f24d4b3253cf1eaa86f + languageName: node + linkType: hard + +"nano-json-stream-parser@npm:^0.1.2": + version: 0.1.2 + resolution: "nano-json-stream-parser@npm:0.1.2" + checksum: 5bfe146358c659e0aa7d5e0003416be929c9bd02ba11b1e022b78dddf25be655e33d810249c1687d2c9abdcee5cd4d00856afd1b266a5a127236c0d16416d33a + languageName: node + linkType: hard + +"nanoid@npm:3.3.1": + version: 3.3.1 + resolution: "nanoid@npm:3.3.1" + bin: + nanoid: bin/nanoid.cjs + checksum: 4ef0969e1bbe866fc223eb32276cbccb0961900bfe79104fa5abe34361979dead8d0e061410a5c03bc3d47455685adf32c09d6f27790f4a6898fb51f7df7ec86 + languageName: node + linkType: hard + +"nanomatch@npm:^1.2.9": + version: 1.2.13 + resolution: "nanomatch@npm:1.2.13" + dependencies: + arr-diff: ^4.0.0 + array-unique: ^0.3.2 + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + fragment-cache: ^0.2.1 + is-windows: ^1.0.2 + kind-of: ^6.0.2 + object.pick: ^1.3.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: 54d4166d6ef08db41252eb4e96d4109ebcb8029f0374f9db873bd91a1f896c32ec780d2a2ea65c0b2d7caf1f28d5e1ea33746a470f32146ac8bba821d80d38d8 + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d + languageName: node + linkType: hard + +"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: b8ffeb1e262eff7968fc90a2b6767b04cfd9842582a9d0ece0af7049537266e7b2506dfb1d107a32f06dd849ab2aea834d5830f7f4d0e5cb7d36e1ae55d021d9 + languageName: node + linkType: hard + +"neo-async@npm:^2.6.0": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9 + languageName: node + linkType: hard + +"next-tick@npm:^1.1.0": + version: 1.1.0 + resolution: "next-tick@npm:1.1.0" + checksum: 83b5cf36027a53ee6d8b7f9c0782f2ba87f4858d977342bfc3c20c21629290a2111f8374d13a81221179603ffc4364f38374b5655d17b6a8f8a8c77bdea4fe8b + languageName: node + linkType: hard + +"nice-try@npm:^1.0.4": + version: 1.0.5 + resolution: "nice-try@npm:1.0.5" + checksum: 0b4af3b5bb5d86c289f7a026303d192a7eb4417231fe47245c460baeabae7277bcd8fd9c728fb6bd62c30b3e15cd6620373e2cf33353b095d8b403d3e8a15aff + languageName: node + linkType: hard + +"node-addon-api@npm:^2.0.0": + version: 2.0.2 + resolution: "node-addon-api@npm:2.0.2" + dependencies: + node-gyp: latest + checksum: 31fb22d674648204f8dd94167eb5aac896c841b84a9210d614bf5d97c74ef059cc6326389cf0c54d2086e35312938401d4cc82e5fcd679202503eb8ac84814f8 + languageName: node + linkType: hard + +"node-emoji@npm:^1.10.0": + version: 1.11.0 + resolution: "node-emoji@npm:1.11.0" + dependencies: + lodash: ^4.17.21 + checksum: e8c856c04a1645062112a72e59a98b203505ed5111ff84a3a5f40611afa229b578c7d50f1e6a7f17aa62baeea4a640d2e2f61f63afc05423aa267af10977fb2b + languageName: node + linkType: hard + +"node-environment-flags@npm:1.0.6": + version: 1.0.6 + resolution: "node-environment-flags@npm:1.0.6" + dependencies: + object.getownpropertydescriptors: ^2.0.3 + semver: ^5.7.0 + checksum: 268139ed0f7fabdca346dcb26931300ec7a1dc54a58085a849e5c78a82b94967f55df40177a69d4e819da278d98686d5c4fd49ab0d7bcff16fda25b6fffc4ca3 + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": + version: 2.6.7 + resolution: "node-fetch@npm:2.6.7" + dependencies: + whatwg-url: ^5.0.0 + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 8d816ffd1ee22cab8301c7756ef04f3437f18dace86a1dae22cf81db8ef29c0bf6655f3215cb0cdb22b420b6fe141e64b26905e7f33f9377a7fa59135ea3e10b + languageName: node + linkType: hard + +"node-fetch@npm:~1.7.1": + version: 1.7.3 + resolution: "node-fetch@npm:1.7.3" + dependencies: + encoding: ^0.1.11 + is-stream: ^1.0.1 + checksum: 3bb0528c05d541316ebe52770d71ee25a6dce334df4231fd55df41a644143e07f068637488c18a5b0c43f05041dbd3346752f9e19b50df50569a802484544d5b + languageName: node + linkType: hard + +"node-gyp-build@npm:^4.2.0, node-gyp-build@npm:^4.3.0": + version: 4.4.0 + resolution: "node-gyp-build@npm:4.4.0" + bin: + node-gyp-build: bin.js + node-gyp-build-optional: optional.js + node-gyp-build-test: build-test.js + checksum: 972a059f960253d254e0b23ce10f54c8982236fc0edcab85166d0b7f87443b2ce98391c877cfb2f6eeafcf03c538c5f4dd3e0bfff03828eb48634f58f4c64343 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 9.0.0 + resolution: "node-gyp@npm:9.0.0" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^10.0.3 + nopt: ^5.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 4d8ef8860f7e4f4d86c91db3f519d26ed5cc23b48fe54543e2afd86162b4acbd14f21de42a5db344525efb69a991e021b96a68c70c6e2d5f4a5cb770793da6d3 + languageName: node + linkType: hard + +"nopt@npm:3.x": + version: 3.0.6 + resolution: "nopt@npm:3.0.6" + dependencies: + abbrev: 1 + bin: + nopt: ./bin/nopt.js + checksum: 7f8579029a0d7cb3341c6b1610b31e363f708b7aaaaf3580e3ec5ae8528d1f3a79d350d8bfa331776e6c6703a5a148b72edd9b9b4c1dd55874d8e70e963d1e20 + languageName: node + linkType: hard + +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" + dependencies: + abbrev: 1 + bin: + nopt: bin/nopt.js + checksum: d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f + languageName: node + linkType: hard + +"normalize-package-data@npm:^2.3.2": + version: 2.5.0 + resolution: "normalize-package-data@npm:2.5.0" + dependencies: + hosted-git-info: ^2.1.4 + resolve: ^1.10.0 + semver: 2 || 3 || 4 || 5 + validate-npm-package-license: ^3.0.1 + checksum: 7999112efc35a6259bc22db460540cae06564aa65d0271e3bdfa86876d08b0e578b7b5b0028ee61b23f1cae9fc0e7847e4edc0948d3068a39a2a82853efc8499 + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 88eeb4da891e10b1318c4b2476b6e2ecbeb5ff97d946815ffea7794c31a89017c70d7f34b3c2ebf23ef4e9fc9fb99f7dffe36da22011b5b5c6ffa34f4873ec20 + languageName: node + linkType: hard + +"normalize-url@npm:^4.1.0": + version: 4.5.1 + resolution: "normalize-url@npm:4.5.1" + checksum: 9a9dee01df02ad23e171171893e56e22d752f7cff86fb96aafeae074819b572ea655b60f8302e2d85dbb834dc885c972cc1c573892fea24df46b2765065dd05a + languageName: node + linkType: hard + +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" + dependencies: + are-we-there-yet: ^3.0.0 + console-control-strings: ^1.1.0 + gauge: ^4.0.3 + set-blocking: ^2.0.0 + checksum: ae238cd264a1c3f22091cdd9e2b106f684297d3c184f1146984ecbe18aaa86343953f26b9520dedd1b1372bc0316905b736c1932d778dbeb1fcf5a1001390e2a + languageName: node + linkType: hard + +"number-is-nan@npm:^1.0.0": + version: 1.0.1 + resolution: "number-is-nan@npm:1.0.1" + checksum: 13656bc9aa771b96cef209ffca31c31a03b507ca6862ba7c3f638a283560620d723d52e626d57892c7fff475f4c36ac07f0600f14544692ff595abff214b9ffb + languageName: node + linkType: hard + +"number-to-bn@npm:1.7.0": + version: 1.7.0 + resolution: "number-to-bn@npm:1.7.0" + dependencies: + bn.js: 4.11.6 + strip-hex-prefix: 1.0.0 + checksum: 5b8c9dbe7b49dc7a069e5f0ba4e197257c89db11463478cb002fee7a34dc8868636952bd9f6310e5fdf22b266e0e6dffb5f9537c741734718107e90ae59b3de4 + languageName: node + linkType: hard + +"oauth-sign@npm:~0.9.0": + version: 0.9.0 + resolution: "oauth-sign@npm:0.9.0" + checksum: 8f5497a127967866a3c67094c21efd295e46013a94e6e828573c62220e9af568cc1d2d04b16865ba583e430510fa168baf821ea78f355146d8ed7e350fc44c64 + languageName: node + linkType: hard + +"object-assign@npm:^4, object-assign@npm:^4.0.0, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f + languageName: node + linkType: hard + +"object-copy@npm:^0.1.0": + version: 0.1.0 + resolution: "object-copy@npm:0.1.0" + dependencies: + copy-descriptor: ^0.1.0 + define-property: ^0.2.5 + kind-of: ^3.0.3 + checksum: a9e35f07e3a2c882a7e979090360d1a20ab51d1fa19dfdac3aa8873b328a7c4c7683946ee97c824ae40079d848d6740a3788fa14f2185155dab7ed970a72c783 + languageName: node + linkType: hard + +"object-inspect@npm:^1.12.0, object-inspect@npm:^1.9.0, object-inspect@npm:~1.12.0": + version: 1.12.0 + resolution: "object-inspect@npm:1.12.0" + checksum: 2b36d4001a9c921c6b342e2965734519c9c58c355822243c3207fbf0aac271f8d44d30d2d570d450b2cc6f0f00b72bcdba515c37827d2560e5f22b1899a31cf4 + languageName: node + linkType: hard + +"object-is@npm:^1.0.1": + version: 1.1.5 + resolution: "object-is@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + checksum: 989b18c4cba258a6b74dc1d74a41805c1a1425bce29f6cabb50dcb1a6a651ea9104a1b07046739a49a5bb1bc49727bcb00efd5c55f932f6ea04ec8927a7901fe + languageName: node + linkType: hard + +"object-keys@npm:^1.0.11, object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: b363c5e7644b1e1b04aa507e88dcb8e3a2f52b6ffd0ea801e4c7a62d5aa559affe21c55a07fd4b1fd55fc03a33c610d73426664b20032405d7b92a1414c34d6a + languageName: node + linkType: hard + +"object-keys@npm:~0.4.0": + version: 0.4.0 + resolution: "object-keys@npm:0.4.0" + checksum: 1be3ebe9b48c0d5eda8e4a30657d887a748cb42435e0e2eaf49faf557bdd602cd2b7558b8ce90a4eb2b8592d16b875a1900bce859cbb0f35b21c67e11a45313c + languageName: node + linkType: hard + +"object-visit@npm:^1.0.0": + version: 1.0.1 + resolution: "object-visit@npm:1.0.1" + dependencies: + isobject: ^3.0.0 + checksum: b0ee07f5bf3bb881b881ff53b467ebbde2b37ebb38649d6944a6cd7681b32eedd99da9bd1e01c55facf81f54ed06b13af61aba6ad87f0052982995e09333f790 + languageName: node + linkType: hard + +"object.assign@npm:4.1.0": + version: 4.1.0 + resolution: "object.assign@npm:4.1.0" + dependencies: + define-properties: ^1.1.2 + function-bind: ^1.1.1 + has-symbols: ^1.0.0 + object-keys: ^1.0.11 + checksum: 648a9a463580bf48332d9a49a76fede2660ab1ee7104d9459b8a240562246da790b4151c3c073f28fda31c1fdc555d25a1d871e72be403e997e4468c91f4801f + languageName: node + linkType: hard + +"object.assign@npm:^4.1.2": + version: 4.1.2 + resolution: "object.assign@npm:4.1.2" + dependencies: + call-bind: ^1.0.0 + define-properties: ^1.1.3 + has-symbols: ^1.0.1 + object-keys: ^1.1.1 + checksum: d621d832ed7b16ac74027adb87196804a500d80d9aca536fccb7ba48d33a7e9306a75f94c1d29cbfa324bc091bfc530bc24789568efdaee6a47fcfa298993814 + languageName: node + linkType: hard + +"object.getownpropertydescriptors@npm:^2.0.3, object.getownpropertydescriptors@npm:^2.1.1": + version: 2.1.3 + resolution: "object.getownpropertydescriptors@npm:2.1.3" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.1 + checksum: 1467873456fd367a0eb91350caff359a8f05ceb069b4535a1846aa1f74f477a49ae704f6c89c0c14cc0ae1518ee3a0aa57c7f733a8e7b2b06b34a818e9593d2f + languageName: node + linkType: hard + +"object.pick@npm:^1.3.0": + version: 1.3.0 + resolution: "object.pick@npm:1.3.0" + dependencies: + isobject: ^3.0.1 + checksum: 77fb6eed57c67adf75e9901187e37af39f052ef601cb4480386436561357eb9e459e820762f01fd02c5c1b42ece839ad393717a6d1850d848ee11fbabb3e580a + languageName: node + linkType: hard + +"obliterator@npm:^2.0.0": + version: 2.0.4 + resolution: "obliterator@npm:2.0.4" + checksum: f28ad35b6d812089315f375dc3e6e5f9bebf958ebe4b10ccd471c7115cbcf595e74bdac4783ae758e5b1f47e3096427fdb37cfa7bed566b132df92ff317b9a7c + languageName: node + linkType: hard + +"oboe@npm:2.1.4": + version: 2.1.4 + resolution: "oboe@npm:2.1.4" + dependencies: + http-https: ^1.0.0 + checksum: b9172453fba362aec86c45d7bcb4f512302bb23ef34c7c9c498974dc4e7ec0e298931bac5a093445fd946d5604e5dd16563e2d2ae922101ac4b47be2e18e30cc + languageName: node + linkType: hard + +"oboe@npm:2.1.5": + version: 2.1.5 + resolution: "oboe@npm:2.1.5" + dependencies: + http-https: ^1.0.0 + checksum: e6171b33645ffc3559688a824a461952380d0b8f6a203b2daf6767647f277554a73fd7ad795629d88cd8eab68c0460aabb1e1b8b52ef80e3ff7621ac39f832ed + languageName: node + linkType: hard + +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" + dependencies: + ee-first: 1.1.1 + checksum: d20929a25e7f0bb62f937a425b5edeb4e4cde0540d77ba146ec9357f00b0d497cdb3b9b05b9c8e46222407d1548d08166bff69cc56dfa55ba0e4469228920ff0 + languageName: node + linkType: hard + +"once@npm:1.x, once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: 1 + checksum: cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68 + languageName: node + linkType: hard + +"onetime@npm:^2.0.0": + version: 2.0.1 + resolution: "onetime@npm:2.0.1" + dependencies: + mimic-fn: ^1.0.0 + checksum: bb44015ac7a525d0fb43b029a583d4ad359834632b4424ca209b438aacf6d669dda81b5edfbdb42c22636e607b276ba5589f46694a729e3bc27948ce26f4cc1a + languageName: node + linkType: hard + +"open@npm:^7.4.2": + version: 7.4.2 + resolution: "open@npm:7.4.2" + dependencies: + is-docker: ^2.0.0 + is-wsl: ^2.1.1 + checksum: 3333900ec0e420d64c23b831bc3467e57031461d843c801f569b2204a1acc3cd7b3ec3c7897afc9dde86491dfa289708eb92bba164093d8bd88fb2c231843c91 + languageName: node + linkType: hard + +"optionator@npm:^0.8.1, optionator@npm:^0.8.2": + version: 0.8.3 + resolution: "optionator@npm:0.8.3" + 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 + checksum: b8695ddf3d593203e25ab0900e265d860038486c943ff8b774f596a310f8ceebdb30c6832407a8198ba3ec9debe1abe1f51d4aad94843612db3b76d690c61d34 + languageName: node + linkType: hard + +"optionator@npm:^0.9.1": + version: 0.9.1 + resolution: "optionator@npm:0.9.1" + dependencies: + deep-is: ^0.1.3 + fast-levenshtein: ^2.0.6 + levn: ^0.4.1 + prelude-ls: ^1.2.1 + type-check: ^0.4.0 + word-wrap: ^1.2.3 + checksum: dbc6fa065604b24ea57d734261914e697bd73b69eff7f18e967e8912aa2a40a19a9f599a507fa805be6c13c24c4eae8c71306c239d517d42d4c041c942f508a0 + languageName: node + linkType: hard + +"os-homedir@npm:^1.0.0": + version: 1.0.2 + resolution: "os-homedir@npm:1.0.2" + checksum: af609f5a7ab72de2f6ca9be6d6b91a599777afc122ac5cad47e126c1f67c176fe9b52516b9eeca1ff6ca0ab8587fe66208bc85e40a3940125f03cdb91408e9d2 + languageName: node + linkType: hard + +"os-locale@npm:^1.4.0": + version: 1.4.0 + resolution: "os-locale@npm:1.4.0" + dependencies: + lcid: ^1.0.0 + checksum: 0161a1b6b5a8492f99f4b47fe465df9fc521c55ba5414fce6444c45e2500487b8ed5b40a47a98a2363fe83ff04ab033785300ed8df717255ec4c3b625e55b1fb + languageName: node + linkType: hard + +"os-tmpdir@npm:^1.0.1, os-tmpdir@npm:~1.0.2": + version: 1.0.2 + resolution: "os-tmpdir@npm:1.0.2" + checksum: 5666560f7b9f10182548bf7013883265be33620b1c1b4a4d405c25be2636f970c5488ff3e6c48de75b55d02bde037249fe5dbfbb4c0fb7714953d56aed062e6d + languageName: node + linkType: hard + +"p-cancelable@npm:^0.3.0": + version: 0.3.0 + resolution: "p-cancelable@npm:0.3.0" + checksum: 2b27639be8f7f8718f2854c1711f713c296db00acc4675975b1531ecb6253da197304b4a211a330a8e54e754d28d4b3f7feecb48f0566dd265e3ba6745cd4148 + languageName: node + linkType: hard + +"p-cancelable@npm:^1.0.0": + version: 1.1.0 + resolution: "p-cancelable@npm:1.1.0" + checksum: 2db3814fef6d9025787f30afaee4496a8857a28be3c5706432cbad76c688a6db1874308f48e364a42f5317f5e41e8e7b4f2ff5c8ff2256dbb6264bc361704ece + languageName: node + linkType: hard + +"p-finally@npm:^1.0.0": + version: 1.0.0 + resolution: "p-finally@npm:1.0.0" + checksum: 93a654c53dc805dd5b5891bab16eb0ea46db8f66c4bfd99336ae929323b1af2b70a8b0654f8f1eae924b2b73d037031366d645f1fd18b3d30cbd15950cc4b1d4 + languageName: node + linkType: hard + +"p-limit@npm:^1.1.0": + version: 1.3.0 + resolution: "p-limit@npm:1.3.0" + dependencies: + p-try: ^1.0.0 + checksum: 281c1c0b8c82e1ac9f81acd72a2e35d402bf572e09721ce5520164e9de07d8274451378a3470707179ad13240535558f4b277f02405ad752e08c7d5b0d54fbfd + languageName: node + linkType: hard + +"p-limit@npm:^2.0.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: ^2.0.0 + checksum: 84ff17f1a38126c3314e91ecfe56aecbf36430940e2873dadaa773ffe072dc23b7af8e46d4b6485d302a11673fe94c6b67ca2cfbb60c989848b02100d0594ac1 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: ^0.1.0 + checksum: 7c3690c4dbf62ef625671e20b7bdf1cbc9534e83352a2780f165b0d3ceba21907e77ad63401708145ca4e25bfc51636588d89a8c0aeb715e6c37d1c066430360 + languageName: node + linkType: hard + +"p-locate@npm:^2.0.0": + version: 2.0.0 + resolution: "p-locate@npm:2.0.0" + dependencies: + p-limit: ^1.1.0 + checksum: e2dceb9b49b96d5513d90f715780f6f4972f46987dc32a0e18bc6c3fc74a1a5d73ec5f81b1398af5e58b99ea1ad03fd41e9181c01fa81b4af2833958696e3081 + languageName: node + linkType: hard + +"p-locate@npm:^3.0.0": + version: 3.0.0 + resolution: "p-locate@npm:3.0.0" + dependencies: + p-limit: ^2.0.0 + checksum: 83991734a9854a05fe9dbb29f707ea8a0599391f52daac32b86f08e21415e857ffa60f0e120bfe7ce0cc4faf9274a50239c7895fc0d0579d08411e513b83a4ae + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: ^3.0.2 + checksum: 1623088f36cf1cbca58e9b61c4e62bf0c60a07af5ae1ca99a720837356b5b6c5ba3eb1b2127e47a06865fee59dd0453cad7cc844cda9d5a62ac1a5a51b7c86d3 + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: ^3.0.0 + checksum: cb0ab21ec0f32ddffd31dfc250e3afa61e103ef43d957cc45497afe37513634589316de4eb88abdfd969fe6410c22c0b93ab24328833b8eb1ccc087fc0442a1c + languageName: node + linkType: hard + +"p-timeout@npm:^1.1.1": + version: 1.2.1 + resolution: "p-timeout@npm:1.2.1" + dependencies: + p-finally: ^1.0.0 + checksum: 65a456f49cca1328774a6bfba61aac98d854b36df9153c2887f82f078d4399e9a30463be8a479871c22ed350a23b34a66ff303ca652b9d81ed4ff5260ac660d2 + languageName: node + linkType: hard + +"p-try@npm:^1.0.0": + version: 1.0.0 + resolution: "p-try@npm:1.0.0" + checksum: 3b5303f77eb7722144154288bfd96f799f8ff3e2b2b39330efe38db5dd359e4fb27012464cd85cb0a76e9b7edd1b443568cb3192c22e7cffc34989df0bafd605 + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: f8a8e9a7693659383f06aec604ad5ead237c7a261c18048a6e1b5b85a5f8a067e469aa24f5bc009b991ea3b058a87f5065ef4176793a200d4917349881216cae + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: ^3.0.0 + checksum: 6ba8b255145cae9470cf5551eb74be2d22281587af787a2626683a6c20fbb464978784661478dd2a3f1dad74d1e802d403e1b03c1a31fab310259eec8ac560ff + languageName: node + linkType: hard + +"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.5": + version: 5.1.6 + resolution: "parse-asn1@npm:5.1.6" + dependencies: + asn1.js: ^5.2.0 + browserify-aes: ^1.0.0 + evp_bytestokey: ^1.0.0 + pbkdf2: ^3.0.3 + safe-buffer: ^5.1.1 + checksum: 9243311d1f88089bc9f2158972aa38d1abd5452f7b7cabf84954ed766048fe574d434d82c6f5a39b988683e96fb84cd933071dda38927e03469dc8c8d14463c7 + languageName: node + linkType: hard + +"parse-cache-control@npm:^1.0.1": + version: 1.0.1 + resolution: "parse-cache-control@npm:1.0.1" + checksum: 5a70868792124eb07c2dd07a78fcb824102e972e908254e9e59ce59a4796c51705ff28196d2b20d3b7353d14e9f98e65ed0e4eda9be072cc99b5297dc0466fee + languageName: node + linkType: hard + +"parse-headers@npm:^2.0.0": + version: 2.0.5 + resolution: "parse-headers@npm:2.0.5" + checksum: 3e97f01e4c7f960bfbfd0ee489f0bd8d3c72b6c814f1f79b66abec2cca8eaf8e4ecd89deba0b6e61266469aed87350bc932001181c01ff8c29a59e696abe251f + languageName: node + linkType: hard + +"parse-json@npm:^2.2.0": + version: 2.2.0 + resolution: "parse-json@npm:2.2.0" + dependencies: + error-ex: ^1.2.0 + checksum: dda78a63e57a47b713a038630868538f718a7ca0cd172a36887b0392ccf544ed0374902eb28f8bf3409e8b71d62b79d17062f8543afccf2745f9b0b2d2bb80ca + languageName: node + linkType: hard + +"parse-json@npm:^4.0.0": + version: 4.0.0 + resolution: "parse-json@npm:4.0.0" + dependencies: + error-ex: ^1.3.1 + json-parse-better-errors: ^1.0.1 + checksum: 0fe227d410a61090c247e34fa210552b834613c006c2c64d9a05cfe9e89cf8b4246d1246b1a99524b53b313e9ac024438d0680f67e33eaed7e6f38db64cfe7b5 + languageName: node + linkType: hard + +"parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 + languageName: node + linkType: hard + +"pascalcase@npm:^0.1.1": + version: 0.1.1 + resolution: "pascalcase@npm:0.1.1" + checksum: f83681c3c8ff75fa473a2bb2b113289952f802ff895d435edd717e7cb898b0408cbdb247117a938edcbc5d141020909846cc2b92c47213d764e2a94d2ad2b925 + languageName: node + linkType: hard + +"patch-package@npm:6.2.2": + version: 6.2.2 + resolution: "patch-package@npm:6.2.2" + dependencies: + "@yarnpkg/lockfile": ^1.1.0 + chalk: ^2.4.2 + cross-spawn: ^6.0.5 + find-yarn-workspace-root: ^1.2.1 + fs-extra: ^7.0.1 + is-ci: ^2.0.0 + klaw-sync: ^6.0.0 + minimist: ^1.2.0 + rimraf: ^2.6.3 + semver: ^5.6.0 + slash: ^2.0.0 + tmp: ^0.0.33 + bin: + patch-package: index.js + checksum: 5e2f49457b0dc56b5ce0a9d23e281e062e9f225d87a832540f02ffed29ffa7f298b1877daf13c16500ef8a759109c975e3d28d6bd63b0d953f349177abee1767 + languageName: node + linkType: hard + +"patch-package@npm:^6.2.2": + version: 6.4.7 + resolution: "patch-package@npm:6.4.7" + dependencies: + "@yarnpkg/lockfile": ^1.1.0 + chalk: ^2.4.2 + cross-spawn: ^6.0.5 + find-yarn-workspace-root: ^2.0.0 + fs-extra: ^7.0.1 + is-ci: ^2.0.0 + klaw-sync: ^6.0.0 + minimist: ^1.2.0 + open: ^7.4.2 + rimraf: ^2.6.3 + semver: ^5.6.0 + slash: ^2.0.0 + tmp: ^0.0.33 + bin: + patch-package: index.js + checksum: f36d5324da3b69ee635e7cd2c68f4d3dd89dc91d60ffdaad3b602fd953277f4da901c91033683bf6ff31c14799bc049849af3a389455c25d0435fe9cfb0d4088 + languageName: node + linkType: hard + +"path-browserify@npm:^1.0.0": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: c6d7fa376423fe35b95b2d67990060c3ee304fc815ff0a2dc1c6c3cfaff2bd0d572ee67e18f19d0ea3bbe32e8add2a05021132ac40509416459fffee35200699 + languageName: node + linkType: hard + +"path-exists@npm:^2.0.0": + version: 2.1.0 + resolution: "path-exists@npm:2.1.0" + dependencies: + pinkie-promise: ^2.0.0 + checksum: fdb734f1d00f225f7a0033ce6d73bff6a7f76ea08936abf0e5196fa6e54a645103538cd8aedcb90d6d8c3fa3705ded0c58a4da5948ae92aa8834892c1ab44a84 + languageName: node + linkType: hard + +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 96e92643aa34b4b28d0de1cd2eba52a1c5313a90c6542d03f62750d82480e20bfa62bc865d5cfc6165f5fcd5aeb0851043c40a39be5989646f223300021bae0a + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 505807199dfb7c50737b057dd8d351b82c033029ab94cb10a657609e00c1bc53b951cfdbccab8de04c5584d5eff31128ce6afd3db79281874a5ef2adbba55ed1 + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0, path-is-absolute@npm:^1.0.1": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8 + languageName: node + linkType: hard + +"path-is-inside@npm:^1.0.2": + version: 1.0.2 + resolution: "path-is-inside@npm:1.0.2" + checksum: 0b5b6c92d3018b82afb1f74fe6de6338c4c654de4a96123cb343f2b747d5606590ac0c890f956ed38220a4ab59baddfd7b713d78a62d240b20b14ab801fa02cb + languageName: node + linkType: hard + +"path-key@npm:^2.0.1": + version: 2.0.1 + resolution: "path-key@npm:2.0.1" + checksum: f7ab0ad42fe3fb8c7f11d0c4f849871e28fbd8e1add65c370e422512fc5887097b9cf34d09c1747d45c942a8c1e26468d6356e2df3f740bf177ab8ca7301ebfd + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.6, path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 49abf3d81115642938a8700ec580da6e830dde670be21893c62f4e10bd7dd4c3742ddc603fe24f898cba7eb0c6bc1777f8d9ac14185d34540c6d4d80cd9cae8a + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.7": + version: 0.1.7 + resolution: "path-to-regexp@npm:0.1.7" + checksum: 69a14ea24db543e8b0f4353305c5eac6907917031340e5a8b37df688e52accd09e3cebfe1660b70d76b6bd89152f52183f28c74813dbf454ba1a01c82a38abce + languageName: node + linkType: hard + +"path-type@npm:^1.0.0": + version: 1.1.0 + resolution: "path-type@npm:1.1.0" + dependencies: + graceful-fs: ^4.1.2 + pify: ^2.0.0 + pinkie-promise: ^2.0.0 + checksum: 59a4b2c0e566baf4db3021a1ed4ec09a8b36fca960a490b54a6bcefdb9987dafe772852982b6011cd09579478a96e57960a01f75fa78a794192853c9d468fc79 + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 5b1e2daa247062061325b8fdbfd1fb56dde0a448fb1455453276ea18c60685bdad23a445dc148cf87bc216be1573357509b7d4060494a6fd768c7efad833ee45 + languageName: node + linkType: hard + +"pathval@npm:^1.1.1": + version: 1.1.1 + resolution: "pathval@npm:1.1.1" + checksum: 090e3147716647fb7fb5b4b8c8e5b55e5d0a6086d085b6cd23f3d3c01fcf0ff56fd3cc22f2f4a033bd2e46ed55d61ed8379e123b42afe7d531a2a5fc8bb556d6 + languageName: node + linkType: hard + +"pbkdf2@npm:^3.0.17, pbkdf2@npm:^3.0.3, pbkdf2@npm:^3.0.9": + version: 3.1.2 + resolution: "pbkdf2@npm:3.1.2" + dependencies: + create-hash: ^1.1.2 + create-hmac: ^1.1.4 + ripemd160: ^2.0.1 + safe-buffer: ^5.0.1 + sha.js: ^2.4.8 + checksum: 2c950a100b1da72123449208e231afc188d980177d021d7121e96a2de7f2abbc96ead2b87d03d8fe5c318face097f203270d7e27908af9f471c165a4e8e69c92 + languageName: node + linkType: hard + +"performance-now@npm:^2.1.0": + version: 2.1.0 + resolution: "performance-now@npm:2.1.0" + checksum: 534e641aa8f7cba160f0afec0599b6cecefbb516a2e837b512be0adbe6c1da5550e89c78059c7fabc5c9ffdf6627edabe23eb7c518c4500067a898fa65c2b550 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf + languageName: node + linkType: hard + +"pify@npm:^2.0.0, pify@npm:^2.3.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba + languageName: node + linkType: hard + +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 9c4e34278cb09987685fa5ef81499c82546c033713518f6441778fbec623fc708777fe8ac633097c72d88470d5963094076c7305cafc7ad340aae27cfacd856b + languageName: node + linkType: hard + +"pinkie-promise@npm:^2.0.0": + version: 2.0.1 + resolution: "pinkie-promise@npm:2.0.1" + dependencies: + pinkie: ^2.0.0 + checksum: b53a4a2e73bf56b6f421eef711e7bdcb693d6abb474d57c5c413b809f654ba5ee750c6a96dd7225052d4b96c4d053cdcb34b708a86fceed4663303abee52fcca + languageName: node + linkType: hard + +"pinkie@npm:^2.0.0": + version: 2.0.4 + resolution: "pinkie@npm:2.0.4" + checksum: b12b10afea1177595aab036fc220785488f67b4b0fc49e7a27979472592e971614fa1c728e63ad3e7eb748b4ec3c3dbd780819331dad6f7d635c77c10537b9db + languageName: node + linkType: hard + +"posix-character-classes@npm:^0.1.0": + version: 0.1.1 + resolution: "posix-character-classes@npm:0.1.1" + checksum: dedb99913c60625a16050cfed2fb5c017648fc075be41ac18474e1c6c3549ef4ada201c8bd9bd006d36827e289c571b6092e1ef6e756cdbab2fd7046b25c6442 + languageName: node + linkType: hard + +"postinstall-postinstall@npm:^2.1.0": + version: 2.1.0 + resolution: "postinstall-postinstall@npm:2.1.0" + checksum: e1d34252cf8d2c5641c7d2db7426ec96e3d7a975f01c174c68f09ef5b8327bc8d5a9aa2001a45e693db2cdbf69577094d3fe6597b564ad2d2202b65fba76134b + languageName: node + linkType: hard + +"precond@npm:0.2": + version: 0.2.3 + resolution: "precond@npm:0.2.3" + checksum: c613e7d68af3e0b43a294a994bf067cc2bc44b03fd17bc4fb133e30617a4f5b49414b08e9b392d52d7c6822d8a71f66a7fe93a8a1e7d02240177202cff3f63ef + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: cd192ec0d0a8e4c6da3bb80e4f62afe336df3f76271ac6deb0e6a36187133b6073a19e9727a1ff108cd8b9982e4768850d413baa71214dd80c7979617dca827a + languageName: node + linkType: hard + +"prelude-ls@npm:~1.1.2": + version: 1.1.2 + resolution: "prelude-ls@npm:1.1.2" + checksum: c4867c87488e4a0c233e158e4d0d5565b609b105d75e4c05dc760840475f06b731332eb93cc8c9cecb840aa8ec323ca3c9a56ad7820ad2e63f0261dadcb154e4 + languageName: node + linkType: hard + +"prepend-http@npm:^1.0.1": + version: 1.0.4 + resolution: "prepend-http@npm:1.0.4" + checksum: 01e7baf4ad38af02257b99098543469332fc42ae50df33d97a124bf8172295907352fa6138c9b1610c10c6dd0847ca736e53fda736387cc5cf8fcffe96b47f29 + languageName: node + linkType: hard + +"prepend-http@npm:^2.0.0": + version: 2.0.0 + resolution: "prepend-http@npm:2.0.0" + checksum: 7694a9525405447662c1ffd352fcb41b6410c705b739b6f4e3a3e21cf5fdede8377890088e8934436b8b17ba55365a615f153960f30877bf0d0392f9e93503ea + languageName: node + linkType: hard + +"prettier-linter-helpers@npm:^1.0.0": + version: 1.0.0 + resolution: "prettier-linter-helpers@npm:1.0.0" + dependencies: + fast-diff: ^1.1.2 + checksum: 00ce8011cf6430158d27f9c92cfea0a7699405633f7f1d4a45f07e21bf78e99895911cbcdc3853db3a824201a7c745bd49bfea8abd5fb9883e765a90f74f8392 + languageName: node + linkType: hard + +"prettier-plugin-solidity@npm:^1.0.0-beta.5": + version: 1.0.0-dev.21 + resolution: "prettier-plugin-solidity@npm:1.0.0-dev.21" + dependencies: + "@solidity-parser/parser": ^0.14.1 + emoji-regex: ^10.0.0 + escape-string-regexp: ^4.0.0 + semver: ^7.3.5 + solidity-comments-extractor: ^0.0.7 + string-width: ^4.2.3 + peerDependencies: + prettier: ^2.3.0 + checksum: 3c43bb7404c380091310e59be718ec0161d268e4674e5e658723f7a7bc9b0f541df9816a8e7bd93b9e73a289f1e13ea1eab58027d4ee51d25460ea6e63c0c99e + languageName: node + linkType: hard + +"prettier@npm:^1.14.3": + version: 1.19.1 + resolution: "prettier@npm:1.19.1" + bin: + prettier: ./bin-prettier.js + checksum: bc78219e0f8173a808f4c6c8e0a137dd8ebd4fbe013e63fe1a37a82b48612f17b8ae8e18a992adf802ee2cf7428f14f084e7c2846ca5759cf4013c6e54810e1f + languageName: node + linkType: hard + +"prettier@npm:^2.1.2, prettier@npm:^2.2.1, prettier@npm:^2.3.1": + version: 2.6.2 + resolution: "prettier@npm:2.6.2" + bin: + prettier: bin-prettier.js + checksum: 48d08dde8e9fb1f5bccdd205baa7f192e9fc8bc98f86e1b97d919de804e28c806b0e6cc685e4a88211aa7987fa9668f30baae19580d87ced3ed0f2ec6572106f + languageName: node + linkType: hard + +"private@npm:^0.1.6, private@npm:^0.1.8": + version: 0.1.8 + resolution: "private@npm:0.1.8" + checksum: a00abd713d25389f6de7294f0e7879b8a5d09a9ec5fd81cc2f21b29d4f9a80ec53bc4222927d3a281d4aadd4cd373d9a28726fca3935921950dc75fd71d1fdbb + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 1d38588e520dab7cea67cbbe2efdd86a10cc7a074c09657635e34f035277b59fbb57d09d8638346bf7090f8e8ebc070c96fa5fd183b777fff4f5edff5e9466cf + languageName: node + linkType: hard + +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 + languageName: node + linkType: hard + +"progress@npm:^2.0.0": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: f67403fe7b34912148d9252cb7481266a354bd99ce82c835f79070643bb3c6583d10dbcfda4d41e04bbc1d8437e9af0fb1e1f2135727878f5308682a579429b7 + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 22749483091d2c594261517f4f80e05226d4d5ecc1fc917e1886929da56e22b5718b7f2a75f3807e7a7d471bc3be2907fe92e6e8f373ddf5c64bae35b5af3981 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: ^2.0.2 + retry: ^0.12.0 + checksum: f96a3f6d90b92b568a26f71e966cbbc0f63ab85ea6ff6c81284dc869b41510e6cdef99b6b65f9030f0db422bf7c96652a3fff9f2e8fb4a0f069d8f4430359429 + languageName: node + linkType: hard + +"promise-to-callback@npm:^1.0.0": + version: 1.0.0 + resolution: "promise-to-callback@npm:1.0.0" + dependencies: + is-fn: ^1.0.0 + set-immediate-shim: ^1.0.1 + checksum: 8c9e1327386e00f799589cdf96fff2586a13b52b0185222bc3199e1305ba9344589eedfd4038dcbaf5592d85d567097d1507b81e948b7fff6ffdd3de49d54e14 + languageName: node + linkType: hard + +"promise@npm:^8.0.0": + version: 8.1.0 + resolution: "promise@npm:8.1.0" + dependencies: + asap: ~2.0.6 + checksum: 89b71a56154ed7d66a73236d8e8351a9c59adddba3929ecc845f75421ff37fc08ea0c67ad76cd5c0b0d81812c7d07a32bed27e7df5fcc960c6d68b0c1cd771f7 + languageName: node + linkType: hard + +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + checksum: 29c6990ce9364648255454842f06f8c46fcd124d3e6d7c5066df44662de63cdc0bad032e9bf5a3d653ff72141cc7b6019873d685708ac8210c30458ad99f2b74 + languageName: node + linkType: hard + +"prr@npm:~1.0.1": + version: 1.0.1 + resolution: "prr@npm:1.0.1" + checksum: 3bca2db0479fd38f8c4c9439139b0c42dcaadcc2fbb7bb8e0e6afaa1383457f1d19aea9e5f961d5b080f1cfc05bfa1fe9e45c97a1d3fd6d421950a73d3108381 + languageName: node + linkType: hard + +"pseudomap@npm:^1.0.1": + version: 1.0.2 + resolution: "pseudomap@npm:1.0.2" + checksum: 856c0aae0ff2ad60881168334448e898ad7a0e45fe7386d114b150084254c01e200c957cf378378025df4e052c7890c5bd933939b0e0d2ecfcc1dc2f0b2991f5 + languageName: node + linkType: hard + +"psl@npm:^1.1.28": + version: 1.8.0 + resolution: "psl@npm:1.8.0" + checksum: 6150048ed2da3f919478bee8a82f3828303bc0fc730fb015a48f83c9977682c7b28c60ab01425a72d82a2891a1681627aa530a991d50c086b48a3be27744bde7 + languageName: node + linkType: hard + +"public-encrypt@npm:^4.0.0": + version: 4.0.3 + resolution: "public-encrypt@npm:4.0.3" + dependencies: + bn.js: ^4.1.0 + browserify-rsa: ^4.0.0 + create-hash: ^1.1.0 + parse-asn1: ^5.0.0 + randombytes: ^2.0.1 + safe-buffer: ^5.1.2 + checksum: 215d446e43cef021a20b67c1df455e5eea134af0b1f9b8a35f9e850abf32991b0c307327bc5b9bc07162c288d5cdb3d4a783ea6c6640979ed7b5017e3e0c9935 + languageName: node + linkType: hard + +"pull-cat@npm:^1.1.9": + version: 1.1.11 + resolution: "pull-cat@npm:1.1.11" + checksum: 785173d94732ba5e6e65f27ee128542522aeb87519c5d72aa9b8bc510f6c4f67b91fcfd565782a20aafc116e57354f2dd0fa8fd039b45a61b8da89b0253a7440 + languageName: node + linkType: hard + +"pull-defer@npm:^0.2.2": + version: 0.2.3 + resolution: "pull-defer@npm:0.2.3" + checksum: 4ea99ed64a2d79167e87293aba5088cde91f210a319c690a65aa6704d829be33b76cecc732f8d4ed3eee47e7eb09a6f77042897ea6414862bacbd722ce182d66 + languageName: node + linkType: hard + +"pull-level@npm:^2.0.3": + version: 2.0.4 + resolution: "pull-level@npm:2.0.4" + dependencies: + level-post: ^1.0.7 + pull-cat: ^1.1.9 + pull-live: ^1.0.1 + pull-pushable: ^2.0.0 + pull-stream: ^3.4.0 + pull-window: ^2.1.4 + stream-to-pull-stream: ^1.7.1 + checksum: f4e0573b3ff3f3659eb50ac86b505aee12d5f4c1d8bafc3bf6fd67d173b3b39a3fe5161d8bfa5eba8a0c5873fbda75f3b160276cfa678d5edd517dcd3349ecc2 + languageName: node + linkType: hard + +"pull-live@npm:^1.0.1": + version: 1.0.1 + resolution: "pull-live@npm:1.0.1" + dependencies: + pull-cat: ^1.1.9 + pull-stream: ^3.4.0 + checksum: e4328771e811aec1e03996d1070ec8fecb2560cc48b96814cd9f4aebd870a710903f8693e423765d3d65d8021b3b9ccc38c8660baef3df45e217c9b1bbc5581a + languageName: node + linkType: hard + +"pull-pushable@npm:^2.0.0": + version: 2.2.0 + resolution: "pull-pushable@npm:2.2.0" + checksum: 1c88ef55f6f14799ae5cf060415d089d15452ef865d874f075c155f8224c321371cb7f04a10b3fba263b6f128158c78253efd18bcb54afbb99f9cae846f883a6 + languageName: node + linkType: hard + +"pull-stream@npm:^3.2.3, pull-stream@npm:^3.4.0, pull-stream@npm:^3.6.8": + version: 3.6.14 + resolution: "pull-stream@npm:3.6.14" + checksum: fc3d86d488894cdf1f980848886be54d8c9cf16a982e9f651098e673bf0134dd1be9b02435f59afe5b48d479c6bafb828348f7fac95fd4593633bffefdfb7503 + languageName: node + linkType: hard + +"pull-window@npm:^2.1.4": + version: 2.1.4 + resolution: "pull-window@npm:2.1.4" + dependencies: + looper: ^2.0.0 + checksum: e006995108a80c81eea93dfaadf68285dc5b9b3cbaf654da39731ca3f308376f15b0546c61730cd0fa38303e273a1845c6d65f0fda35ed9c66252a65e446df18 + languageName: node + linkType: hard + +"pump@npm:^3.0.0": + version: 3.0.0 + resolution: "pump@npm:3.0.0" + dependencies: + end-of-stream: ^1.1.0 + once: ^1.3.1 + checksum: e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9 + languageName: node + linkType: hard + +"punycode@npm:1.3.2": + version: 1.3.2 + resolution: "punycode@npm:1.3.2" + checksum: b8807fd594b1db33335692d1f03e8beeddde6fda7fbb4a2e32925d88d20a3aa4cd8dcc0c109ccaccbd2ba761c208dfaaada83007087ea8bfb0129c9ef1b99ed6 + languageName: node + linkType: hard + +"punycode@npm:2.1.0": + version: 2.1.0 + resolution: "punycode@npm:2.1.0" + checksum: d125d8f86cd89303c33bad829388c49ca23197e16ccf8cd398dcbd81b026978f6543f5066c66825b25b1dfea7790a42edbeea82908e103474931789714ab86cd + languageName: node + linkType: hard + +"punycode@npm:^2.1.0, punycode@npm:^2.1.1": + version: 2.1.1 + resolution: "punycode@npm:2.1.1" + checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8 + languageName: node + linkType: hard + +"qs@npm:6.10.3, qs@npm:^6.4.0, qs@npm:^6.7.0": + version: 6.10.3 + resolution: "qs@npm:6.10.3" + dependencies: + side-channel: ^1.0.4 + checksum: 0fac5e6c7191d0295a96d0e83c851aeb015df7e990e4d3b093897d3ac6c94e555dbd0a599739c84d7fa46d7fee282d94ba76943983935cf33bba6769539b8019 + languageName: node + linkType: hard + +"qs@npm:~6.5.2": + version: 6.5.3 + resolution: "qs@npm:6.5.3" + checksum: 6f20bf08cabd90c458e50855559539a28d00b2f2e7dddcb66082b16a43188418cb3cb77cbd09268bcef6022935650f0534357b8af9eeb29bf0f27ccb17655692 + languageName: node + linkType: hard + +"query-string@npm:^5.0.1": + version: 5.1.1 + resolution: "query-string@npm:5.1.1" + dependencies: + decode-uri-component: ^0.2.0 + object-assign: ^4.1.0 + strict-uri-encode: ^1.0.0 + checksum: 4ac760d9778d413ef5f94f030ed14b1a07a1708dd13fd3bc54f8b9ef7b425942c7577f30de0bf5a7d227ee65a9a0350dfa3a43d1d266880882fb7ce4c434a4dd + languageName: node + linkType: hard + +"querystring@npm:0.2.0": + version: 0.2.0 + resolution: "querystring@npm:0.2.0" + checksum: 8258d6734f19be27e93f601758858c299bdebe71147909e367101ba459b95446fbe5b975bf9beb76390156a592b6f4ac3a68b6087cea165c259705b8b4e56a69 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: b676f8c040cdc5b12723ad2f91414d267605b26419d5c821ff03befa817ddd10e238d22b25d604920340fd73efd8ba795465a0377c4adf45a4a41e4234e42dc4 + languageName: node + linkType: hard + +"randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, randombytes@npm:^2.0.6, randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: ^5.1.0 + checksum: d779499376bd4cbb435ef3ab9a957006c8682f343f14089ed5f27764e4645114196e75b7f6abf1cbd84fd247c0cb0651698444df8c9bf30e62120fbbc52269d6 + languageName: node + linkType: hard + +"randomfill@npm:^1.0.3": + version: 1.0.4 + resolution: "randomfill@npm:1.0.4" + dependencies: + randombytes: ^2.0.5 + safe-buffer: ^5.1.0 + checksum: 33734bb578a868d29ee1b8555e21a36711db084065d94e019a6d03caa67debef8d6a1bfd06a2b597e32901ddc761ab483a85393f0d9a75838f1912461d4dbfc7 + languageName: node + linkType: hard + +"range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 0a268d4fea508661cf5743dfe3d5f47ce214fd6b7dec1de0da4d669dd4ef3d2144468ebe4179049eff253d9d27e719c88dae55be64f954e80135a0cada804ec9 + languageName: node + linkType: hard + +"raw-body@npm:2.5.1, raw-body@npm:^2.4.1": + version: 2.5.1 + resolution: "raw-body@npm:2.5.1" + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + checksum: 5362adff1575d691bb3f75998803a0ffed8c64eabeaa06e54b4ada25a0cd1b2ae7f4f5ec46565d1bec337e08b5ac90c76eaa0758de6f72a633f025d754dec29e + languageName: node + linkType: hard + +"read-pkg-up@npm:^1.0.1": + version: 1.0.1 + resolution: "read-pkg-up@npm:1.0.1" + dependencies: + find-up: ^1.0.0 + read-pkg: ^1.0.0 + checksum: d18399a0f46e2da32beb2f041edd0cda49d2f2cc30195a05c759ef3ed9b5e6e19ba1ad1bae2362bdec8c6a9f2c3d18f4d5e8c369e808b03d498d5781cb9122c7 + languageName: node + linkType: hard + +"read-pkg@npm:^1.0.0": + version: 1.1.0 + resolution: "read-pkg@npm:1.1.0" + dependencies: + load-json-file: ^1.0.0 + normalize-package-data: ^2.3.2 + path-type: ^1.0.0 + checksum: a0f5d5e32227ec8e6a028dd5c5134eab229768dcb7a5d9a41a284ed28ad4b9284fecc47383dc1593b5694f4de603a7ffaee84b738956b9b77e0999567485a366 + languageName: node + linkType: hard + +"readable-stream@npm:^1.0.33": + version: 1.1.14 + resolution: "readable-stream@npm:1.1.14" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.1 + isarray: 0.0.1 + string_decoder: ~0.10.x + checksum: 17dfeae3e909945a4a1abc5613ea92d03269ef54c49288599507fc98ff4615988a1c39a999dcf9aacba70233d9b7040bc11a5f2bfc947e262dedcc0a8b32b5a0 + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.2.8, readable-stream@npm:^2.2.9, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6": + version: 2.3.7 + resolution: "readable-stream@npm:2.3.7" + 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 + checksum: e4920cf7549a60f8aaf694d483a0e61b2a878b969d224f89b3bc788b8d920075132c4b55a7494ee944c7b6a9a0eada28a7f6220d80b0312ece70bbf08eeca755 + languageName: node + linkType: hard + +"readable-stream@npm:^3.0.6, readable-stream@npm:^3.1.0, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": + version: 3.6.0 + resolution: "readable-stream@npm:3.6.0" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 + languageName: node + linkType: hard + +"readable-stream@npm:~1.0.15": + version: 1.0.34 + resolution: "readable-stream@npm:1.0.34" + dependencies: + core-util-is: ~1.0.0 + inherits: ~2.0.1 + isarray: 0.0.1 + string_decoder: ~0.10.x + checksum: 85042c537e4f067daa1448a7e257a201070bfec3dd2706abdbd8ebc7f3418eb4d3ed4b8e5af63e2544d69f88ab09c28d5da3c0b77dc76185fddd189a59863b60 + languageName: node + linkType: hard + +"readdirp@npm:~3.2.0": + version: 3.2.0 + resolution: "readdirp@npm:3.2.0" + dependencies: + picomatch: ^2.0.4 + checksum: 0456a4465a13eb5eaf40f0e0836b1bc6b9ebe479b48ba6f63a738b127a1990fb7b38f3ec4b4b6052f9230f976bc0558f12812347dc6b42ce4d548cfe82a9b6f3 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: ^2.2.1 + checksum: 1ced032e6e45670b6d7352d71d21ce7edf7b9b928494dcaba6f11fba63180d9da6cd7061ebc34175ffda6ff529f481818c962952004d273178acd70f7059b320 + languageName: node + linkType: hard + +"rechoir@npm:^0.6.2": + version: 0.6.2 + resolution: "rechoir@npm:0.6.2" + dependencies: + resolve: ^1.1.6 + checksum: fe76bf9c21875ac16e235defedd7cbd34f333c02a92546142b7911a0f7c7059d2e16f441fe6fb9ae203f459c05a31b2bcf26202896d89e390eda7514d5d2702b + languageName: node + linkType: hard + +"recursive-readdir@npm:^2.2.2": + version: 2.2.2 + resolution: "recursive-readdir@npm:2.2.2" + dependencies: + minimatch: 3.0.4 + checksum: a6b22994d76458443d4a27f5fd7147ac63ad31bba972666a291d511d4d819ee40ff71ba7524c14f6a565b8cfaf7f48b318f971804b913cf538d58f04e25d1fee + languageName: node + linkType: hard + +"regenerate@npm:^1.2.1": + version: 1.4.2 + resolution: "regenerate@npm:1.4.2" + checksum: 3317a09b2f802da8db09aa276e469b57a6c0dd818347e05b8862959c6193408242f150db5de83c12c3fa99091ad95fb42a6db2c3329bfaa12a0ea4cbbeb30cb0 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.11.0": + version: 0.11.1 + resolution: "regenerator-runtime@npm:0.11.1" + checksum: 3c97bd2c7b2b3247e6f8e2147a002eb78c995323732dad5dc70fac8d8d0b758d0295e7015b90d3d444446ae77cbd24b9f9123ec3a77018e81d8999818301b4f4 + languageName: node + linkType: hard + +"regenerator-transform@npm:^0.10.0": + version: 0.10.1 + resolution: "regenerator-transform@npm:0.10.1" + dependencies: + babel-runtime: ^6.18.0 + babel-types: ^6.19.0 + private: ^0.1.6 + checksum: bd366a3b0fa0d0975c48fb9eff250363a9ab28c25b472ecdc397bb19a836746640a30d8f641718a895f9178564bd8a01a0179a9c8e5813f76fc29e62a115d9d7 + languageName: node + linkType: hard + +"regex-not@npm:^1.0.0, regex-not@npm:^1.0.2": + version: 1.0.2 + resolution: "regex-not@npm:1.0.2" + dependencies: + extend-shallow: ^3.0.2 + safe-regex: ^1.1.0 + checksum: 3081403de79559387a35ef9d033740e41818a559512668cef3d12da4e8a29ef34ee13c8ed1256b07e27ae392790172e8a15c8a06b72962fd4550476cde3d8f77 + languageName: node + linkType: hard + +"regexp.prototype.flags@npm:^1.2.0, regexp.prototype.flags@npm:^1.4.1": + version: 1.4.3 + resolution: "regexp.prototype.flags@npm:1.4.3" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + functions-have-names: ^1.2.2 + checksum: 51228bae732592adb3ededd5e15426be25f289e9c4ef15212f4da73f4ec3919b6140806374b8894036a86020d054a8d2657d3fee6bb9b4d35d8939c20030b7a6 + languageName: node + linkType: hard + +"regexpp@npm:^2.0.1": + version: 2.0.1 + resolution: "regexpp@npm:2.0.1" + checksum: 1f41cf80ac08514c6665812e3dcc0673569431d3285db27053f8b237a758992fb55d6ddfbc264db399ff4f7a7db432900ca3a029daa28a75e0436231872091b1 + languageName: node + linkType: hard + +"regexpp@npm:^3.1.0": + version: 3.2.0 + resolution: "regexpp@npm:3.2.0" + checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8 + languageName: node + linkType: hard + +"regexpu-core@npm:^2.0.0": + version: 2.0.0 + resolution: "regexpu-core@npm:2.0.0" + dependencies: + regenerate: ^1.2.1 + regjsgen: ^0.2.0 + regjsparser: ^0.1.4 + checksum: 14a78eb4608fa991ded6a1433ee6a570f95a4cfb7fe312145a44d6ecbb3dc8c707016a099494c741aa0ac75a1329b40814d30ff134c0d67679c80187029c7d2d + languageName: node + linkType: hard + +"regjsgen@npm:^0.2.0": + version: 0.2.0 + resolution: "regjsgen@npm:0.2.0" + checksum: 1f3ae570151e2c29193cdc5a5890c0b83cd8c5029ed69315b0ea303bc2644f9ab5d536d2288fd9b70293fd351d7dd7fc1fc99ebe24554015c894dbce883bcf2b + languageName: node + linkType: hard + +"regjsparser@npm:^0.1.4": + version: 0.1.5 + resolution: "regjsparser@npm:0.1.5" + dependencies: + jsesc: ~0.5.0 + bin: + regjsparser: bin/parser + checksum: 1feba2f3f2d4f1ef9f5f4e0f20c827cf866d4f65c51502eb64db4d4dd9c656f8c70f6c79537c892bf0fc9592c96f732519f7d8ad4a82f3b622756118ac737970 + languageName: node + linkType: hard + +"repeat-element@npm:^1.1.2": + version: 1.1.4 + resolution: "repeat-element@npm:1.1.4" + checksum: 1edd0301b7edad71808baad226f0890ba709443f03a698224c9ee4f2494c317892dc5211b2ba8cbea7194a9ddbcac01e283bd66de0467ab24ee1fc1a3711d8a9 + languageName: node + linkType: hard + +"repeat-string@npm:^1.6.1": + version: 1.6.1 + resolution: "repeat-string@npm:1.6.1" + checksum: 1b809fc6db97decdc68f5b12c4d1a671c8e3f65ec4a40c238bc5200e44e85bcc52a54f78268ab9c29fcf5fe4f1343e805420056d1f30fa9a9ee4c2d93e3cc6c0 + languageName: node + linkType: hard + +"repeating@npm:^2.0.0": + version: 2.0.1 + resolution: "repeating@npm:2.0.1" + dependencies: + is-finite: ^1.0.0 + checksum: d2db0b69c5cb0c14dd750036e0abcd6b3c3f7b2da3ee179786b755cf737ca15fa0fff417ca72de33d6966056f4695440e680a352401fc02c95ade59899afbdd0 + languageName: node + linkType: hard + +"req-cwd@npm:^2.0.0": + version: 2.0.0 + resolution: "req-cwd@npm:2.0.0" + dependencies: + req-from: ^2.0.0 + checksum: c44f9dea0b0f7d3a72be18a04f7769e0eefbadca363e3a346c1c02b79745126c871e1f6970357b3e731c26740aad8344bf80fb3ce055a2bcf8ca85ad2b44f519 + languageName: node + linkType: hard + +"req-from@npm:^2.0.0": + version: 2.0.0 + resolution: "req-from@npm:2.0.0" + dependencies: + resolve-from: ^3.0.0 + checksum: 4c369881a2296e23e71668ed089c5d93b37652fe900ec9f1e1f5c1da65f6bca4ee271e97ba2b806fdea50219e011995d1df3c80a7209015cc1e1fc622507f140 + languageName: node + linkType: hard + +"request-promise-core@npm:1.1.4": + version: 1.1.4 + resolution: "request-promise-core@npm:1.1.4" + dependencies: + lodash: ^4.17.19 + peerDependencies: + request: ^2.34 + checksum: c798bafd552961e36fbf5023b1d081e81c3995ab390f1bc8ef38a711ba3fe4312eb94dbd61887073d7356c3499b9380947d7f62faa805797c0dc50f039425699 + languageName: node + linkType: hard + +"request-promise-native@npm:^1.0.5": + version: 1.0.9 + resolution: "request-promise-native@npm:1.0.9" + dependencies: + request-promise-core: 1.1.4 + stealthy-require: ^1.1.1 + tough-cookie: ^2.3.3 + peerDependencies: + request: ^2.34 + checksum: 3e2c694eefac88cb20beef8911ad57a275ab3ccbae0c4ca6c679fffb09d5fd502458aab08791f0814ca914b157adab2d4e472597c97a73be702918e41725ed69 + languageName: node + linkType: hard + +"request@npm:^2.79.0, request@npm:^2.85.0, request@npm:^2.88.0": + version: 2.88.2 + resolution: "request@npm:2.88.2" + dependencies: + aws-sign2: ~0.7.0 + aws4: ^1.8.0 + caseless: ~0.12.0 + combined-stream: ~1.0.6 + extend: ~3.0.2 + forever-agent: ~0.6.1 + form-data: ~2.3.2 + har-validator: ~5.1.3 + http-signature: ~1.2.0 + is-typedarray: ~1.0.0 + isstream: ~0.1.2 + json-stringify-safe: ~5.0.1 + mime-types: ~2.1.19 + oauth-sign: ~0.9.0 + performance-now: ^2.1.0 + qs: ~6.5.2 + safe-buffer: ^5.1.2 + tough-cookie: ~2.5.0 + tunnel-agent: ^0.6.0 + uuid: ^3.3.2 + checksum: 4e112c087f6eabe7327869da2417e9d28fcd0910419edd2eb17b6acfc4bfa1dad61954525949c228705805882d8a98a86a0ea12d7f739c01ee92af7062996983 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: fb47e70bf0001fdeabdc0429d431863e9475e7e43ea5f94ad86503d918423c1543361cc5166d713eaa7029dd7a3d34775af04764bebff99ef413111a5af18c80 + languageName: node + linkType: hard + +"require-from-string@npm:^1.1.0": + version: 1.2.1 + resolution: "require-from-string@npm:1.2.1" + checksum: d2e0b0c798fe45d86456a32425635bd9d2a75a20e87f67294fa5cce5ed61fdf41e0c7c57afa981fb836299bfb0c37c915adb4d22478dc8d12edbf80a304e9324 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.0, require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b + languageName: node + linkType: hard + +"require-main-filename@npm:^1.0.1": + version: 1.0.1 + resolution: "require-main-filename@npm:1.0.1" + checksum: 1fef30754da961f4e13c450c3eb60c7ae898a529c6ad6fa708a70bd2eed01564ceb299187b2899f5562804d797a059f39a5789884d0ac7b7ae1defc68fba4abf + languageName: node + linkType: hard + +"require-main-filename@npm:^2.0.0": + version: 2.0.0 + resolution: "require-main-filename@npm:2.0.0" + checksum: e9e294695fea08b076457e9ddff854e81bffbe248ed34c1eec348b7abbd22a0d02e8d75506559e2265e96978f3c4720bd77a6dad84755de8162b357eb6c778c7 + languageName: node + linkType: hard + +"resolve-from@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-from@npm:3.0.0" + checksum: fff9819254d2d62b57f74e5c2ca9c0bdd425ca47287c4d801bc15f947533148d858229ded7793b0f59e61e49e782fffd6722048add12996e1bd4333c29669062 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: f4ba0b8494846a5066328ad33ef8ac173801a51739eb4d63408c847da9a2e1c1de1e6cbbf72699211f3d13f8fc1325648b169bd15eb7da35688e30a5fb0e4a7f + languageName: node + linkType: hard + +"resolve-url@npm:^0.2.1": + version: 0.2.1 + resolution: "resolve-url@npm:0.2.1" + checksum: 7b7035b9ed6e7bc7d289e90aef1eab5a43834539695dac6416ca6e91f1a94132ae4796bbd173cdacfdc2ade90b5f38a3fb6186bebc1b221cd157777a23b9ad14 + languageName: node + linkType: hard + +"resolve@npm:1.1.x": + version: 1.1.7 + resolution: "resolve@npm:1.1.7" + checksum: afd20873fbde7641c9125efe3f940c2a99f6b1f90f1b7b743e744bdaac1cb105b2e4e0317bcc052ed7e31d57afa86b394a4dc9a1b33a297977be134fdf0250ab + languageName: node + linkType: hard + +"resolve@npm:1.17.0": + version: 1.17.0 + resolution: "resolve@npm:1.17.0" + dependencies: + path-parse: ^1.0.6 + checksum: 9ceaf83b3429f2d7ff5d0281b8d8f18a1f05b6ca86efea7633e76b8f76547f33800799dfdd24434942dec4fbd9e651ed3aef577d9a6b5ec87ad89c1060e24759 + languageName: node + linkType: hard + +"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.8.1, resolve@npm:~1.22.0": + version: 1.22.0 + resolution: "resolve@npm:1.22.0" + dependencies: + is-core-module: ^2.8.1 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: a2d14cc437b3a23996f8c7367eee5c7cf8149c586b07ca2ae00e96581ce59455555a1190be9aa92154785cf9f2042646c200d0e00e0bbd2b8a995a93a0ed3e4e + languageName: node + linkType: hard + +"resolve@patch:resolve@1.1.x#~builtin": + version: 1.1.7 + resolution: "resolve@patch:resolve@npm%3A1.1.7#~builtin::version=1.1.7&hash=07638b" + checksum: e9dbca78600ae56835c43a09f1276876c883e4b4bbd43e2683fa140671519d2bdebeb1c1576ca87c8c508ae2987b3ec481645ac5d3054b0f23254cfc1ce49942 + languageName: node + linkType: hard + +"resolve@patch:resolve@1.17.0#~builtin": + version: 1.17.0 + resolution: "resolve@patch:resolve@npm%3A1.17.0#~builtin::version=1.17.0&hash=07638b" + dependencies: + path-parse: ^1.0.6 + checksum: 6fd799f282ddf078c4bc20ce863e3af01fa8cb218f0658d9162c57161a2dbafe092b13015b9a4c58d0e1e801cf7aa7a4f13115fea9db98c3f9a0c43e429bad6f + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.8.1#~builtin, resolve@patch:resolve@~1.22.0#~builtin": + version: 1.22.0 + resolution: "resolve@patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b" + dependencies: + is-core-module: ^2.8.1 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: c79ecaea36c872ee4a79e3db0d3d4160b593f2ca16e031d8283735acd01715a203607e9ded3f91f68899c2937fa0d49390cddbe0fb2852629212f3cda283f4a7 + languageName: node + linkType: hard + +"responselike@npm:^1.0.2": + version: 1.0.2 + resolution: "responselike@npm:1.0.2" + dependencies: + lowercase-keys: ^1.0.0 + checksum: 2e9e70f1dcca3da621a80ce71f2f9a9cad12c047145c6ece20df22f0743f051cf7c73505e109814915f23f9e34fb0d358e22827723ee3d56b623533cab8eafcd + languageName: node + linkType: hard + +"restore-cursor@npm:^2.0.0": + version: 2.0.0 + resolution: "restore-cursor@npm:2.0.0" + dependencies: + onetime: ^2.0.0 + signal-exit: ^3.0.2 + checksum: 482e13d02d834b6e5e3aa90304a8b5e840775d6f06916cc92a50038adf9f098dcc72405b567da8a37e137ae40ad3e31896fa3136ae62f7a426c2fbf53d036536 + languageName: node + linkType: hard + +"resumer@npm:~0.0.0": + version: 0.0.0 + resolution: "resumer@npm:0.0.0" + dependencies: + through: ~2.3.4 + checksum: 21b1c257aac24840643fae9bc99ca6447a71a0039e7c6dcf64d0ead447ce511eff158d529f1b6258ad12668e66ee3e49ff14932d2b88a3bd578f483e79708104 + languageName: node + linkType: hard + +"ret@npm:~0.1.10": + version: 0.1.15 + resolution: "ret@npm:0.1.15" + checksum: d76a9159eb8c946586567bd934358dfc08a36367b3257f7a3d7255fdd7b56597235af23c6afa0d7f0254159e8051f93c918809962ebd6df24ca2a83dbe4d4151 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 623bd7d2e5119467ba66202d733ec3c2e2e26568074923bc0585b6b99db14f357e79bdedb63cab56cec47491c4a0da7e6021a7465ca6dc4f481d3898fdd3158c + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: c3076ebcc22a6bc252cb0b9c77561795256c22b757f40c0d8110b1300723f15ec0fc8685e8d4ea6d7666f36c79ccc793b1939c748bf36f18f542744a4e379fcc + languageName: node + linkType: hard + +"rimraf@npm:2.6.3": + version: 2.6.3 + resolution: "rimraf@npm:2.6.3" + dependencies: + glob: ^7.1.3 + bin: + rimraf: ./bin.js + checksum: 3ea587b981a19016297edb96d1ffe48af7e6af69660e3b371dbfc73722a73a0b0e9be5c88089fbeeb866c389c1098e07f64929c7414290504b855f54f901ab10 + languageName: node + linkType: hard + +"rimraf@npm:^2.2.8, rimraf@npm:^2.6.3": + version: 2.7.1 + resolution: "rimraf@npm:2.7.1" + dependencies: + glob: ^7.1.3 + bin: + rimraf: ./bin.js + checksum: cdc7f6eacb17927f2a075117a823e1c5951792c6498ebcce81ca8203454a811d4cf8900314154d3259bb8f0b42ab17f67396a8694a54cae3283326e57ad250cd + languageName: node + linkType: hard + +"rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: ^7.1.3 + bin: + rimraf: bin.js + checksum: 87f4164e396f0171b0a3386cc1877a817f572148ee13a7e113b238e48e8a9f2f31d009a92ec38a591ff1567d9662c6b67fd8818a2dbbaed74bc26a87a2a4a9a0 + languageName: node + linkType: hard + +"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1": + version: 2.0.2 + resolution: "ripemd160@npm:2.0.2" + dependencies: + hash-base: ^3.0.0 + inherits: ^2.0.1 + checksum: 006accc40578ee2beae382757c4ce2908a826b27e2b079efdcd2959ee544ddf210b7b5d7d5e80467807604244e7388427330f5c6d4cd61e6edaddc5773ccc393 + languageName: node + linkType: hard + +"rlp@npm:^2.0.0, rlp@npm:^2.2.1, rlp@npm:^2.2.2, rlp@npm:^2.2.3, rlp@npm:^2.2.4": + version: 2.2.7 + resolution: "rlp@npm:2.2.7" + dependencies: + bn.js: ^5.2.0 + bin: + rlp: bin/rlp + checksum: 3db4dfe5c793f40ac7e0be689a1f75d05e6f2ca0c66189aeb62adab8c436b857ab4420a419251ee60370d41d957a55698fc5e23ab1e1b41715f33217bc4bb558 + languageName: node + linkType: hard + +"run-async@npm:^2.2.0": + version: 2.4.1 + resolution: "run-async@npm:2.4.1" + checksum: a2c88aa15df176f091a2878eb840e68d0bdee319d8d97bbb89112223259cebecb94bc0defd735662b83c2f7a30bed8cddb7d1674eb48ae7322dc602b22d03797 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: ^1.2.2 + checksum: cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d + languageName: node + linkType: hard + +"rustbn.js@npm:~0.2.0": + version: 0.2.0 + resolution: "rustbn.js@npm:0.2.0" + checksum: 2148e7ba34e70682907ee29df4784639e6eb025481b2c91249403b7ec57181980161868d9aa24822a5075dd1bb5a180dfedc77309e5f0d27b6301f9b563af99a + languageName: node + linkType: hard + +"rxjs@npm:^6.4.0": + version: 6.6.7 + resolution: "rxjs@npm:6.6.7" + dependencies: + tslib: ^1.9.0 + checksum: bc334edef1bb8bbf56590b0b25734ba0deaf8825b703256a93714308ea36dff8a11d25533671adf8e104e5e8f256aa6fdfe39b2e248cdbd7a5f90c260acbbd1b + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 + languageName: node + linkType: hard + +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c + languageName: node + linkType: hard + +"safe-event-emitter@npm:^1.0.1": + version: 1.0.1 + resolution: "safe-event-emitter@npm:1.0.1" + dependencies: + events: ^3.0.0 + checksum: 2a15094bd28b0966571693f219b5a846949ae24f7ba87c6024f0ed552bef63ebe72970a784b85b77b1f03f1c95e78fabe19306d44538dbc4a3a685bed31c18c4 + languageName: node + linkType: hard + +"safe-regex@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex@npm:1.1.0" + dependencies: + ret: ~0.1.10 + checksum: 9a8bba57c87a841f7997b3b951e8e403b1128c1a4fd1182f40cc1a20e2d490593d7c2a21030fadfea320c8e859219019e136f678c6689ed5960b391b822f01d5 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 + languageName: node + linkType: hard + +"sc-istanbul@npm:^0.4.5": + version: 0.4.6 + resolution: "sc-istanbul@npm:0.4.6" + dependencies: + abbrev: 1.0.x + async: 1.x + escodegen: 1.8.x + esprima: 2.7.x + glob: ^5.0.15 + handlebars: ^4.0.1 + js-yaml: 3.x + mkdirp: 0.5.x + nopt: 3.x + once: 1.x + resolve: 1.1.x + supports-color: ^3.1.0 + which: ^1.1.1 + wordwrap: ^1.0.0 + bin: + istanbul: lib/cli.js + checksum: 256472ebd35787985be7fc924f817f3e0fcf0ed17655250555bf24f76d44af18fd1b25a91c33458e17a4c57b80375bea22d46e2a982880ffbde1b1a94dfeed19 + languageName: node + linkType: hard + +"scrypt-js@npm:2.0.4": + version: 2.0.4 + resolution: "scrypt-js@npm:2.0.4" + checksum: 679e8940953ebbef40863bfcc58f1d3058d4b7af0ca9bd8062d8213c30e14db59c6ebfc82a85fbd3b90b6d46b708be4c53b9c4bb200b6f50767dc08a846315a9 + languageName: node + linkType: hard + +"scrypt-js@npm:3.0.1, scrypt-js@npm:^3.0.0, scrypt-js@npm:^3.0.1": + version: 3.0.1 + resolution: "scrypt-js@npm:3.0.1" + checksum: b7c7d1a68d6ca946f2fbb0778e0c4ec63c65501b54023b2af7d7e9f48fdb6c6580d6f7675cd53bda5944c5ebc057560d5a6365079752546865defb3b79dea454 + languageName: node + linkType: hard + +"scryptsy@npm:^1.2.1": + version: 1.2.1 + resolution: "scryptsy@npm:1.2.1" + dependencies: + pbkdf2: ^3.0.3 + checksum: e09cf253b0974171bbcb77fa46405bb07cb8e241e2851fc5f23b38526a33105f0f7748a4d60027642f40bd4518ada30b1dce5005c05d17a25cbcefad371d4259 + languageName: node + linkType: hard + +"secp256k1@npm:^4.0.1": + version: 4.0.3 + resolution: "secp256k1@npm:4.0.3" + dependencies: + elliptic: ^6.5.4 + node-addon-api: ^2.0.0 + node-gyp: latest + node-gyp-build: ^4.2.0 + checksum: 21e219adc0024fbd75021001358780a3cc6ac21273c3fcaef46943af73969729709b03f1df7c012a0baab0830fb9a06ccc6b42f8d50050c665cb98078eab477b + languageName: node + linkType: hard + +"seedrandom@npm:3.0.1": + version: 3.0.1 + resolution: "seedrandom@npm:3.0.1" + checksum: a8f5bd0e918c4d4b59afd6f5dbd28f5ab8d5f118ee59892c3712f581de51574ac6622aa38fa2d03476b661f8407e98d6ff32af3d7cfdb02c90d046e7f5f91952 + languageName: node + linkType: hard + +"semaphore-async-await@npm:^1.5.1": + version: 1.5.1 + resolution: "semaphore-async-await@npm:1.5.1" + checksum: 2dedf7c59ba5f2da860fed95a81017189de6257cbe06c9de0ff2e610a3ae427e9bde1ab7685a62b03ebc28982dee437110492215d75fd6dc8257ce7a38e66b74 + languageName: node + linkType: hard + +"semaphore@npm:>=1.0.1, semaphore@npm:^1.0.3, semaphore@npm:^1.1.0": + version: 1.1.0 + resolution: "semaphore@npm:1.1.0" + checksum: d2445d232ad9959048d4748ef54eb01bc7b60436be2b42fb7de20c4cffacf70eafeeecd3772c1baf408cfdce3805fa6618a4389590335671f18cde54ef3cfae4 + languageName: node + linkType: hard + +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.3.0, semver@npm:^5.5.0, semver@npm:^5.5.1, semver@npm:^5.6.0, semver@npm:^5.7.0": + version: 5.7.1 + resolution: "semver@npm:5.7.1" + bin: + semver: ./bin/semver + checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf + languageName: node + linkType: hard + +"semver@npm:^6.3.0": + version: 6.3.0 + resolution: "semver@npm:6.3.0" + bin: + semver: ./bin/semver.js + checksum: 1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9 + languageName: node + linkType: hard + +"semver@npm:^7.2.1, semver@npm:^7.3.4, semver@npm:^7.3.5": + version: 7.3.7 + resolution: "semver@npm:7.3.7" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 2fa3e877568cd6ce769c75c211beaed1f9fce80b28338cadd9d0b6c40f2e2862bafd62c19a6cff42f3d54292b7c623277bcab8816a2b5521cf15210d43e75232 + languageName: node + linkType: hard + +"semver@npm:~5.4.1": + version: 5.4.1 + resolution: "semver@npm:5.4.1" + bin: + semver: ./bin/semver + checksum: d4bf8cc6a95b065a545ab35082b6ac6c5f4ebe1e1c570f72c252afe9b7e622f2479fb2a5cef3e937d8807d37bfdad2d1feebcc8610e06f556e552c22cad070a2 + languageName: node + linkType: hard + +"send@npm:0.18.0": + version: 0.18.0 + resolution: "send@npm:0.18.0" + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + etag: ~1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: ~1.2.1 + statuses: 2.0.1 + checksum: 74fc07ebb58566b87b078ec63e5a3e41ecd987e4272ba67b7467e86c6ad51bc6b0b0154133b6d8b08a2ddda360464f71382f7ef864700f34844a76c8027817a8 + languageName: node + linkType: hard + +"serialize-javascript@npm:6.0.0": + version: 6.0.0 + resolution: "serialize-javascript@npm:6.0.0" + dependencies: + randombytes: ^2.1.0 + checksum: 56f90b562a1bdc92e55afb3e657c6397c01a902c588c0fe3d4c490efdcc97dcd2a3074ba12df9e94630f33a5ce5b76a74784a7041294628a6f4306e0ec84bf93 + languageName: node + linkType: hard + +"serve-static@npm:1.15.0": + version: 1.15.0 + resolution: "serve-static@npm:1.15.0" + dependencies: + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + parseurl: ~1.3.3 + send: 0.18.0 + checksum: af57fc13be40d90a12562e98c0b7855cf6e8bd4c107fe9a45c212bf023058d54a1871b1c89511c3958f70626fff47faeb795f5d83f8cf88514dbaeb2b724464d + languageName: node + linkType: hard + +"servify@npm:^0.1.12": + version: 0.1.12 + resolution: "servify@npm:0.1.12" + dependencies: + body-parser: ^1.16.0 + cors: ^2.8.1 + express: ^4.14.0 + request: ^2.79.0 + xhr: ^2.3.3 + checksum: f90e8f4e31b2981b31e3fa8be0b570b0876136b4cf818ba3bfb65e1bfb3c54cb90a0c30898a7c2974b586800bd26ff525c838a8c170148d9e6674c2170f535d8 + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 + languageName: node + linkType: hard + +"set-immediate-shim@npm:^1.0.1": + version: 1.0.1 + resolution: "set-immediate-shim@npm:1.0.1" + checksum: 5085c84039d1e5eee73d2bf48ce765fcec76159021d0cc7b40e23bcdf62cb6d450ffb781e3c62c1118425242c48eae96df712cba0a20a437e86b0d4a15d51a11 + languageName: node + linkType: hard + +"set-value@npm:^2.0.0, set-value@npm:^2.0.1": + version: 2.0.1 + resolution: "set-value@npm:2.0.1" + dependencies: + extend-shallow: ^2.0.1 + is-extendable: ^0.1.1 + is-plain-object: ^2.0.3 + split-string: ^3.0.1 + checksum: 09a4bc72c94641aeae950eb60dc2755943b863780fcc32e441eda964b64df5e3f50603d5ebdd33394ede722528bd55ed43aae26e9df469b4d32e2292b427b601 + languageName: node + linkType: hard + +"setimmediate@npm:1.0.4": + version: 1.0.4 + resolution: "setimmediate@npm:1.0.4" + checksum: 1d3726183ade73fa1c83bd562b05ae34e97802229d5b9292cde7ed03846524f04eb0fdd2131cc159103e3a7afb7c4e958b35bf960e3c4846fa50d94a3278be6f + languageName: node + linkType: hard + +"setimmediate@npm:^1.0.5": + version: 1.0.5 + resolution: "setimmediate@npm:1.0.5" + checksum: c9a6f2c5b51a2dabdc0247db9c46460152ffc62ee139f3157440bd48e7c59425093f42719ac1d7931f054f153e2d26cf37dfeb8da17a794a58198a2705e527fd + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: be18cbbf70e7d8097c97f713a2e76edf84e87299b40d085c6bf8b65314e994cc15e2e317727342fa6996e38e1f52c59720b53fe621e2eb593a6847bf0356db89 + languageName: node + linkType: hard + +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": + version: 2.4.11 + resolution: "sha.js@npm:2.4.11" + dependencies: + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + bin: + sha.js: ./bin.js + checksum: ebd3f59d4b799000699097dadb831c8e3da3eb579144fd7eb7a19484cbcbb7aca3c68ba2bb362242eb09e33217de3b4ea56e4678184c334323eca24a58e3ad07 + languageName: node + linkType: hard + +"sha1@npm:^1.1.1": + version: 1.1.1 + resolution: "sha1@npm:1.1.1" + dependencies: + charenc: ">= 0.0.1" + crypt: ">= 0.0.1" + checksum: da9f47e949988e2f595ef19733fd1dc736866ef6de4e421a55c13b444c03ae532e528b7350ae6ea55d9fb053be61d4648ec2cd5250d46cfdbdf4f6b4e763713d + languageName: node + linkType: hard + +"shebang-command@npm:^1.2.0": + version: 1.2.0 + resolution: "shebang-command@npm:1.2.0" + dependencies: + shebang-regex: ^1.0.0 + checksum: 9eed1750301e622961ba5d588af2212505e96770ec376a37ab678f965795e995ade7ed44910f5d3d3cb5e10165a1847f52d3348c64e146b8be922f7707958908 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: ^3.0.0 + checksum: 6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa + languageName: node + linkType: hard + +"shebang-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "shebang-regex@npm:1.0.0" + checksum: 404c5a752cd40f94591dfd9346da40a735a05139dac890ffc229afba610854d8799aaa52f87f7e0c94c5007f2c6af55bdcaeb584b56691926c5eaf41dc8f1372 + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222 + languageName: node + linkType: hard + +"shelljs@npm:^0.8.3": + version: 0.8.5 + resolution: "shelljs@npm:0.8.5" + dependencies: + glob: ^7.0.0 + interpret: ^1.0.0 + rechoir: ^0.6.2 + bin: + shjs: bin/shjs + checksum: 7babc46f732a98f4c054ec1f048b55b9149b98aa2da32f6cf9844c434b43c6251efebd6eec120937bd0999e13811ebd45efe17410edb3ca938f82f9381302748 + languageName: node + linkType: hard + +"side-channel@npm:^1.0.4": + version: 1.0.4 + resolution: "side-channel@npm:1.0.4" + dependencies: + call-bind: ^1.0.0 + get-intrinsic: ^1.0.2 + object-inspect: ^1.9.0 + checksum: 351e41b947079c10bd0858364f32bb3a7379514c399edb64ab3dce683933483fc63fb5e4efe0a15a2e8a7e3c436b6a91736ddb8d8c6591b0460a24bb4a1ee245 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 + languageName: node + linkType: hard + +"simple-concat@npm:^1.0.0": + version: 1.0.1 + resolution: "simple-concat@npm:1.0.1" + checksum: 4d211042cc3d73a718c21ac6c4e7d7a0363e184be6a5ad25c8a1502e49df6d0a0253979e3d50dbdd3f60ef6c6c58d756b5d66ac1e05cda9cacd2e9fc59e3876a + languageName: node + linkType: hard + +"simple-get@npm:^2.7.0": + version: 2.8.2 + resolution: "simple-get@npm:2.8.2" + dependencies: + decompress-response: ^3.3.0 + once: ^1.3.1 + simple-concat: ^1.0.0 + checksum: 230bd931d3198f21a5a1a566687a5ee1ef651b13b61c7a01b547b2a0c2bf72769b5fe14a3b4dd518e99a18ba1002ba8af3901c0e61e8a0d1e7631a3c2eb1f7a9 + languageName: node + linkType: hard + +"slash@npm:^1.0.0": + version: 1.0.0 + resolution: "slash@npm:1.0.0" + checksum: 4b6e21b1fba6184a7e2efb1dd173f692d8a845584c1bbf9dc818ff86f5a52fc91b413008223d17cc684604ee8bb9263a420b1182027ad9762e35388434918860 + languageName: node + linkType: hard + +"slash@npm:^2.0.0": + version: 2.0.0 + resolution: "slash@npm:2.0.0" + checksum: 512d4350735375bd11647233cb0e2f93beca6f53441015eea241fe784d8068281c3987fbaa93e7ef1c38df68d9c60013045c92837423c69115297d6169aa85e6 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 94a93fff615f25a999ad4b83c9d5e257a7280c90a32a7cb8b4a87996e4babf322e469c42b7f649fd5796edd8687652f3fb452a86dc97a816f01113183393f11c + languageName: node + linkType: hard + +"slice-ansi@npm:^2.1.0": + version: 2.1.0 + resolution: "slice-ansi@npm:2.1.0" + dependencies: + ansi-styles: ^3.2.0 + astral-regex: ^1.0.0 + is-fullwidth-code-point: ^2.0.0 + checksum: 4e82995aa59cef7eb03ef232d73c2239a15efa0ace87a01f3012ebb942e963fbb05d448ce7391efcd52ab9c32724164aba2086f5143e0445c969221dde3b6b1e + languageName: node + linkType: hard + +"slice-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "slice-ansi@npm:4.0.0" + dependencies: + ansi-styles: ^4.0.0 + astral-regex: ^2.0.0 + is-fullwidth-code-point: ^3.0.0 + checksum: 4a82d7f085b0e1b070e004941ada3c40d3818563ac44766cca4ceadd2080427d337554f9f99a13aaeb3b4a94d9964d9466c807b3d7b7541d1ec37ee32d308756 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: b5167a7142c1da704c0e3af85c402002b597081dd9575031a90b4f229ca5678e9a36e8a374f1814c8156a725d17008ae3bde63b92f9cfd132526379e580bec8b + languageName: node + linkType: hard + +"snapdragon-node@npm:^2.0.1": + version: 2.1.1 + resolution: "snapdragon-node@npm:2.1.1" + dependencies: + define-property: ^1.0.0 + isobject: ^3.0.0 + snapdragon-util: ^3.0.1 + checksum: 9bb57d759f9e2a27935dbab0e4a790137adebace832b393e350a8bf5db461ee9206bb642d4fe47568ee0b44080479c8b4a9ad0ebe3712422d77edf9992a672fd + languageName: node + linkType: hard + +"snapdragon-util@npm:^3.0.1": + version: 3.0.1 + resolution: "snapdragon-util@npm:3.0.1" + dependencies: + kind-of: ^3.2.0 + checksum: 684997dbe37ec995c03fd3f412fba2b711fc34cb4010452b7eb668be72e8811a86a12938b511e8b19baf853b325178c56d8b78d655305e5cfb0bb8b21677e7b7 + languageName: node + linkType: hard + +"snapdragon@npm:^0.8.1": + version: 0.8.2 + resolution: "snapdragon@npm:0.8.2" + dependencies: + base: ^0.11.1 + debug: ^2.2.0 + define-property: ^0.2.5 + extend-shallow: ^2.0.1 + map-cache: ^0.2.2 + source-map: ^0.5.6 + source-map-resolve: ^0.5.0 + use: ^3.1.0 + checksum: a197f242a8f48b11036563065b2487e9b7068f50a20dd81d9161eca6af422174fc158b8beeadbe59ce5ef172aa5718143312b3aebaae551c124b7824387c8312 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^6.1.1": + version: 6.2.0 + resolution: "socks-proxy-agent@npm:6.2.0" + dependencies: + agent-base: ^6.0.2 + debug: ^4.3.3 + socks: ^2.6.2 + checksum: 6723fd64fb50334e2b340fd0a80fd8488ffc5bc43d85b7cf1d25612044f814dd7d6ea417fd47602159941236f7f4bd15669fa5d7e1f852598a31288e1a43967b + languageName: node + linkType: hard + +"socks@npm:^2.6.2": + version: 2.6.2 + resolution: "socks@npm:2.6.2" + dependencies: + ip: ^1.1.5 + smart-buffer: ^4.2.0 + checksum: dd9194293059d737759d5c69273850ad4149f448426249325c4bea0e340d1cf3d266c3b022694b0dcf5d31f759de23657244c481fc1e8322add80b7985c36b5e + languageName: node + linkType: hard + +"solc@npm:0.7.3": + version: 0.7.3 + resolution: "solc@npm:0.7.3" + dependencies: + command-exists: ^1.2.8 + commander: 3.0.2 + follow-redirects: ^1.12.1 + fs-extra: ^0.30.0 + js-sha3: 0.8.0 + memorystream: ^0.3.1 + require-from-string: ^2.0.0 + semver: ^5.5.0 + tmp: 0.0.33 + bin: + solcjs: solcjs + checksum: 2d8eb16c6d8f648213c94dc8d977cffe5099cba7d41c82d92d769ef71ae8320a985065ce3d6c306440a85f8e8d2b27fb30bdd3ac38f69e5c1fa0ab8a3fb2f217 + languageName: node + linkType: hard + +"solc@npm:^0.4.20": + version: 0.4.26 + resolution: "solc@npm:0.4.26" + dependencies: + fs-extra: ^0.30.0 + memorystream: ^0.3.1 + require-from-string: ^1.1.0 + semver: ^5.3.0 + yargs: ^4.7.1 + bin: + solcjs: solcjs + checksum: 041da7ff725c19023ef34a17f83b3303971d2e62bcea9d0fd3c7af728d6f40ff7cdf2b806d0208a3336d3c9be18c321955e1712ab39ee57390ba00d512def946 + languageName: node + linkType: hard + +"solc@npm:^0.6.3": + version: 0.6.12 + resolution: "solc@npm:0.6.12" + dependencies: + command-exists: ^1.2.8 + commander: 3.0.2 + fs-extra: ^0.30.0 + js-sha3: 0.8.0 + memorystream: ^0.3.1 + require-from-string: ^2.0.0 + semver: ^5.5.0 + tmp: 0.0.33 + bin: + solcjs: solcjs + checksum: 1e2bf927f3ef4f3b195b7619ff64f715916d94dc59091a8a710e47bdd4b18e0bd92b55ea43a04ce7fabce9ad7a3e4e73ccaf127a50ebbf963a9de9046576e3b6 + languageName: node + linkType: hard + +"solhint-plugin-prettier@npm:^0.0.5": + version: 0.0.5 + resolution: "solhint-plugin-prettier@npm:0.0.5" + dependencies: + prettier-linter-helpers: ^1.0.0 + peerDependencies: + prettier: ^1.15.0 || ^2.0.0 + prettier-plugin-solidity: ^1.0.0-alpha.14 + checksum: ca721e327daf49a4d9ef0ee5c9622482a8c5563d600eedfd3856c69ce67e416dd77da5166a033e2e641c9cdd7a0f2cbc7913b0eb1712081b3c7e8c633eef82a5 + languageName: node + linkType: hard + +"solhint@npm:^3.3.2": + version: 3.3.7 + resolution: "solhint@npm:3.3.7" + dependencies: + "@solidity-parser/parser": ^0.14.1 + ajv: ^6.6.1 + antlr4: 4.7.1 + ast-parents: 0.0.1 + chalk: ^2.4.2 + commander: 2.18.0 + cosmiconfig: ^5.0.7 + eslint: ^5.6.0 + fast-diff: ^1.1.2 + glob: ^7.1.3 + ignore: ^4.0.6 + js-yaml: ^3.12.0 + lodash: ^4.17.11 + prettier: ^1.14.3 + semver: ^6.3.0 + dependenciesMeta: + prettier: + optional: true + bin: + solhint: solhint.js + checksum: 140a4660b691ea78aa7de19aca2123991fb4f9bc7be574e1573ae428b356e12919805df56c2892ddbdd031a4a4db477a81425ad85aac6672f3fb73f4887c2abb + languageName: node + linkType: hard + +"solidity-comments-extractor@npm:^0.0.7": + version: 0.0.7 + resolution: "solidity-comments-extractor@npm:0.0.7" + checksum: a5cedf2310709969bc1783a6c336171478536f2f0ea96ad88437e0ef1e8844c0b37dd75591b0a824ec9c30640ea7e31b5f03128e871e6235bef3426617ce96c4 + languageName: node + linkType: hard + +"solidity-coverage@npm:^0.7.14": + version: 0.7.21 + resolution: "solidity-coverage@npm:0.7.21" + dependencies: + "@solidity-parser/parser": ^0.14.0 + "@truffle/provider": ^0.2.24 + chalk: ^2.4.2 + death: ^1.1.0 + detect-port: ^1.3.0 + fs-extra: ^8.1.0 + ghost-testrpc: ^0.0.2 + global-modules: ^2.0.0 + globby: ^10.0.1 + jsonschema: ^1.2.4 + lodash: ^4.17.15 + node-emoji: ^1.10.0 + pify: ^4.0.1 + recursive-readdir: ^2.2.2 + sc-istanbul: ^0.4.5 + semver: ^7.3.4 + shelljs: ^0.8.3 + web3-utils: ^1.3.0 + bin: + solidity-coverage: plugins/bin.js + checksum: a782a96bc2a1cb8120f3e401b09e7ba4b0a38e9198fc91b11c8dacac071f1142ecb2fc4c290675cf36ba80f52773065dd1a6225d0650dc8987a073072734984a + languageName: node + linkType: hard + +"source-map-resolve@npm:^0.5.0": + version: 0.5.3 + resolution: "source-map-resolve@npm:0.5.3" + dependencies: + atob: ^2.1.2 + decode-uri-component: ^0.2.0 + resolve-url: ^0.2.1 + source-map-url: ^0.4.0 + urix: ^0.1.0 + checksum: c73fa44ac00783f025f6ad9e038ab1a2e007cd6a6b86f47fe717c3d0765b4a08d264f6966f3bd7cd9dbcd69e4832783d5472e43247775b2a550d6f2155d24bae + languageName: node + linkType: hard + +"source-map-support@npm:0.5.12": + version: 0.5.12 + resolution: "source-map-support@npm:0.5.12" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: abf93e6201f54bd5713d6f6d5aa32b3752d750ce3c68044733295622ea0c346177505a615e87c073a1e0ad9b1d17b87a58f81152a31d6459658e4e9c17132db6 + languageName: node + linkType: hard + +"source-map-support@npm:^0.4.15": + version: 0.4.18 + resolution: "source-map-support@npm:0.4.18" + dependencies: + source-map: ^0.5.6 + checksum: 669aa7e992fec586fac0ba9a8dea8ce81b7328f92806335f018ffac5709afb2920e3870b4e56c68164282607229f04b8bbcf5d0e5c845eb1b5119b092e7585c0 + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.13, source-map-support@npm:^0.5.16": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 43e98d700d79af1d36f859bdb7318e601dfc918c7ba2e98456118ebc4c4872b327773e5a1df09b0524e9e5063bb18f0934538eace60cca2710d1fa687645d137 + languageName: node + linkType: hard + +"source-map-url@npm:^0.4.0": + version: 0.4.1 + resolution: "source-map-url@npm:0.4.1" + checksum: 64c5c2c77aff815a6e61a4120c309ae4cac01298d9bcbb3deb1b46a4dd4c46d4a1eaeda79ec9f684766ae80e8dc86367b89326ce9dd2b89947bd9291fc1ac08c + languageName: node + linkType: hard + +"source-map@npm:^0.5.6, source-map@npm:^0.5.7": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:^0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 + languageName: node + linkType: hard + +"source-map@npm:~0.2.0": + version: 0.2.0 + resolution: "source-map@npm:0.2.0" + dependencies: + amdefine: ">=0.0.4" + checksum: 95fe800c3a93f8c0b9516c033bfc75f2678e27d2e6c0b23ae222f5ddc4afa0a39bd0be15d1c0a1e766d388f3761cc854a053a4330f49242e6045e1a4f9dc0e26 + languageName: node + linkType: hard + +"spdx-correct@npm:^3.0.0": + version: 3.1.1 + resolution: "spdx-correct@npm:3.1.1" + dependencies: + spdx-expression-parse: ^3.0.0 + spdx-license-ids: ^3.0.0 + checksum: 77ce438344a34f9930feffa61be0eddcda5b55fc592906ef75621d4b52c07400a97084d8701557b13f7d2aae0cb64f808431f469e566ef3fe0a3a131dcb775a6 + languageName: node + linkType: hard + +"spdx-exceptions@npm:^2.1.0": + version: 2.3.0 + resolution: "spdx-exceptions@npm:2.3.0" + checksum: cb69a26fa3b46305637123cd37c85f75610e8c477b6476fa7354eb67c08128d159f1d36715f19be6f9daf4b680337deb8c65acdcae7f2608ba51931540687ac0 + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^3.0.0": + version: 3.0.1 + resolution: "spdx-expression-parse@npm:3.0.1" + dependencies: + spdx-exceptions: ^2.1.0 + spdx-license-ids: ^3.0.0 + checksum: a1c6e104a2cbada7a593eaa9f430bd5e148ef5290d4c0409899855ce8b1c39652bcc88a725259491a82601159d6dc790bedefc9016c7472f7de8de7361f8ccde + languageName: node + linkType: hard + +"spdx-license-ids@npm:^3.0.0": + version: 3.0.11 + resolution: "spdx-license-ids@npm:3.0.11" + checksum: 1da1acb090257773e60b022094050e810ae9fec874dc1461f65dc0400cd42dd830ab2df6e64fb49c2db3dce386dd0362110780e1b154db7c0bb413488836aaeb + languageName: node + linkType: hard + +"split-string@npm:^3.0.1, split-string@npm:^3.0.2": + version: 3.1.0 + resolution: "split-string@npm:3.1.0" + dependencies: + extend-shallow: ^3.0.0 + checksum: ae5af5c91bdc3633628821bde92fdf9492fa0e8a63cf6a0376ed6afde93c701422a1610916f59be61972717070119e848d10dfbbd5024b7729d6a71972d2a84c + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 19d79aec211f09b99ec3099b5b2ae2f6e9cdefe50bc91ac4c69144b6d3928a640bb6ae5b3def70c2e85a2c3d9f5ec2719921e3a59d3ca3ef4b2fd1a4656a0df3 + languageName: node + linkType: hard + +"sshpk@npm:^1.7.0": + version: 1.17.0 + resolution: "sshpk@npm:1.17.0" + dependencies: + asn1: ~0.2.3 + assert-plus: ^1.0.0 + bcrypt-pbkdf: ^1.0.0 + dashdash: ^1.12.0 + ecc-jsbn: ~0.1.1 + getpass: ^0.1.1 + jsbn: ~0.1.0 + safer-buffer: ^2.0.2 + tweetnacl: ~0.14.0 + bin: + sshpk-conv: bin/sshpk-conv + sshpk-sign: bin/sshpk-sign + sshpk-verify: bin/sshpk-verify + checksum: ba109f65c8e6c35133b8e6ed5576abeff8aa8d614824b7275ec3ca308f081fef483607c28d97780c1e235818b0f93ed8c8b56d0a5968d5a23fd6af57718c7597 + languageName: node + linkType: hard + +"ssri@npm:^9.0.0": + version: 9.0.0 + resolution: "ssri@npm:9.0.0" + dependencies: + minipass: ^3.1.1 + checksum: bf33174232d07cc64e77ab1c51b55d28352273380c503d35642a19627e88a2c5f160039bb0a28608a353485075dda084dbf0390c7070f9f284559eb71d01b84b + languageName: node + linkType: hard + +"stacktrace-parser@npm:^0.1.10": + version: 0.1.10 + resolution: "stacktrace-parser@npm:0.1.10" + dependencies: + type-fest: ^0.7.1 + checksum: f4fbddfc09121d91e587b60de4beb4941108e967d71ad3a171812dc839b010ca374d064ad0a296295fed13acd103609d99a4224a25b4e67de13cae131f1901ee + languageName: node + linkType: hard + +"static-extend@npm:^0.1.1": + version: 0.1.2 + resolution: "static-extend@npm:0.1.2" + dependencies: + define-property: ^0.2.5 + object-copy: ^0.1.0 + checksum: 8657485b831f79e388a437260baf22784540417a9b29e11572c87735df24c22b84eda42107403a64b30861b2faf13df9f7fc5525d51f9d1d2303aba5cbf4e12c + languageName: node + linkType: hard + +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 18c7623fdb8f646fb213ca4051be4df7efb3484d4ab662937ca6fbef7ced9b9e12842709872eb3020cc3504b93bde88935c9f6417489627a7786f24f8031cbcb + languageName: node + linkType: hard + +"stealthy-require@npm:^1.1.1": + version: 1.1.1 + resolution: "stealthy-require@npm:1.1.1" + checksum: 6805b857a9f3a6a1079fc6652278038b81011f2a5b22cbd559f71a6c02087e6f1df941eb10163e3fdc5391ab5807aa46758d4258547c1f5ede31e6d9bfda8dd3 + languageName: node + linkType: hard + +"stream-to-pull-stream@npm:^1.7.1": + version: 1.7.3 + resolution: "stream-to-pull-stream@npm:1.7.3" + dependencies: + looper: ^3.0.0 + pull-stream: ^3.2.3 + checksum: 2b878e3b3d5f435802866bfec8897361b9de4ce69f77669da1103cfc45f54833e7c183922468f30c046d375a1642f5a4801a808a8da0d3927c5de41d42a59bc0 + languageName: node + linkType: hard + +"strict-uri-encode@npm:^1.0.0": + version: 1.1.0 + resolution: "strict-uri-encode@npm:1.1.0" + checksum: 9466d371f7b36768d43f7803f26137657559e4c8b0161fb9e320efb8edba3ae22f8e99d4b0d91da023b05a13f62ec5412c3f4f764b5788fac11d1fea93720bb3 + languageName: node + linkType: hard + +"string-width@npm:^1.0.1": + version: 1.0.2 + resolution: "string-width@npm:1.0.2" + dependencies: + code-point-at: ^1.0.0 + is-fullwidth-code-point: ^1.0.0 + strip-ansi: ^3.0.0 + checksum: 5c79439e95bc3bd7233a332c5f5926ab2ee90b23816ed4faa380ce3b2576d7800b0a5bb15ae88ed28737acc7ea06a518c2eef39142dd727adad0e45c776cd37e + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.1 + checksum: e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2, string-width@npm:^2.1.0, string-width@npm:^2.1.1": + version: 2.1.1 + resolution: "string-width@npm:2.1.1" + dependencies: + is-fullwidth-code-point: ^2.0.0 + strip-ansi: ^4.0.0 + checksum: d6173abe088c615c8dffaf3861dc5d5906ed3dc2d6fd67ff2bd2e2b5dce7fd683c5240699cf0b1b8aa679a3b3bd6b28b5053c824cb89b813d7f6541d8f89064a + languageName: node + linkType: hard + +"string-width@npm:^3.0.0, string-width@npm:^3.1.0": + version: 3.1.0 + resolution: "string-width@npm:3.1.0" + dependencies: + emoji-regex: ^7.0.1 + is-fullwidth-code-point: ^2.0.0 + strip-ansi: ^5.1.0 + checksum: 57f7ca73d201682816d573dc68bd4bb8e1dff8dc9fcf10470fdfc3474135c97175fec12ea6a159e67339b41e86963112355b64529489af6e7e70f94a7caf08b2 + languageName: node + linkType: hard + +"string.prototype.trim@npm:~1.2.5": + version: 1.2.6 + resolution: "string.prototype.trim@npm:1.2.6" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: c5968e023afa9dec6a669c1f427f59aeb74f6f7ee5b0f4b9f0ffcef1d3846aa78b02227448cc874bbfa25dd1f8fd2324041c6cade38d4a986e4ade121ce1ea79 + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.5": + version: 1.0.5 + resolution: "string.prototype.trimend@npm:1.0.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: d44f543833112f57224e79182debadc9f4f3bf9d48a0414d6f0cbd2a86f2b3e8c0ca1f95c3f8e5b32ae83e91554d79d932fc746b411895f03f93d89ed3dfb6bc + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.5": + version: 1.0.5 + resolution: "string.prototype.trimstart@npm:1.0.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.19.5 + checksum: a4857c5399ad709d159a77371eeaa8f9cc284469a0b5e1bfe405de16f1fd4166a8ea6f4180e55032f348d1b679b1599fd4301fbc7a8b72bdb3e795e43f7b1048 + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: ~5.2.0 + checksum: 8417646695a66e73aefc4420eb3b84cc9ffd89572861fe004e6aeb13c7bc00e2f616247505d2dbbef24247c372f70268f594af7126f43548565c68c117bdeb56 + languageName: node + linkType: hard + +"string_decoder@npm:~0.10.x": + version: 0.10.31 + resolution: "string_decoder@npm:0.10.31" + checksum: fe00f8e303647e5db919948ccb5ce0da7dea209ab54702894dd0c664edd98e5d4df4b80d6fabf7b9e92b237359d21136c95bf068b2f7760b772ca974ba970202 + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: ~5.1.0 + checksum: 9ab7e56f9d60a28f2be697419917c50cac19f3e8e6c28ef26ed5f4852289fe0de5d6997d29becf59028556f2c62983790c1d9ba1e2a3cc401768ca12d5183a5b + languageName: node + linkType: hard + +"strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1": + version: 3.0.1 + resolution: "strip-ansi@npm:3.0.1" + dependencies: + ansi-regex: ^2.0.0 + checksum: 9b974de611ce5075c70629c00fa98c46144043db92ae17748fb780f706f7a789e9989fd10597b7c2053ae8d1513fd707816a91f1879b2f71e6ac0b6a863db465 + languageName: node + linkType: hard + +"strip-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-ansi@npm:4.0.0" + dependencies: + ansi-regex: ^3.0.0 + checksum: d9186e6c0cf78f25274f6750ee5e4a5725fb91b70fdd79aa5fe648eab092a0ec5b9621b22d69d4534a56319f75d8944efbd84e3afa8d4ad1b9a9491f12c84eca + languageName: node + linkType: hard + +"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.1.0, strip-ansi@npm:^5.2.0": + version: 5.2.0 + resolution: "strip-ansi@npm:5.2.0" + dependencies: + ansi-regex: ^4.1.0 + checksum: bdb5f76ade97062bd88e7723aa019adbfacdcba42223b19ccb528ffb9fb0b89a5be442c663c4a3fb25268eaa3f6ea19c7c3fbae830bd1562d55adccae1fcec46 + languageName: node + linkType: hard + +"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: ^5.0.1 + checksum: f3cd25890aef3ba6e1a74e20896c21a46f482e93df4a06567cebf2b57edabb15133f1f94e57434e0a958d61186087b1008e89c94875d019910a213181a14fc8c + languageName: node + linkType: hard + +"strip-bom@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-bom@npm:2.0.0" + dependencies: + is-utf8: ^0.2.0 + checksum: 08efb746bc67b10814cd03d79eb31bac633393a782e3f35efbc1b61b5165d3806d03332a97f362822cf0d4dd14ba2e12707fcff44fe1c870c48a063a0c9e4944 + languageName: node + linkType: hard + +"strip-hex-prefix@npm:1.0.0": + version: 1.0.0 + resolution: "strip-hex-prefix@npm:1.0.0" + dependencies: + is-hex-prefixed: 1.0.0 + checksum: 4cafe7caee1d281d3694d14920fd5d3c11adf09371cef7e2ccedd5b83efd9e9bd2219b5d6ce6e809df6e0f437dc9d30db1192116580875698aad164a6d6b285b + languageName: node + linkType: hard + +"strip-json-comments@npm:2.0.1, strip-json-comments@npm:^2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1 + languageName: node + linkType: hard + +"strip-json-comments@npm:3.1.1, strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 + languageName: node + linkType: hard + +"supports-color@npm:6.0.0": + version: 6.0.0 + resolution: "supports-color@npm:6.0.0" + dependencies: + has-flag: ^3.0.0 + checksum: 005b4a7e5d78a9a703454f5b7da34336b82825747724d1f3eefea6c3956afcb33b79b31854a93cef0fc1f2449919ae952f79abbfd09a5b5b43ecd26407d3a3a1 + languageName: node + linkType: hard + +"supports-color@npm:8.1.1": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: ^4.0.0 + checksum: c052193a7e43c6cdc741eb7f378df605636e01ad434badf7324f17fb60c69a880d8d8fcdcb562cf94c2350e57b937d7425ab5b8326c67c2adc48f7c87c1db406 + languageName: node + linkType: hard + +"supports-color@npm:^2.0.0": + version: 2.0.0 + resolution: "supports-color@npm:2.0.0" + checksum: 602538c5812b9006404370b5a4b885d3e2a1f6567d314f8b4a41974ffe7d08e525bf92ae0f9c7030e3b4c78e4e34ace55d6a67a74f1571bc205959f5972f88f0 + languageName: node + linkType: hard + +"supports-color@npm:^3.1.0": + version: 3.2.3 + resolution: "supports-color@npm:3.2.3" + dependencies: + has-flag: ^1.0.0 + checksum: 56afc05fa87d00100d90148c4d0a6e20a0af0d56dca5c54d4d40b2553ee737dab0ca4e8b53c4471afc035227b5b44dfa4824747a7f01ad733173536f7da6fbbb + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: ^3.0.0 + checksum: 95f6f4ba5afdf92f495b5a912d4abee8dcba766ae719b975c56c084f5004845f6f5a5f7769f52d53f40e21952a6d87411bafe34af4a01e65f9926002e38e1dac + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: ^4.0.0 + checksum: 3dda818de06ebbe5b9653e07842d9479f3555ebc77e9a0280caf5a14fb877ffee9ed57007c3b78f5a6324b8dbeec648d9e97a24e2ed9fdb81ddc69ea07100f4a + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 53b1e247e68e05db7b3808b99b892bd36fb096e6fba213a06da7fab22045e97597db425c724f2bbd6c99a3c295e1e73f3e4de78592289f38431049e1277ca0ae + languageName: node + linkType: hard + +"swarm-js@npm:^0.1.40": + version: 0.1.40 + resolution: "swarm-js@npm:0.1.40" + dependencies: + bluebird: ^3.5.0 + buffer: ^5.0.5 + eth-lib: ^0.1.26 + fs-extra: ^4.0.2 + got: ^7.1.0 + mime-types: ^2.1.16 + mkdirp-promise: ^5.0.1 + mock-fs: ^4.1.0 + setimmediate: ^1.0.5 + tar: ^4.0.2 + xhr-request: ^1.0.1 + checksum: 1de56e0cb02c1c80e041efb2bd2cc7250c5451c3016967266c16d5c1e8c74fe5c3aae45dc46065b1f4d77667a8453b967961ec58b3975469522f566aa840a914 + languageName: node + linkType: hard + +"sync-request@npm:^6.0.0": + version: 6.1.0 + resolution: "sync-request@npm:6.1.0" + dependencies: + http-response-object: ^3.0.1 + sync-rpc: ^1.2.1 + then-request: ^6.0.0 + checksum: cc8438a6749f62fb501d022fae0e3af3ac4a9983f889f929c8721b328a1c3408b98ca218aad886785a02be2c34bd75eb1a5a2608bd1fcee3c8c099391ff53a11 + languageName: node + linkType: hard + +"sync-rpc@npm:^1.2.1": + version: 1.3.6 + resolution: "sync-rpc@npm:1.3.6" + dependencies: + get-port: ^3.1.0 + checksum: 4340974fb5641c2cadb9df18d6b791ed2327f28cf6d8a00c99ebc2278e37391e3f5e237596da2ff83d14d2147594c6f5b3b98a93b9327644db425d239dea172f + languageName: node + linkType: hard + +"table@npm:^5.2.3": + version: 5.4.6 + resolution: "table@npm:5.4.6" + dependencies: + ajv: ^6.10.2 + lodash: ^4.17.14 + slice-ansi: ^2.1.0 + string-width: ^3.0.0 + checksum: 9e35d3efa788edc17237eef8852f8e4b9178efd65a7d115141777b2ee77df4b7796c05f4ed3712d858f98894ac5935a481ceeb6dcb9895e2f67a61cce0e63b6c + languageName: node + linkType: hard + +"table@npm:^6.0.9": + version: 6.8.0 + resolution: "table@npm:6.8.0" + dependencies: + ajv: ^8.0.1 + lodash.truncate: ^4.4.2 + slice-ansi: ^4.0.0 + string-width: ^4.2.3 + strip-ansi: ^6.0.1 + checksum: 5b07fe462ee03d2e1fac02cbb578efd2e0b55ac07e3d3db2e950aa9570ade5a4a2b8d3c15e9f25c89e4e50b646bc4269934601ee1eef4ca7968ad31960977690 + languageName: node + linkType: hard + +"tape@npm:^4.6.3": + version: 4.15.1 + resolution: "tape@npm:4.15.1" + dependencies: + call-bind: ~1.0.2 + deep-equal: ~1.1.1 + defined: ~1.0.0 + dotignore: ~0.1.2 + for-each: ~0.3.3 + glob: ~7.2.0 + has: ~1.0.3 + inherits: ~2.0.4 + is-regex: ~1.1.4 + minimist: ~1.2.6 + object-inspect: ~1.12.0 + resolve: ~1.22.0 + resumer: ~0.0.0 + string.prototype.trim: ~1.2.5 + through: ~2.3.8 + bin: + tape: bin/tape + checksum: 3726aa5979cbffe057455db9fd353c88ff26a1d8d3addc7d479fcbb8202caf12cb3e122492e203db00195b6fdfbc1f9c06762a4aeead7efc710ff46955be550f + languageName: node + linkType: hard + +"tar@npm:^4.0.2": + version: 4.4.19 + resolution: "tar@npm:4.4.19" + dependencies: + chownr: ^1.1.4 + fs-minipass: ^1.2.7 + minipass: ^2.9.0 + minizlib: ^1.3.3 + mkdirp: ^0.5.5 + safe-buffer: ^5.2.1 + yallist: ^3.1.1 + checksum: 423c8259b17f8f612cef9c96805d65f90ba9a28e19be582cd9d0fcb217038219f29b7547198e8fd617da5f436376d6a74b99827acd1238d2f49cf62330f9664e + languageName: node + linkType: hard + +"tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.1.11 + resolution: "tar@npm:6.1.11" + dependencies: + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + minipass: ^3.0.0 + minizlib: ^2.1.1 + mkdirp: ^1.0.3 + yallist: ^4.0.0 + checksum: a04c07bb9e2d8f46776517d4618f2406fb977a74d914ad98b264fc3db0fe8224da5bec11e5f8902c5b9bcb8ace22d95fbe3c7b36b8593b7dfc8391a25898f32f + languageName: node + linkType: hard + +"test-value@npm:^2.1.0": + version: 2.1.0 + resolution: "test-value@npm:2.1.0" + dependencies: + array-back: ^1.0.3 + typical: ^2.6.0 + checksum: ce41ef4100c9ac84630e78d1ca06706714587faf255e44296ace1fc7bf5b888c160b8c0229d31467252a3b2b57197965194391f6ee0c54f33e0b8e3af3a33a0c + languageName: node + linkType: hard + +"testrpc@npm:0.0.1": + version: 0.0.1 + resolution: "testrpc@npm:0.0.1" + checksum: e27778552df2d0b938b062fdf41d44557f0eb3de75903cb90b87909f55a82a6345dd13e40d1498e718272b4e5225872dca66da73646c35df1031486bb0ed0fda + languageName: node + linkType: hard + +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: b6937a38c80c7f84d9c11dd75e49d5c44f71d95e810a3250bd1f1797fc7117c57698204adf676b71497acc205d769d65c16ae8fa10afad832ae1322630aef10a + languageName: node + linkType: hard + +"then-request@npm:^6.0.0": + version: 6.0.2 + resolution: "then-request@npm:6.0.2" + dependencies: + "@types/concat-stream": ^1.6.0 + "@types/form-data": 0.0.33 + "@types/node": ^8.0.0 + "@types/qs": ^6.2.31 + caseless: ~0.12.0 + concat-stream: ^1.6.0 + form-data: ^2.2.0 + http-basic: ^8.1.1 + http-response-object: ^3.0.1 + promise: ^8.0.0 + qs: ^6.4.0 + checksum: a24a4fc95dd8591966bf3752f024f5cd4d53c2b2c29b23b4e40c3322df6a432d939bc17b589d8e9d760b90e92ab860f6f361a4dfcfe3542019e1615fb51afccc + languageName: node + linkType: hard + +"through2@npm:^2.0.3": + version: 2.0.5 + resolution: "through2@npm:2.0.5" + dependencies: + readable-stream: ~2.3.6 + xtend: ~4.0.1 + checksum: beb0f338aa2931e5660ec7bf3ad949e6d2e068c31f4737b9525e5201b824ac40cac6a337224856b56bd1ddd866334bbfb92a9f57cd6f66bc3f18d3d86fc0fe50 + languageName: node + linkType: hard + +"through@npm:^2.3.6, through@npm:~2.3.4, through@npm:~2.3.8": + version: 2.3.8 + resolution: "through@npm:2.3.8" + checksum: a38c3e059853c494af95d50c072b83f8b676a9ba2818dcc5b108ef252230735c54e0185437618596c790bbba8fcdaef5b290405981ffa09dce67b1f1bf190cbd + languageName: node + linkType: hard + +"timed-out@npm:^4.0.0, timed-out@npm:^4.0.1": + version: 4.0.1 + resolution: "timed-out@npm:4.0.1" + checksum: 98efc5d6fc0d2a329277bd4d34f65c1bf44d9ca2b14fd267495df92898f522e6f563c5e9e467c418e0836f5ca1f47a84ca3ee1de79b1cc6fe433834b7f02ec54 + languageName: node + linkType: hard + +"tmp@npm:0.0.33, tmp@npm:^0.0.33": + version: 0.0.33 + resolution: "tmp@npm:0.0.33" + dependencies: + os-tmpdir: ~1.0.2 + checksum: 902d7aceb74453ea02abbf58c203f4a8fc1cead89b60b31e354f74ed5b3fb09ea817f94fb310f884a5d16987dd9fa5a735412a7c2dd088dd3d415aa819ae3a28 + languageName: node + linkType: hard + +"tmp@npm:0.1.0": + version: 0.1.0 + resolution: "tmp@npm:0.1.0" + dependencies: + rimraf: ^2.6.3 + checksum: 6bab8431de9d245d4264bd8cd6bb216f9d22f179f935dada92a11d1315572c8eb7c3334201e00594b4708608bd536fad3a63bfb037e7804d827d66aa53a1afcd + languageName: node + linkType: hard + +"to-fast-properties@npm:^1.0.3": + version: 1.0.3 + resolution: "to-fast-properties@npm:1.0.3" + checksum: bd0abb58c4722851df63419de3f6d901d5118f0440d3f71293ed776dd363f2657edaaf2dc470e3f6b7b48eb84aa411193b60db8a4a552adac30de9516c5cc580 + languageName: node + linkType: hard + +"to-object-path@npm:^0.3.0": + version: 0.3.0 + resolution: "to-object-path@npm:0.3.0" + dependencies: + kind-of: ^3.0.2 + checksum: 9425effee5b43e61d720940fa2b889623f77473d459c2ce3d4a580a4405df4403eec7be6b857455908070566352f9e2417304641ed158dda6f6a365fe3e66d70 + languageName: node + linkType: hard + +"to-readable-stream@npm:^1.0.0": + version: 1.0.0 + resolution: "to-readable-stream@npm:1.0.0" + checksum: 2bd7778490b6214a2c40276065dd88949f4cf7037ce3964c76838b8cb212893aeb9cceaaf4352a4c486e3336214c350270f3263e1ce7a0c38863a715a4d9aeb5 + languageName: node + linkType: hard + +"to-regex-range@npm:^2.1.0": + version: 2.1.1 + resolution: "to-regex-range@npm:2.1.1" + dependencies: + is-number: ^3.0.0 + repeat-string: ^1.6.1 + checksum: 46093cc14be2da905cc931e442d280b2e544e2bfdb9a24b3cf821be8d342f804785e5736c108d5be026021a05d7b38144980a61917eee3c88de0a5e710e10320 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: ^7.0.0 + checksum: f76fa01b3d5be85db6a2a143e24df9f60dd047d151062d0ba3df62953f2f697b16fe5dad9b0ac6191c7efc7b1d9dcaa4b768174b7b29da89d4428e64bc0a20ed + languageName: node + linkType: hard + +"to-regex@npm:^3.0.1, to-regex@npm:^3.0.2": + version: 3.0.2 + resolution: "to-regex@npm:3.0.2" + dependencies: + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + regex-not: ^1.0.2 + safe-regex: ^1.1.0 + checksum: 4ed4a619059b64e204aad84e4e5f3ea82d97410988bcece7cf6cbfdbf193d11bff48cf53842d88b8bb00b1bfc0d048f61f20f0709e6f393fd8fe0122662d9db4 + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 + languageName: node + linkType: hard + +"tough-cookie@npm:^2.3.3, tough-cookie@npm:~2.5.0": + version: 2.5.0 + resolution: "tough-cookie@npm:2.5.0" + dependencies: + psl: ^1.1.28 + punycode: ^2.1.1 + checksum: 16a8cd090224dd176eee23837cbe7573ca0fa297d7e468ab5e1c02d49a4e9a97bb05fef11320605eac516f91d54c57838a25864e8680e27b069a5231d8264977 + languageName: node + linkType: hard + +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3 + languageName: node + linkType: hard + +"trim-right@npm:^1.0.1": + version: 1.0.1 + resolution: "trim-right@npm:1.0.1" + checksum: 9120af534e006a7424a4f9358710e6e707887b6ccf7ea69e50d6ac6464db1fe22268400def01752f09769025d480395159778153fb98d4a2f6f40d4cf5d4f3b6 + languageName: node + linkType: hard + +"true-case-path@npm:^2.2.1": + version: 2.2.1 + resolution: "true-case-path@npm:2.2.1" + checksum: fd5f1c2a87a122a65ffb1f84b580366be08dac7f552ea0fa4b5a6ab0a013af950b0e752beddb1c6c1652e6d6a2b293b7b3fd86a5a1706242ad365b68f1b5c6f1 + languageName: node + linkType: hard + +"ts-essentials@npm:^1.0.0": + version: 1.0.4 + resolution: "ts-essentials@npm:1.0.4" + checksum: 2e19bbe51203707ca732dcc6c3f238b2cf22bb9213d26ae0246c02325fb3e5f17c32505ac79c1bd538b7951a798155b07422e263a95cb295070a48233e45a1b5 + languageName: node + linkType: hard + +"ts-essentials@npm:^6.0.3": + version: 6.0.7 + resolution: "ts-essentials@npm:6.0.7" + peerDependencies: + typescript: ">=3.7.0" + checksum: b47a1793df9ea997d50d2cc9155433952b189cfca0c534a6f3f3dce6aa782a37574d2179dee6d55ed918835aa17addda49619ff2bd2eb3e60e331db3ce30a79b + languageName: node + linkType: hard + +"ts-essentials@npm:^7.0.1": + version: 7.0.3 + resolution: "ts-essentials@npm:7.0.3" + peerDependencies: + typescript: ">=3.7.0" + checksum: 74d75868acf7f8b95e447d8b3b7442ca21738c6894e576df9917a352423fde5eb43c5651da5f78997da6061458160ae1f6b279150b42f47ccc58b73e55acaa2f + languageName: node + linkType: hard + +"ts-generator@npm:^0.1.1": + version: 0.1.1 + resolution: "ts-generator@npm:0.1.1" + dependencies: + "@types/mkdirp": ^0.5.2 + "@types/prettier": ^2.1.1 + "@types/resolve": ^0.0.8 + chalk: ^2.4.1 + glob: ^7.1.2 + mkdirp: ^0.5.1 + prettier: ^2.1.2 + resolve: ^1.8.1 + ts-essentials: ^1.0.0 + bin: + ts-generator: dist/cli/run.js + checksum: 3add2e76afd7a4d9d9aee1ff26477ee4e8b4cc740b35787f9ea780c11aefc88e6c7833837eacc12b944c1883680639dc9cc47fe173eff95c62112f3a41132146 + languageName: node + linkType: hard + +"ts-node@npm:^10.1.0": + version: 10.7.0 + resolution: "ts-node@npm:10.7.0" + dependencies: + "@cspotcode/source-map-support": 0.7.0 + "@tsconfig/node10": ^1.0.7 + "@tsconfig/node12": ^1.0.7 + "@tsconfig/node14": ^1.0.0 + "@tsconfig/node16": ^1.0.2 + acorn: ^8.4.1 + acorn-walk: ^8.1.1 + arg: ^4.1.0 + create-require: ^1.1.0 + diff: ^4.0.1 + make-error: ^1.1.1 + v8-compile-cache-lib: ^3.0.0 + yn: 3.1.1 + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + bin: + ts-node: dist/bin.js + ts-node-cwd: dist/bin-cwd.js + ts-node-esm: dist/bin-esm.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 2a379e43f7478d0b79e1e63af91fe222d83857727957df4bd3bdf3c0a884de5097b12feb9bbf530074526b8874c0338b0e6328cf334f3a5e2c49c71e837273f7 + languageName: node + linkType: hard + +"tslib@npm:^1.9.0, tslib@npm:^1.9.3": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd + languageName: node + linkType: hard + +"tsort@npm:0.0.1": + version: 0.0.1 + resolution: "tsort@npm:0.0.1" + checksum: 581566c248690b9ea7e431e1545affb3d2cab0f5dcd0e45ddef815dfaec4864cb5f0cfd8072924dedbc0de9585ff07e3e65db60f14fab4123737b9bb6e72eacc + languageName: node + linkType: hard + +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: ^5.0.1 + checksum: 05f6510358f8afc62a057b8b692f05d70c1782b70db86d6a1e0d5e28a32389e52fa6e7707b6c5ecccacc031462e4bc35af85ecfe4bbc341767917b7cf6965711 + languageName: node + linkType: hard + +"tweetnacl-util@npm:^0.15.0, tweetnacl-util@npm:^0.15.1": + version: 0.15.1 + resolution: "tweetnacl-util@npm:0.15.1" + checksum: ae6aa8a52cdd21a95103a4cc10657d6a2040b36c7a6da7b9d3ab811c6750a2d5db77e8c36969e75fdee11f511aa2b91c552496c6e8e989b6e490e54aca2864fc + languageName: node + linkType: hard + +"tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": + version: 0.14.5 + resolution: "tweetnacl@npm:0.14.5" + checksum: 6061daba1724f59473d99a7bb82e13f211cdf6e31315510ae9656fefd4779851cb927adad90f3b488c8ed77c106adc0421ea8055f6f976ff21b27c5c4e918487 + languageName: node + linkType: hard + +"tweetnacl@npm:^1.0.0, tweetnacl@npm:^1.0.3": + version: 1.0.3 + resolution: "tweetnacl@npm:1.0.3" + checksum: e4a57cac188f0c53f24c7a33279e223618a2bfb5fea426231991652a13247bea06b081fd745d71291fcae0f4428d29beba1b984b1f1ce6f66b06a6d1ab90645c + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: ^1.2.1 + checksum: ec688ebfc9c45d0c30412e41ca9c0cdbd704580eb3a9ccf07b9b576094d7b86a012baebc95681999dd38f4f444afd28504cb3a89f2ef16b31d4ab61a0739025a + languageName: node + linkType: hard + +"type-check@npm:~0.3.2": + version: 0.3.2 + resolution: "type-check@npm:0.3.2" + dependencies: + prelude-ls: ~1.1.2 + checksum: dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124 + languageName: node + linkType: hard + +"type-detect@npm:^4.0.0, type-detect@npm:^4.0.5": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 4fb3272df21ad1c552486f8a2f8e115c09a521ad7a8db3d56d53718d0c907b62c6e9141ba5f584af3f6830d0872c521357e512381f24f7c44acae583ad517d73 + languageName: node + linkType: hard + +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: e6b32a3b3877f04339bae01c193b273c62ba7bfc9e325b8703c4ee1b32dc8fe4ef5dfa54bf78265e069f7667d058e360ae0f37be5af9f153b22382cd55a9afe0 + languageName: node + linkType: hard + +"type-fest@npm:^0.7.1": + version: 0.7.1 + resolution: "type-fest@npm:0.7.1" + checksum: 5b1b113529d59949d97b76977d545989ddc11b81bb0c766b6d2ccc65473cb4b4a5c7d24f5be2c2bb2de302a5d7a13c1732ea1d34c8c59b7e0ec1f890cf7fc424 + languageName: node + linkType: hard + +"type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: 0.3.0 + mime-types: ~2.1.24 + checksum: 2c8e47675d55f8b4e404bcf529abdf5036c537a04c2b20177bcf78c9e3c1da69da3942b1346e6edb09e823228c0ee656ef0e033765ec39a70d496ef601a0c657 + languageName: node + linkType: hard + +"type@npm:^1.0.1": + version: 1.2.0 + resolution: "type@npm:1.2.0" + checksum: dae8c64f82c648b985caf321e9dd6e8b7f4f2e2d4f846fc6fd2c8e9dc7769382d8a52369ddbaccd59aeeceb0df7f52fb339c465be5f2e543e81e810e413451ee + languageName: node + linkType: hard + +"type@npm:^2.5.0": + version: 2.6.0 + resolution: "type@npm:2.6.0" + checksum: 80da01fcc0f6ed5a253dc326530e134000a8f66ea44b6d9687cde2f894f0d0b2486595b0cd040a64f7f79dc3120784236f8c9ef667a8aef03984e049b447cfb4 + languageName: node + linkType: hard + +"typechain@npm:^3.0.0": + version: 3.0.0 + resolution: "typechain@npm:3.0.0" + dependencies: + command-line-args: ^4.0.7 + debug: ^4.1.1 + fs-extra: ^7.0.0 + js-sha3: ^0.8.0 + lodash: ^4.17.15 + ts-essentials: ^6.0.3 + ts-generator: ^0.1.1 + bin: + typechain: ./dist/cli/cli.js + checksum: a38aff5e89c41e20e2c3a1f7b5f04666dbc94b5592eba70ba7d1e0aeb49089d22ed3d35e55a0b0d1f0bfdcea9818157fa4ee3854ef818f46f6aa899520fe7c25 + languageName: node + linkType: hard + +"typechain@npm:^5.0.0": + version: 5.2.0 + resolution: "typechain@npm:5.2.0" + dependencies: + "@types/prettier": ^2.1.1 + command-line-args: ^4.0.7 + debug: ^4.1.1 + fs-extra: ^7.0.0 + glob: ^7.1.6 + js-sha3: ^0.8.0 + lodash: ^4.17.15 + mkdirp: ^1.0.4 + prettier: ^2.1.2 + ts-essentials: ^7.0.1 + peerDependencies: + typescript: ">=4.1.0" + bin: + typechain: dist/cli/cli.js + checksum: 1116e835a355b0d9dc9be77ebbfe972e1fe93eec6dc71cabaaada9e606c2bbaa18c786a22388e41ea3d2745fee1479b542b45dd9ebab4f60b2773524668a5d05 + languageName: node + linkType: hard + +"typedarray-to-buffer@npm:^3.1.5": + version: 3.1.5 + resolution: "typedarray-to-buffer@npm:3.1.5" + dependencies: + is-typedarray: ^1.0.0 + checksum: 99c11aaa8f45189fcfba6b8a4825fd684a321caa9bd7a76a27cf0c7732c174d198b99f449c52c3818107430b5f41c0ccbbfb75cb2ee3ca4a9451710986d61a60 + languageName: node + linkType: hard + +"typedarray@npm:^0.0.6": + version: 0.0.6 + resolution: "typedarray@npm:0.0.6" + checksum: 33b39f3d0e8463985eeaeeacc3cb2e28bc3dfaf2a5ed219628c0b629d5d7b810b0eb2165f9f607c34871d5daa92ba1dc69f49051cf7d578b4cbd26c340b9d1b1 + languageName: node + linkType: hard + +"typescript@npm:^4.3.2, typescript@npm:^4.3.5": + version: 4.6.4 + resolution: "typescript@npm:4.6.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: e7bfcc39cd4571a63a54e5ea21f16b8445268b9900bf55aee0e02ad981be576acc140eba24f1af5e3c1457767c96cea6d12861768fb386cf3ffb34013718631a + languageName: node + linkType: hard + +"typescript@patch:typescript@^4.3.2#~builtin, typescript@patch:typescript@^4.3.5#~builtin": + version: 4.6.4 + resolution: "typescript@patch:typescript@npm%3A4.6.4#~builtin::version=4.6.4&hash=bda367" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 1cb434fbc637d347be90e3a0c6cd05e33c38f941713c8786d3031faf1842c2c148ba91d2fac01e7276b0ae3249b8633f1660e32686cc7a8c6a8fd5361dc52c66 + languageName: node + linkType: hard + +"typewise-core@npm:^1.2, typewise-core@npm:^1.2.0": + version: 1.2.0 + resolution: "typewise-core@npm:1.2.0" + checksum: c21e83544546d1aba2f17377c25ae0eb571c2153b2e3705932515bef103dbe43e05d2286f238ad139341b1000da40583115a44cb5e69a2ef408572b13dab844b + languageName: node + linkType: hard + +"typewise@npm:^1.0.3": + version: 1.0.3 + resolution: "typewise@npm:1.0.3" + dependencies: + typewise-core: ^1.2.0 + checksum: eb3452b1387df8bf8e3b620720d240425a50ce402d7c064c21ac4b5d88c551ee4d1f26cd649b8a17a6d06f7a3675733de841723f8e06bb3edabfeacc4924af4a + languageName: node + linkType: hard + +"typewiselite@npm:~1.0.0": + version: 1.0.0 + resolution: "typewiselite@npm:1.0.0" + checksum: 2e13a652c041680e9e37501129715f97c2ff2b8f52b5e82acd9355c070ca7c126633ff96d2ad03945254c271c0d1cf9f4956090c93ad750717e00d100cbd0c87 + languageName: node + linkType: hard + +"typical@npm:^2.6.0, typical@npm:^2.6.1": + version: 2.6.1 + resolution: "typical@npm:2.6.1" + checksum: 6af04fefe50d90d3471f058b2cdc0f49b7436bdd605cd00acea7965926ff388a5a7d692ef144f45fccee6f8e896c065702ecc44b69057e2ce88c09e897c7d3a4 + languageName: node + linkType: hard + +"uglify-js@npm:^3.1.4": + version: 3.15.4 + resolution: "uglify-js@npm:3.15.4" + bin: + uglifyjs: bin/uglifyjs + checksum: 5f673c5dd7f3b3dd15d1d26aebfe29bccbb1b896c4b5423ec70a2e8b9506c70b6fb6a53dec83df5ad65a717ec9a850adf08e0aedf9b1711eac5eb080216615fa + languageName: node + linkType: hard + +"ultron@npm:~1.1.0": + version: 1.1.1 + resolution: "ultron@npm:1.1.1" + checksum: aa7b5ebb1b6e33287b9d873c6756c4b7aa6d1b23d7162ff25b0c0ce5c3c7e26e2ab141a5dc6e96c10ac4d00a372e682ce298d784f06ffcd520936590b4bc0653 + languageName: node + linkType: hard + +"unbox-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "unbox-primitive@npm:1.0.2" + dependencies: + call-bind: ^1.0.2 + has-bigints: ^1.0.2 + has-symbols: ^1.0.3 + which-boxed-primitive: ^1.0.2 + checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9 + languageName: node + linkType: hard + +"underscore@npm:1.9.1": + version: 1.9.1 + resolution: "underscore@npm:1.9.1" + checksum: bee6f587661a6a9ca2f77e611896141e0287af51d8ca6034b11d0d4163ddbdd181a9720078ddbe94d265b7694f4880bc7f4c2ad260cfb8985ee2f9adcf13df03 + languageName: node + linkType: hard + +"undici@npm:^4.14.1": + version: 4.16.0 + resolution: "undici@npm:4.16.0" + checksum: 5e88c2b3381085e25ed1d1a308610ac7ee985f478ac705af7a8e03213536e10f73ef8dd8d85e6ed38948d1883fa0ae935e04357c317b0f5d3d3c0211d0c8c393 + languageName: node + linkType: hard + +"union-value@npm:^1.0.0": + version: 1.0.1 + resolution: "union-value@npm:1.0.1" + dependencies: + arr-union: ^3.1.0 + get-value: ^2.0.6 + is-extendable: ^0.1.1 + set-value: ^2.0.1 + checksum: a3464097d3f27f6aa90cf103ed9387541bccfc006517559381a10e0dffa62f465a9d9a09c9b9c3d26d0f4cbe61d4d010e2fbd710fd4bf1267a768ba8a774b0ba + languageName: node + linkType: hard + +"unique-filename@npm:^1.1.1": + version: 1.1.1 + resolution: "unique-filename@npm:1.1.1" + dependencies: + unique-slug: ^2.0.0 + checksum: cf4998c9228cc7647ba7814e255dec51be43673903897b1786eff2ac2d670f54d4d733357eb08dea969aa5e6875d0e1bd391d668fbdb5a179744e7c7551a6f80 + languageName: node + linkType: hard + +"unique-slug@npm:^2.0.0": + version: 2.0.2 + resolution: "unique-slug@npm:2.0.2" + dependencies: + imurmurhash: ^0.1.4 + checksum: 5b6876a645da08d505dedb970d1571f6cebdf87044cb6b740c8dbb24f0d6e1dc8bdbf46825fd09f994d7cf50760e6f6e063cfa197d51c5902c00a861702eb75a + languageName: node + linkType: hard + +"universalify@npm:^0.1.0": + version: 0.1.2 + resolution: "universalify@npm:0.1.2" + checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.0 + resolution: "universalify@npm:2.0.0" + checksum: 2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44 + languageName: node + linkType: hard + +"unorm@npm:^1.3.3": + version: 1.6.0 + resolution: "unorm@npm:1.6.0" + checksum: 9a86546256a45f855b6cfe719086785d6aada94f63778cecdecece8d814ac26af76cb6da70130da0a08b8803bbf0986e56c7ec4249038198f3de02607fffd811 + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 4fa18d8d8d977c55cb09715385c203197105e10a6d220087ec819f50cb68870f02942244f1017565484237f1f8c5d3cd413631b1ae104d3096f24fdfde1b4aa2 + languageName: node + linkType: hard + +"unset-value@npm:^1.0.0": + version: 1.0.0 + resolution: "unset-value@npm:1.0.0" + dependencies: + has-value: ^0.3.1 + isobject: ^3.0.0 + checksum: 5990ecf660672be2781fc9fb322543c4aa592b68ed9a3312fa4df0e9ba709d42e823af090fc8f95775b4cd2c9a5169f7388f0cec39238b6d0d55a69fc2ab6b29 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: ^2.1.0 + checksum: 7167432de6817fe8e9e0c9684f1d2de2bb688c94388f7569f7dbdb1587c9f4ca2a77962f134ec90be0cc4d004c939ff0d05acc9f34a0db39a3c797dada262633 + languageName: node + linkType: hard + +"urix@npm:^0.1.0": + version: 0.1.0 + resolution: "urix@npm:0.1.0" + checksum: 4c076ecfbf3411e888547fe844e52378ab5ada2d2f27625139011eada79925e77f7fbf0e4016d45e6a9e9adb6b7e64981bd49b22700c7c401c5fc15f423303b3 + languageName: node + linkType: hard + +"url-parse-lax@npm:^1.0.0": + version: 1.0.0 + resolution: "url-parse-lax@npm:1.0.0" + dependencies: + prepend-http: ^1.0.1 + checksum: 03316acff753845329652258c16d1688765ee34f7d242a94dadf9ff6e43ea567ec062cec7aa27c37f76f2c57f95e0660695afff32fb97b527591c7340a3090fa + languageName: node + linkType: hard + +"url-parse-lax@npm:^3.0.0": + version: 3.0.0 + resolution: "url-parse-lax@npm:3.0.0" + dependencies: + prepend-http: ^2.0.0 + checksum: 1040e357750451173132228036aff1fd04abbd43eac1fb3e4fca7495a078bcb8d33cb765fe71ad7e473d9c94d98fd67adca63bd2716c815a2da066198dd37217 + languageName: node + linkType: hard + +"url-set-query@npm:^1.0.0": + version: 1.0.0 + resolution: "url-set-query@npm:1.0.0" + checksum: 5ad73525e8f3ab55c6bf3ddc70a43912e65ff9ce655d7868fdcefdf79f509cfdddde4b07150797f76186f1a47c0ecd2b7bb3687df8f84757dee4110cf006e12d + languageName: node + linkType: hard + +"url-to-options@npm:^1.0.1": + version: 1.0.1 + resolution: "url-to-options@npm:1.0.1" + checksum: 20e59f4578525fb0d30ffc22b13b5aa60bc9e57cefd4f5842720f5b57211b6dec54abeae2d675381ac4486fd1a2e987f1318725dea996e503ff89f8c8ce2c17e + languageName: node + linkType: hard + +"url@npm:^0.11.0": + version: 0.11.0 + resolution: "url@npm:0.11.0" + dependencies: + punycode: 1.3.2 + querystring: 0.2.0 + checksum: 50d100d3dd2d98b9fe3ada48cadb0b08aa6be6d3ac64112b867b56b19be4bfcba03c2a9a0d7922bfd7ac17d4834e88537749fe182430dfd9b68e520175900d90 + languageName: node + linkType: hard + +"use@npm:^3.1.0": + version: 3.1.1 + resolution: "use@npm:3.1.1" + checksum: 08a130289f5238fcbf8f59a18951286a6e660d17acccc9d58d9b69dfa0ee19aa038e8f95721b00b432c36d1629a9e32a464bf2e7e0ae6a244c42ddb30bdd8b33 + languageName: node + linkType: hard + +"utf-8-validate@npm:^5.0.2": + version: 5.0.9 + resolution: "utf-8-validate@npm:5.0.9" + dependencies: + node-gyp: latest + node-gyp-build: ^4.3.0 + checksum: 90117f1b65e0a1256c83dfad529983617263b622f2379745311d0438c7ea31db0d134ebd0dca84c3f5847a3560a3d249644e478a9109c616f63c7ea19cac53dc + languageName: node + linkType: hard + +"utf8@npm:3.0.0, utf8@npm:^3.0.0": + version: 3.0.0 + resolution: "utf8@npm:3.0.0" + checksum: cb89a69ad9ab393e3eae9b25305b3ff08bebca9adc839191a34f90777eb2942f86a96369d2839925fea58f8f722f7e27031d697f10f5f39690f8c5047303e62d + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 + languageName: node + linkType: hard + +"util.promisify@npm:^1.0.0": + version: 1.1.1 + resolution: "util.promisify@npm:1.1.1" + dependencies: + call-bind: ^1.0.0 + define-properties: ^1.1.3 + for-each: ^0.3.3 + has-symbols: ^1.0.1 + object.getownpropertydescriptors: ^2.1.1 + checksum: ea371c30b90576862487ae4efd7182aa5855019549a4019d82629acc2709e8ccb0f38944403eebec622fff8ebb44ac3f46a52d745d5f543d30606132a4905f96 + languageName: node + linkType: hard + +"util@npm:^0.12.0": + version: 0.12.4 + resolution: "util@npm:0.12.4" + dependencies: + inherits: ^2.0.3 + is-arguments: ^1.0.4 + is-generator-function: ^1.0.7 + is-typed-array: ^1.1.3 + safe-buffer: ^5.1.2 + which-typed-array: ^1.1.2 + checksum: 8eac7a6e6b341c0f1b3eb73bbe5dfcae31a7e9699c8fc3266789f3e95f7637946a7700dcf1904dbd3749a58a36760ebf7acf4bb5b717f7468532a8a79f44eff0 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: c81095493225ecfc28add49c106ca4f09cdf56bc66731aa8dabc2edbbccb1e1bfe2de6a115e5c6a380d3ea166d1636410b62ef216bb07b3feb1cfde1d95d5080 + languageName: node + linkType: hard + +"uuid@npm:2.0.1": + version: 2.0.1 + resolution: "uuid@npm:2.0.1" + checksum: e129e494e33cededdfc2cefbd63da966344b873bbfd3373a311b0acc2e7ab53d68b2515879444898867d84b863e44939e852484b9f3a54c4fd86d985a7dadb8d + languageName: node + linkType: hard + +"uuid@npm:3.3.2": + version: 3.3.2 + resolution: "uuid@npm:3.3.2" + bin: + uuid: ./bin/uuid + checksum: 8793629d2799f500aeea9fcd0aec6c4e9fbcc4d62ed42159ad96be345c3fffac1bbf61a23e18e2782600884fee05e6d4012ce4b70d0037c8e987533ae6a77870 + languageName: node + linkType: hard + +"uuid@npm:^3.3.2": + version: 3.4.0 + resolution: "uuid@npm:3.4.0" + bin: + uuid: ./bin/uuid + checksum: 58de2feed61c59060b40f8203c0e4ed7fd6f99d42534a499f1741218a1dd0c129f4aa1de797bcf822c8ea5da7e4137aa3673431a96dae729047f7aca7b27866f + languageName: node + linkType: hard + +"uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 5575a8a75c13120e2f10e6ddc801b2c7ed7d8f3c8ac22c7ed0c7b2ba6383ec0abda88c905085d630e251719e0777045ae3236f04c812184b7c765f63a70e58df + languageName: node + linkType: hard + +"v8-compile-cache-lib@npm:^3.0.0": + version: 3.0.1 + resolution: "v8-compile-cache-lib@npm:3.0.1" + checksum: 78089ad549e21bcdbfca10c08850022b22024cdcc2da9b168bcf5a73a6ed7bf01a9cebb9eac28e03cd23a684d81e0502797e88f3ccd27a32aeab1cfc44c39da0 + languageName: node + linkType: hard + +"v8-compile-cache@npm:^2.0.3": + version: 2.3.0 + resolution: "v8-compile-cache@npm:2.3.0" + checksum: adb0a271eaa2297f2f4c536acbfee872d0dd26ec2d76f66921aa7fc437319132773483344207bdbeee169225f4739016d8d2dbf0553913a52bb34da6d0334f8e + languageName: node + linkType: hard + +"validate-npm-package-license@npm:^3.0.1": + version: 3.0.4 + resolution: "validate-npm-package-license@npm:3.0.4" + dependencies: + spdx-correct: ^3.0.0 + spdx-expression-parse: ^3.0.0 + checksum: 35703ac889d419cf2aceef63daeadbe4e77227c39ab6287eeb6c1b36a746b364f50ba22e88591f5d017bc54685d8137bc2d328d0a896e4d3fd22093c0f32a9ad + languageName: node + linkType: hard + +"varint@npm:^5.0.0": + version: 5.0.2 + resolution: "varint@npm:5.0.2" + checksum: e1a66bf9a6cea96d1f13259170d4d41b845833acf3a9df990ea1e760d279bd70d5b1f4c002a50197efd2168a2fd43eb0b808444600fd4d23651e8d42fe90eb05 + languageName: node + linkType: hard + +"vary@npm:^1, vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: ae0123222c6df65b437669d63dfa8c36cee20a504101b2fcd97b8bf76f91259c17f9f2b4d70a1e3c6bbcee7f51b28392833adb6b2770b23b01abec84e369660b + languageName: node + linkType: hard + +"verror@npm:1.10.0": + version: 1.10.0 + resolution: "verror@npm:1.10.0" + dependencies: + assert-plus: ^1.0.0 + core-util-is: 1.0.2 + extsprintf: ^1.2.0 + checksum: c431df0bedf2088b227a4e051e0ff4ca54df2c114096b0c01e1cbaadb021c30a04d7dd5b41ab277bcd51246ca135bf931d4c4c796ecae7a4fef6d744ecef36ea + languageName: node + linkType: hard + +"web3-bzz@npm:1.2.11": + version: 1.2.11 + resolution: "web3-bzz@npm:1.2.11" + dependencies: + "@types/node": ^12.12.6 + got: 9.6.0 + swarm-js: ^0.1.40 + underscore: 1.9.1 + checksum: 45136e7282819260357efdcdf6d81cb7b733b212aa1e46f1bbcaff70a33a2e3f6558936e6e1fc3bf75bb4c3220f844fc6b9d5bfaaa68a2f6ed0e8c0b02c97523 + languageName: node + linkType: hard + +"web3-bzz@npm:1.5.3": + version: 1.5.3 + resolution: "web3-bzz@npm:1.5.3" + dependencies: + "@types/node": ^12.12.6 + got: 9.6.0 + swarm-js: ^0.1.40 + checksum: 19588b430af9d35d8428255dbc03b86228679b98274e964de1b1404f2e348aa2c989d662903d8d3b0b83cd70658be99126515804745ce27e145beb817ac2b60c + languageName: node + linkType: hard + +"web3-core-helpers@npm:1.2.11": + version: 1.2.11 + resolution: "web3-core-helpers@npm:1.2.11" + dependencies: + underscore: 1.9.1 + web3-eth-iban: 1.2.11 + web3-utils: 1.2.11 + checksum: dac2ab85b8bec8251647d40f1dc5fcf30b2245de6d216328c51c9d619d12a567906c5bf8b542846552a56bf969edcfcb16fb67e3780461195df85cd506591f68 + languageName: node + linkType: hard + +"web3-core-helpers@npm:1.5.3": + version: 1.5.3 + resolution: "web3-core-helpers@npm:1.5.3" + dependencies: + web3-eth-iban: 1.5.3 + web3-utils: 1.5.3 + checksum: 562e6d2f5a8d1e13244a2a85f1a98ff2e8f7340cd94534379b9cc6a4476bed1a899b778a2e4b537f962811e618448a8096833638ec31893fcb03770c4143bd54 + languageName: node + linkType: hard + +"web3-core-method@npm:1.2.11": + version: 1.2.11 + resolution: "web3-core-method@npm:1.2.11" + dependencies: + "@ethersproject/transactions": ^5.0.0-beta.135 + underscore: 1.9.1 + web3-core-helpers: 1.2.11 + web3-core-promievent: 1.2.11 + web3-core-subscriptions: 1.2.11 + web3-utils: 1.2.11 + checksum: 7533c5b8c42df49969b9c95a2c9cb0abcd55a304ef4b276a5cc43673d27ffd9767a0caabe09271979b5afd0f788a51416f7018bc704d734ad78846c68dba15a7 + languageName: node + linkType: hard + +"web3-core-method@npm:1.5.3": + version: 1.5.3 + resolution: "web3-core-method@npm:1.5.3" + dependencies: + "@ethereumjs/common": ^2.4.0 + "@ethersproject/transactions": ^5.0.0-beta.135 + web3-core-helpers: 1.5.3 + web3-core-promievent: 1.5.3 + web3-core-subscriptions: 1.5.3 + web3-utils: 1.5.3 + checksum: 7ff2eea36096e57f15da8ee65ab7cb0bd9e41ab0605af7826178d8b1e796af45495d28cd8301e14e0c3ee5ce05aa1bdc610b793ae7fbdc763dc3afafcf937135 + languageName: node + linkType: hard + +"web3-core-promievent@npm:1.2.11": + version: 1.2.11 + resolution: "web3-core-promievent@npm:1.2.11" + dependencies: + eventemitter3: 4.0.4 + checksum: bd3661978f252ec0033881b32a5d4dec1bfeb7fb0f018d77c077c77b60c0f965215dcbd54c5fcbef739441dd7efbdbd6c9b20e275e05f5b4d2cee762937d95cc + languageName: node + linkType: hard + +"web3-core-promievent@npm:1.5.3": + version: 1.5.3 + resolution: "web3-core-promievent@npm:1.5.3" + dependencies: + eventemitter3: 4.0.4 + checksum: b31a8ba6ff1d9d3cfdcef26396e1a9dfc3e0c95d4679e8cd69b6892094f21e2ce5ffc916c2d9776f5b28f0a617a814ee80be91bd3a8b17128cc01a390f9056eb + languageName: node + linkType: hard + +"web3-core-requestmanager@npm:1.2.11": + version: 1.2.11 + resolution: "web3-core-requestmanager@npm:1.2.11" + dependencies: + underscore: 1.9.1 + web3-core-helpers: 1.2.11 + web3-providers-http: 1.2.11 + web3-providers-ipc: 1.2.11 + web3-providers-ws: 1.2.11 + checksum: 84898bfec26319d06ccf7ae63821b7fbea8efc8a76015921530cc4eb85db39598c16598f1e51f95ed79146d7defafe7b924b5c6f6927fb2a153d01eb0862182c + languageName: node + linkType: hard + +"web3-core-requestmanager@npm:1.5.3": + version: 1.5.3 + resolution: "web3-core-requestmanager@npm:1.5.3" + dependencies: + util: ^0.12.0 + web3-core-helpers: 1.5.3 + web3-providers-http: 1.5.3 + web3-providers-ipc: 1.5.3 + web3-providers-ws: 1.5.3 + checksum: 7258bb7373198078fce027ede2a508e1f4f86c75e9647c4b1438dc376a58ccb8a077f6e6647b26bf0d25382602eb12bcd7f9fc691177d0d3a1b692b55d1234e8 + languageName: node + linkType: hard + +"web3-core-subscriptions@npm:1.2.11": + version: 1.2.11 + resolution: "web3-core-subscriptions@npm:1.2.11" + dependencies: + eventemitter3: 4.0.4 + underscore: 1.9.1 + web3-core-helpers: 1.2.11 + checksum: 7c8c07ea79fc9cf4ecb15ea37c5db38cc38e4b0545247d9ccc7ff6f4257565c03bcee569695a93abe02b8a98a6a9c227df880911ae324c0c6218a9571a3811f6 + languageName: node + linkType: hard + +"web3-core-subscriptions@npm:1.5.3": + version: 1.5.3 + resolution: "web3-core-subscriptions@npm:1.5.3" + dependencies: + eventemitter3: 4.0.4 + web3-core-helpers: 1.5.3 + checksum: 87c08b4ad9160e18fcfc05cf832c58616150ce69cb4e396f58fc64ef8ce43b5731dc7fc19bd8b4e5c40cfccd69bafec3b17f9b80f3a36ffad86fa50f83d55fb7 + languageName: node + linkType: hard + +"web3-core@npm:1.2.11": + version: 1.2.11 + resolution: "web3-core@npm:1.2.11" + dependencies: + "@types/bn.js": ^4.11.5 + "@types/node": ^12.12.6 + bignumber.js: ^9.0.0 + web3-core-helpers: 1.2.11 + web3-core-method: 1.2.11 + web3-core-requestmanager: 1.2.11 + web3-utils: 1.2.11 + checksum: 1793affddb4fa811f9781dc644b4017d95c6084a21bb866e0dc626f6d48bfc29eacf02237608b587ca49094e9342da878b64173510d99a6e9171f7a697e8cb36 + languageName: node + linkType: hard + +"web3-core@npm:1.5.3": + version: 1.5.3 + resolution: "web3-core@npm:1.5.3" + dependencies: + "@types/bn.js": ^4.11.5 + "@types/node": ^12.12.6 + bignumber.js: ^9.0.0 + web3-core-helpers: 1.5.3 + web3-core-method: 1.5.3 + web3-core-requestmanager: 1.5.3 + web3-utils: 1.5.3 + checksum: 0a0ba056fd96d754aacc410c58458365745de1b055c3e3051599dbbb7c3ced0a8db87ac90b98e8ee7fc0b26a8c1500860dad24f8303fa0f6206a71456692ea59 + languageName: node + linkType: hard + +"web3-eth-abi@npm:1.2.11": + version: 1.2.11 + resolution: "web3-eth-abi@npm:1.2.11" + dependencies: + "@ethersproject/abi": 5.0.0-beta.153 + underscore: 1.9.1 + web3-utils: 1.2.11 + checksum: ef96c9c0faad2634d69f1c6dbf3414d0f292c0e534e477f47a1b14512c7099237a09d6b6ba91b624cea348e51e759106b128b0fe463d62f17f447e0a47071d76 + languageName: node + linkType: hard + +"web3-eth-abi@npm:1.5.3": + version: 1.5.3 + resolution: "web3-eth-abi@npm:1.5.3" + dependencies: + "@ethersproject/abi": 5.0.7 + web3-utils: 1.5.3 + checksum: ce327542202c97b47e40ec3369e9847c38894b6f436cf4c2ee6450a9ed4869faa765f69bc3432f28b28f1300e04802cbe0fba2c74bb09d563c8ed9f539816c4b + languageName: node + linkType: hard + +"web3-eth-accounts@npm:1.2.11": + version: 1.2.11 + resolution: "web3-eth-accounts@npm:1.2.11" + dependencies: + crypto-browserify: 3.12.0 + eth-lib: 0.2.8 + ethereumjs-common: ^1.3.2 + ethereumjs-tx: ^2.1.1 + scrypt-js: ^3.0.1 + underscore: 1.9.1 + uuid: 3.3.2 + web3-core: 1.2.11 + web3-core-helpers: 1.2.11 + web3-core-method: 1.2.11 + web3-utils: 1.2.11 + checksum: 1653a7548337b538b280ced0d25dbf8b105954a5bf61726d5def25128ffc87c49d0d38b678a32e7d259e687f5e72cc452d92e14eaa8c9976a9153347e4afe7eb + languageName: node + linkType: hard + +"web3-eth-accounts@npm:1.5.3": + version: 1.5.3 + resolution: "web3-eth-accounts@npm:1.5.3" + dependencies: + "@ethereumjs/common": ^2.3.0 + "@ethereumjs/tx": ^3.2.1 + crypto-browserify: 3.12.0 + eth-lib: 0.2.8 + ethereumjs-util: ^7.0.10 + scrypt-js: ^3.0.1 + uuid: 3.3.2 + web3-core: 1.5.3 + web3-core-helpers: 1.5.3 + web3-core-method: 1.5.3 + web3-utils: 1.5.3 + checksum: 6a412691b7f4521dd8688fbaf7f0f4a068e1c58715391d59135142b987fc73cb771a42c0a40b633a9a66e0b3166b38fa8c40d81100942f387fc8db07b3658597 + languageName: node + linkType: hard + +"web3-eth-contract@npm:1.2.11": + version: 1.2.11 + resolution: "web3-eth-contract@npm:1.2.11" + dependencies: + "@types/bn.js": ^4.11.5 + underscore: 1.9.1 + web3-core: 1.2.11 + web3-core-helpers: 1.2.11 + web3-core-method: 1.2.11 + web3-core-promievent: 1.2.11 + web3-core-subscriptions: 1.2.11 + web3-eth-abi: 1.2.11 + web3-utils: 1.2.11 + checksum: 1dc74e11f09c895bd5b26c5dfb3a0818d6a38a573de9252a3a943acf6ba88a058313e2977c95564ab56c3696f1ca975237ae4f10c93d34d2978f11bb1119b4d7 + languageName: node + linkType: hard + +"web3-eth-contract@npm:1.5.3": + version: 1.5.3 + resolution: "web3-eth-contract@npm:1.5.3" + dependencies: + "@types/bn.js": ^4.11.5 + web3-core: 1.5.3 + web3-core-helpers: 1.5.3 + web3-core-method: 1.5.3 + web3-core-promievent: 1.5.3 + web3-core-subscriptions: 1.5.3 + web3-eth-abi: 1.5.3 + web3-utils: 1.5.3 + checksum: 66403f6f8d31dcb1a7c254f8ad59643cc9706761639a5c03118a7dcecb57df34ce01fd097130130ff73de45aa6918fb9033fb286217311a87d1e9b6c082525f7 + languageName: node + linkType: hard + +"web3-eth-ens@npm:1.2.11": + version: 1.2.11 + resolution: "web3-eth-ens@npm:1.2.11" + dependencies: + content-hash: ^2.5.2 + eth-ens-namehash: 2.0.8 + underscore: 1.9.1 + web3-core: 1.2.11 + web3-core-helpers: 1.2.11 + web3-core-promievent: 1.2.11 + web3-eth-abi: 1.2.11 + web3-eth-contract: 1.2.11 + web3-utils: 1.2.11 + checksum: 987999713c5c79f23a67ad244813212e9582566f6a7665312f887ce0eda77d91b85d3c0df21af14ef6ab6e970626d5d02129a2df3a8c257151f9540d6968a748 + languageName: node + linkType: hard + +"web3-eth-ens@npm:1.5.3": + version: 1.5.3 + resolution: "web3-eth-ens@npm:1.5.3" + dependencies: + content-hash: ^2.5.2 + eth-ens-namehash: 2.0.8 + web3-core: 1.5.3 + web3-core-helpers: 1.5.3 + web3-core-promievent: 1.5.3 + web3-eth-abi: 1.5.3 + web3-eth-contract: 1.5.3 + web3-utils: 1.5.3 + checksum: a54e973efff6e3bcd5d035c1f73301d09afa2df57ae756ca4025995f31d6b9815df900c879a195f47647545f8c28b878dfb455c90e0058e5172ceee492124c66 + languageName: node + linkType: hard + +"web3-eth-iban@npm:1.2.11": + version: 1.2.11 + resolution: "web3-eth-iban@npm:1.2.11" + dependencies: + bn.js: ^4.11.9 + web3-utils: 1.2.11 + checksum: 1c28b3ad2cad2af0a76b051fe2c05ed933476eaa99f2c245862f66d4e3d56e60ad26cf55120513f78648ab1ff2b8a6b751e63448cdb01b53b542334bf148286f + languageName: node + linkType: hard + +"web3-eth-iban@npm:1.5.3": + version: 1.5.3 + resolution: "web3-eth-iban@npm:1.5.3" + dependencies: + bn.js: ^4.11.9 + web3-utils: 1.5.3 + checksum: ce14813b4cf0330a870e4339f92f11a8456dfdc222c983cc9bbc7a5363c2ce8e8f453f553664e97d55e73c63e51e067e324ba31f900d008df5ef4735951975b9 + languageName: node + linkType: hard + +"web3-eth-personal@npm:1.2.11": + version: 1.2.11 + resolution: "web3-eth-personal@npm:1.2.11" + dependencies: + "@types/node": ^12.12.6 + web3-core: 1.2.11 + web3-core-helpers: 1.2.11 + web3-core-method: 1.2.11 + web3-net: 1.2.11 + web3-utils: 1.2.11 + checksum: a754a16aaed1e97baf963f594b69c83bc4c1cf3f5b181b18720ce292583b4a1b70c7a5c22433679c3e66166773bb43731535d085db3bcfc72af48290553f5122 + languageName: node + linkType: hard + +"web3-eth-personal@npm:1.5.3": + version: 1.5.3 + resolution: "web3-eth-personal@npm:1.5.3" + dependencies: + "@types/node": ^12.12.6 + web3-core: 1.5.3 + web3-core-helpers: 1.5.3 + web3-core-method: 1.5.3 + web3-net: 1.5.3 + web3-utils: 1.5.3 + checksum: 0d3fb453f43251478949ac253c3ecf6c7d145e5310ee790e4e2b7ae5a69e63cc4cbb34be39ddd9a05d2b7d47b1e41c6b9809ea585eb00deec905dd6f1b13b996 + languageName: node + linkType: hard + +"web3-eth@npm:1.2.11": + version: 1.2.11 + resolution: "web3-eth@npm:1.2.11" + dependencies: + underscore: 1.9.1 + web3-core: 1.2.11 + web3-core-helpers: 1.2.11 + web3-core-method: 1.2.11 + web3-core-subscriptions: 1.2.11 + web3-eth-abi: 1.2.11 + web3-eth-accounts: 1.2.11 + web3-eth-contract: 1.2.11 + web3-eth-ens: 1.2.11 + web3-eth-iban: 1.2.11 + web3-eth-personal: 1.2.11 + web3-net: 1.2.11 + web3-utils: 1.2.11 + checksum: eaf361bc59859e7e9078e57f438564f10ea5c0cc00404d3ccf537f3c8d11d963b74f8c3981f4160f1ed2e3c4d9d97a5ff85b33744d5083afde8dfd5dde887034 + languageName: node + linkType: hard + +"web3-eth@npm:1.5.3": + version: 1.5.3 + resolution: "web3-eth@npm:1.5.3" + dependencies: + web3-core: 1.5.3 + web3-core-helpers: 1.5.3 + web3-core-method: 1.5.3 + web3-core-subscriptions: 1.5.3 + web3-eth-abi: 1.5.3 + web3-eth-accounts: 1.5.3 + web3-eth-contract: 1.5.3 + web3-eth-ens: 1.5.3 + web3-eth-iban: 1.5.3 + web3-eth-personal: 1.5.3 + web3-net: 1.5.3 + web3-utils: 1.5.3 + checksum: 2cbf70b2147d37fa3cb2c5802065c56cfacbf537808ab07e698280c8f977613329fc6ae08f351ae2cd9664e89360e4ace6a63f3cf36437226f06ac122427f19c + languageName: node + linkType: hard + +"web3-net@npm:1.2.11": + version: 1.2.11 + resolution: "web3-net@npm:1.2.11" + dependencies: + web3-core: 1.2.11 + web3-core-method: 1.2.11 + web3-utils: 1.2.11 + checksum: 76a99815699674709b869b60bf950d20167b999fe93f7d091b01ce3fd0e3dd9c30ef3519156c04eb01703791c049b19b295e6901dd41d208ea600149961f7ee6 + languageName: node + linkType: hard + +"web3-net@npm:1.5.3": + version: 1.5.3 + resolution: "web3-net@npm:1.5.3" + dependencies: + web3-core: 1.5.3 + web3-core-method: 1.5.3 + web3-utils: 1.5.3 + checksum: 4075ef714dca534ebdf3f8766fbdc6951d22a0b5d4b70f48ab014cec38970646bb4a953d95387ece33e772f3384a1a3da64ceb683607d2560a14fc6fa4efec6d + languageName: node + linkType: hard + +"web3-provider-engine@npm:14.2.1": + version: 14.2.1 + resolution: "web3-provider-engine@npm:14.2.1" + dependencies: + async: ^2.5.0 + backoff: ^2.5.0 + clone: ^2.0.0 + cross-fetch: ^2.1.0 + eth-block-tracker: ^3.0.0 + eth-json-rpc-infura: ^3.1.0 + eth-sig-util: ^1.4.2 + ethereumjs-block: ^1.2.2 + ethereumjs-tx: ^1.2.0 + ethereumjs-util: ^5.1.5 + ethereumjs-vm: ^2.3.4 + json-rpc-error: ^2.0.0 + json-stable-stringify: ^1.0.1 + promise-to-callback: ^1.0.0 + readable-stream: ^2.2.9 + request: ^2.85.0 + semaphore: ^1.0.3 + ws: ^5.1.1 + xhr: ^2.2.0 + xtend: ^4.0.1 + checksum: 45441e22633184bd5f6ea645e20f99c8002b3b64d3e564cd9d0f65bad7f0755ad2cdf9a88fcac9585e908aacea28cc6e80c0939498ee4f4c6c49107d16e011bf + languageName: node + linkType: hard + +"web3-providers-http@npm:1.2.11": + version: 1.2.11 + resolution: "web3-providers-http@npm:1.2.11" + dependencies: + web3-core-helpers: 1.2.11 + xhr2-cookies: 1.1.0 + checksum: 64760032d68826865de084c31d81be70bebc54cd82138ef724da13b60f7b341d4c0c6716912616b928680756ea6f2cef42be7d16fa9dd143a09ac55701232193 + languageName: node + linkType: hard + +"web3-providers-http@npm:1.5.3": + version: 1.5.3 + resolution: "web3-providers-http@npm:1.5.3" + dependencies: + web3-core-helpers: 1.5.3 + xhr2-cookies: 1.1.0 + checksum: 0ab32c5b53ad9dbc68dbc09f12a04809da160c93054ed357cb59b905343e3a29172c9112b1600854c6f971c913c5e6dd715560aaced9639c4b51f5d3178b3a9b + languageName: node + linkType: hard + +"web3-providers-ipc@npm:1.2.11": + version: 1.2.11 + resolution: "web3-providers-ipc@npm:1.2.11" + dependencies: + oboe: 2.1.4 + underscore: 1.9.1 + web3-core-helpers: 1.2.11 + checksum: 0fab2f824e4c7f080fee26b76c9c8448eb51abfd285a04f3c9efe92c3b9a8742096804ec02f56bc8297e375ea12f0f2205bb6c0ae376c44c005cdfeec65d0b7e + languageName: node + linkType: hard + +"web3-providers-ipc@npm:1.5.3": + version: 1.5.3 + resolution: "web3-providers-ipc@npm:1.5.3" + dependencies: + oboe: 2.1.5 + web3-core-helpers: 1.5.3 + checksum: 82103eab46cdc3071a30c3c2e564b3c44ceaf70f1780fb048c1156528cdc1d013070163a02bf2b50287b6cfcbe73f3db031fbce537d2fbc50cb8304f9e013117 + languageName: node + linkType: hard + +"web3-providers-ws@npm:1.2.11": + version: 1.2.11 + resolution: "web3-providers-ws@npm:1.2.11" + dependencies: + eventemitter3: 4.0.4 + underscore: 1.9.1 + web3-core-helpers: 1.2.11 + websocket: ^1.0.31 + checksum: 4a4c591c2bd9724748e9dba124e59048b91239aa7cd435394f2a1d8e7914132920a17e56bc646f46912844fcfbbc38333b7023ebec298af36106ec4814d2ff5c + languageName: node + linkType: hard + +"web3-providers-ws@npm:1.5.3": + version: 1.5.3 + resolution: "web3-providers-ws@npm:1.5.3" + dependencies: + eventemitter3: 4.0.4 + web3-core-helpers: 1.5.3 + websocket: ^1.0.32 + checksum: 8bc5b650ded0dc716baaee8c5eebdcdbc63b4630c4be3125f0523310cc547f3809735864a2f5a1584f5c3335ffb3e202da3a4ef554c24b98519a1eafb4fd688e + languageName: node + linkType: hard + +"web3-shh@npm:1.2.11": + version: 1.2.11 + resolution: "web3-shh@npm:1.2.11" + dependencies: + web3-core: 1.2.11 + web3-core-method: 1.2.11 + web3-core-subscriptions: 1.2.11 + web3-net: 1.2.11 + checksum: 64c4a1f03bc3975a2baff9fa6d89a0050a06f179f1ec4d6e28f480b761d0efe56a9a79a5a320821e1dd503e82d44e73dd69b883b9e69d96cced3f979e0a3f4ff + languageName: node + linkType: hard + +"web3-shh@npm:1.5.3": + version: 1.5.3 + resolution: "web3-shh@npm:1.5.3" + dependencies: + web3-core: 1.5.3 + web3-core-method: 1.5.3 + web3-core-subscriptions: 1.5.3 + web3-net: 1.5.3 + checksum: 5bfdf787a55fa8c2b53f95ed1bc3f91191ebac06d99b2171d4695e83a7fde2afb4b7020bbfd59b27f3dbe44b6a2c54033fa1e62e56c3f567ea5c4c2b9ef7d75f + languageName: node + linkType: hard + +"web3-utils@npm:1.2.11": + version: 1.2.11 + resolution: "web3-utils@npm:1.2.11" + dependencies: + bn.js: ^4.11.9 + eth-lib: 0.2.8 + ethereum-bloom-filters: ^1.0.6 + ethjs-unit: 0.1.6 + number-to-bn: 1.7.0 + randombytes: ^2.1.0 + underscore: 1.9.1 + utf8: 3.0.0 + checksum: 1e43235963d5176e447b20b201a66fabccbe7bd4ef8bbb2edfa5ea80a41e8202a8e8f3db128b2a1662855a627a52d100e3207b81a739b937b5b3b4f9114c008f + languageName: node + linkType: hard + +"web3-utils@npm:1.5.3": + version: 1.5.3 + resolution: "web3-utils@npm:1.5.3" + dependencies: + bn.js: ^4.11.9 + eth-lib: 0.2.8 + ethereum-bloom-filters: ^1.0.6 + ethjs-unit: 0.1.6 + number-to-bn: 1.7.0 + randombytes: ^2.1.0 + utf8: 3.0.0 + checksum: 18398478065c8517568fedd68be977ee59d0d39a16c1e0a7746243cf22ff20333b3eaeb644cd6784a629cc7b5c50c3f76ebe8416b36801c052bef36f5ae1d76c + languageName: node + linkType: hard + +"web3-utils@npm:^1.0.0-beta.31, web3-utils@npm:^1.3.0": + version: 1.7.3 + resolution: "web3-utils@npm:1.7.3" + dependencies: + bn.js: ^4.11.9 + ethereum-bloom-filters: ^1.0.6 + ethereumjs-util: ^7.1.0 + ethjs-unit: 0.1.6 + number-to-bn: 1.7.0 + randombytes: ^2.1.0 + utf8: 3.0.0 + checksum: 96fd1d7310f4674ddccbd1f2f8e1ff1817b8869a67a1562ef3ce1130ae50dfec8e64fc4ce9f80855d87fa63fb6dd71b4561e5e1925be5b26f3787b0d4e5f89e7 + languageName: node + linkType: hard + +"web3@npm:1.2.11": + version: 1.2.11 + resolution: "web3@npm:1.2.11" + dependencies: + web3-bzz: 1.2.11 + web3-core: 1.2.11 + web3-eth: 1.2.11 + web3-eth-personal: 1.2.11 + web3-net: 1.2.11 + web3-shh: 1.2.11 + web3-utils: 1.2.11 + checksum: c4fa6ddaddc2de31c561590eb3703e9446c0a9bd87155f536fd72c3c22337056bbd045baf36fec6152e58ae67e552fffad29e794030cd87634becb99a079e91f + languageName: node + linkType: hard + +"web3@npm:1.5.3": + version: 1.5.3 + resolution: "web3@npm:1.5.3" + dependencies: + web3-bzz: 1.5.3 + web3-core: 1.5.3 + web3-eth: 1.5.3 + web3-eth-personal: 1.5.3 + web3-net: 1.5.3 + web3-shh: 1.5.3 + web3-utils: 1.5.3 + checksum: ec5380536e85aedcc90be5a0bfb3293885d9c7f1684a92fd0c0a9a863002581ac26630e9c015a7b2c79406b44e82d87ee920a27694192ca7c53d95be58ac6e7b + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c + languageName: node + linkType: hard + +"websocket@npm:1.0.32": + version: 1.0.32 + resolution: "websocket@npm:1.0.32" + dependencies: + bufferutil: ^4.0.1 + debug: ^2.2.0 + es5-ext: ^0.10.50 + typedarray-to-buffer: ^3.1.5 + utf-8-validate: ^5.0.2 + yaeti: ^0.0.6 + checksum: a29777a1942bf802f955782c7cf948797d19731a911b81adb957873e74b1d5356c621f217a972b075ecf04417a76897ea98dbfc19394007c4cf5e97cd4d494ac + languageName: node + linkType: hard + +"websocket@npm:^1.0.31, websocket@npm:^1.0.32": + version: 1.0.34 + resolution: "websocket@npm:1.0.34" + dependencies: + bufferutil: ^4.0.1 + debug: ^2.2.0 + es5-ext: ^0.10.50 + typedarray-to-buffer: ^3.1.5 + utf-8-validate: ^5.0.2 + yaeti: ^0.0.6 + checksum: 8a0ce6d79cc1334bb6ea0d607f0092f3d32700b4dd19e4d5540f2a85f3b50e1f8110da0e4716737056584dde70bbebcb40bbd94bbb437d7468c71abfbfa077d8 + languageName: node + linkType: hard + +"whatwg-fetch@npm:^2.0.4": + version: 2.0.4 + resolution: "whatwg-fetch@npm:2.0.4" + checksum: de7c65a68d7d62e2f144a6b30293370b3ad82b65ebcd68f2ac8e8bbe7ede90febd98ba9486b78c1cbc950e0e8838fa5c2727f939899ab3fc7b71a04be52d33a5 + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: ~0.0.3 + webidl-conversions: ^3.0.0 + checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c + languageName: node + linkType: hard + +"which-boxed-primitive@npm:^1.0.2": + version: 1.0.2 + resolution: "which-boxed-primitive@npm:1.0.2" + dependencies: + is-bigint: ^1.0.1 + is-boolean-object: ^1.1.0 + is-number-object: ^1.0.4 + is-string: ^1.0.5 + is-symbol: ^1.0.3 + checksum: 53ce774c7379071729533922adcca47220228405e1895f26673bbd71bdf7fb09bee38c1d6399395927c6289476b5ae0629863427fd151491b71c4b6cb04f3a5e + languageName: node + linkType: hard + +"which-module@npm:^1.0.0": + version: 1.0.0 + resolution: "which-module@npm:1.0.0" + checksum: 98434f7deb36350cb543c1f15612188541737e1f12d39b23b1c371dff5cf4aa4746210f2bdec202d5fe9da8682adaf8e3f7c44c520687d30948cfc59d5534edb + languageName: node + linkType: hard + +"which-module@npm:^2.0.0": + version: 2.0.0 + resolution: "which-module@npm:2.0.0" + checksum: 809f7fd3dfcb2cdbe0180b60d68100c88785084f8f9492b0998c051d7a8efe56784492609d3f09ac161635b78ea29219eb1418a98c15ce87d085bce905705c9c + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.2": + version: 1.1.7 + resolution: "which-typed-array@npm:1.1.7" + dependencies: + available-typed-arrays: ^1.0.5 + call-bind: ^1.0.2 + es-abstract: ^1.18.5 + foreach: ^2.0.5 + has-tostringtag: ^1.0.0 + is-typed-array: ^1.1.7 + checksum: 147837cf5866e36b6b2e427731709e02f79f1578477cbde68ed773a5307520a6cb6836c73c79c30690a473266ee59010b83b6d9b25d8d677a40ff77fb37a8a84 + languageName: node + linkType: hard + +"which@npm:1.3.1, which@npm:^1.1.1, which@npm:^1.2.9, which@npm:^1.3.1": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: ^2.0.0 + bin: + which: ./bin/which + checksum: f2e185c6242244b8426c9df1510e86629192d93c1a986a7d2a591f2c24869e7ffd03d6dac07ca863b2e4c06f59a4cc9916c585b72ee9fa1aa609d0124df15e04 + languageName: node + linkType: hard + +"which@npm:2.0.2, which@npm:^2.0.1, which@npm:^2.0.2": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: ^2.0.0 + bin: + node-which: ./bin/node-which + checksum: 1a5c563d3c1b52d5f893c8b61afe11abc3bab4afac492e8da5bde69d550de701cf9806235f20a47b5c8fa8a1d6a9135841de2596535e998027a54589000e66d1 + languageName: node + linkType: hard + +"wide-align@npm:1.1.3": + version: 1.1.3 + resolution: "wide-align@npm:1.1.3" + dependencies: + string-width: ^1.0.2 || 2 + checksum: d09c8012652a9e6cab3e82338d1874a4d7db2ad1bd19ab43eb744acf0b9b5632ec406bdbbbb970a8f4771a7d5ef49824d038ba70aa884e7723f5b090ab87134d + languageName: node + linkType: hard + +"wide-align@npm:^1.1.5": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: ^1.0.2 || 2 || 3 || 4 + checksum: d5fc37cd561f9daee3c80e03b92ed3e84d80dde3365a8767263d03dacfc8fa06b065ffe1df00d8c2a09f731482fcacae745abfbb478d4af36d0a891fad4834d3 + languageName: node + linkType: hard + +"window-size@npm:^0.2.0": + version: 0.2.0 + resolution: "window-size@npm:0.2.0" + bin: + window-size: cli.js + checksum: a85e2acf156cfa194301294809867bdadd8a48ee5d972d9fa8e3e1b3420a1d0201b13ac8eb0348a0d14bbf2c3316565b6a749749c2384c5d286caf8a064c4f90 + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.3, word-wrap@npm:~1.2.3": + version: 1.2.3 + resolution: "word-wrap@npm:1.2.3" + checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f + languageName: node + linkType: hard + +"wordwrap@npm:^1.0.0": + version: 1.0.0 + resolution: "wordwrap@npm:1.0.0" + checksum: 2a44b2788165d0a3de71fd517d4880a8e20ea3a82c080ce46e294f0b68b69a2e49cff5f99c600e275c698a90d12c5ea32aff06c311f0db2eb3f1201f3e7b2a04 + languageName: node + linkType: hard + +"workerpool@npm:6.2.0": + version: 6.2.0 + resolution: "workerpool@npm:6.2.0" + checksum: 3493b4f0ef979a23d2c1583d7ef85f62fc9463cc02f82829d3e7e663b517f8ae9707da0249b382e46ac58986deb0ca2232ee1081713741211bda9254b429c9bb + languageName: node + linkType: hard + +"wrap-ansi@npm:^2.0.0": + version: 2.1.0 + resolution: "wrap-ansi@npm:2.1.0" + dependencies: + string-width: ^1.0.1 + strip-ansi: ^3.0.1 + checksum: 2dacd4b3636f7a53ee13d4d0fe7fa2ed9ad81e9967e17231924ea88a286ec4619a78288de8d41881ee483f4449ab2c0287cde8154ba1bd0126c10271101b2ee3 + languageName: node + linkType: hard + +"wrap-ansi@npm:^5.1.0": + version: 5.1.0 + resolution: "wrap-ansi@npm:5.1.0" + dependencies: + ansi-styles: ^3.2.0 + string-width: ^3.0.0 + strip-ansi: ^5.0.0 + checksum: 9b48c862220e541eb0daa22661b38b947973fc57054e91be5b0f2dcc77741a6875ccab4ebe970a394b4682c8dfc17e888266a105fb8b0a9b23c19245e781ceae + languageName: node + linkType: hard + +"wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: ^4.0.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: a790b846fd4505de962ba728a21aaeda189b8ee1c7568ca5e817d85930e06ef8d1689d49dbf0e881e8ef84436af3a88bc49115c2e2788d841ff1b8b5b51a608b + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5 + languageName: node + linkType: hard + +"write@npm:1.0.3": + version: 1.0.3 + resolution: "write@npm:1.0.3" + dependencies: + mkdirp: ^0.5.1 + checksum: 6496197ceb2d6faeeb8b5fe2659ca804e801e4989dff9fb8a66fe76179ce4ccc378c982ef906733caea1220c8dbe05a666d82127959ac4456e70111af8b8df73 + languageName: node + linkType: hard + +"ws@npm:7.4.6": + version: 7.4.6 + resolution: "ws@npm:7.4.6" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 3a990b32ed08c72070d5e8913e14dfcd831919205be52a3ff0b4cdd998c8d554f167c9df3841605cde8b11d607768cacab3e823c58c96a5c08c987e093eb767a + languageName: node + linkType: hard + +"ws@npm:^3.0.0": + version: 3.3.3 + resolution: "ws@npm:3.3.3" + dependencies: + async-limiter: ~1.0.0 + safe-buffer: ~5.1.0 + ultron: ~1.1.0 + checksum: 20b7bf34bb88715b9e2d435b76088d770e063641e7ee697b07543815fabdb752335261c507a973955e823229d0af8549f39cc669825e5c8404aa0422615c81d9 + languageName: node + linkType: hard + +"ws@npm:^5.1.1": + version: 5.2.3 + resolution: "ws@npm:5.2.3" + dependencies: + async-limiter: ~1.0.0 + checksum: bdb2223a40c2c68cf91b25a6c9b8c67d5275378ec6187f343314d3df7530e55b77cb9fe79fb1c6a9758389ac5aefc569d24236924b5c65c5dbbaff409ef739fc + languageName: node + linkType: hard + +"ws@npm:^7.4.6": + version: 7.5.7 + resolution: "ws@npm:7.5.7" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 5c1f669a166fb57560b4e07f201375137fa31d9186afde78b1508926345ce546332f109081574ddc4e38cc474c5406b5fc71c18d71eb75f6e2d2245576976cba + languageName: node + linkType: hard + +"xhr-request-promise@npm:^0.1.2": + version: 0.1.3 + resolution: "xhr-request-promise@npm:0.1.3" + dependencies: + xhr-request: ^1.1.0 + checksum: 2e127c0de063db0aa704b8d5b805fd34f0f07cac21284a88c81f96727eb71af7d2dfa3ad43e96ed3e851e05a1bd88933048ec183378b48594dfbead1c9043aee + languageName: node + linkType: hard + +"xhr-request@npm:^1.0.1, xhr-request@npm:^1.1.0": + version: 1.1.0 + resolution: "xhr-request@npm:1.1.0" + dependencies: + buffer-to-arraybuffer: ^0.0.5 + object-assign: ^4.1.1 + query-string: ^5.0.1 + simple-get: ^2.7.0 + timed-out: ^4.0.1 + url-set-query: ^1.0.0 + xhr: ^2.0.4 + checksum: fd8186f33e8696dabcd1ad2983f8125366f4cd799c6bf30aa8d942ac481a7e685a5ee8c38eeee6fca715a7084b432a3a326991375557dc4505c928d3f7b0f0a8 + languageName: node + linkType: hard + +"xhr2-cookies@npm:1.1.0": + version: 1.1.0 + resolution: "xhr2-cookies@npm:1.1.0" + dependencies: + cookiejar: ^2.1.1 + checksum: 6a9fc45f3490cc53e6a308bd7164dab07ecb94f6345e78951ed4a1e8f8c4c7707a1b039a6b4ef7c9d611d9465d6f94d7d4260c43bc34eed8d6f9210a775eb719 + languageName: node + linkType: hard + +"xhr@npm:^2.0.4, xhr@npm:^2.2.0, xhr@npm:^2.3.3": + version: 2.6.0 + resolution: "xhr@npm:2.6.0" + dependencies: + global: ~4.4.0 + is-function: ^1.0.1 + parse-headers: ^2.0.0 + xtend: ^4.0.0 + checksum: a1db277e37737caf3ed363d2a33ce4b4ea5b5fc190b663a6f70bc252799185b840ccaa166eaeeea4841c9c60b87741f0a24e29cbcf6708dd425986d4df186d2f + languageName: node + linkType: hard + +"xmlhttprequest@npm:1.8.0": + version: 1.8.0 + resolution: "xmlhttprequest@npm:1.8.0" + checksum: c891cf0d7884b4f5cce835aa01f1965727cd352cbd2d7a2e0605bf11ec99ae2198364cca54656ec8b2581a5704dee6c2bf9911922a0ff2a71b613455d32e81b7 + languageName: node + linkType: hard + +"xtend@npm:^4.0.0, xtend@npm:^4.0.1, xtend@npm:^4.0.2, xtend@npm:~4.0.0, xtend@npm:~4.0.1": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a + languageName: node + linkType: hard + +"xtend@npm:~2.1.1": + version: 2.1.2 + resolution: "xtend@npm:2.1.2" + dependencies: + object-keys: ~0.4.0 + checksum: a8b79f31502c163205984eaa2b196051cd2fab0882b49758e30f2f9018255bc6c462e32a090bf3385d1bda04755ad8cc0052a09e049b0038f49eb9b950d9c447 + languageName: node + linkType: hard + +"y18n@npm:^3.2.1": + version: 3.2.2 + resolution: "y18n@npm:3.2.2" + checksum: 6154fd7544f8bbf5b18cdf77692ed88d389be49c87238ecb4e0d6a5276446cd2a5c29cc4bdbdddfc7e4e498b08df9d7e38df4a1453cf75eecfead392246ea74a + languageName: node + linkType: hard + +"y18n@npm:^4.0.0": + version: 4.0.3 + resolution: "y18n@npm:4.0.3" + checksum: 014dfcd9b5f4105c3bb397c1c8c6429a9df004aa560964fb36732bfb999bfe83d45ae40aeda5b55d21b1ee53d8291580a32a756a443e064317953f08025b1aa4 + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 54f0fb95621ee60898a38c572c515659e51cc9d9f787fb109cef6fde4befbe1c4602dc999d30110feee37456ad0f1660fa2edcfde6a9a740f86a290999550d30 + languageName: node + linkType: hard + +"yaeti@npm:^0.0.6": + version: 0.0.6 + resolution: "yaeti@npm:0.0.6" + checksum: 6db12c152f7c363b80071086a3ebf5032e03332604eeda988872be50d6c8469e1f13316175544fa320f72edad696c2d83843ad0ff370659045c1a68bcecfcfea + languageName: node + linkType: hard + +"yallist@npm:^3.0.0, yallist@npm:^3.0.2, yallist@npm:^3.1.1": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 48f7bb00dc19fc635a13a39fe547f527b10c9290e7b3e836b9a8f1ca04d4d342e85714416b3c2ab74949c9c66f9cebb0473e6bc353b79035356103b47641285d + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 343617202af32df2a15a3be36a5a8c0c8545208f3d3dfbc6bb7c3e3b7e8c6f8e7485432e4f3b88da3031a6e20afa7c711eded32ddfb122896ac5d914e75848d5 + languageName: node + linkType: hard + +"yargs-parser@npm:13.1.2, yargs-parser@npm:^13.1.2": + version: 13.1.2 + resolution: "yargs-parser@npm:13.1.2" + dependencies: + camelcase: ^5.0.0 + decamelize: ^1.2.0 + checksum: c8bb6f44d39a4acd94462e96d4e85469df865de6f4326e0ab1ac23ae4a835e5dd2ddfe588317ebf80c3a7e37e741bd5cb0dc8d92bcc5812baefb7df7c885e86b + languageName: node + linkType: hard + +"yargs-parser@npm:20.2.4": + version: 20.2.4 + resolution: "yargs-parser@npm:20.2.4" + checksum: d251998a374b2743a20271c2fd752b9fbef24eb881d53a3b99a7caa5e8227fcafd9abf1f345ac5de46435821be25ec12189a11030c12ee6481fef6863ed8b924 + languageName: node + linkType: hard + +"yargs-parser@npm:^2.4.1": + version: 2.4.1 + resolution: "yargs-parser@npm:2.4.1" + dependencies: + camelcase: ^3.0.0 + lodash.assign: ^4.0.6 + checksum: f57946a93a9e0986fccbc7999a3fc8179d4693e4551ef0ace3d599c38ec004a3783efb9eed9fa5d738b30db1cfa1d3a07f4dd6ae060cfce6fe61c3ae7b7a347b + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.2": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 + languageName: node + linkType: hard + +"yargs-unparser@npm:1.6.0": + version: 1.6.0 + resolution: "yargs-unparser@npm:1.6.0" + dependencies: + flat: ^4.1.0 + lodash: ^4.17.15 + yargs: ^13.3.0 + checksum: ca662bb94af53d816d47f2162f0a1d135783f09de9fd47645a5cb18dd25532b0b710432b680d2c065ff45de122ba4a96433c41595fa7bfcc08eb12e889db95c1 + languageName: node + linkType: hard + +"yargs-unparser@npm:2.0.0": + version: 2.0.0 + resolution: "yargs-unparser@npm:2.0.0" + dependencies: + camelcase: ^6.0.0 + decamelize: ^4.0.0 + flat: ^5.0.2 + is-plain-obj: ^2.1.0 + checksum: 68f9a542c6927c3768c2f16c28f71b19008710abd6b8f8efbac6dcce26bbb68ab6503bed1d5994bdbc2df9a5c87c161110c1dfe04c6a3fe5c6ad1b0e15d9a8a3 + languageName: node + linkType: hard + +"yargs@npm:13.3.2, yargs@npm:^13.3.0": + version: 13.3.2 + resolution: "yargs@npm:13.3.2" + dependencies: + cliui: ^5.0.0 + find-up: ^3.0.0 + get-caller-file: ^2.0.1 + require-directory: ^2.1.1 + require-main-filename: ^2.0.0 + set-blocking: ^2.0.0 + string-width: ^3.0.0 + which-module: ^2.0.0 + y18n: ^4.0.0 + yargs-parser: ^13.1.2 + checksum: 75c13e837eb2bb25717957ba58d277e864efc0cca7f945c98bdf6477e6ec2f9be6afa9ed8a876b251a21423500c148d7b91e88dee7adea6029bdec97af1ef3e8 + languageName: node + linkType: hard + +"yargs@npm:16.2.0": + version: 16.2.0 + resolution: "yargs@npm:16.2.0" + dependencies: + cliui: ^7.0.2 + escalade: ^3.1.1 + get-caller-file: ^2.0.5 + require-directory: ^2.1.1 + string-width: ^4.2.0 + y18n: ^5.0.5 + yargs-parser: ^20.2.2 + checksum: b14afbb51e3251a204d81937c86a7e9d4bdbf9a2bcee38226c900d00f522969ab675703bee2a6f99f8e20103f608382936034e64d921b74df82b63c07c5e8f59 + languageName: node + linkType: hard + +"yargs@npm:^4.7.1": + version: 4.8.1 + resolution: "yargs@npm:4.8.1" + dependencies: + cliui: ^3.2.0 + decamelize: ^1.1.1 + get-caller-file: ^1.0.1 + lodash.assign: ^4.0.3 + os-locale: ^1.4.0 + read-pkg-up: ^1.0.1 + require-directory: ^2.1.1 + require-main-filename: ^1.0.1 + set-blocking: ^2.0.0 + string-width: ^1.0.1 + which-module: ^1.0.0 + window-size: ^0.2.0 + y18n: ^3.2.1 + yargs-parser: ^2.4.1 + checksum: 5d0a45dceaf8cff1c6a7164b2c944755a09cced3cb1d585bbc79ffed758ef9f9b54ead0879e3dacfc696ccd15fec9e6e29183c24517d7f578b47cd0614a3851d + languageName: node + linkType: hard + +"yn@npm:3.1.1": + version: 3.1.1 + resolution: "yn@npm:3.1.1" + checksum: 2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 + languageName: node + linkType: hard From 814a1242c3f3acfa8f1243084274084639dd9e61 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Thu, 12 May 2022 11:12:09 -0400 Subject: [PATCH 06/56] Add erc721 (#5) * Add erc721 * Rename totalSupply to mintAmount * Add tests for local and invalid transfers * Separate test files --- README.md | 36 ++++++- contracts/{AbcToken.sol => AbcERC20.sol} | 2 +- contracts/AbcERC721.sol | 98 +++++++++++++++++ test/{TokenDeploy.ts => erc20.deploy.ts} | 10 +- test/{token.test.ts => erc20.test.ts} | 20 ++-- test/erc721.deploy.ts | 37 +++++++ test/erc721.test.ts | 132 +++++++++++++++++++++++ 7 files changed, 317 insertions(+), 18 deletions(-) rename contracts/{AbcToken.sol => AbcERC20.sol} (98%) create mode 100644 contracts/AbcERC721.sol rename test/{TokenDeploy.ts => erc20.deploy.ts} (71%) rename test/{token.test.ts => erc20.test.ts} (90%) create mode 100644 test/erc721.deploy.ts create mode 100644 test/erc721.test.ts diff --git a/README.md b/README.md index 359ef4a07..438f1c8bc 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -## ABC +## AbcERC20 -`AbcToken` showcases an Abacus Token that extends the ERC20 token with an additional `transferRemote` function. +`AbcERC20` showcases an Abacus Token that extends the ERC20 token with an additional `transferRemote` function. ```mermaid %%{init: {'theme':'base'}}%% @@ -31,3 +31,35 @@ graph TB EthereumInbox-->|"handle(Ethereum, (Bob, 5))"|ABC_P ABC_P-.->Bob ``` + +## AbcERC721 + +`AbcERC721` showcases an Abacus Token that extends the ERC721 token with an additional `transferRemote` function. + +```mermaid +%%{init: {'theme':'base'}}%% +graph TB + Alice((Alice)) + Operator((Operator)) + + subgraph "Ethereum" + ABC_E[(ABC)] + O_E[/Outbox\] + end + + subgraph "Polygon" + ABC_P[(ABC)] + EthereumInbox[\EthereumInbox/] + end + + Bob((Bob)) + + Alice -- "transferRemote(Polygon, Bob, 69)" --> ABC_E + ABC_E -- "dispatch(Polygon, (Bob, 69))" --> O_E + Operator -- "checkpoint()" --> O_E + O_E-.->EthereumInbox + Operator -- "relay()" --> EthereumInbox + Operator -- "process(Ethereum, (Bob, 69))" --> EthereumInbox + EthereumInbox-->|"handle(Ethereum, (Bob, 69))"|ABC_P + ABC_P-.->Bob +``` diff --git a/contracts/AbcToken.sol b/contracts/AbcERC20.sol similarity index 98% rename from contracts/AbcToken.sol rename to contracts/AbcERC20.sol index 85cdd4f04..4d5dc4aaf 100644 --- a/contracts/AbcToken.sol +++ b/contracts/AbcERC20.sol @@ -10,7 +10,7 @@ import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ * @author Abacus Works * @dev Supply on each chain is not constant but the aggregate supply across all chains is. */ -contract AbcToken is Router, ERC20Upgradeable { +contract AbcERC20 is Router, ERC20Upgradeable { /** * @dev Emitted on `transferRemote` when a transfer message is dispatched. * @param destination The identifier of the destination chain. diff --git a/contracts/AbcERC721.sol b/contracts/AbcERC721.sol new file mode 100644 index 000000000..446ac7c24 --- /dev/null +++ b/contracts/AbcERC721.sol @@ -0,0 +1,98 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +pragma solidity ^0.8.13; + +import {Router} from "@abacus-network/app/contracts/Router.sol"; + +import {ERC721Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol"; + +/** + * @title Abacus Token that extends the ERC721 token standard to enable native interchain transfers. + * @author Abacus Works + */ +contract AbcERC721 is Router, ERC721Upgradeable { + /** + * @dev Emitted on `transferRemote` when a transfer message is dispatched. + * @param destination The identifier of the destination chain. + * @param recipient The address of the recipient on the destination chain. + * @param tokenId The tokenId of tokens burnt on the origin chain. + */ + event SentTransferRemote( + uint32 indexed destination, + address indexed recipient, + uint256 tokenId + ); + + /** + * @dev Emitted on `_handle` when a transfer message is processed. + * @param origin The identifier of the origin chain. + * @param recipient The address of the recipient on the destination chain. + * @param tokenId The tokenId of tokens minted on the destination chain. + */ + event ReceivedTransferRemote( + uint32 indexed origin, + address indexed recipient, + uint256 tokenId + ); + + /** + * @notice Initializes the Abacus router, ERC721 metadata, and mints initial supply to deployer. + * @param _xAppConnectionManager The address of the XAppConnectionManager contract. + * @param _mintAmount The amount of NFTs to mint to `msg.sender`. + * @param _name The name of the token. + * @param _symbol The symbol of the token. + */ + function initialize( + address _xAppConnectionManager, + uint256 _mintAmount, + string memory _name, + string memory _symbol + ) external initializer { + __Router_initialize(_xAppConnectionManager); + __ERC721_init(_name, _symbol); + for (uint256 i = 0; i < _mintAmount; i++) { + _mint(msg.sender, i); + } + } + + /** + * @notice Transfers `_tokenId` of tokens from `msg.sender` to `_recipient` on the `_destination` chain. + * @dev Burns `_tokenId` of tokens from `msg.sender` on the origin chain and dispatches + * message to the `destination` chain to mint `_tokenId` of tokens to `recipient`. + * @dev Emits `SentTransferRemote` event on the origin chain. + * @param _destination The identifier of the destination chain. + * @param _recipient The address of the recipient on the destination chain. + * @param _tokenId The tokenId of tokens to be sent to the remote recipient. + */ + function transferRemote( + uint32 _destination, + address _recipient, + uint256 _tokenId + ) external payable { + _burn(_tokenId); + _dispatchWithGasAndCheckpoint( + _destination, + abi.encode(_recipient, _tokenId), + msg.value + ); + emit SentTransferRemote(_destination, _recipient, _tokenId); + } + + /** + * @dev Mints tokens to recipient when router receives transfer message. + * @dev Emits `ReceivedTransferRemote` event on the destination chain. + * @param _origin The identifier of the origin chain. + * @param _message The encoded remote transfer message containing the recipient address and tokenId. + */ + function _handle( + uint32 _origin, + bytes32, + bytes memory _message + ) internal override { + (address recipient, uint256 tokenId) = abi.decode( + _message, + (address, uint256) + ); + _mint(recipient, tokenId); + emit ReceivedTransferRemote(_origin, recipient, tokenId); + } +} diff --git a/test/TokenDeploy.ts b/test/erc20.deploy.ts similarity index 71% rename from test/TokenDeploy.ts rename to test/erc20.deploy.ts index 010f8f10f..a4bbaec20 100644 --- a/test/TokenDeploy.ts +++ b/test/erc20.deploy.ts @@ -1,7 +1,7 @@ import { TestAbacusDeploy, TestRouterDeploy } from '@abacus-network/hardhat'; import { types } from '@abacus-network/utils'; import { ethers } from 'ethers'; -import { AbcToken, AbcToken__factory } from '../types'; +import { AbcERC20, AbcERC20__factory } from '../types'; export type TokenConfig = { signer: ethers.Signer; @@ -10,12 +10,12 @@ export type TokenConfig = { totalSupply: ethers.BigNumberish; }; -export class TokenDeploy extends TestRouterDeploy { +export class AbcERC20Deploy extends TestRouterDeploy { async deployInstance( domain: types.Domain, abacus: TestAbacusDeploy, - ): Promise { - const tokenFactory = new AbcToken__factory(this.config.signer); + ): Promise { + const tokenFactory = new AbcERC20__factory(this.config.signer); const token = await tokenFactory.deploy(); await token.initialize( abacus.abacusConnectionManager(domain).address, @@ -26,7 +26,7 @@ export class TokenDeploy extends TestRouterDeploy { return token; } - router(domain: types.Domain): AbcToken { + router(domain: types.Domain) { return this.instances[domain]; } } diff --git a/test/token.test.ts b/test/erc20.test.ts similarity index 90% rename from test/token.test.ts rename to test/erc20.test.ts index 980e874b0..c2abdfed1 100644 --- a/test/token.test.ts +++ b/test/erc20.test.ts @@ -1,23 +1,23 @@ +import { InterchainGasPaymaster, Outbox } from '@abacus-network/core'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import { expect } from 'chai'; import { abacus, ethers } from 'hardhat'; -import { AbcToken } from '../types'; -import { TokenConfig, TokenDeploy } from './TokenDeploy'; -import { Outbox, InterchainGasPaymaster } from '@abacus-network/core'; +import { AbcERC20 } from '../types'; +import { AbcERC20Deploy, TokenConfig } from './erc20.deploy'; const localDomain = 1000; const remoteDomain = 2000; const totalSupply = 3000; const domains = [localDomain, remoteDomain]; -describe('AbcToken', async () => { +describe('AbcERC20', async () => { let owner: SignerWithAddress, recipient: SignerWithAddress, - router: AbcToken, - remote: AbcToken, + router: AbcERC20, + remote: AbcERC20, outbox: Outbox, interchainGasPaymaster: InterchainGasPaymaster, - token: TokenDeploy; + token: AbcERC20Deploy; const testInterchainGasPayment = 123456789; before(async () => { @@ -28,11 +28,11 @@ describe('AbcToken', async () => { beforeEach(async () => { const config: TokenConfig = { signer: owner, - name: 'AbcToken', + name: 'AbcERC20', symbol: 'ABC', totalSupply, }; - token = new TokenDeploy(config); + token = new AbcERC20Deploy(config); await token.deploy(abacus); router = token.router(localDomain); remote = token.router(remoteDomain); @@ -41,7 +41,7 @@ describe('AbcToken', async () => { }); const expectBalance = async ( - token: AbcToken, + token: AbcERC20, signer: SignerWithAddress, balance: number, ) => expect(await token.balanceOf(signer.address)).to.eq(balance); diff --git a/test/erc721.deploy.ts b/test/erc721.deploy.ts new file mode 100644 index 000000000..2840abef5 --- /dev/null +++ b/test/erc721.deploy.ts @@ -0,0 +1,37 @@ +import { TestAbacusDeploy, TestRouterDeploy } from '@abacus-network/hardhat'; +import { types } from '@abacus-network/utils'; +import { ethers } from 'ethers'; +import { AbcERC721, AbcERC721__factory } from '../types'; + +export type TokenConfig = { + signer: ethers.Signer; + name: string; + symbol: string; + mintAmount: ethers.BigNumberish; +}; + +type ConfigMap = { + [domain: number]: TokenConfig; +}; + +export class AbcERC721Deploy extends TestRouterDeploy { + async deployInstance( + domain: types.Domain, + abacus: TestAbacusDeploy, + ): Promise { + const localConfig = this.config[domain]; + const tokenFactory = new AbcERC721__factory(localConfig.signer); + const token = await tokenFactory.deploy(); + await token.initialize( + abacus.abacusConnectionManager(domain).address, + localConfig.mintAmount, + localConfig.name, + localConfig.symbol, + ); + return token; + } + + router(domain: types.Domain) { + return this.instances[domain]; + } +} diff --git a/test/erc721.test.ts b/test/erc721.test.ts new file mode 100644 index 000000000..8f65a60ac --- /dev/null +++ b/test/erc721.test.ts @@ -0,0 +1,132 @@ +import { InterchainGasPaymaster, Outbox } from '@abacus-network/core'; +import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; +import { expect } from 'chai'; +import { abacus, ethers } from 'hardhat'; +import { AbcERC721 } from '../types'; +import { AbcERC721Deploy } from './erc721.deploy'; + +const localDomain = 1000; +const remoteDomain = 2000; +const mintAmount = 50; +const domains = [localDomain, remoteDomain]; + +describe('AbcERC721', async () => { + let owner: SignerWithAddress, + recipient: SignerWithAddress, + router: AbcERC721, + remote: AbcERC721, + outbox: Outbox, + interchainGasPaymaster: InterchainGasPaymaster, + token: AbcERC721Deploy; + const testInterchainGasPayment = 123456789; + + before(async () => { + [owner, recipient] = await ethers.getSigners(); + await abacus.deploy(domains, owner); + }); + + beforeEach(async () => { + const defaultConfig = { + signer: owner, + name: 'AbcERC721', + symbol: 'ABC', + }; + const configMap = { + [localDomain]: { + ...defaultConfig, + mintAmount, + }, + [remoteDomain]: { + ...defaultConfig, + mintAmount: 0, + }, + }; + + token = new AbcERC721Deploy(configMap); + await token.deploy(abacus); + router = token.router(localDomain); + remote = token.router(remoteDomain); + outbox = abacus.outbox(localDomain); + interchainGasPaymaster = abacus.interchainGasPaymaster(localDomain); + }); + + const expectBalance = async ( + token: AbcERC721, + signer: SignerWithAddress, + balance: number, + ) => expect(await token.balanceOf(signer.address)).to.eq(balance); + + const tokenId = mintAmount / 2; + + it('should not be initializable again', async () => { + await expect( + router.initialize(ethers.constants.AddressZero, 0, '', ''), + ).to.be.revertedWith('Initializable: contract is already initialized'); + }); + + it('should mint total supply to deployer on local domain', async () => { + await expectBalance(router, recipient, 0); + await expectBalance(router, owner, mintAmount); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, 0); + }); + + it('should allow for local transfers', async () => { + await router.transferFrom(owner.address, recipient.address, tokenId); + await expectBalance(router, recipient, 1); + await expectBalance(router, owner, mintAmount - 1); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, 0); + }); + + it('should not allow transfers of nonexistent identifiers', async () => { + const invalidTokenId = mintAmount + 1; + await expect( + router.transferFrom(owner.address, recipient.address, invalidTokenId), + ).to.be.revertedWith('ERC721: operator query for nonexistent token'); + await expect( + router.transferRemote(remoteDomain, recipient.address, invalidTokenId), + ).to.be.revertedWith('ERC721: owner query for nonexistent token'); + }); + + it('should allow for remote transfers', async () => { + const amount = mintAmount / 10; + for (let id = 0; id < amount; id++) { + await router.transferRemote(remoteDomain, recipient.address, id); + } + + await expectBalance(router, recipient, 0); + await expectBalance(router, owner, mintAmount - amount); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, 0); + + await abacus.processMessages(); + + await expectBalance(router, recipient, 0); + await expectBalance(router, owner, mintAmount - amount); + await expectBalance(remote, recipient, amount); + await expectBalance(remote, owner, 0); + }); + + it('allows interchain gas payment for remote transfers', async () => { + const leafIndex = await outbox.count(); + await expect( + router.transferRemote(remoteDomain, recipient.address, tokenId, { + value: testInterchainGasPayment, + }), + ) + .to.emit(interchainGasPaymaster, 'GasPayment') + .withArgs(leafIndex, testInterchainGasPayment); + }); + + it('should emit TransferRemote events', async () => { + expect( + await router.transferRemote(remoteDomain, recipient.address, tokenId), + ) + .to.emit(router, 'SentTransferRemote') + .withArgs(remoteDomain, recipient.address, tokenId); + expect(await abacus.processMessages()) + .to.emit(router, 'ReceivedTransferRemote') + .withArgs(localDomain, recipient.address, tokenId); + }); +}); From 70c46dc8a2276bc1f454af10cc034b31270e346e Mon Sep 17 00:00:00 2001 From: J M Rossy Date: Fri, 23 Sep 2022 11:44:19 -0400 Subject: [PATCH 07/56] Rebrand to Hyperlane and update to SDK 0.5.0 (#7) * Rebrand token to Hyperlane * Update src and tests to match template app * Update for compat with SDK 0.5.0 * Add linting and license --- .eslintignore | 4 +- .eslintrc | 31 + .eslintrc.json | 20 - .github/workflows/ci.yml | 14 + .prettierignore | 2 + .prettierrc | 5 +- LICENSE.md | 195 ++ README.md | 52 +- contracts/{AbcERC20.sol => HypERC20.sol} | 26 +- contracts/{AbcERC721.sol => HypERC721.sol} | 28 +- hardhat.config.ts | 10 +- package.json | 84 +- src/config.ts | 19 + src/contracts.ts | 24 + src/deploy.ts | 79 + test/erc20.deploy.ts | 32 - test/erc20.test.ts | 147 +- test/erc721.deploy.ts | 37 - test/erc721.test.ts | 198 +- tsconfig.json | 14 +- yarn.lock | 2291 +++++++++++++++----- 21 files changed, 2400 insertions(+), 912 deletions(-) create mode 100644 .eslintrc delete mode 100644 .eslintrc.json create mode 100644 .prettierignore create mode 100644 LICENSE.md rename contracts/{AbcERC20.sol => HypERC20.sol} (77%) rename contracts/{AbcERC721.sol => HypERC721.sol} (73%) create mode 100644 src/config.ts create mode 100644 src/contracts.ts create mode 100644 src/deploy.ts delete mode 100644 test/erc20.deploy.ts delete mode 100644 test/erc721.deploy.ts diff --git a/.eslintignore b/.eslintignore index 5a19e8ace..d461f0fa8 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,5 @@ node_modules dist -coverage \ No newline at end of file +coverage +src/types +hardhat.config.ts \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 000000000..16cac6ceb --- /dev/null +++ b/.eslintrc @@ -0,0 +1,31 @@ +{ + "env": { + "node": true, + "browser": true, + "es2021": true + }, + "root": true, + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 12, + "sourceType": "module", + "project": "./tsconfig.json" + }, + "plugins": ["@typescript-eslint"], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "prettier" + ], + "rules": { + "no-eval": ["error"], + "no-ex-assign": ["error"], + "no-constant-condition": ["off"], + "@typescript-eslint/ban-ts-comment": ["off"], + "@typescript-eslint/explicit-module-boundary-types": ["off"], + "@typescript-eslint/no-explicit-any": ["off"], + "@typescript-eslint/no-floating-promises": ["off"], + "@typescript-eslint/no-non-null-assertion": ["off"], + "@typescript-eslint/no-require-imports": ["warn"] + } +} diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 94b97befc..000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "env": { - "node": true - }, - "root": true, - "parser": "@typescript-eslint/parser", - "plugins": ["@typescript-eslint"], - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "prettier" - ], - "rules": { - "comma-dangle": ["error", "always-multiline"], - "semi": ["error", "always"], - "@typescript-eslint/explicit-module-boundary-types": ["error"], - "@typescript-eslint/no-non-null-assertion": ["error"], - "@typescript-eslint/no-explicit-any": ["error", { "ignoreRestArgs": true }] - } -} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 913682327..184bfa02c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -72,6 +72,20 @@ jobs: exit 1 fi + lint: + runs-on: ubuntu-latest + needs: [build] + steps: + - uses: actions/checkout@v2 + - uses: actions/cache@v2 + with: + path: ./* + key: ${{ github.sha }} + + - name: lint + run: yarn run lint + + test: runs-on: ubuntu-latest needs: [build] diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..f305b5f7b --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +src/types +test/outputs diff --git a/.prettierrc b/.prettierrc index bf810e7b0..7abcd19c9 100644 --- a/.prettierrc +++ b/.prettierrc @@ -14,5 +14,8 @@ "explicitTypes": "always" } } - ] + ], + "importOrder": ["^@hyperlane-xyz/(.*)$", "^../(.*)$", "^./(.*)$"], + "importOrderSeparation": true, + "importOrderSortSpecifiers": true } diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 000000000..f5f4b8b5e --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,195 @@ +Apache License +============== + +_Version 2.0, January 2004_ +_<>_ + +### Terms and Conditions for use, reproduction, and distribution + +#### 1. Definitions + +“License” shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +“Licensor” shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +“Legal Entity” shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, “control” means **(i)** the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or **(ii)** ownership of fifty percent (50%) or more of the +outstanding shares, or **(iii)** beneficial ownership of such entity. + +“You” (or “Your”) shall mean an individual or Legal Entity exercising +permissions granted by this License. + +“Source” form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +“Object” form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +“Work” shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +“Derivative Works” shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +“Contribution” shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +“submitted” means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as “Not a Contribution.” + +“Contributor” shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +#### 2. Grant of Copyright License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +#### 3. Grant of Patent License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +#### 4. Redistribution + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +* **(a)** You must give any other recipients of the Work or Derivative Works a copy of +this License; and +* **(b)** You must cause any modified files to carry prominent notices stating that You +changed the files; and +* **(c)** You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +* **(d)** If the Work includes a “NOTICE” text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. + +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +#### 5. Submission of Contributions + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +#### 6. Trademarks + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +#### 7. Disclaimer of Warranty + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +#### 8. Limitation of Liability + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +#### 9. Accepting Warranty or Additional Liability + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +_END OF TERMS AND CONDITIONS_ + +### APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets `[]` replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same “printed page” as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/README.md b/README.md index 438f1c8bc..283ada8ce 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ +# Interchain tokens using Hyperlane - -## AbcERC20 - -`AbcERC20` showcases an Abacus Token that extends the ERC20 token with an additional `transferRemote` function. +This repo showcases a Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypERC721). These tokens extend the base standards with an additional `transferRemote` function. ```mermaid %%{init: {'theme':'base'}}%% @@ -11,55 +9,23 @@ graph TB Operator((Operator)) subgraph "Ethereum" - ABC_E[(ABC)] + HYP_E[(HYP)] O_E[/Outbox\] end subgraph "Polygon" - ABC_P[(ABC)] + HYP_P[(HYP)] EthereumInbox[\EthereumInbox/] end Bob((Bob)) - Alice -- "transferRemote(Polygon, Bob, 5)" --> ABC_E - ABC_E -- "dispatch(Polygon, (Bob, 5))" --> O_E + Alice -- "transferRemote(Polygon, Bob, 5)" --> HYP_E + HYP_E -- "dispatch(Polygon, (Bob, 5))" --> O_E Operator -- "checkpoint()" --> O_E O_E-.->EthereumInbox Operator -- "relay()" --> EthereumInbox Operator -- "process(Ethereum, (Bob, 5))" --> EthereumInbox - EthereumInbox-->|"handle(Ethereum, (Bob, 5))"|ABC_P - ABC_P-.->Bob -``` - -## AbcERC721 - -`AbcERC721` showcases an Abacus Token that extends the ERC721 token with an additional `transferRemote` function. - -```mermaid -%%{init: {'theme':'base'}}%% -graph TB - Alice((Alice)) - Operator((Operator)) - - subgraph "Ethereum" - ABC_E[(ABC)] - O_E[/Outbox\] - end - - subgraph "Polygon" - ABC_P[(ABC)] - EthereumInbox[\EthereumInbox/] - end - - Bob((Bob)) - - Alice -- "transferRemote(Polygon, Bob, 69)" --> ABC_E - ABC_E -- "dispatch(Polygon, (Bob, 69))" --> O_E - Operator -- "checkpoint()" --> O_E - O_E-.->EthereumInbox - Operator -- "relay()" --> EthereumInbox - Operator -- "process(Ethereum, (Bob, 69))" --> EthereumInbox - EthereumInbox-->|"handle(Ethereum, (Bob, 69))"|ABC_P - ABC_P-.->Bob -``` + EthereumInbox-->|"handle(Ethereum, (Bob, 5))"|HYP_P + HYP_P-.->Bob +``` \ No newline at end of file diff --git a/contracts/AbcERC20.sol b/contracts/HypERC20.sol similarity index 77% rename from contracts/AbcERC20.sol rename to contracts/HypERC20.sol index 4d5dc4aaf..5fe84d80d 100644 --- a/contracts/AbcERC20.sol +++ b/contracts/HypERC20.sol @@ -1,16 +1,16 @@ -// SPDX-License-Identifier: MIT OR Apache-2.0 +// SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.13; -import {Router} from "@abacus-network/app/contracts/Router.sol"; +import {Router} from "@hyperlane-xyz/app/contracts/Router.sol"; import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol"; /** - * @title Abacus Token that extends the ERC20 token standard to enable native interchain transfers. + * @title Hyperlane Token that extends the ERC20 token standard to enable native interchain transfers. * @author Abacus Works * @dev Supply on each chain is not constant but the aggregate supply across all chains is. */ -contract AbcERC20 is Router, ERC20Upgradeable { +contract HypERC20 is Router, ERC20Upgradeable { /** * @dev Emitted on `transferRemote` when a transfer message is dispatched. * @param destination The identifier of the destination chain. @@ -36,19 +36,27 @@ contract AbcERC20 is Router, ERC20Upgradeable { ); /** - * @notice Initializes the Abacus router, ERC20 metadata, and mints initial supply to deployer. - * @param _xAppConnectionManager The address of the XAppConnectionManager contract. + * @notice Initializes the Hyperlane router, ERC20 metadata, and mints initial supply to deployer. + * @param _abacusConnectionManager The address of the connection manager contract. + * @param _interchainGasPaymaster The address of the interchain gas paymaster contract. * @param _totalSupply The initial supply of the token. * @param _name The name of the token. * @param _symbol The symbol of the token. */ function initialize( - address _xAppConnectionManager, + address _abacusConnectionManager, + address _interchainGasPaymaster, uint256 _totalSupply, string memory _name, string memory _symbol ) external initializer { - __Router_initialize(_xAppConnectionManager); + // Set ownable to sender + _transferOwnership(msg.sender); + // Set ACM contract address + _setAbacusConnectionManager(_abacusConnectionManager); + // Set IGP contract address + _setInterchainGasPaymaster(_interchainGasPaymaster); + __ERC20_init(_name, _symbol); _mint(msg.sender, _totalSupply); } @@ -68,7 +76,7 @@ contract AbcERC20 is Router, ERC20Upgradeable { uint256 _amount ) external payable { _burn(msg.sender, _amount); - _dispatchWithGasAndCheckpoint( + _dispatchWithGas( _destination, abi.encode(_recipient, _amount), msg.value diff --git a/contracts/AbcERC721.sol b/contracts/HypERC721.sol similarity index 73% rename from contracts/AbcERC721.sol rename to contracts/HypERC721.sol index 446ac7c24..2fe4ec5a1 100644 --- a/contracts/AbcERC721.sol +++ b/contracts/HypERC721.sol @@ -1,15 +1,15 @@ -// SPDX-License-Identifier: MIT OR Apache-2.0 +// SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.13; -import {Router} from "@abacus-network/app/contracts/Router.sol"; +import {Router} from "@hyperlane-xyz/app/contracts/Router.sol"; -import {ERC721Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol"; +import {ERC721EnumerableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol"; /** - * @title Abacus Token that extends the ERC721 token standard to enable native interchain transfers. + * @title Hyperlane Token that extends the ERC721 token standard to enable native interchain transfers. * @author Abacus Works */ -contract AbcERC721 is Router, ERC721Upgradeable { +contract HypERC721 is Router, ERC721EnumerableUpgradeable { /** * @dev Emitted on `transferRemote` when a transfer message is dispatched. * @param destination The identifier of the destination chain. @@ -35,19 +35,27 @@ contract AbcERC721 is Router, ERC721Upgradeable { ); /** - * @notice Initializes the Abacus router, ERC721 metadata, and mints initial supply to deployer. - * @param _xAppConnectionManager The address of the XAppConnectionManager contract. + * @notice Initializes the Hyperlane router, ERC721 metadata, and mints initial supply to deployer. + * @param _abacusConnectionManager The address of the connection manager contract. + * @param _interchainGasPaymaster The address of the interchain gas paymaster contract. * @param _mintAmount The amount of NFTs to mint to `msg.sender`. * @param _name The name of the token. * @param _symbol The symbol of the token. */ function initialize( - address _xAppConnectionManager, + address _abacusConnectionManager, + address _interchainGasPaymaster, uint256 _mintAmount, string memory _name, string memory _symbol ) external initializer { - __Router_initialize(_xAppConnectionManager); + // Set ownable to sender + _transferOwnership(msg.sender); + // Set ACM contract address + _setAbacusConnectionManager(_abacusConnectionManager); + // Set IGP contract address + _setInterchainGasPaymaster(_interchainGasPaymaster); + __ERC721_init(_name, _symbol); for (uint256 i = 0; i < _mintAmount; i++) { _mint(msg.sender, i); @@ -69,7 +77,7 @@ contract AbcERC721 is Router, ERC721Upgradeable { uint256 _tokenId ) external payable { _burn(_tokenId); - _dispatchWithGasAndCheckpoint( + _dispatchWithGas( _destination, abi.encode(_recipient, _tokenId), msg.value diff --git a/hardhat.config.ts b/hardhat.config.ts index 993c6f47d..7c2e51c6f 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -1,4 +1,4 @@ -import '@abacus-network/hardhat'; +import '@nomiclabs/hardhat-ethers'; import '@nomiclabs/hardhat-waffle'; import '@typechain/hardhat'; import 'hardhat-gas-reporter'; @@ -9,13 +9,17 @@ import 'solidity-coverage'; */ module.exports = { solidity: { - version: '0.8.13', + compilers: [ + { + version: '0.8.16', + }, + ], }, gasReporter: { currency: 'USD', }, typechain: { - outDir: './types', + outDir: './src/types', target: 'ethers-v5', alwaysGenerateOverloads: false, // should overloads with full signatures like deposit(uint256) be generated always, even if there are no overloads? }, diff --git a/package.json b/package.json index 50dc99d72..b648521c8 100644 --- a/package.json +++ b/package.json @@ -1,48 +1,60 @@ { - "name": "@abacus-network/token", - "version": "0.0.0", - "license": "MIT OR Apache-2.0", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "directories": { - "test": "test" - }, - "scripts": { - "build:contracts": "hardhat compile && hardhat typechain", - "build:sdk": "tsc", - "build": "npm run build:contracts", - "test:contracts": "hardhat test", - "test:sdk": "", - "test": "npm run test:contracts", - "prettier": "prettier --write ./contracts ./test", - "coverage": "hardhat coverage" - }, + "name": "@hyperlane-xyz/hyperlane-token", + "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", + "version": "0.5.0", "dependencies": { - "@abacus-network/app": "^0.1.1-alpha2", - "@abacus-network/sdk": "^0.1.1-alpha2", - "@ethersproject/bignumber": "^5.5.0", - "@ethersproject/bytes": "^5.5.0", - "@openzeppelin/contracts-upgradeable": "~4.5.0", - "ethers": "^5.4.7" + "@hyperlane-xyz/sdk": "^0.5.0-beta0", + "@openzeppelin/contracts-upgradeable": "^4.6.0", + "ethers": "^5.6.8" }, "devDependencies": { - "@abacus-network/hardhat": "^0.1.1-alpha2", - "@nomiclabs/hardhat-ethers": "^2.0.1", - "@nomiclabs/hardhat-waffle": "^2.0.1", - "@typechain/ethers-v5": "~7.0.0", - "@typechain/hardhat": "^2.0.1", + "@nomiclabs/hardhat-ethers": "^2.0.5", + "@nomiclabs/hardhat-waffle": "^2.0.2", + "@trivago/prettier-plugin-sort-imports": "^3.2.0", + "@typechain/ethers-v5": "10.0.0", + "@typechain/hardhat": "^6.0.0", "@types/mocha": "^9.1.0", + "@typescript-eslint/eslint-plugin": "^5.27.0", + "@typescript-eslint/parser": "^5.27.0", "chai": "^4.3.0", - "eslint": "^7.20.0", - "hardhat": "^2.8.3", + "eslint": "^8.16.0", + "eslint-config-prettier": "^8.5.0", + "ethereum-waffle": "^3.4.4", + "hardhat": "^2.8.4", "hardhat-gas-reporter": "^1.0.7", - "prettier": "^2.2.1", + "prettier": "^2.4.1", "prettier-plugin-solidity": "^1.0.0-beta.5", "solhint": "^3.3.2", "solhint-plugin-prettier": "^0.0.5", "solidity-coverage": "^0.7.14", - "ts-node": "^10.1.0", - "typechain": "^5.0.0", - "typescript": "^4.3.5" - } + "ts-node": "^10.8.0", + "typechain": "8.0.0", + "typescript": "^4.7.2" + }, + "files": [ + "/dist", + "/contracts" + ], + "homepage": "https://www.hyperlane.xyz", + "keywords": [ + "Hyperlane", + "Solidity", + "Token" + ], + "license": "Apache-2.0", + "main": "dist/index.js", + "packageManager": "yarn@3.2.0", + "repository": { + "type": "git", + "url": "https://github.com/hyperlane-xyz/hyperlane-token" + }, + "scripts": { + "clean": "hardhat clean && rm -rf dist cache src/types", + "build": "hardhat compile && tsc", + "coverage": "hardhat coverage", + "lint": "eslint . --ext .ts", + "prettier": "prettier --write ./contracts ./test", + "test": "hardhat test ./test/**/*.test.ts" + }, + "types": "dist/index.d.ts" } diff --git a/src/config.ts b/src/config.ts new file mode 100644 index 000000000..ec91a18d9 --- /dev/null +++ b/src/config.ts @@ -0,0 +1,19 @@ +import { ethers } from 'ethers'; + +import { RouterConfig } from '@hyperlane-xyz/sdk'; + +export type Erc20TokenConfig = { + name: string; + symbol: string; + totalSupply: ethers.BigNumberish; +}; + +export type HypERC20Config = RouterConfig & Erc20TokenConfig; + +export type Erc721TokenConfig = { + name: string; + symbol: string; + mintAmount: ethers.BigNumberish; +}; + +export type HypERC721Config = RouterConfig & Erc721TokenConfig; diff --git a/src/contracts.ts b/src/contracts.ts new file mode 100644 index 000000000..4fd18001d --- /dev/null +++ b/src/contracts.ts @@ -0,0 +1,24 @@ +import { RouterContracts, RouterFactories } from '@hyperlane-xyz/sdk'; + +import { + HypERC20, + HypERC20__factory, + HypERC721, + HypERC721__factory, +} from './types'; + +export type HypERC20Factories = RouterFactories; + +export const hypERC20Factories: HypERC20Factories = { + router: new HypERC20__factory(), +}; + +export type HypERC20Contracts = RouterContracts; + +export type HypERC721Factories = RouterFactories; + +export const hypERC721Factories: HypERC721Factories = { + router: new HypERC721__factory(), +}; + +export type HypERC721Contracts = RouterContracts; diff --git a/src/deploy.ts b/src/deploy.ts new file mode 100644 index 000000000..74a447641 --- /dev/null +++ b/src/deploy.ts @@ -0,0 +1,79 @@ +import { + ChainMap, + ChainName, + HyperlaneCore, + HyperlaneRouterDeployer, + MultiProvider, +} from '@hyperlane-xyz/sdk'; + +import { HypERC20Config, HypERC721Config } from './config'; +import { + HypERC20Contracts, + HypERC20Factories, + HypERC721Contracts, + HypERC721Factories, + hypERC20Factories, + hypERC721Factories, +} from './contracts'; + +export class HypERC20Deployer< + Chain extends ChainName, +> extends HyperlaneRouterDeployer< + Chain, + HypERC20Config, + HypERC20Contracts, + HypERC20Factories +> { + constructor( + multiProvider: MultiProvider, + configMap: ChainMap, + protected core: HyperlaneCore, + ) { + super(multiProvider, configMap, hypERC20Factories); + } + + async deployContracts(chain: Chain, config: HypERC20Config) { + const router = await this.deployContract(chain, 'router', []); + await router.initialize( + config.connectionManager, + config.interchainGasPaymaster, + config.totalSupply, + config.name, + config.symbol, + ); + return { + router, + }; + } +} + +export class HypERC721Deployer< + Chain extends ChainName, +> extends HyperlaneRouterDeployer< + Chain, + HypERC721Config, + HypERC721Contracts, + HypERC721Factories +> { + constructor( + multiProvider: MultiProvider, + configMap: ChainMap, + protected core: HyperlaneCore, + ) { + super(multiProvider, configMap, hypERC721Factories); + } + + async deployContracts(chain: Chain, config: HypERC721Config) { + const router = await this.deployContract(chain, 'router', []); + await router.initialize( + config.connectionManager, + config.interchainGasPaymaster, + config.mintAmount, + config.name, + config.symbol, + ); + return { + router, + }; + } +} diff --git a/test/erc20.deploy.ts b/test/erc20.deploy.ts deleted file mode 100644 index a4bbaec20..000000000 --- a/test/erc20.deploy.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { TestAbacusDeploy, TestRouterDeploy } from '@abacus-network/hardhat'; -import { types } from '@abacus-network/utils'; -import { ethers } from 'ethers'; -import { AbcERC20, AbcERC20__factory } from '../types'; - -export type TokenConfig = { - signer: ethers.Signer; - name: string; - symbol: string; - totalSupply: ethers.BigNumberish; -}; - -export class AbcERC20Deploy extends TestRouterDeploy { - async deployInstance( - domain: types.Domain, - abacus: TestAbacusDeploy, - ): Promise { - const tokenFactory = new AbcERC20__factory(this.config.signer); - const token = await tokenFactory.deploy(); - await token.initialize( - abacus.abacusConnectionManager(domain).address, - this.config.totalSupply, - this.config.name, - this.config.symbol, - ); - return token; - } - - router(domain: types.Domain) { - return this.instances[domain]; - } -} diff --git a/test/erc20.test.ts b/test/erc20.test.ts index c2abdfed1..6217bbe80 100644 --- a/test/erc20.test.ts +++ b/test/erc20.test.ts @@ -1,107 +1,138 @@ -import { InterchainGasPaymaster, Outbox } from '@abacus-network/core'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; +import '@nomiclabs/hardhat-waffle'; import { expect } from 'chai'; -import { abacus, ethers } from 'hardhat'; -import { AbcERC20 } from '../types'; -import { AbcERC20Deploy, TokenConfig } from './erc20.deploy'; +import { ethers } from 'hardhat'; -const localDomain = 1000; -const remoteDomain = 2000; +import { + ChainMap, + ChainNameToDomainId, + TestChainNames, + TestCoreApp, + TestCoreDeployer, + getChainToOwnerMap, + getTestMultiProvider, + objMap, + testChainConnectionConfigs, +} from '@hyperlane-xyz/sdk'; + +import { Erc20TokenConfig, HypERC20Config } from '../src/config'; +import { HypERC20Contracts } from '../src/contracts'; +import { HypERC20Deployer } from '../src/deploy'; +import { HypERC20 } from '../src/types'; + +const localChain = 'test1'; +const remoteChain = 'test2'; +const localDomain = ChainNameToDomainId[localChain]; +const remoteDomain = ChainNameToDomainId[remoteChain]; const totalSupply = 3000; -const domains = [localDomain, remoteDomain]; - -describe('AbcERC20', async () => { - let owner: SignerWithAddress, - recipient: SignerWithAddress, - router: AbcERC20, - remote: AbcERC20, - outbox: Outbox, - interchainGasPaymaster: InterchainGasPaymaster, - token: AbcERC20Deploy; - const testInterchainGasPayment = 123456789; +const amount = 10; +const testInterchainGasPayment = 123456789; + +const tokenConfig: Erc20TokenConfig = { + name: 'HypERC20', + symbol: 'HYP', + totalSupply, +}; + +describe('HypERC20', async () => { + let owner: SignerWithAddress; + let recipient: SignerWithAddress; + let core: TestCoreApp; + let deployer: HypERC20Deployer; + let contracts: Record; + let local: HypERC20; + let remote: HypERC20; before(async () => { [owner, recipient] = await ethers.getSigners(); - await abacus.deploy(domains, owner); - }); + const multiProvider = getTestMultiProvider(owner); - beforeEach(async () => { - const config: TokenConfig = { - signer: owner, - name: 'AbcERC20', - symbol: 'ABC', - totalSupply, - }; - token = new AbcERC20Deploy(config); - await token.deploy(abacus); - router = token.router(localDomain); - remote = token.router(remoteDomain); - outbox = abacus.outbox(localDomain); - interchainGasPaymaster = abacus.interchainGasPaymaster(localDomain); + const coreDeployer = new TestCoreDeployer(multiProvider); + const coreContractsMaps = await coreDeployer.deploy(); + core = new TestCoreApp(coreContractsMaps, multiProvider); + const config = core.extendWithConnectionClientConfig( + getChainToOwnerMap(testChainConnectionConfigs, owner.address), + ); + const configWithTokenInfo: ChainMap = + objMap(config, (key) => ({ + ...config[key], + ...tokenConfig, + })); + deployer = new HypERC20Deployer(multiProvider, configWithTokenInfo, core); + contracts = await deployer.deploy(); + local = contracts[localChain].router; + remote = contracts[remoteChain].router; }); - const expectBalance = async ( - token: AbcERC20, - signer: SignerWithAddress, - balance: number, - ) => expect(await token.balanceOf(signer.address)).to.eq(balance); - - const amount = 10; - it('should not be initializable again', async () => { await expect( - router.initialize(ethers.constants.AddressZero, 0, '', ''), + local.initialize( + ethers.constants.AddressZero, + ethers.constants.AddressZero, + 0, + '', + '', + ), ).to.be.revertedWith('Initializable: contract is already initialized'); }); it('should mint total supply to deployer', async () => { - await expectBalance(router, recipient, 0); - await expectBalance(router, owner, totalSupply); + await expectBalance(local, recipient, 0); + await expectBalance(local, owner, totalSupply); await expectBalance(remote, recipient, 0); await expectBalance(remote, owner, totalSupply); }); it('should allow for local transfers', async () => { - await router.transfer(recipient.address, amount); - await expectBalance(router, recipient, amount); - await expectBalance(router, owner, totalSupply - amount); + await local.transfer(recipient.address, amount); + await expectBalance(local, recipient, amount); + await expectBalance(local, owner, totalSupply - amount); await expectBalance(remote, recipient, 0); await expectBalance(remote, owner, totalSupply); }); it('should allow for remote transfers', async () => { - await router.transferRemote(remoteDomain, recipient.address, amount); + await local.transferRemote(remoteDomain, recipient.address, amount); - await expectBalance(router, recipient, 0); - await expectBalance(router, owner, totalSupply - amount); + await expectBalance(local, recipient, amount); + await expectBalance(local, owner, totalSupply - amount * 2); await expectBalance(remote, recipient, 0); await expectBalance(remote, owner, totalSupply); - await abacus.processMessages(); + await core.processMessages(); - await expectBalance(router, recipient, 0); - await expectBalance(router, owner, totalSupply - amount); + await expectBalance(local, recipient, amount); + await expectBalance(local, owner, totalSupply - amount * 2); await expectBalance(remote, recipient, amount); await expectBalance(remote, owner, totalSupply); }); it('allows interchain gas payment for remote transfers', async () => { + const outbox = core.getMailboxPair(localChain, remoteChain).originOutbox; + const interchainGasPaymaster = + core.contractsMap[localChain].interchainGasPaymaster.contract; const leafIndex = await outbox.count(); await expect( - router.transferRemote(remoteDomain, recipient.address, amount, { + local.transferRemote(remoteDomain, recipient.address, amount, { value: testInterchainGasPayment, }), ) .to.emit(interchainGasPaymaster, 'GasPayment') - .withArgs(leafIndex, testInterchainGasPayment); + .withArgs(outbox.address, leafIndex, testInterchainGasPayment); }); it('should emit TransferRemote events', async () => { - expect(await router.transferRemote(remoteDomain, recipient.address, amount)) - .to.emit(router, 'SentTransferRemote') + expect(await local.transferRemote(remoteDomain, recipient.address, amount)) + .to.emit(local, 'SentTransferRemote') .withArgs(remoteDomain, recipient.address, amount); - expect(await abacus.processMessages()) - .to.emit(router, 'ReceivedTransferRemote') + expect(await core.processMessages()) + .to.emit(local, 'ReceivedTransferRemote') .withArgs(localDomain, recipient.address, amount); }); }); + +const expectBalance = async ( + token: HypERC20, + signer: SignerWithAddress, + balance: number, +) => expect(await token.balanceOf(signer.address)).to.eq(balance); diff --git a/test/erc721.deploy.ts b/test/erc721.deploy.ts deleted file mode 100644 index 2840abef5..000000000 --- a/test/erc721.deploy.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { TestAbacusDeploy, TestRouterDeploy } from '@abacus-network/hardhat'; -import { types } from '@abacus-network/utils'; -import { ethers } from 'ethers'; -import { AbcERC721, AbcERC721__factory } from '../types'; - -export type TokenConfig = { - signer: ethers.Signer; - name: string; - symbol: string; - mintAmount: ethers.BigNumberish; -}; - -type ConfigMap = { - [domain: number]: TokenConfig; -}; - -export class AbcERC721Deploy extends TestRouterDeploy { - async deployInstance( - domain: types.Domain, - abacus: TestAbacusDeploy, - ): Promise { - const localConfig = this.config[domain]; - const tokenFactory = new AbcERC721__factory(localConfig.signer); - const token = await tokenFactory.deploy(); - await token.initialize( - abacus.abacusConnectionManager(domain).address, - localConfig.mintAmount, - localConfig.name, - localConfig.symbol, - ); - return token; - } - - router(domain: types.Domain) { - return this.instances[domain]; - } -} diff --git a/test/erc721.test.ts b/test/erc721.test.ts index 8f65a60ac..6d0a7b14d 100644 --- a/test/erc721.test.ts +++ b/test/erc721.test.ts @@ -1,132 +1,168 @@ -import { InterchainGasPaymaster, Outbox } from '@abacus-network/core'; import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; +import '@nomiclabs/hardhat-waffle'; import { expect } from 'chai'; -import { abacus, ethers } from 'hardhat'; -import { AbcERC721 } from '../types'; -import { AbcERC721Deploy } from './erc721.deploy'; - -const localDomain = 1000; -const remoteDomain = 2000; +import { ethers } from 'hardhat'; + +import { + ChainMap, + ChainNameToDomainId, + TestChainNames, + TestCoreApp, + TestCoreDeployer, + getChainToOwnerMap, + getTestMultiProvider, + objMap, + testChainConnectionConfigs, +} from '@hyperlane-xyz/sdk'; + +import { Erc721TokenConfig, HypERC721Config } from '../src/config'; +import { HypERC721Contracts } from '../src/contracts'; +import { HypERC721Deployer } from '../src/deploy'; +import { HypERC721 } from '../src/types'; + +const localChain = 'test1'; +const remoteChain = 'test2'; +const localDomain = ChainNameToDomainId[localChain]; +const remoteDomain = ChainNameToDomainId[remoteChain]; const mintAmount = 50; -const domains = [localDomain, remoteDomain]; - -describe('AbcERC721', async () => { - let owner: SignerWithAddress, - recipient: SignerWithAddress, - router: AbcERC721, - remote: AbcERC721, - outbox: Outbox, - interchainGasPaymaster: InterchainGasPaymaster, - token: AbcERC721Deploy; - const testInterchainGasPayment = 123456789; +const tokenId = 10; +const tokenId2 = 20; +const tokenId3 = 30; +const tokenId4 = 40; +const testInterchainGasPayment = 123456789; + +const tokenConfig: Erc721TokenConfig = { + name: 'HypERC721', + symbol: 'HYP', + mintAmount, +}; + +const configMap = { + test1: { + ...tokenConfig, + mintAmount, + }, + test2: { + ...tokenConfig, + mintAmount: 0, + }, + test3: { + ...tokenConfig, + mintAmount: 0, + }, +}; + +describe('HypERC721', async () => { + let owner: SignerWithAddress; + let recipient: SignerWithAddress; + let core: TestCoreApp; + let deployer: HypERC721Deployer; + let contracts: Record; + let local: HypERC721; + let remote: HypERC721; before(async () => { [owner, recipient] = await ethers.getSigners(); - await abacus.deploy(domains, owner); - }); - - beforeEach(async () => { - const defaultConfig = { - signer: owner, - name: 'AbcERC721', - symbol: 'ABC', - }; - const configMap = { - [localDomain]: { - ...defaultConfig, - mintAmount, - }, - [remoteDomain]: { - ...defaultConfig, - mintAmount: 0, - }, - }; - - token = new AbcERC721Deploy(configMap); - await token.deploy(abacus); - router = token.router(localDomain); - remote = token.router(remoteDomain); - outbox = abacus.outbox(localDomain); - interchainGasPaymaster = abacus.interchainGasPaymaster(localDomain); + const multiProvider = getTestMultiProvider(owner); + + const coreDeployer = new TestCoreDeployer(multiProvider); + const coreContractsMaps = await coreDeployer.deploy(); + core = new TestCoreApp(coreContractsMaps, multiProvider); + const coreConfig = core.extendWithConnectionClientConfig( + getChainToOwnerMap(testChainConnectionConfigs, owner.address), + ); + const configWithTokenInfo: ChainMap = + objMap(coreConfig, (key) => ({ + ...coreConfig[key], + ...configMap[key], + })); + deployer = new HypERC721Deployer(multiProvider, configWithTokenInfo, core); + contracts = await deployer.deploy(); + local = contracts[localChain].router; + remote = contracts[remoteChain].router; }); - const expectBalance = async ( - token: AbcERC721, - signer: SignerWithAddress, - balance: number, - ) => expect(await token.balanceOf(signer.address)).to.eq(balance); - - const tokenId = mintAmount / 2; - it('should not be initializable again', async () => { await expect( - router.initialize(ethers.constants.AddressZero, 0, '', ''), + local.initialize( + ethers.constants.AddressZero, + ethers.constants.AddressZero, + 0, + '', + '', + ), ).to.be.revertedWith('Initializable: contract is already initialized'); }); it('should mint total supply to deployer on local domain', async () => { - await expectBalance(router, recipient, 0); - await expectBalance(router, owner, mintAmount); + await expectBalance(local, recipient, 0); + await expectBalance(local, owner, mintAmount); await expectBalance(remote, recipient, 0); await expectBalance(remote, owner, 0); }); it('should allow for local transfers', async () => { - await router.transferFrom(owner.address, recipient.address, tokenId); - await expectBalance(router, recipient, 1); - await expectBalance(router, owner, mintAmount - 1); + await local.transferFrom(owner.address, recipient.address, tokenId); + await expectBalance(local, recipient, 1); + await expectBalance(local, owner, mintAmount - 1); await expectBalance(remote, recipient, 0); await expectBalance(remote, owner, 0); }); it('should not allow transfers of nonexistent identifiers', async () => { - const invalidTokenId = mintAmount + 1; + const invalidTokenId = mintAmount + 10; await expect( - router.transferFrom(owner.address, recipient.address, invalidTokenId), - ).to.be.revertedWith('ERC721: operator query for nonexistent token'); + local.transferFrom(owner.address, recipient.address, invalidTokenId), + ).to.be.revertedWith('ERC721: invalid token ID'); await expect( - router.transferRemote(remoteDomain, recipient.address, invalidTokenId), - ).to.be.revertedWith('ERC721: owner query for nonexistent token'); + local.transferRemote(remoteDomain, recipient.address, invalidTokenId), + ).to.be.revertedWith('ERC721: invalid token ID'); }); it('should allow for remote transfers', async () => { - const amount = mintAmount / 10; - for (let id = 0; id < amount; id++) { - await router.transferRemote(remoteDomain, recipient.address, id); - } + await local.transferRemote(remoteDomain, recipient.address, tokenId2); - await expectBalance(router, recipient, 0); - await expectBalance(router, owner, mintAmount - amount); + await expectBalance(local, recipient, 1); + await expectBalance(local, owner, mintAmount - 2); await expectBalance(remote, recipient, 0); await expectBalance(remote, owner, 0); - await abacus.processMessages(); + await core.processMessages(); - await expectBalance(router, recipient, 0); - await expectBalance(router, owner, mintAmount - amount); - await expectBalance(remote, recipient, amount); + await expectBalance(local, recipient, 1); + await expectBalance(local, owner, mintAmount - 2); + await expectBalance(remote, recipient, 1); await expectBalance(remote, owner, 0); }); it('allows interchain gas payment for remote transfers', async () => { + const outbox = core.getMailboxPair(localChain, remoteChain).originOutbox; + const interchainGasPaymaster = + core.contractsMap[localChain].interchainGasPaymaster.contract; const leafIndex = await outbox.count(); await expect( - router.transferRemote(remoteDomain, recipient.address, tokenId, { + local.transferRemote(remoteDomain, recipient.address, tokenId3, { value: testInterchainGasPayment, }), ) .to.emit(interchainGasPaymaster, 'GasPayment') - .withArgs(leafIndex, testInterchainGasPayment); + .withArgs(outbox.address, leafIndex, testInterchainGasPayment); }); it('should emit TransferRemote events', async () => { expect( - await router.transferRemote(remoteDomain, recipient.address, tokenId), + await local.transferRemote(remoteDomain, recipient.address, tokenId4), ) - .to.emit(router, 'SentTransferRemote') - .withArgs(remoteDomain, recipient.address, tokenId); - expect(await abacus.processMessages()) - .to.emit(router, 'ReceivedTransferRemote') - .withArgs(localDomain, recipient.address, tokenId); + .to.emit(local, 'SentTransferRemote') + .withArgs(remoteDomain, recipient.address, tokenId4); + expect(await core.processMessages()) + .to.emit(local, 'ReceivedTransferRemote') + .withArgs(localDomain, recipient.address, tokenId4); }); }); + +const expectBalance = async ( + token: HypERC721, + signer: SignerWithAddress, + balance: number, +) => expect(await token.balanceOf(signer.address)).to.eq(balance); diff --git a/tsconfig.json b/tsconfig.json index 65e2cb6f9..5944f0332 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,7 @@ "moduleResolution": "node", "noEmitOnError": true, "noFallthroughCasesInSwitch": true, - "noImplicitAny": true, + "noImplicitAny": false, "noImplicitReturns": true, "noUnusedLocals": true, "preserveSymlinks": true, @@ -19,8 +19,9 @@ "sourceMap": true, "target": "es6", "strict": true, - "outDir": "./dist/", - "rootDir": "./src/", + "outDir": "./dist", + "rootDir": "./", + "resolveJsonModule": true }, "exclude": [ "./node_modules/", @@ -28,7 +29,8 @@ "./types/hardhat.d.ts" ], "include": [ - "./types/*.ts", - "./types/factories/*.ts" - ] + "./src", + "./test", + ], + "files": ["hardhat.config.ts"] } diff --git a/yarn.lock b/yarn.lock index 31d4dff64..934ad5354 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,136 +5,173 @@ __metadata: version: 6 cacheKey: 8 -"@abacus-network/app@npm:^0.1.1-alpha2": - version: 0.1.1-alpha2 - resolution: "@abacus-network/app@npm:0.1.1-alpha2" +"@ampproject/remapping@npm:^2.1.0": + version: 2.2.0 + resolution: "@ampproject/remapping@npm:2.2.0" dependencies: - "@abacus-network/core": ^0.1.1-alpha2 - "@abacus-network/utils": ^0.1.1-alpha2 - "@openzeppelin/contracts-upgradeable": ^4.5.0 - checksum: 4bada19c763ee202b90339640ff3998413e6739fb533785f3f81e4d7f069671df1ca2fb882a5f61bd1e508239008c2ff277375170d0c5ecc430dca3454ac7ee1 + "@jridgewell/gen-mapping": ^0.1.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: d74d170d06468913921d72430259424b7e4c826b5a7d39ff839a29d547efb97dc577caa8ba3fb5cf023624e9af9d09651afc3d4112a45e2050328abc9b3a2292 languageName: node linkType: hard -"@abacus-network/apps@npm:^0.1.1-alpha2": - version: 0.1.1-alpha2 - resolution: "@abacus-network/apps@npm:0.1.1-alpha2" +"@babel/code-frame@npm:^7.0.0": + version: 7.16.7 + resolution: "@babel/code-frame@npm:7.16.7" dependencies: - "@abacus-network/app": ^0.1.1-alpha2 - "@abacus-network/core": ^0.1.1-alpha2 - "@abacus-network/hardhat": ^0.1.1-alpha2 - "@abacus-network/utils": ^0.1.1-alpha2 - "@openzeppelin/contracts": ~3.4.2 - "@openzeppelin/contracts-upgradeable": ~3.4.2 - "@summa-tx/memview-sol": ^2.0.0 - checksum: aba57d8dde36985555e4e9d03614638f47ce3125ec77cd1f3a173996db71d0ada16a4cc48975bc74aa3761f2b229e42bd01e94861657fac1104f1ea8060184a8 + "@babel/highlight": ^7.16.7 + checksum: db2f7faa31bc2c9cf63197b481b30ea57147a5fc1a6fab60e5d6c02cdfbf6de8e17b5121f99917b3dabb5eeb572da078312e70697415940383efc140d4e0808b languageName: node linkType: hard -"@abacus-network/core@npm:^0.1.1-alpha2": - version: 0.1.1-alpha2 - resolution: "@abacus-network/core@npm:0.1.1-alpha2" +"@babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/code-frame@npm:7.18.6" dependencies: - "@abacus-network/utils": ^0.1.1-alpha2 - "@openzeppelin/contracts": ^3.4.2 - "@openzeppelin/contracts-upgradeable": ~3.4.2 - "@summa-tx/memview-sol": ^2.0.0 - ts-generator: ^0.1.1 - checksum: 8b2094518168fa692b54543406d8b129cd4d73a138652f235f77fe5d10ff5fe860f97f40944d66681173e589c94966d9046441e9b3362b97307f1a5500400336 + "@babel/highlight": ^7.18.6 + checksum: 195e2be3172d7684bf95cff69ae3b7a15a9841ea9d27d3c843662d50cdd7d6470fd9c8e64be84d031117e4a4083486effba39f9aef6bbb2c89f7f21bcfba33ba + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.19.1": + version: 7.19.1 + resolution: "@babel/compat-data@npm:7.19.1" + checksum: f985887ea08a140e4af87a94d3fb17af0345491eb97f5a85b1840255c2e2a97429f32a8fd12a7aae9218af5f1024f1eb12a5cd280d2d69b2337583c17ea506ba languageName: node linkType: hard -"@abacus-network/hardhat@npm:^0.1.1-alpha2": - version: 0.1.1-alpha2 - resolution: "@abacus-network/hardhat@npm:0.1.1-alpha2" +"@babel/core@npm:7.17.8": + version: 7.17.8 + resolution: "@babel/core@npm:7.17.8" dependencies: - "@abacus-network/core": ^0.1.1-alpha2 - "@abacus-network/utils": ^0.1.1-alpha2 - "@nomiclabs/hardhat-ethers": ^2.0.5 - "@nomiclabs/hardhat-waffle": ^2.0.2 - "@typechain/hardhat": ^2.0.1 - ethereum-waffle: ^3.2.2 - ethers: ^5.4.7 - hardhat: ^2.8.4 - prettier: ^2.3.1 - ts-node: ^10.1.0 - typechain: ^5.0.0 - typescript: ^4.3.2 - checksum: 9d0200001e62962c68b58f38517d67571b25414a3f58e683ae55a62bbedb91c9df43c223c2a5aad6dc223eca194f4865d1a8f0e02bd98a94c04cab059bf56da9 + "@ampproject/remapping": ^2.1.0 + "@babel/code-frame": ^7.16.7 + "@babel/generator": ^7.17.7 + "@babel/helper-compilation-targets": ^7.17.7 + "@babel/helper-module-transforms": ^7.17.7 + "@babel/helpers": ^7.17.8 + "@babel/parser": ^7.17.8 + "@babel/template": ^7.16.7 + "@babel/traverse": ^7.17.3 + "@babel/types": ^7.17.0 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.1.2 + semver: ^6.3.0 + checksum: 0e686b1be444d25494424065238931f2b3df908bf072b72bab973acfd6d27a481fc280c9cd8a3c6fe2c46beee50e0d2307468d8b15b64dc4036f025e75f6609d languageName: node linkType: hard -"@abacus-network/sdk@npm:^0.1.1-alpha2": - version: 0.1.1-alpha2 - resolution: "@abacus-network/sdk@npm:0.1.1-alpha2" +"@babel/generator@npm:7.17.7": + version: 7.17.7 + resolution: "@babel/generator@npm:7.17.7" dependencies: - "@abacus-network/apps": ^0.1.1-alpha2 - "@abacus-network/core": ^0.1.1-alpha2 - "@abacus-network/utils": ^0.1.1-alpha2 - "@ethersproject/bignumber": ^5.5.0 - "@ethersproject/bytes": ^5.5.0 - celo-ethers-provider: 0.0.0 - ethers: ^5.4.7 - checksum: da7fb9d05706f13ca87508ec424113189affbaf6950405b0a1740cee6a6fc9db4deaf4dc1ebc712ddb431f6f48f62fdfd2b1e0373d80dd3c60504e8c315a71b5 + "@babel/types": ^7.17.0 + jsesc: ^2.5.1 + source-map: ^0.5.0 + checksum: e7344b9b4559115f2754ecc2ae9508412ea6a8f617544cd3d3f17cabc727bd30630765f96c8a4ebc8901ded1492a3a6c23d695a4f1e8f3042f860b30c891985c languageName: node linkType: hard -"@abacus-network/token@workspace:.": - version: 0.0.0-use.local - resolution: "@abacus-network/token@workspace:." - dependencies: - "@abacus-network/app": ^0.1.1-alpha2 - "@abacus-network/hardhat": ^0.1.1-alpha2 - "@abacus-network/sdk": ^0.1.1-alpha2 - "@ethersproject/bignumber": ^5.5.0 - "@ethersproject/bytes": ^5.5.0 - "@nomiclabs/hardhat-ethers": ^2.0.1 - "@nomiclabs/hardhat-waffle": ^2.0.1 - "@openzeppelin/contracts-upgradeable": ~4.5.0 - "@typechain/ethers-v5": ~7.0.0 - "@typechain/hardhat": ^2.0.1 - "@types/mocha": ^9.1.0 - chai: ^4.3.0 - eslint: ^7.20.0 - ethers: ^5.4.7 - hardhat: ^2.8.3 - hardhat-gas-reporter: ^1.0.7 - prettier: ^2.2.1 - prettier-plugin-solidity: ^1.0.0-beta.5 - solhint: ^3.3.2 - solhint-plugin-prettier: ^0.0.5 - solidity-coverage: ^0.7.14 - ts-node: ^10.1.0 - typechain: ^5.0.0 - typescript: ^4.3.5 - languageName: unknown - linkType: soft +"@babel/generator@npm:^7.17.3, @babel/generator@npm:^7.17.7, @babel/generator@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/generator@npm:7.19.0" + dependencies: + "@babel/types": ^7.19.0 + "@jridgewell/gen-mapping": ^0.3.2 + jsesc: ^2.5.1 + checksum: aa3d5785cf8f8e81672dcc61aef351188efeadb20d9f66d79113d82cbcf3bbbdeb829989fa14582108572ddbc4e4027bdceb06ccaf5ec40fa93c2dda8fbcd4aa + languageName: node + linkType: hard -"@abacus-network/utils@npm:^0.1.1-alpha2": - version: 0.1.1-alpha2 - resolution: "@abacus-network/utils@npm:0.1.1-alpha2" +"@babel/helper-compilation-targets@npm:^7.17.7": + version: 7.19.1 + resolution: "@babel/helper-compilation-targets@npm:7.19.1" dependencies: - chai: ^4.3.0 - ethers: ^5.4.7 - checksum: 427cfd367cb5be74f069ba9128fbec3fe59316c140e8de2f122d7186f78269ea6f2fae155d5aff54a5eb83ed2cdfd957e46281f2a95fbfd495f0df021c79f60d + "@babel/compat-data": ^7.19.1 + "@babel/helper-validator-option": ^7.18.6 + browserslist: ^4.21.3 + semver: ^6.3.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: c2d3039265e498b341a6b597f855f2fcef02659050fefedf36ad4e6815e6aafe1011a761214cc80d98260ed07ab15a8cbe959a0458e97bec5f05a450e1b1741b languageName: node linkType: hard -"@babel/code-frame@npm:7.12.11": - version: 7.12.11 - resolution: "@babel/code-frame@npm:7.12.11" +"@babel/helper-environment-visitor@npm:^7.16.7, @babel/helper-environment-visitor@npm:^7.18.9": + version: 7.18.9 + resolution: "@babel/helper-environment-visitor@npm:7.18.9" + checksum: b25101f6162ddca2d12da73942c08ad203d7668e06663df685634a8fde54a98bc015f6f62938e8554457a592a024108d45b8f3e651fd6dcdb877275b73cc4420 + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.16.7, @babel/helper-function-name@npm:^7.19.0": + version: 7.19.0 + resolution: "@babel/helper-function-name@npm:7.19.0" dependencies: - "@babel/highlight": ^7.10.4 - checksum: 3963eff3ebfb0e091c7e6f99596ef4b258683e4ba8a134e4e95f77afe85be5c931e184fff6435fb4885d12eba04a5e25532f7fbc292ca13b48e7da943474e2f3 + "@babel/template": ^7.18.10 + "@babel/types": ^7.19.0 + checksum: eac1f5db428ba546270c2b8d750c24eb528b8fcfe50c81de2e0bdebf0e20f24bec688d4331533b782e4a907fad435244621ca2193cfcf80a86731299840e0f6e languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0": - version: 7.16.7 - resolution: "@babel/code-frame@npm:7.16.7" +"@babel/helper-hoist-variables@npm:^7.16.7, @babel/helper-hoist-variables@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-hoist-variables@npm:7.18.6" dependencies: - "@babel/highlight": ^7.16.7 - checksum: db2f7faa31bc2c9cf63197b481b30ea57147a5fc1a6fab60e5d6c02cdfbf6de8e17b5121f99917b3dabb5eeb572da078312e70697415940383efc140d4e0808b + "@babel/types": ^7.18.6 + checksum: fd9c35bb435fda802bf9ff7b6f2df06308a21277c6dec2120a35b09f9de68f68a33972e2c15505c1a1a04b36ec64c9ace97d4a9e26d6097b76b4396b7c5fa20f + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-module-imports@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: f393f8a3b3304b1b7a288a38c10989de754f01d29caf62ce7c4e5835daf0a27b81f3ac687d9d2780d39685aae7b55267324b512150e7b2be967b0c493b6a1def + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.17.7": + version: 7.19.0 + resolution: "@babel/helper-module-transforms@npm:7.19.0" + dependencies: + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-module-imports": ^7.18.6 + "@babel/helper-simple-access": ^7.18.6 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/helper-validator-identifier": ^7.18.6 + "@babel/template": ^7.18.10 + "@babel/traverse": ^7.19.0 + "@babel/types": ^7.19.0 + checksum: 4483276c66f56cf3b5b063634092ad9438c2593725de5c143ba277dda82f1501e6d73b311c1b28036f181dbe36eaeff29f24726cde37a599d4e735af294e5359 + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-simple-access@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: 37cd36eef199e0517845763c1e6ff6ea5e7876d6d707a6f59c9267c547a50aa0e84260ba9285d49acfaf2cfa0a74a772d92967f32ac1024c961517d40b6c16a5 + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.16.7, @babel/helper-split-export-declaration@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-split-export-declaration@npm:7.18.6" + dependencies: + "@babel/types": ^7.18.6 + checksum: c6d3dede53878f6be1d869e03e9ffbbb36f4897c7cc1527dc96c56d127d834ffe4520a6f7e467f5b6f3c2843ea0e81a7819d66ae02f707f6ac057f3d57943a2b + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.18.10": + version: 7.18.10 + resolution: "@babel/helper-string-parser@npm:7.18.10" + checksum: d554a4393365b624916b5c00a4cc21c990c6617e7f3fe30be7d9731f107f12c33229a7a3db9d829bfa110d2eb9f04790745d421640e3bd245bb412dc0ea123c1 languageName: node linkType: hard @@ -145,7 +182,32 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.16.7": +"@babel/helper-validator-identifier@npm:^7.18.6": + version: 7.19.1 + resolution: "@babel/helper-validator-identifier@npm:7.19.1" + checksum: 0eca5e86a729162af569b46c6c41a63e18b43dbe09fda1d2a3c8924f7d617116af39cac5e4cd5d431bb760b4dca3c0970e0c444789b1db42bcf1fa41fbad0a3a + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/helper-validator-option@npm:7.18.6" + checksum: f9cc6eb7cc5d759c5abf006402180f8d5e4251e9198197428a97e05d65eb2f8ae5a0ce73b1dfd2d35af41d0eb780627a64edf98a4e71f064eeeacef8de58f2cf + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.17.8": + version: 7.19.0 + resolution: "@babel/helpers@npm:7.19.0" + dependencies: + "@babel/template": ^7.18.10 + "@babel/traverse": ^7.19.0 + "@babel/types": ^7.19.0 + checksum: e50e78e0dbb0435075fa3f85021a6bcae529589800bca0292721afd7f7c874bea54508d6dc57eca16e5b8224f8142c6b0e32e3b0140029dc09865da747da4623 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.16.7": version: 7.17.9 resolution: "@babel/highlight@npm:7.17.9" dependencies: @@ -156,19 +218,109 @@ __metadata: languageName: node linkType: hard -"@cspotcode/source-map-consumer@npm:0.8.0": - version: 0.8.0 - resolution: "@cspotcode/source-map-consumer@npm:0.8.0" - checksum: c0c16ca3d2f58898f1bd74c4f41a189dbcc202e642e60e489cbcc2e52419c4e89bdead02c886a12fb13ea37798ede9e562b2321df997ebc210ae9bd881561b4e +"@babel/highlight@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/highlight@npm:7.18.6" + dependencies: + "@babel/helper-validator-identifier": ^7.18.6 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: 92d8ee61549de5ff5120e945e774728e5ccd57fd3b2ed6eace020ec744823d4a98e242be1453d21764a30a14769ecd62170fba28539b211799bbaf232bbb2789 languageName: node linkType: hard -"@cspotcode/source-map-support@npm:0.7.0": - version: 0.7.0 - resolution: "@cspotcode/source-map-support@npm:0.7.0" +"@babel/parser@npm:7.17.8": + version: 7.17.8 + resolution: "@babel/parser@npm:7.17.8" + bin: + parser: ./bin/babel-parser.js + checksum: 1771808491982cc47baa888a997aef6b58308e3844c8c00f730f8fd97defe57d32cdbf46075cd49aaee310fa31f3d2c80a0d41b41a4ee0ff336ee09e2ff6c222 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.17.3, @babel/parser@npm:^7.17.8, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.19.1": + version: 7.19.1 + resolution: "@babel/parser@npm:7.19.1" + bin: + parser: ./bin/babel-parser.js + checksum: b1e0acb346b2a533c857e1e97ac0886cdcbd76aafef67835a2b23f760c10568eb53ad8a27dd5f862d8ba4e583742e6067f107281ccbd68959d61bc61e4ddaa51 + languageName: node + linkType: hard + +"@babel/template@npm:^7.16.7, @babel/template@npm:^7.18.10": + version: 7.18.10 + resolution: "@babel/template@npm:7.18.10" + dependencies: + "@babel/code-frame": ^7.18.6 + "@babel/parser": ^7.18.10 + "@babel/types": ^7.18.10 + checksum: 93a6aa094af5f355a72bd55f67fa1828a046c70e46f01b1606e6118fa1802b6df535ca06be83cc5a5e834022be95c7b714f0a268b5f20af984465a71e28f1473 + languageName: node + linkType: hard + +"@babel/traverse@npm:7.17.3": + version: 7.17.3 + resolution: "@babel/traverse@npm:7.17.3" + dependencies: + "@babel/code-frame": ^7.16.7 + "@babel/generator": ^7.17.3 + "@babel/helper-environment-visitor": ^7.16.7 + "@babel/helper-function-name": ^7.16.7 + "@babel/helper-hoist-variables": ^7.16.7 + "@babel/helper-split-export-declaration": ^7.16.7 + "@babel/parser": ^7.17.3 + "@babel/types": ^7.17.0 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: 780d7ecf711758174989794891af08d378f81febdb8932056c0d9979524bf0298e28f8e7708a872d7781151506c28f56c85c63ea3f1f654662c2fcb8a3eb9fdc + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.17.3, @babel/traverse@npm:^7.19.0": + version: 7.19.1 + resolution: "@babel/traverse@npm:7.19.1" + dependencies: + "@babel/code-frame": ^7.18.6 + "@babel/generator": ^7.19.0 + "@babel/helper-environment-visitor": ^7.18.9 + "@babel/helper-function-name": ^7.19.0 + "@babel/helper-hoist-variables": ^7.18.6 + "@babel/helper-split-export-declaration": ^7.18.6 + "@babel/parser": ^7.19.1 + "@babel/types": ^7.19.0 + debug: ^4.1.0 + globals: ^11.1.0 + checksum: 9d782b5089ebc989e54c2406814ed1206cb745ed2734e6602dee3e23d4b6ebbb703ff86e536276630f8de83fda6cde99f0634e3c3d847ddb40572d0303ba8800 + languageName: node + linkType: hard + +"@babel/types@npm:7.17.0": + version: 7.17.0 + resolution: "@babel/types@npm:7.17.0" + dependencies: + "@babel/helper-validator-identifier": ^7.16.7 + to-fast-properties: ^2.0.0 + checksum: 12e5a287986fe557188e87b2c5202223f1dc83d9239a196ab936fdb9f8c1eb0be717ff19f934b5fad4e29a75586d5798f74bed209bccea1c20376b9952056f0e + languageName: node + linkType: hard + +"@babel/types@npm:^7.17.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.6, @babel/types@npm:^7.19.0, @babel/types@npm:^7.8.3": + version: 7.19.0 + resolution: "@babel/types@npm:7.19.0" dependencies: - "@cspotcode/source-map-consumer": 0.8.0 - checksum: 9faddda7757cd778b5fd6812137b2cc265810043680d6399acc20441668fafcdc874053be9dccd0d9110087287bfad27eb3bf342f72bceca9aa9059f5d0c4be8 + "@babel/helper-string-parser": ^7.18.10 + "@babel/helper-validator-identifier": ^7.18.6 + to-fast-properties: ^2.0.0 + checksum: 9b346715a68aeede70ba9c685a144b0b26c53bcd595d448e24c8fa8df4d5956a5712e56ebadb7c85dcc32f218ee42788e37b93d50d3295c992072224cb3ef3fe + languageName: node + linkType: hard + +"@cspotcode/source-map-support@npm:^0.8.0": + version: 0.8.1 + resolution: "@cspotcode/source-map-support@npm:0.8.1" + dependencies: + "@jridgewell/trace-mapping": 0.3.9 + checksum: 5718f267085ed8edb3e7ef210137241775e607ee18b77d95aa5bd7514f47f5019aa2d82d96b3bf342ef7aa890a346fa1044532ff7cc3009e7d24fce3ce6200fa languageName: node linkType: hard @@ -192,20 +344,20 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^0.4.3": - version: 0.4.3 - resolution: "@eslint/eslintrc@npm:0.4.3" +"@eslint/eslintrc@npm:^1.3.2": + version: 1.3.2 + resolution: "@eslint/eslintrc@npm:1.3.2" dependencies: ajv: ^6.12.4 - debug: ^4.1.1 - espree: ^7.3.0 - globals: ^13.9.0 - ignore: ^4.0.6 + debug: ^4.3.2 + espree: ^9.4.0 + globals: ^13.15.0 + ignore: ^5.2.0 import-fresh: ^3.2.1 - js-yaml: ^3.13.1 - minimatch: ^3.0.4 + js-yaml: ^4.1.0 + minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: 03a7704150b868c318aab6a94d87a33d30dc2ec579d27374575014f06237ba1370ae11178db772f985ef680d469dc237e7b16a1c5d8edaaeb8c3733e7a95a6d3 + checksum: 2074dca47d7e1c5c6323ff353f690f4b25d3ab53fe7d27337e2592d37a894cf60ca0e85ca66b50ff2db0bc7e630cc1e9c7347d65bb185b61416565584c38999c languageName: node linkType: hard @@ -387,7 +539,24 @@ __metadata: languageName: node linkType: hard -"@ethersproject/abi@npm:5.6.1, @ethersproject/abi@npm:^5.0.0-beta.146, @ethersproject/abi@npm:^5.1.2, @ethersproject/abi@npm:^5.5.0, @ethersproject/abi@npm:^5.6.0": +"@ethersproject/abi@npm:5.7.0, @ethersproject/abi@npm:^5.5.0, @ethersproject/abi@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/abi@npm:5.7.0" + dependencies: + "@ethersproject/address": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/hash": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + checksum: bc6962bb6cb854e4d2a4d65b2c49c716477675b131b1363312234bdbb7e19badb7d9ce66f4ca2a70ae2ea84f7123dbc4e300a1bfe5d58864a7eafabc1466627e + languageName: node + linkType: hard + +"@ethersproject/abi@npm:^5.0.0-beta.146, @ethersproject/abi@npm:^5.1.2": version: 5.6.1 resolution: "@ethersproject/abi@npm:5.6.1" dependencies: @@ -404,7 +573,22 @@ __metadata: languageName: node linkType: hard -"@ethersproject/abstract-provider@npm:5.6.0, @ethersproject/abstract-provider@npm:^5.6.0": +"@ethersproject/abstract-provider@npm:5.7.0, @ethersproject/abstract-provider@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/abstract-provider@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/networks": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + "@ethersproject/web": ^5.7.0 + checksum: 74cf4696245cf03bb7cc5b6cbf7b4b89dd9a79a1c4688126d214153a938126d4972d42c93182198653ce1de35f2a2cad68be40337d4774b3698a39b28f0228a8 + languageName: node + linkType: hard + +"@ethersproject/abstract-provider@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/abstract-provider@npm:5.6.0" dependencies: @@ -419,7 +603,20 @@ __metadata: languageName: node linkType: hard -"@ethersproject/abstract-signer@npm:5.6.0, @ethersproject/abstract-signer@npm:^5.6.0": +"@ethersproject/abstract-signer@npm:5.7.0, @ethersproject/abstract-signer@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/abstract-signer@npm:5.7.0" + dependencies: + "@ethersproject/abstract-provider": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + checksum: a823dac9cfb761e009851050ebebd5b229d1b1cc4a75b125c2da130ff37e8218208f7f9d1386f77407705b889b23d4a230ad67185f8872f083143e0073cbfbe3 + languageName: node + linkType: hard + +"@ethersproject/abstract-signer@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/abstract-signer@npm:5.6.0" dependencies: @@ -432,7 +629,20 @@ __metadata: languageName: node linkType: hard -"@ethersproject/address@npm:5.6.0, @ethersproject/address@npm:>=5.0.0-beta.128, @ethersproject/address@npm:^5.0.4, @ethersproject/address@npm:^5.6.0": +"@ethersproject/address@npm:5.7.0, @ethersproject/address@npm:>=5.0.0-beta.128, @ethersproject/address@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/address@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/rlp": ^5.7.0 + checksum: 64ea5ebea9cc0e845c413e6cb1e54e157dd9fc0dffb98e239d3a3efc8177f2ff798cd4e3206cf3660ee8faeb7bef1a47dc0ebef0d7b132c32e61e550c7d4c843 + languageName: node + linkType: hard + +"@ethersproject/address@npm:^5.0.4, @ethersproject/address@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/address@npm:5.6.0" dependencies: @@ -445,7 +655,16 @@ __metadata: languageName: node linkType: hard -"@ethersproject/base64@npm:5.6.0, @ethersproject/base64@npm:^5.6.0": +"@ethersproject/base64@npm:5.7.0, @ethersproject/base64@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/base64@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + checksum: 7dd5d734d623582f08f665434f53685041a3d3b334a0e96c0c8afa8bbcaab934d50e5b6b980e826a8fde8d353e0b18f11e61faf17468177274b8e7c69cd9742b + languageName: node + linkType: hard + +"@ethersproject/base64@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/base64@npm:5.6.0" dependencies: @@ -454,17 +673,28 @@ __metadata: languageName: node linkType: hard -"@ethersproject/basex@npm:5.6.0, @ethersproject/basex@npm:^5.6.0": - version: 5.6.0 - resolution: "@ethersproject/basex@npm:5.6.0" +"@ethersproject/basex@npm:5.7.0, @ethersproject/basex@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/basex@npm:5.7.0" dependencies: - "@ethersproject/bytes": ^5.6.0 - "@ethersproject/properties": ^5.6.0 - checksum: 144bb1d500ffd111045aee376ee86cacba6bc0b4169941f5532c3598aaa7590db0679793f4a6572585fae91a5e2200e0b8c782b155855138654aa6917527c975 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + checksum: 326087b7e1f3787b5fe6cd1cf2b4b5abfafbc355a45e88e22e5e9d6c845b613ffc5301d629b28d5c4d5e2bfe9ec424e6782c804956dff79be05f0098cb5817de languageName: node linkType: hard -"@ethersproject/bignumber@npm:5.6.0, @ethersproject/bignumber@npm:>=5.0.0-beta.130, @ethersproject/bignumber@npm:^5.0.7, @ethersproject/bignumber@npm:^5.5.0, @ethersproject/bignumber@npm:^5.6.0": +"@ethersproject/bignumber@npm:5.7.0, @ethersproject/bignumber@npm:>=5.0.0-beta.130, @ethersproject/bignumber@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/bignumber@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + bn.js: ^5.2.1 + checksum: 8c9a134b76f3feb4ec26a5a27379efb4e156b8fb2de0678a67788a91c7f4e30abe9d948638458e4b20f2e42380da0adacc7c9389d05fce070692edc6ae9b4904 + languageName: node + linkType: hard + +"@ethersproject/bignumber@npm:^5.0.7, @ethersproject/bignumber@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/bignumber@npm:5.6.0" dependencies: @@ -475,7 +705,16 @@ __metadata: languageName: node linkType: hard -"@ethersproject/bytes@npm:5.6.1, @ethersproject/bytes@npm:>=5.0.0-beta.129, @ethersproject/bytes@npm:^5.0.4, @ethersproject/bytes@npm:^5.5.0, @ethersproject/bytes@npm:^5.6.0": +"@ethersproject/bytes@npm:5.7.0, @ethersproject/bytes@npm:>=5.0.0-beta.129, @ethersproject/bytes@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/bytes@npm:5.7.0" + dependencies: + "@ethersproject/logger": ^5.7.0 + checksum: 66ad365ceaab5da1b23b72225c71dce472cf37737af5118181fa8ab7447d696bea15ca22e3a0e8836fdd8cfac161afe321a7c67d0dde96f9f645ddd759676621 + languageName: node + linkType: hard + +"@ethersproject/bytes@npm:^5.0.4, @ethersproject/bytes@npm:^5.6.0": version: 5.6.1 resolution: "@ethersproject/bytes@npm:5.6.1" dependencies: @@ -484,7 +723,16 @@ __metadata: languageName: node linkType: hard -"@ethersproject/constants@npm:5.6.0, @ethersproject/constants@npm:>=5.0.0-beta.128, @ethersproject/constants@npm:^5.0.4, @ethersproject/constants@npm:^5.6.0": +"@ethersproject/constants@npm:5.7.0, @ethersproject/constants@npm:>=5.0.0-beta.128, @ethersproject/constants@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/constants@npm:5.7.0" + dependencies: + "@ethersproject/bignumber": ^5.7.0 + checksum: 6d4b1355747cce837b3e76ec3bde70e4732736f23b04f196f706ebfa5d4d9c2be50904a390d4d40ce77803b98d03d16a9b6898418e04ba63491933ce08c4ba8a + languageName: node + linkType: hard + +"@ethersproject/constants@npm:^5.0.4, @ethersproject/constants@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/constants@npm:5.6.0" dependencies: @@ -493,25 +741,42 @@ __metadata: languageName: node linkType: hard -"@ethersproject/contracts@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/contracts@npm:5.6.0" +"@ethersproject/contracts@npm:5.7.0": + version: 5.7.0 + resolution: "@ethersproject/contracts@npm:5.7.0" dependencies: - "@ethersproject/abi": ^5.6.0 - "@ethersproject/abstract-provider": ^5.6.0 - "@ethersproject/abstract-signer": ^5.6.0 - "@ethersproject/address": ^5.6.0 - "@ethersproject/bignumber": ^5.6.0 - "@ethersproject/bytes": ^5.6.0 - "@ethersproject/constants": ^5.6.0 - "@ethersproject/logger": ^5.6.0 - "@ethersproject/properties": ^5.6.0 - "@ethersproject/transactions": ^5.6.0 - checksum: 9b149da295f0c063252185b94a907bbb3af2faac5a464947bca383a620b9cf8a4faa0e742c16d37a89d262547c645609ab91fbf87266a9e50ad4c17e65569e0d + "@ethersproject/abi": ^5.7.0 + "@ethersproject/abstract-provider": ^5.7.0 + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/address": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + checksum: 6ccf1121cba01b31e02f8c507cb971ab6bfed85706484a9ec09878ef1594a62215f43c4fdef8f4a4875b99c4a800bc95e3be69b1803f8ce479e07634b5a740c0 languageName: node linkType: hard -"@ethersproject/hash@npm:5.6.0, @ethersproject/hash@npm:>=5.0.0-beta.128, @ethersproject/hash@npm:^5.0.4, @ethersproject/hash@npm:^5.6.0": +"@ethersproject/hash@npm:5.7.0, @ethersproject/hash@npm:>=5.0.0-beta.128, @ethersproject/hash@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/hash@npm:5.7.0" + dependencies: + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/address": ^5.7.0 + "@ethersproject/base64": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + checksum: 6e9fa8d14eb08171cd32f17f98cc108ec2aeca74a427655f0d689c550fee0b22a83b3b400fad7fb3f41cf14d4111f87f170aa7905bcbcd1173a55f21b06262ef + languageName: node + linkType: hard + +"@ethersproject/hash@npm:^5.0.4, @ethersproject/hash@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/hash@npm:5.6.0" dependencies: @@ -527,48 +792,58 @@ __metadata: languageName: node linkType: hard -"@ethersproject/hdnode@npm:5.6.0, @ethersproject/hdnode@npm:^5.6.0": - version: 5.6.0 - resolution: "@ethersproject/hdnode@npm:5.6.0" - dependencies: - "@ethersproject/abstract-signer": ^5.6.0 - "@ethersproject/basex": ^5.6.0 - "@ethersproject/bignumber": ^5.6.0 - "@ethersproject/bytes": ^5.6.0 - "@ethersproject/logger": ^5.6.0 - "@ethersproject/pbkdf2": ^5.6.0 - "@ethersproject/properties": ^5.6.0 - "@ethersproject/sha2": ^5.6.0 - "@ethersproject/signing-key": ^5.6.0 - "@ethersproject/strings": ^5.6.0 - "@ethersproject/transactions": ^5.6.0 - "@ethersproject/wordlists": ^5.6.0 - checksum: 399919d8d43ed18e2ebfa7b9c1fab469d817d2146187b4a12eaa76508b8ec95ec80d1d64048831b7cbd7f7163b35fb13f8c26a1fe078319f7365d74e23c1c117 +"@ethersproject/hdnode@npm:5.7.0, @ethersproject/hdnode@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/hdnode@npm:5.7.0" + dependencies: + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/basex": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/pbkdf2": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/sha2": ^5.7.0 + "@ethersproject/signing-key": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + "@ethersproject/wordlists": ^5.7.0 + checksum: bfe5ca2d89a42de73655f853170ef4766b933c5f481cddad709b3aca18823275b096e572f92d1602a052f80b426edde44ad6b9d028799775a7dad4a5bbed2133 + languageName: node + linkType: hard + +"@ethersproject/json-wallets@npm:5.7.0, @ethersproject/json-wallets@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/json-wallets@npm:5.7.0" + dependencies: + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/address": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/hdnode": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/pbkdf2": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/random": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + aes-js: 3.0.0 + scrypt-js: 3.0.1 + checksum: f583458d22db62efaaf94d38dd243482776a45bf90f9f3882fbad5aa0b8fd288b41eb7c1ff8ec0b99c9b751088e43d6173530db64dd33c59f9d8daa8d7ad5aa2 languageName: node linkType: hard -"@ethersproject/json-wallets@npm:5.6.0, @ethersproject/json-wallets@npm:^5.6.0": - version: 5.6.0 - resolution: "@ethersproject/json-wallets@npm:5.6.0" +"@ethersproject/keccak256@npm:5.7.0, @ethersproject/keccak256@npm:>=5.0.0-beta.127, @ethersproject/keccak256@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/keccak256@npm:5.7.0" dependencies: - "@ethersproject/abstract-signer": ^5.6.0 - "@ethersproject/address": ^5.6.0 - "@ethersproject/bytes": ^5.6.0 - "@ethersproject/hdnode": ^5.6.0 - "@ethersproject/keccak256": ^5.6.0 - "@ethersproject/logger": ^5.6.0 - "@ethersproject/pbkdf2": ^5.6.0 - "@ethersproject/properties": ^5.6.0 - "@ethersproject/random": ^5.6.0 - "@ethersproject/strings": ^5.6.0 - "@ethersproject/transactions": ^5.6.0 - aes-js: 3.0.0 - scrypt-js: 3.0.1 - checksum: 8dda507745736bf37708af93df72727b4f375ff0f548e9496a39725fee5618955b3c4ce4850e667eca8b5b8576face747bb79be2f49a445b3228f99456675d3d + "@ethersproject/bytes": ^5.7.0 + js-sha3: 0.8.0 + checksum: ff70950d82203aab29ccda2553422cbac2e7a0c15c986bd20a69b13606ed8bb6e4fdd7b67b8d3b27d4f841e8222cbaccd33ed34be29f866fec7308f96ed244c6 languageName: node linkType: hard -"@ethersproject/keccak256@npm:5.6.0, @ethersproject/keccak256@npm:>=5.0.0-beta.127, @ethersproject/keccak256@npm:^5.0.3, @ethersproject/keccak256@npm:^5.6.0": +"@ethersproject/keccak256@npm:^5.0.3, @ethersproject/keccak256@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/keccak256@npm:5.6.0" dependencies: @@ -578,14 +853,30 @@ __metadata: languageName: node linkType: hard -"@ethersproject/logger@npm:5.6.0, @ethersproject/logger@npm:>=5.0.0-beta.129, @ethersproject/logger@npm:^5.0.5, @ethersproject/logger@npm:^5.6.0": +"@ethersproject/logger@npm:5.7.0, @ethersproject/logger@npm:>=5.0.0-beta.129, @ethersproject/logger@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/logger@npm:5.7.0" + checksum: 075ab2f605f1fd0813f2e39c3308f77b44a67732b36e712d9bc085f22a84aac4da4f71b39bee50fe78da3e1c812673fadc41180c9970fe5e486e91ea17befe0d + languageName: node + linkType: hard + +"@ethersproject/logger@npm:^5.0.5, @ethersproject/logger@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/logger@npm:5.6.0" checksum: 6eee38a973c7a458552278971c109a3e5df3c257e433cb959da9a287ea04628d1f510d41b83bd5f9da5ddc05d97d307ed2162a9ba1b4fcc50664e4f60061636c languageName: node linkType: hard -"@ethersproject/networks@npm:5.6.2, @ethersproject/networks@npm:^5.6.0": +"@ethersproject/networks@npm:5.7.1, @ethersproject/networks@npm:^5.7.0": + version: 5.7.1 + resolution: "@ethersproject/networks@npm:5.7.1" + dependencies: + "@ethersproject/logger": ^5.7.0 + checksum: 0339f312304c17d9a0adce550edb825d4d2c8c9468c1634c44172c67a9ed256f594da62c4cda5c3837a0f28b7fabc03aca9b492f68ff1fdad337ee861b27bd5d + languageName: node + linkType: hard + +"@ethersproject/networks@npm:^5.6.0": version: 5.6.2 resolution: "@ethersproject/networks@npm:5.6.2" dependencies: @@ -594,17 +885,26 @@ __metadata: languageName: node linkType: hard -"@ethersproject/pbkdf2@npm:5.6.0, @ethersproject/pbkdf2@npm:^5.6.0": - version: 5.6.0 - resolution: "@ethersproject/pbkdf2@npm:5.6.0" +"@ethersproject/pbkdf2@npm:5.7.0, @ethersproject/pbkdf2@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/pbkdf2@npm:5.7.0" dependencies: - "@ethersproject/bytes": ^5.6.0 - "@ethersproject/sha2": ^5.6.0 - checksum: 7d70b46f39373a07abb5512f38ce2c9f3e05640a07c658b584909e22d51c8c47882396427b9ab6ce80a1aa3f2074fd0a2aa6ac03290e2d7505089aa5ebccb55c + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/sha2": ^5.7.0 + checksum: b895adb9e35a8a127e794f7aadc31a2424ef355a70e51cde10d457e3e888bb8102373199a540cf61f2d6b9a32e47358f9c65b47d559f42bf8e596b5fd67901e9 languageName: node linkType: hard -"@ethersproject/properties@npm:5.6.0, @ethersproject/properties@npm:>=5.0.0-beta.131, @ethersproject/properties@npm:^5.0.3, @ethersproject/properties@npm:^5.6.0": +"@ethersproject/properties@npm:5.7.0, @ethersproject/properties@npm:>=5.0.0-beta.131, @ethersproject/properties@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/properties@npm:5.7.0" + dependencies: + "@ethersproject/logger": ^5.7.0 + checksum: 6ab0ccf0c3aadc9221e0cdc5306ce6cd0df7f89f77d77bccdd1277182c9ead0202cd7521329ba3acde130820bf8af299e17cf567d0d497c736ee918207bbf59f + languageName: node + linkType: hard + +"@ethersproject/properties@npm:^5.0.3, @ethersproject/properties@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/properties@npm:5.6.0" dependencies: @@ -613,44 +913,55 @@ __metadata: languageName: node linkType: hard -"@ethersproject/providers@npm:5.6.5": - version: 5.6.5 - resolution: "@ethersproject/providers@npm:5.6.5" - dependencies: - "@ethersproject/abstract-provider": ^5.6.0 - "@ethersproject/abstract-signer": ^5.6.0 - "@ethersproject/address": ^5.6.0 - "@ethersproject/basex": ^5.6.0 - "@ethersproject/bignumber": ^5.6.0 - "@ethersproject/bytes": ^5.6.0 - "@ethersproject/constants": ^5.6.0 - "@ethersproject/hash": ^5.6.0 - "@ethersproject/logger": ^5.6.0 - "@ethersproject/networks": ^5.6.0 - "@ethersproject/properties": ^5.6.0 - "@ethersproject/random": ^5.6.0 - "@ethersproject/rlp": ^5.6.0 - "@ethersproject/sha2": ^5.6.0 - "@ethersproject/strings": ^5.6.0 - "@ethersproject/transactions": ^5.6.0 - "@ethersproject/web": ^5.6.0 +"@ethersproject/providers@npm:5.7.1": + version: 5.7.1 + resolution: "@ethersproject/providers@npm:5.7.1" + dependencies: + "@ethersproject/abstract-provider": ^5.7.0 + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/address": ^5.7.0 + "@ethersproject/base64": ^5.7.0 + "@ethersproject/basex": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/hash": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/networks": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/random": ^5.7.0 + "@ethersproject/rlp": ^5.7.0 + "@ethersproject/sha2": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + "@ethersproject/web": ^5.7.0 bech32: 1.1.4 ws: 7.4.6 - checksum: f8b37d72068e845f447f922cceddda73508ad539bb035e3f094b6feb7de2a8c6dde87ecd7ee2ec00712e7135145f7e9a902f0b845a0cb604313caf7cb6b440a7 + checksum: 673745e967e7215b46b7d3024f5ee02be975d6cf66b605f87a0e5beaa349d6d30c987165f98eceddaf7996f64a1ec414f0715f25fc3458aead6eea4c4820c399 languageName: node linkType: hard -"@ethersproject/random@npm:5.6.0, @ethersproject/random@npm:^5.6.0": - version: 5.6.0 - resolution: "@ethersproject/random@npm:5.6.0" +"@ethersproject/random@npm:5.7.0, @ethersproject/random@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/random@npm:5.7.0" dependencies: - "@ethersproject/bytes": ^5.6.0 - "@ethersproject/logger": ^5.6.0 - checksum: 0d21ce97503f2764b01402093ba73afec69d2631611fe0bda35690e1e2aea0eda39f32dc868123c87505cf5e0618dd32c4aed933203d8011e234889e455212b3 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + checksum: 017829c91cff6c76470852855108115b0b52c611b6be817ed1948d56ba42d6677803ec2012aa5ae298a7660024156a64c11fcf544e235e239ab3f89f0fff7345 + languageName: node + linkType: hard + +"@ethersproject/rlp@npm:5.7.0, @ethersproject/rlp@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/rlp@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + checksum: bce165b0f7e68e4d091c9d3cf47b247cac33252df77a095ca4281d32d5eeaaa3695d9bc06b2b057c5015353a68df89f13a4a54a72e888e4beeabbe56b15dda6e languageName: node linkType: hard -"@ethersproject/rlp@npm:5.6.0, @ethersproject/rlp@npm:^5.6.0": +"@ethersproject/rlp@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/rlp@npm:5.6.0" dependencies: @@ -660,18 +971,32 @@ __metadata: languageName: node linkType: hard -"@ethersproject/sha2@npm:5.6.0, @ethersproject/sha2@npm:^5.6.0": - version: 5.6.0 - resolution: "@ethersproject/sha2@npm:5.6.0" +"@ethersproject/sha2@npm:5.7.0, @ethersproject/sha2@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/sha2@npm:5.7.0" dependencies: - "@ethersproject/bytes": ^5.6.0 - "@ethersproject/logger": ^5.6.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 hash.js: 1.1.7 - checksum: 8f424f52720e9127e015afca948412289f97444bc9c3e38c06a43fb1635aa29a7e98976ee4dab7044ba51b25836092377c0691ccbcae6fe7349ca38ca3ab8d80 + checksum: 09321057c022effbff4cc2d9b9558228690b5dd916329d75c4b1ffe32ba3d24b480a367a7cc92d0f0c0b1c896814d03351ae4630e2f1f7160be2bcfbde435dbc languageName: node linkType: hard -"@ethersproject/signing-key@npm:5.6.1, @ethersproject/signing-key@npm:^5.6.0": +"@ethersproject/signing-key@npm:5.7.0, @ethersproject/signing-key@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/signing-key@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + bn.js: ^5.2.1 + elliptic: 6.5.4 + hash.js: 1.1.7 + checksum: 8f8de09b0aac709683bbb49339bc0a4cd2f95598f3546436c65d6f3c3a847ffa98e06d35e9ed2b17d8030bd2f02db9b7bd2e11c5cf8a71aad4537487ab4cf03a + languageName: node + linkType: hard + +"@ethersproject/signing-key@npm:^5.6.0": version: 5.6.1 resolution: "@ethersproject/signing-key@npm:5.6.1" dependencies: @@ -685,21 +1010,32 @@ __metadata: languageName: node linkType: hard -"@ethersproject/solidity@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/solidity@npm:5.6.0" +"@ethersproject/solidity@npm:5.7.0": + version: 5.7.0 + resolution: "@ethersproject/solidity@npm:5.7.0" dependencies: - "@ethersproject/bignumber": ^5.6.0 - "@ethersproject/bytes": ^5.6.0 - "@ethersproject/keccak256": ^5.6.0 - "@ethersproject/logger": ^5.6.0 - "@ethersproject/sha2": ^5.6.0 - "@ethersproject/strings": ^5.6.0 - checksum: e23475603167291b0589cc7d1187e45f3bc5042de958153503e7a259a5d1677ce336d5cdb570805529e50d0bb5b9ade6ce6c0553ec7ea7bed5ecae603262701d + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/sha2": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + checksum: 9a02f37f801c96068c3e7721f83719d060175bc4e80439fe060e92bd7acfcb6ac1330c7e71c49f4c2535ca1308f2acdcb01e00133129aac00581724c2d6293f3 languageName: node linkType: hard -"@ethersproject/strings@npm:5.6.0, @ethersproject/strings@npm:>=5.0.0-beta.130, @ethersproject/strings@npm:^5.0.4, @ethersproject/strings@npm:^5.6.0": +"@ethersproject/strings@npm:5.7.0, @ethersproject/strings@npm:>=5.0.0-beta.130, @ethersproject/strings@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/strings@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + checksum: 5ff78693ae3fdf3cf23e1f6dc047a61e44c8197d2408c42719fef8cb7b7b3613a4eec88ac0ed1f9f5558c74fe0de7ae3195a29ca91a239c74b9f444d8e8b50df + languageName: node + linkType: hard + +"@ethersproject/strings@npm:^5.0.4, @ethersproject/strings@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/strings@npm:5.6.0" dependencies: @@ -710,7 +1046,24 @@ __metadata: languageName: node linkType: hard -"@ethersproject/transactions@npm:5.6.0, @ethersproject/transactions@npm:^5.0.0-beta.135, @ethersproject/transactions@npm:^5.6.0": +"@ethersproject/transactions@npm:5.7.0, @ethersproject/transactions@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/transactions@npm:5.7.0" + dependencies: + "@ethersproject/address": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/rlp": ^5.7.0 + "@ethersproject/signing-key": ^5.7.0 + checksum: a31b71996d2b283f68486241bff0d3ea3f1ba0e8f1322a8fffc239ccc4f4a7eb2ea9994b8fd2f093283fd75f87bae68171e01b6265261f821369aca319884a79 + languageName: node + linkType: hard + +"@ethersproject/transactions@npm:^5.0.0-beta.135, @ethersproject/transactions@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/transactions@npm:5.6.0" dependencies: @@ -727,41 +1080,54 @@ __metadata: languageName: node linkType: hard -"@ethersproject/units@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/units@npm:5.6.0" +"@ethersproject/units@npm:5.7.0": + version: 5.7.0 + resolution: "@ethersproject/units@npm:5.7.0" dependencies: - "@ethersproject/bignumber": ^5.6.0 - "@ethersproject/constants": ^5.6.0 - "@ethersproject/logger": ^5.6.0 - checksum: 4bca3d4797de2f204d6c23f64e417f60580008139067cf971ff0da3c03c20921f006933a6ae035b53df0e2522f8f999596dcd9df385b22b4b6f9479409f46b13 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + checksum: 304714f848cd32e57df31bf545f7ad35c2a72adae957198b28cbc62166daa929322a07bff6e9c9ac4577ab6aa0de0546b065ed1b2d20b19e25748b7d475cb0fc languageName: node linkType: hard -"@ethersproject/wallet@npm:5.6.0": - version: 5.6.0 - resolution: "@ethersproject/wallet@npm:5.6.0" +"@ethersproject/wallet@npm:5.7.0": + version: 5.7.0 + resolution: "@ethersproject/wallet@npm:5.7.0" dependencies: - "@ethersproject/abstract-provider": ^5.6.0 - "@ethersproject/abstract-signer": ^5.6.0 - "@ethersproject/address": ^5.6.0 - "@ethersproject/bignumber": ^5.6.0 - "@ethersproject/bytes": ^5.6.0 - "@ethersproject/hash": ^5.6.0 - "@ethersproject/hdnode": ^5.6.0 - "@ethersproject/json-wallets": ^5.6.0 - "@ethersproject/keccak256": ^5.6.0 - "@ethersproject/logger": ^5.6.0 - "@ethersproject/properties": ^5.6.0 - "@ethersproject/random": ^5.6.0 - "@ethersproject/signing-key": ^5.6.0 - "@ethersproject/transactions": ^5.6.0 - "@ethersproject/wordlists": ^5.6.0 - checksum: 2e0900f136ffd0418a161d708116d6b966596c001a7f55861ceeea28282ce6ad61180cce24589c9b4df001d096352d57128a401edfc613af9daed3724b2a0ec9 + "@ethersproject/abstract-provider": ^5.7.0 + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/address": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/hash": ^5.7.0 + "@ethersproject/hdnode": ^5.7.0 + "@ethersproject/json-wallets": ^5.7.0 + "@ethersproject/keccak256": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/random": ^5.7.0 + "@ethersproject/signing-key": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + "@ethersproject/wordlists": ^5.7.0 + checksum: a4009bf7331eddab38e3015b5e9101ef92de7f705b00a6196b997db0e5635b6d83561674d46c90c6f77b87c0500fe4a6b0183ba13749efc22db59c99deb82fbd + languageName: node + linkType: hard + +"@ethersproject/web@npm:5.7.1, @ethersproject/web@npm:^5.7.0": + version: 5.7.1 + resolution: "@ethersproject/web@npm:5.7.1" + dependencies: + "@ethersproject/base64": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + checksum: 7028c47103f82fd2e2c197ce0eecfacaa9180ffeec7de7845b1f4f9b19d84081b7a48227aaddde05a4aaa526af574a9a0ce01cc0fc75e3e371f84b38b5b16b2b languageName: node linkType: hard -"@ethersproject/web@npm:5.6.0, @ethersproject/web@npm:^5.6.0": +"@ethersproject/web@npm:^5.6.0": version: 5.6.0 resolution: "@ethersproject/web@npm:5.6.0" dependencies: @@ -774,41 +1140,207 @@ __metadata: languageName: node linkType: hard -"@ethersproject/wordlists@npm:5.6.0, @ethersproject/wordlists@npm:^5.6.0": - version: 5.6.0 - resolution: "@ethersproject/wordlists@npm:5.6.0" +"@ethersproject/wordlists@npm:5.7.0, @ethersproject/wordlists@npm:^5.7.0": + version: 5.7.0 + resolution: "@ethersproject/wordlists@npm:5.7.0" + dependencies: + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/hash": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + checksum: 30eb6eb0731f9ef5faa44bf9c0c6e950bcaaef61e4d2d9ce0ae6d341f4e2d6d1f4ab4f8880bfce03b7aac4b862fb740e1421170cfbf8e2aafc359277d49e6e97 + languageName: node + linkType: hard + +"@gar/promisify@npm:^1.1.3": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.10.4": + version: 0.10.4 + resolution: "@humanwhocodes/config-array@npm:0.10.4" + dependencies: + "@humanwhocodes/object-schema": ^1.2.1 + debug: ^4.1.1 + minimatch: ^3.0.4 + checksum: d480e5d57e6d787565b6cff78e27c3d1b380692d4ffb0ada7d7f5957a56c9032f034da05a3e443065dbd0671ebf4d859036ced34e96b325bbc1badbae3c05300 + languageName: node + linkType: hard + +"@humanwhocodes/gitignore-to-minimatch@npm:^1.0.2": + version: 1.0.2 + resolution: "@humanwhocodes/gitignore-to-minimatch@npm:1.0.2" + checksum: aba5c40c9e3770ed73a558b0bfb53323842abfc2ce58c91d7e8b1073995598e6374456d38767be24ab6176915f0a8d8b23eaae5c85e2b488c0dccca6d795e2ad + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 0fd22007db8034a2cdf2c764b140d37d9020bbfce8a49d3ec5c05290e77d4b0263b1b972b752df8c89e5eaa94073408f2b7d977aed131faf6cf396ebb5d7fb61 + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^1.2.1": + version: 1.2.1 + resolution: "@humanwhocodes/object-schema@npm:1.2.1" + checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 + languageName: node + linkType: hard + +"@hyperlane-xyz/app@npm:0.5.0-beta0": + version: 0.5.0-beta0 + resolution: "@hyperlane-xyz/app@npm:0.5.0-beta0" + dependencies: + "@hyperlane-xyz/core": 0.5.0-beta0 + "@hyperlane-xyz/utils": 0.5.0-beta0 + "@openzeppelin/contracts-upgradeable": ^4.5.0 + checksum: 14dac843eb418bd9807116bb0dd56aca08bd4a8645cd635f534dc75bb8fbfd1b5a12c1d1b2e9343d12592798e827f191c48725d0e6d943e2e9d7fe3bd3fddf47 + languageName: node + linkType: hard + +"@hyperlane-xyz/celo-ethers-provider@npm:^0.1.1": + version: 0.1.1 + resolution: "@hyperlane-xyz/celo-ethers-provider@npm:0.1.1" + peerDependencies: + ethers: ^5 + checksum: 5ea495505b3e4338ec6c419f69b66af2d35b86e7cdab9bc7ee65ba4a233729b2143b0a72cc637f8e8795ecacc18eeda5ac803e8b3de9a63e7ceb5dc14014b3d4 + languageName: node + linkType: hard + +"@hyperlane-xyz/core@npm:0.5.0-beta0": + version: 0.5.0-beta0 + resolution: "@hyperlane-xyz/core@npm:0.5.0-beta0" + dependencies: + "@hyperlane-xyz/utils": 0.5.0-beta0 + "@openzeppelin/contracts": ^4.6.0 + "@openzeppelin/contracts-upgradeable": ^4.6.0 + "@summa-tx/memview-sol": ^2.0.0 + checksum: 7c3f88d4140d63b50013feddd1a13275e28eeb1ff1e7cd119480aee904a11c6ff0b50535159e90058b6a80cf28176a7ef0bdd13a20e99f82ef722a34b807a193 + languageName: node + linkType: hard + +"@hyperlane-xyz/hyperlane-token@workspace:.": + version: 0.0.0-use.local + resolution: "@hyperlane-xyz/hyperlane-token@workspace:." + dependencies: + "@hyperlane-xyz/sdk": ^0.5.0-beta0 + "@nomiclabs/hardhat-ethers": ^2.0.5 + "@nomiclabs/hardhat-waffle": ^2.0.2 + "@openzeppelin/contracts-upgradeable": ^4.6.0 + "@trivago/prettier-plugin-sort-imports": ^3.2.0 + "@typechain/ethers-v5": 10.0.0 + "@typechain/hardhat": ^6.0.0 + "@types/mocha": ^9.1.0 + "@typescript-eslint/eslint-plugin": ^5.27.0 + "@typescript-eslint/parser": ^5.27.0 + chai: ^4.3.0 + eslint: ^8.16.0 + eslint-config-prettier: ^8.5.0 + ethereum-waffle: ^3.4.4 + ethers: ^5.6.8 + hardhat: ^2.8.4 + hardhat-gas-reporter: ^1.0.7 + prettier: ^2.4.1 + prettier-plugin-solidity: ^1.0.0-beta.5 + solhint: ^3.3.2 + solhint-plugin-prettier: ^0.0.5 + solidity-coverage: ^0.7.14 + ts-node: ^10.8.0 + typechain: 8.0.0 + typescript: ^4.7.2 + languageName: unknown + linkType: soft + +"@hyperlane-xyz/sdk@npm:^0.5.0-beta0": + version: 0.5.0-beta0 + resolution: "@hyperlane-xyz/sdk@npm:0.5.0-beta0" + dependencies: + "@hyperlane-xyz/app": 0.5.0-beta0 + "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 + "@hyperlane-xyz/core": 0.5.0-beta0 + "@hyperlane-xyz/utils": 0.5.0-beta0 + "@types/debug": ^4.1.7 + coingecko-api: ^1.0.10 + cross-fetch: ^3.1.5 + debug: ^4.3.4 + ethers: ^5.6.8 + checksum: 85ef5c70ad290f1ff67297fdd76419d8b4290b22c3a1eb9ed5c1ac4876c7fef5c11471a063190aa8940156bc622e6527950d24aac9e58897cd301da33c41c1c7 + languageName: node + linkType: hard + +"@hyperlane-xyz/utils@npm:0.5.0-beta0": + version: 0.5.0-beta0 + resolution: "@hyperlane-xyz/utils@npm:0.5.0-beta0" + dependencies: + ethers: ^5.6.8 + checksum: 7628b0624a1b7bbab77b04ada38d0842dee8076273f58c0cd608877b430e46f2d965de0293d53b6bdcfe66b4fb36840ded0ee2a9e30894394415be38817e223f + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.1.0": + version: 0.1.1 + resolution: "@jridgewell/gen-mapping@npm:0.1.1" + dependencies: + "@jridgewell/set-array": ^1.0.0 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: 3bcc21fe786de6ffbf35c399a174faab05eb23ce6a03e8769569de28abbf4facc2db36a9ddb0150545ae23a8d35a7cf7237b2aa9e9356a7c626fb4698287d5cc + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.2": + version: 0.3.2 + resolution: "@jridgewell/gen-mapping@npm:0.3.2" dependencies: - "@ethersproject/bytes": ^5.6.0 - "@ethersproject/hash": ^5.6.0 - "@ethersproject/logger": ^5.6.0 - "@ethersproject/properties": ^5.6.0 - "@ethersproject/strings": ^5.6.0 - checksum: 648d948d884aff09cfc11f1db404fff0489a49d50f4d878f2dbda14e02214c24e2e2efec7a3215929a5e433232413c435e41d47f2f405a46408cfd79c7f2ae78 + "@jridgewell/set-array": ^1.0.1 + "@jridgewell/sourcemap-codec": ^1.4.10 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: 1832707a1c476afebe4d0fbbd4b9434fdb51a4c3e009ab1e9938648e21b7a97049fa6009393bdf05cab7504108413441df26d8a3c12193996e65493a4efb6882 languageName: node linkType: hard -"@gar/promisify@npm:^1.1.3": - version: 1.1.3 - resolution: "@gar/promisify@npm:1.1.3" - checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 +"@jridgewell/resolve-uri@npm:^3.0.3": + version: 3.1.0 + resolution: "@jridgewell/resolve-uri@npm:3.1.0" + checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.5.0": - version: 0.5.0 - resolution: "@humanwhocodes/config-array@npm:0.5.0" +"@jridgewell/set-array@npm:^1.0.0, @jridgewell/set-array@npm:^1.0.1": + version: 1.1.2 + resolution: "@jridgewell/set-array@npm:1.1.2" + checksum: 69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10": + version: 1.4.14 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" + checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:0.3.9": + version: 0.3.9 + resolution: "@jridgewell/trace-mapping@npm:0.3.9" dependencies: - "@humanwhocodes/object-schema": ^1.2.0 - debug: ^4.1.1 - minimatch: ^3.0.4 - checksum: 44ee6a9f05d93dd9d5935a006b17572328ba9caff8002442f601736cbda79c580cc0f5a49ce9eb88fbacc5c3a6b62098357c2e95326cd17bb9f1a6c61d6e95e7 + "@jridgewell/resolve-uri": ^3.0.3 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: d89597752fd88d3f3480845691a05a44bd21faac18e2185b6f436c3b0fd0c5a859fbbd9aaa92050c4052caf325ad3e10e2e1d1b64327517471b7d51babc0ddef languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^1.2.0": - version: 1.2.1 - resolution: "@humanwhocodes/object-schema@npm:1.2.1" - checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 +"@jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.15 + resolution: "@jridgewell/trace-mapping@npm:0.3.15" + dependencies: + "@jridgewell/resolve-uri": ^3.0.3 + "@jridgewell/sourcemap-codec": ^1.4.10 + checksum: 38917e9c2b014d469a9f51c016ed506acbe44dd16ec2f6f99b553ebf3764d22abadbf992f2367b6d2b3511f3eae8ed3a8963f6c1030093fda23efd35ecab2bae languageName: node linkType: hard @@ -866,7 +1398,7 @@ __metadata: languageName: node linkType: hard -"@nomiclabs/hardhat-ethers@npm:^2.0.1, @nomiclabs/hardhat-ethers@npm:^2.0.5": +"@nomiclabs/hardhat-ethers@npm:^2.0.5": version: 2.0.5 resolution: "@nomiclabs/hardhat-ethers@npm:2.0.5" peerDependencies: @@ -876,7 +1408,7 @@ __metadata: languageName: node linkType: hard -"@nomiclabs/hardhat-waffle@npm:^2.0.1, @nomiclabs/hardhat-waffle@npm:^2.0.2": +"@nomiclabs/hardhat-waffle@npm:^2.0.2": version: 2.0.3 resolution: "@nomiclabs/hardhat-waffle@npm:2.0.3" dependencies: @@ -918,24 +1450,17 @@ __metadata: languageName: node linkType: hard -"@openzeppelin/contracts-upgradeable@npm:~3.4.2": - version: 3.4.2 - resolution: "@openzeppelin/contracts-upgradeable@npm:3.4.2" - checksum: dd461cdc8353ee6219e746fa71eced068df46c6df4bfe29207a8ad35064b476c2aa532ec0026c505d9515857ada5838c445b2433e2dadc0878fc678046c4e8b0 - languageName: node - linkType: hard - -"@openzeppelin/contracts-upgradeable@npm:~4.5.0": - version: 4.5.2 - resolution: "@openzeppelin/contracts-upgradeable@npm:4.5.2" - checksum: bd6a12eb83d8e3194e0847ffb248a1063668e2bf723afd21066316090de9b02e95af6057086a95fa21b0d09a2ef0ea057459bb5f5645dfff298e59e8c3267692 +"@openzeppelin/contracts-upgradeable@npm:^4.6.0": + version: 4.7.3 + resolution: "@openzeppelin/contracts-upgradeable@npm:4.7.3" + checksum: c9ffb40cb847a975d440204fc6a811f43af960050242f707332b984d29bd16dc242ffa0935de61867aeb9e0357fadedb16b09b276deda5e9775582face831021 languageName: node linkType: hard -"@openzeppelin/contracts@npm:^3.4.2, @openzeppelin/contracts@npm:~3.4.2": - version: 3.4.2 - resolution: "@openzeppelin/contracts@npm:3.4.2" - checksum: 0c90f029fe50a49643588e4c8670dae3bbf31795133a6ddce9bdcbc258486332700bb732287baabf7bf807f39182fe8ea2ffa19aa5caf359b1b9c0f083280748 +"@openzeppelin/contracts@npm:^4.6.0": + version: 4.7.3 + resolution: "@openzeppelin/contracts@npm:4.7.3" + checksum: 18382fcacf7cfd652f5dd0e70c08f08ea74eaa8ff11e9f9850639ada70198ae01a3f9493d89a52d724f2db394e9616bf6258017804612ba273167cf657fbb073 languageName: node linkType: hard @@ -1133,6 +1658,23 @@ __metadata: languageName: node linkType: hard +"@trivago/prettier-plugin-sort-imports@npm:^3.2.0": + version: 3.3.0 + resolution: "@trivago/prettier-plugin-sort-imports@npm:3.3.0" + dependencies: + "@babel/core": 7.17.8 + "@babel/generator": 7.17.7 + "@babel/parser": 7.17.8 + "@babel/traverse": 7.17.3 + "@babel/types": 7.17.0 + javascript-natural-sort: 0.7.1 + lodash: 4.17.21 + peerDependencies: + prettier: 2.x + checksum: 3777efd72c72a5ca7e56a7a279fddc48e02b2786873172ed25a41020455117e3d1220b8e77396418bb203242a31216097b861f657e454c6d3617c33f3cc42793 + languageName: node + linkType: hard + "@truffle/error@npm:^0.1.0": version: 0.1.0 resolution: "@truffle/error@npm:0.1.0" @@ -1190,6 +1732,23 @@ __metadata: languageName: node linkType: hard +"@typechain/ethers-v5@npm:10.0.0": + version: 10.0.0 + resolution: "@typechain/ethers-v5@npm:10.0.0" + dependencies: + lodash: ^4.17.15 + ts-essentials: ^7.0.1 + peerDependencies: + "@ethersproject/abi": ^5.0.0 + "@ethersproject/bytes": ^5.0.0 + "@ethersproject/providers": ^5.0.0 + ethers: ^5.1.3 + typechain: ^8.0.0 + typescript: ">=4.3.0" + checksum: f89a442829398d00e6c10c4cdebb16af3195cfbf6b0c062f24503ee1befc01c121a6d46edfd7b54aaf00c81b2e845730d2b556ecbaa6e15f360456f42fedb44d + languageName: node + linkType: hard + "@typechain/ethers-v5@npm:^2.0.0": version: 2.0.0 resolution: "@typechain/ethers-v5@npm:2.0.0" @@ -1202,30 +1761,19 @@ __metadata: languageName: node linkType: hard -"@typechain/ethers-v5@npm:~7.0.0": - version: 7.0.1 - resolution: "@typechain/ethers-v5@npm:7.0.1" - peerDependencies: - "@ethersproject/abi": ^5.0.0 - "@ethersproject/bytes": ^5.0.0 - "@ethersproject/providers": ^5.0.0 - ethers: ^5.1.3 - typechain: ^5.0.0 - typescript: ">=4.0.0" - checksum: 5d09eb6969f7a9dc3d8b4748d63bcdb4b0c54e4397c186c331cbb4c91bba76467b6b5b8e694f00bb5f4656bb97fc5a07b8e1ff73529b7eb7a5ce0b158cab0487 - languageName: node - linkType: hard - -"@typechain/hardhat@npm:^2.0.1": - version: 2.3.1 - resolution: "@typechain/hardhat@npm:2.3.1" +"@typechain/hardhat@npm:^6.0.0": + version: 6.1.3 + resolution: "@typechain/hardhat@npm:6.1.3" dependencies: fs-extra: ^9.1.0 peerDependencies: - hardhat: ^2.0.10 - lodash: ^4.17.15 - typechain: ^5.1.2 - checksum: f6090b80e3c75e47bb02c9b2c669258e976ccf06502c168b851ad7ca20f53cb554dcb8104bc7ca608f2111baa047ee8e52ce6153eb80450edb9736ba5ebfb12f + "@ethersproject/abi": ^5.4.7 + "@ethersproject/providers": ^5.4.7 + "@typechain/ethers-v5": ^10.1.0 + ethers: ^5.4.7 + hardhat: ^2.9.9 + typechain: ^8.1.0 + checksum: e386fc755622e3ad8446ac267a43644481f2f982542055ab5678cb03e8f7cdbb67633ab3a0e9bc59d9c8187fd70738f2d1edda9830bbb466f52ff47142e7e216 languageName: node linkType: hard @@ -1270,6 +1818,15 @@ __metadata: languageName: node linkType: hard +"@types/debug@npm:^4.1.7": + version: 4.1.7 + resolution: "@types/debug@npm:4.1.7" + dependencies: + "@types/ms": "*" + checksum: 0a7b89d8ed72526858f0b61c6fd81f477853e8c4415bb97f48b1b5545248d2ae389931680b94b393b993a7cfe893537a200647d93defe6d87159b96812305adc + languageName: node + linkType: hard + "@types/form-data@npm:0.0.33": version: 0.0.33 resolution: "@types/form-data@npm:0.0.33" @@ -1289,6 +1846,13 @@ __metadata: languageName: node linkType: hard +"@types/json-schema@npm:^7.0.9": + version: 7.0.11 + resolution: "@types/json-schema@npm:7.0.11" + checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d + languageName: node + linkType: hard + "@types/keyv@npm:^3.1.1": version: 3.1.4 resolution: "@types/keyv@npm:3.1.4" @@ -1346,13 +1910,20 @@ __metadata: languageName: node linkType: hard +"@types/ms@npm:*": + version: 0.7.31 + resolution: "@types/ms@npm:0.7.31" + checksum: daadd354aedde024cce6f5aa873fefe7b71b22cd0e28632a69e8b677aeb48ae8caa1c60e5919bb781df040d116b01cb4316335167a3fc0ef6a63fa3614c0f6da + languageName: node + linkType: hard + "@types/node-fetch@npm:^2.5.5": - version: 2.6.1 - resolution: "@types/node-fetch@npm:2.6.1" + version: 2.6.2 + resolution: "@types/node-fetch@npm:2.6.2" dependencies: "@types/node": "*" form-data: ^3.0.0 - checksum: a3e5d7f413d1638d795dff03f7b142b1b0e0c109ed210479000ce7b3ea11f9a6d89d9a024c96578d9249570c5fe5287a5f0f4aaba98199222230196ff2d6b283 + checksum: 6f73b1470000d303d25a6fb92875ea837a216656cb7474f66cdd67bb014aa81a5a11e7ac9c21fe19bee9ecb2ef87c1962bceeaec31386119d1ac86e4c30ad7a6 languageName: node linkType: hard @@ -1477,6 +2048,123 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/eslint-plugin@npm:^5.27.0": + version: 5.38.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.38.0" + dependencies: + "@typescript-eslint/scope-manager": 5.38.0 + "@typescript-eslint/type-utils": 5.38.0 + "@typescript-eslint/utils": 5.38.0 + debug: ^4.3.4 + ignore: ^5.2.0 + regexpp: ^3.2.0 + semver: ^7.3.7 + tsutils: ^3.21.0 + peerDependencies: + "@typescript-eslint/parser": ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: e9cd1970c7c8a438aee912cf00aa27bdcde0a0fb57bbfe70eccda93eefa5b4fb4c7ebf5ba7a51744c1ec2b4df3a72b8dcd19dc17a9c3e4e3435f631ac6b10a6a + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^5.27.0": + version: 5.38.0 + resolution: "@typescript-eslint/parser@npm:5.38.0" + dependencies: + "@typescript-eslint/scope-manager": 5.38.0 + "@typescript-eslint/types": 5.38.0 + "@typescript-eslint/typescript-estree": 5.38.0 + debug: ^4.3.4 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: d5fb2d8f3a25cd6ff31326c665db4617f2d428247cad690f0404de440abbcfc7261528f54d642d2b121aae34aadecb55a24b72c8ef341cafdc7b2bbcbf7dae8d + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:5.38.0": + version: 5.38.0 + resolution: "@typescript-eslint/scope-manager@npm:5.38.0" + dependencies: + "@typescript-eslint/types": 5.38.0 + "@typescript-eslint/visitor-keys": 5.38.0 + checksum: a34d2976e9c755b853b6524e0b9fb1da237340ddff9f6839a51ba37998527c02d0f2f16ffc3d4baa47898f2bb7eb85a6749d6ca588c0461dbd654d8f9925dd0f + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:5.38.0": + version: 5.38.0 + resolution: "@typescript-eslint/type-utils@npm:5.38.0" + dependencies: + "@typescript-eslint/typescript-estree": 5.38.0 + "@typescript-eslint/utils": 5.38.0 + debug: ^4.3.4 + tsutils: ^3.21.0 + peerDependencies: + eslint: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 43f2f55329b2357bedf158a93a469d058a11c69f8f88ff891080b8cb5977bffe8d679923bce7048cbc076c083e0f5741c83b761355309d606cc4e217e1da4208 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:5.38.0": + version: 5.38.0 + resolution: "@typescript-eslint/types@npm:5.38.0" + checksum: 03aec1de64417e60830c6d33bb4f1bf4402411080371013513f55c7a2fadb6f8745a89a7604cde03d89aa53307f94bc913060c5897ed93285247e4c39af43a00 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:5.38.0": + version: 5.38.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.38.0" + dependencies: + "@typescript-eslint/types": 5.38.0 + "@typescript-eslint/visitor-keys": 5.38.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + semver: ^7.3.7 + tsutils: ^3.21.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 174461c91e49a0340945da2d31e38ec175cd90b2b5068f3c925518cc9182100fe1435d3225908a52f62257e97bc2b995cbc6b6bd1b7143ff0a0e4b483bd70834 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:5.38.0": + version: 5.38.0 + resolution: "@typescript-eslint/utils@npm:5.38.0" + dependencies: + "@types/json-schema": ^7.0.9 + "@typescript-eslint/scope-manager": 5.38.0 + "@typescript-eslint/types": 5.38.0 + "@typescript-eslint/typescript-estree": 5.38.0 + eslint-scope: ^5.1.1 + eslint-utils: ^3.0.0 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: c927a68d4ff5029ed3dbc7e6e87702f7cdfba26452ccf401b37cc68f6e5cca72eb884831dbc7957512998d59950b1852b2ecea19f174a20fe659d851b4afd4fd + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:5.38.0": + version: 5.38.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.38.0" + dependencies: + "@typescript-eslint/types": 5.38.0 + eslint-visitor-keys: ^3.3.0 + checksum: cc3d0c6eb0c9a20a25d66b640d759cb1b52f8df485f16d948218d63d798b5c0672ef298f5dae5e5327ec021c0f8369d1da5d26b9c16a245a20fa44a9365956bc + languageName: node + linkType: hard + "@ungap/promise-all-settled@npm:1.1.2": version: 1.1.2 resolution: "@ungap/promise-all-settled@npm:1.1.2" @@ -1586,7 +2274,7 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.1": +"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" peerDependencies: @@ -1611,21 +2299,21 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.4.0": - version: 7.4.1 - resolution: "acorn@npm:7.4.1" +"acorn@npm:^8.4.1": + version: 8.7.1 + resolution: "acorn@npm:8.7.1" bin: acorn: bin/acorn - checksum: 1860f23c2107c910c6177b7b7be71be350db9e1080d814493fae143ae37605189504152d1ba8743ba3178d0b37269ce1ffc42b101547fdc1827078f82671e407 + checksum: aca0aabf98826717920ac2583fdcad0a6fbe4e583fdb6e843af2594e907455aeafe30b1e14f1757cd83ce1776773cf8296ffc3a4acf13f0bd3dfebcf1db6ae80 languageName: node linkType: hard -"acorn@npm:^8.4.1": - version: 8.7.1 - resolution: "acorn@npm:8.7.1" +"acorn@npm:^8.8.0": + version: 8.8.0 + resolution: "acorn@npm:8.8.0" bin: acorn: bin/acorn - checksum: aca0aabf98826717920ac2583fdcad0a6fbe4e583fdb6e843af2594e907455aeafe30b1e14f1757cd83ce1776773cf8296ffc3a4acf13f0bd3dfebcf1db6ae80 + checksum: 7270ca82b242eafe5687a11fea6e088c960af712683756abf0791b68855ea9cace3057bd5e998ffcef50c944810c1e0ca1da526d02b32110e13c722aa959afdc languageName: node linkType: hard @@ -1699,18 +2387,6 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.1": - version: 8.11.0 - resolution: "ajv@npm:8.11.0" - dependencies: - fast-deep-equal: ^3.1.1 - json-schema-traverse: ^1.0.0 - require-from-string: ^2.0.2 - uri-js: ^4.2.2 - checksum: 5e0ff226806763be73e93dd7805b634f6f5921e3e90ca04acdf8db81eed9d8d3f0d4c5f1213047f45ebbf8047ffe0c840fa1ef2ec42c3a644899f69aa72b5bef - languageName: node - linkType: hard - "amdefine@npm:>=0.0.4": version: 1.0.1 resolution: "amdefine@npm:1.0.1" @@ -1906,6 +2582,20 @@ __metadata: languageName: node linkType: hard +"array-back@npm:^3.0.1, array-back@npm:^3.1.0": + version: 3.1.0 + resolution: "array-back@npm:3.1.0" + checksum: 7205004fcd0f9edd926db921af901b083094608d5b265738d0290092f9822f73accb468e677db74c7c94ef432d39e5ed75a7b1786701e182efb25bbba9734209 + languageName: node + linkType: hard + +"array-back@npm:^4.0.1, array-back@npm:^4.0.2": + version: 4.0.2 + resolution: "array-back@npm:4.0.2" + checksum: f30603270771eeb54e5aad5f54604c62b3577a18b6db212a7272b2b6c32049121b49431f656654790ed1469411e45f387e7627c0de8fd0515995cc40df9b9294 + languageName: node + linkType: hard + "array-flatten@npm:1.1.1": version: 1.1.1 resolution: "array-flatten@npm:1.1.1" @@ -1934,6 +2624,19 @@ __metadata: languageName: node linkType: hard +"array.prototype.reduce@npm:^1.0.4": + version: 1.0.4 + resolution: "array.prototype.reduce@npm:1.0.4" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.2 + es-array-method-boxes-properly: ^1.0.0 + is-string: ^1.0.7 + checksum: 6a57a1a2d3b77a9543db139cd52211f43a5af8e8271cb3c173be802076e3a6f71204ba8f090f5937ebc0842d5876db282f0f63dffd0e86b153e6e5a45681e4a5 + languageName: node + linkType: hard + "asap@npm:~2.0.6": version: 2.0.6 resolution: "asap@npm:2.0.6" @@ -1997,13 +2700,6 @@ __metadata: languageName: node linkType: hard -"astral-regex@npm:^2.0.0": - version: 2.0.0 - resolution: "astral-regex@npm:2.0.0" - checksum: 876231688c66400473ba505731df37ea436e574dd524520294cc3bbc54ea40334865e01fa0d074d74d036ee874ee7e62f486ea38bc421ee8e6a871c06f011766 - languageName: node - linkType: hard - "async-eventemitter@npm:^0.2.2, async-eventemitter@npm:^0.2.4": version: 0.2.4 resolution: "async-eventemitter@npm:0.2.4" @@ -2843,6 +3539,13 @@ __metadata: languageName: node linkType: hard +"bn.js@npm:^5.2.1": + version: 5.2.1 + resolution: "bn.js@npm:5.2.1" + checksum: 3dd8c8d38055fedfa95c1d5fc3c99f8dd547b36287b37768db0abab3c239711f88ff58d18d155dd8ad902b0b0cee973747b7ae20ea12a09473272b0201c9edd3 + languageName: node + linkType: hard + "body-parser@npm:1.20.0, body-parser@npm:^1.16.0": version: 1.20.0 resolution: "body-parser@npm:1.20.0" @@ -2999,6 +3702,20 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.21.3": + version: 4.21.4 + resolution: "browserslist@npm:4.21.4" + dependencies: + caniuse-lite: ^1.0.30001400 + electron-to-chromium: ^1.4.251 + node-releases: ^2.0.6 + update-browserslist-db: ^1.0.9 + bin: + browserslist: cli.js + checksum: 4af3793704dbb4615bcd29059ab472344dc7961c8680aa6c4bb84f05340e14038d06a5aead58724eae69455b8fade8b8c69f1638016e87e5578969d74c078b79 + languageName: node + linkType: hard + "bs58@npm:^4.0.0": version: 4.0.1 resolution: "bs58@npm:4.0.1" @@ -3226,10 +3943,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30000844": - version: 1.0.30001338 - resolution: "caniuse-lite@npm:1.0.30001338" - checksum: 80ac481b20aac13d6168825762e2ad9b9895d36451088b921400c3cd818185e6d113c2d202e82cf3b88f4d2311b3064507f2e3f9fe9f0935fcaf42d9d4f15570 +"caniuse-lite@npm:^1.0.30000844, caniuse-lite@npm:^1.0.30001400": + version: 1.0.30001409 + resolution: "caniuse-lite@npm:1.0.30001409" + checksum: d8581693491295ad8716db7ad6dccf74de970fc3ef4723b38bbc03b972862d363a9710c2a7582abcb741e1619164ddceca1df4dcf3d53d550e74829a9cb5ca82 languageName: node linkType: hard @@ -3240,15 +3957,6 @@ __metadata: languageName: node linkType: hard -"celo-ethers-provider@npm:0.0.0": - version: 0.0.0 - resolution: "celo-ethers-provider@npm:0.0.0" - dependencies: - ethers: ^5.4.7 - checksum: e684dafae84dc6e1f88f1f9456e9eccbf225cac0b9075759a7341b1263afe8f9fed1fc515e6902429fdb24adb982e67b7b37f81d3708c1e47c6b365541c5eceb - languageName: node - linkType: hard - "chai@npm:^4.3.0": version: 4.3.6 resolution: "chai@npm:4.3.6" @@ -3522,6 +4230,13 @@ __metadata: languageName: node linkType: hard +"coingecko-api@npm:^1.0.10": + version: 1.0.10 + resolution: "coingecko-api@npm:1.0.10" + checksum: c900f5f7261dbfa2ecf3f6a2b018eb9de445db17bf9ef331e2751904f24c4e361144e9aa8ab1501fb4e741fa900dd61007e330a6b95a778d35b48d2ca5b61148 + languageName: node + linkType: hard + "collection-visit@npm:^1.0.0": version: 1.0.0 resolution: "collection-visit@npm:1.0.0" @@ -3609,6 +4324,30 @@ __metadata: languageName: node linkType: hard +"command-line-args@npm:^5.1.1": + version: 5.2.1 + resolution: "command-line-args@npm:5.2.1" + dependencies: + array-back: ^3.1.0 + find-replace: ^3.0.0 + lodash.camelcase: ^4.3.0 + typical: ^4.0.0 + checksum: e759519087be3cf2e86af8b9a97d3058b4910cd11ee852495be881a067b72891f6a32718fb685ee6d41531ab76b2b7bfb6602f79f882cd4b7587ff1e827982c7 + languageName: node + linkType: hard + +"command-line-usage@npm:^6.1.0": + version: 6.1.3 + resolution: "command-line-usage@npm:6.1.3" + dependencies: + array-back: ^4.0.2 + chalk: ^2.4.2 + table-layout: ^1.0.2 + typical: ^5.2.0 + checksum: 8261d4e5536eb0bcddee0ec5e89c05bb2abd18e5760785c8078ede5020bc1c612cbe28eb6586f5ed4a3660689748e5aaad4a72f21566f4ef39393694e2fa1a0b + languageName: node + linkType: hard + "commander@npm:2.18.0": version: 2.18.0 resolution: "commander@npm:2.18.0" @@ -3683,7 +4422,7 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^1.5.1": +"convert-source-map@npm:^1.5.1, convert-source-map@npm:^1.7.0": version: 1.8.0 resolution: "convert-source-map@npm:1.8.0" dependencies: @@ -3840,6 +4579,15 @@ __metadata: languageName: node linkType: hard +"cross-fetch@npm:^3.1.5": + version: 3.1.5 + resolution: "cross-fetch@npm:3.1.5" + dependencies: + node-fetch: 2.6.7 + checksum: f6b8c6ee3ef993ace6277fd789c71b6acf1b504fd5f5c7128df4ef2f125a429e29cd62dc8c127523f04a5f2fa4771ed80e3f3d9695617f441425045f505cf3bb + languageName: node + linkType: hard + "cross-spawn@npm:^6.0.5": version: 6.0.5 resolution: "cross-spawn@npm:6.0.5" @@ -3934,7 +4682,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.3": +"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -4020,6 +4768,13 @@ __metadata: languageName: node linkType: hard +"deep-extend@npm:~0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7 + languageName: node + linkType: hard + "deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -4268,9 +5023,16 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.3.47": - version: 1.4.137 - resolution: "electron-to-chromium@npm:1.4.137" - checksum: 639d7b94906efafcf363519c3698eecc44be46755a6a5cdc9088954329978866cc93fbd57e08b97290599b68d5226243d21de9fa50be416b8a5d3fa8fd42c3a0 + version: 1.4.256 + resolution: "electron-to-chromium@npm:1.4.256" + checksum: 878ca8e33a05165808a662b52ac332a42a5fcf842540de38c4cdde462e4c2cb2f2c10c4864cd44c486f8470f88818f42d275774865666aad424e1e4f500d91e8 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.4.251": + version: 1.4.257 + resolution: "electron-to-chromium@npm:1.4.257" + checksum: 0e15301c7420acbe5cdf8497026156144acfe5bedaba11bf0f837d4ed6d388d6f65a796a1b0569130c254066eea3062e50a4c452466ce9864b2bd9313181076e languageName: node linkType: hard @@ -4360,7 +5122,7 @@ __metadata: languageName: node linkType: hard -"enquirer@npm:^2.3.0, enquirer@npm:^2.3.5": +"enquirer@npm:^2.3.0": version: 2.3.6 resolution: "enquirer@npm:2.3.6" dependencies: @@ -4434,6 +5196,44 @@ __metadata: languageName: node linkType: hard +"es-abstract@npm:^1.19.2, es-abstract@npm:^1.20.1": + version: 1.20.2 + resolution: "es-abstract@npm:1.20.2" + dependencies: + call-bind: ^1.0.2 + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + function.prototype.name: ^1.1.5 + get-intrinsic: ^1.1.2 + get-symbol-description: ^1.0.0 + has: ^1.0.3 + has-property-descriptors: ^1.0.0 + has-symbols: ^1.0.3 + internal-slot: ^1.0.3 + is-callable: ^1.2.4 + is-negative-zero: ^2.0.2 + is-regex: ^1.1.4 + is-shared-array-buffer: ^1.0.2 + is-string: ^1.0.7 + is-weakref: ^1.0.2 + object-inspect: ^1.12.2 + object-keys: ^1.1.1 + object.assign: ^4.1.4 + regexp.prototype.flags: ^1.4.3 + string.prototype.trimend: ^1.0.5 + string.prototype.trimstart: ^1.0.5 + unbox-primitive: ^1.0.2 + checksum: ab893dd1f849250f5a2da82656b4e21b511f76429b25a4aea5c8b2a3007ff01cb8e112987d0dd7693b9ad9e6399f8f7be133285d6196a5ebd1b13a4ee2258f70 + languageName: node + linkType: hard + +"es-array-method-boxes-properly@npm:^1.0.0": + version: 1.0.0 + resolution: "es-array-method-boxes-properly@npm:1.0.0" + checksum: 2537fcd1cecf187083890bc6f5236d3a26bf39237433587e5bf63392e88faae929dbba78ff0120681a3f6f81c23fe3816122982c160d63b38c95c830b633b826 + languageName: node + linkType: hard + "es-to-primitive@npm:^1.2.1": version: 1.2.1 resolution: "es-to-primitive@npm:1.2.1" @@ -4524,6 +5324,17 @@ __metadata: languageName: node linkType: hard +"eslint-config-prettier@npm:^8.5.0": + version: 8.5.0 + resolution: "eslint-config-prettier@npm:8.5.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 0d0f5c32e7a0ad91249467ce71ca92394ccd343178277d318baf32063b79ea90216f4c81d1065d60f96366fdc60f151d4d68ae7811a58bd37228b84c2083f893 + languageName: node + linkType: hard + "eslint-scope@npm:^4.0.3": version: 4.0.3 resolution: "eslint-scope@npm:4.0.3" @@ -4544,6 +5355,16 @@ __metadata: languageName: node linkType: hard +"eslint-scope@npm:^7.1.1": + version: 7.1.1 + resolution: "eslint-scope@npm:7.1.1" + dependencies: + esrecurse: ^4.3.0 + estraverse: ^5.2.0 + checksum: 9f6e974ab2db641ca8ab13508c405b7b859e72afe9f254e8131ff154d2f40c99ad4545ce326fd9fde3212ff29707102562a4834f1c48617b35d98c71a97fbf3e + languageName: node + linkType: hard + "eslint-utils@npm:^1.3.1": version: 1.4.3 resolution: "eslint-utils@npm:1.4.3" @@ -4553,16 +5374,18 @@ __metadata: languageName: node linkType: hard -"eslint-utils@npm:^2.1.0": - version: 2.1.0 - resolution: "eslint-utils@npm:2.1.0" +"eslint-utils@npm:^3.0.0": + version: 3.0.0 + resolution: "eslint-utils@npm:3.0.0" dependencies: - eslint-visitor-keys: ^1.1.0 - checksum: 27500938f348da42100d9e6ad03ae29b3de19ba757ae1a7f4a087bdcf83ac60949bbb54286492ca61fac1f5f3ac8692dd21537ce6214240bf95ad0122f24d71d + eslint-visitor-keys: ^2.0.0 + peerDependencies: + eslint: ">=5" + checksum: 0668fe02f5adab2e5a367eee5089f4c39033af20499df88fe4e6aba2015c20720404d8c3d6349b6f716b08fdf91b9da4e5d5481f265049278099c4c836ccb619 languageName: node linkType: hard -"eslint-visitor-keys@npm:^1.0.0, eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0": +"eslint-visitor-keys@npm:^1.0.0, eslint-visitor-keys@npm:^1.1.0": version: 1.3.0 resolution: "eslint-visitor-keys@npm:1.3.0" checksum: 37a19b712f42f4c9027e8ba98c2b06031c17e0c0a4c696cd429bd9ee04eb43889c446f2cd545e1ff51bef9593fcec94ecd2c2ef89129fcbbf3adadbef520376a @@ -4576,6 +5399,13 @@ __metadata: languageName: node linkType: hard +"eslint-visitor-keys@npm:^3.3.0": + version: 3.3.0 + resolution: "eslint-visitor-keys@npm:3.3.0" + checksum: d59e68a7c5a6d0146526b0eec16ce87fbf97fe46b8281e0d41384224375c4e52f5ffb9e16d48f4ea50785cde93f766b0c898e31ab89978d88b0e1720fbfb7808 + languageName: node + linkType: hard + "eslint@npm:^5.6.0": version: 5.16.0 resolution: "eslint@npm:5.16.0" @@ -4622,53 +5452,52 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^7.20.0": - version: 7.32.0 - resolution: "eslint@npm:7.32.0" +"eslint@npm:^8.16.0": + version: 8.23.1 + resolution: "eslint@npm:8.23.1" dependencies: - "@babel/code-frame": 7.12.11 - "@eslint/eslintrc": ^0.4.3 - "@humanwhocodes/config-array": ^0.5.0 + "@eslint/eslintrc": ^1.3.2 + "@humanwhocodes/config-array": ^0.10.4 + "@humanwhocodes/gitignore-to-minimatch": ^1.0.2 + "@humanwhocodes/module-importer": ^1.0.1 ajv: ^6.10.0 chalk: ^4.0.0 cross-spawn: ^7.0.2 - debug: ^4.0.1 + debug: ^4.3.2 doctrine: ^3.0.0 - enquirer: ^2.3.5 escape-string-regexp: ^4.0.0 - eslint-scope: ^5.1.1 - eslint-utils: ^2.1.0 - eslint-visitor-keys: ^2.0.0 - espree: ^7.3.1 + eslint-scope: ^7.1.1 + eslint-utils: ^3.0.0 + eslint-visitor-keys: ^3.3.0 + espree: ^9.4.0 esquery: ^1.4.0 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 file-entry-cache: ^6.0.1 - functional-red-black-tree: ^1.0.1 - glob-parent: ^5.1.2 - globals: ^13.6.0 - ignore: ^4.0.6 + find-up: ^5.0.0 + glob-parent: ^6.0.1 + globals: ^13.15.0 + globby: ^11.1.0 + grapheme-splitter: ^1.0.4 + ignore: ^5.2.0 import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 - js-yaml: ^3.13.1 + js-sdsl: ^4.1.4 + js-yaml: ^4.1.0 json-stable-stringify-without-jsonify: ^1.0.1 levn: ^0.4.1 lodash.merge: ^4.6.2 - minimatch: ^3.0.4 + minimatch: ^3.1.2 natural-compare: ^1.4.0 optionator: ^0.9.1 - progress: ^2.0.0 - regexpp: ^3.1.0 - semver: ^7.2.1 - strip-ansi: ^6.0.0 + regexpp: ^3.2.0 + strip-ansi: ^6.0.1 strip-json-comments: ^3.1.0 - table: ^6.0.9 text-table: ^0.2.0 - v8-compile-cache: ^2.0.3 bin: eslint: bin/eslint.js - checksum: cc85af9985a3a11085c011f3d27abe8111006d34cc274291b3c4d7bea51a4e2ff6135780249becd919ba7f6d6d1ecc38a6b73dacb6a7be08d38453b344dc8d37 + checksum: a727e15492786a03b438bcf021db49f715680679846a7b8d79b98ad34576f2a570404ffe882d3c3e26f6359bff7277ef11fae5614bfe8629adb653f20d018c71 languageName: node linkType: hard @@ -4683,14 +5512,14 @@ __metadata: languageName: node linkType: hard -"espree@npm:^7.3.0, espree@npm:^7.3.1": - version: 7.3.1 - resolution: "espree@npm:7.3.1" +"espree@npm:^9.4.0": + version: 9.4.0 + resolution: "espree@npm:9.4.0" dependencies: - acorn: ^7.4.0 - acorn-jsx: ^5.3.1 - eslint-visitor-keys: ^1.3.0 - checksum: aa9b50dcce883449af2e23bc2b8d9abb77118f96f4cb313935d6b220f77137eaef7724a83c3f6243b96bc0e4ab14766198e60818caad99f9519ae5a336a39b45 + acorn: ^8.8.0 + acorn-jsx: ^5.3.2 + eslint-visitor-keys: ^3.3.0 + checksum: 2e3020dde67892d2ba3632413b44d0dc31d92c29ce72267d7ec24216a562f0a6494d3696e2fa39a3ec8c0e0088d773947ab2925fbb716801a11eb8dd313ac89c languageName: node linkType: hard @@ -5000,7 +5829,7 @@ __metadata: languageName: node linkType: hard -"ethereum-waffle@npm:^3.2.2": +"ethereum-waffle@npm:^3.4.4": version: 3.4.4 resolution: "ethereum-waffle@npm:3.4.4" dependencies: @@ -5188,7 +6017,7 @@ __metadata: languageName: node linkType: hard -"ethereumjs-util@npm:^7.0.10, ethereumjs-util@npm:^7.0.2, ethereumjs-util@npm:^7.1.0, ethereumjs-util@npm:^7.1.1, ethereumjs-util@npm:^7.1.3, ethereumjs-util@npm:^7.1.4": +"ethereumjs-util@npm:^7.0.10, ethereumjs-util@npm:^7.1.0, ethereumjs-util@npm:^7.1.1, ethereumjs-util@npm:^7.1.3, ethereumjs-util@npm:^7.1.4": version: 7.1.4 resolution: "ethereumjs-util@npm:7.1.4" dependencies: @@ -5201,6 +6030,19 @@ __metadata: languageName: node linkType: hard +"ethereumjs-util@npm:^7.0.2": + version: 7.1.5 + resolution: "ethereumjs-util@npm:7.1.5" + dependencies: + "@types/bn.js": ^5.1.0 + bn.js: ^5.1.2 + create-hash: ^1.1.2 + ethereum-cryptography: ^0.1.3 + rlp: ^2.2.4 + checksum: 27a3c79d6e06b2df34b80d478ce465b371c8458b58f5afc14d91c8564c13363ad336e6e83f57eb0bd719fde94d10ee5697ceef78b5aa932087150c5287b286d1 + languageName: node + linkType: hard + "ethereumjs-vm@npm:4.2.0": version: 4.2.0 resolution: "ethereumjs-vm@npm:4.2.0" @@ -5277,41 +6119,41 @@ __metadata: languageName: node linkType: hard -"ethers@npm:^5.0.1, ethers@npm:^5.0.2, ethers@npm:^5.4.7, ethers@npm:^5.5.2": - version: 5.6.5 - resolution: "ethers@npm:5.6.5" - dependencies: - "@ethersproject/abi": 5.6.1 - "@ethersproject/abstract-provider": 5.6.0 - "@ethersproject/abstract-signer": 5.6.0 - "@ethersproject/address": 5.6.0 - "@ethersproject/base64": 5.6.0 - "@ethersproject/basex": 5.6.0 - "@ethersproject/bignumber": 5.6.0 - "@ethersproject/bytes": 5.6.1 - "@ethersproject/constants": 5.6.0 - "@ethersproject/contracts": 5.6.0 - "@ethersproject/hash": 5.6.0 - "@ethersproject/hdnode": 5.6.0 - "@ethersproject/json-wallets": 5.6.0 - "@ethersproject/keccak256": 5.6.0 - "@ethersproject/logger": 5.6.0 - "@ethersproject/networks": 5.6.2 - "@ethersproject/pbkdf2": 5.6.0 - "@ethersproject/properties": 5.6.0 - "@ethersproject/providers": 5.6.5 - "@ethersproject/random": 5.6.0 - "@ethersproject/rlp": 5.6.0 - "@ethersproject/sha2": 5.6.0 - "@ethersproject/signing-key": 5.6.1 - "@ethersproject/solidity": 5.6.0 - "@ethersproject/strings": 5.6.0 - "@ethersproject/transactions": 5.6.0 - "@ethersproject/units": 5.6.0 - "@ethersproject/wallet": 5.6.0 - "@ethersproject/web": 5.6.0 - "@ethersproject/wordlists": 5.6.0 - checksum: f2c2528452eea1fa3c6e735ea9acf8162555b681d712e770a2e11560a71f9c9ef4abbe686e68c4e2cfa4c51eda35fe06f1bac7dc030daf00747c229b8cab5812 +"ethers@npm:^5.0.1, ethers@npm:^5.0.2, ethers@npm:^5.5.2, ethers@npm:^5.6.8": + version: 5.7.1 + resolution: "ethers@npm:5.7.1" + dependencies: + "@ethersproject/abi": 5.7.0 + "@ethersproject/abstract-provider": 5.7.0 + "@ethersproject/abstract-signer": 5.7.0 + "@ethersproject/address": 5.7.0 + "@ethersproject/base64": 5.7.0 + "@ethersproject/basex": 5.7.0 + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/constants": 5.7.0 + "@ethersproject/contracts": 5.7.0 + "@ethersproject/hash": 5.7.0 + "@ethersproject/hdnode": 5.7.0 + "@ethersproject/json-wallets": 5.7.0 + "@ethersproject/keccak256": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/networks": 5.7.1 + "@ethersproject/pbkdf2": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/providers": 5.7.1 + "@ethersproject/random": 5.7.0 + "@ethersproject/rlp": 5.7.0 + "@ethersproject/sha2": 5.7.0 + "@ethersproject/signing-key": 5.7.0 + "@ethersproject/solidity": 5.7.0 + "@ethersproject/strings": 5.7.0 + "@ethersproject/transactions": 5.7.0 + "@ethersproject/units": 5.7.0 + "@ethersproject/wallet": 5.7.0 + "@ethersproject/web": 5.7.1 + "@ethersproject/wordlists": 5.7.0 + checksum: 7a61b7a105c41f9fec327887414f1950dc27bfa2d12fe29a068419eaaa3d415e6a12275685c87f700abd88c3b639ae79c09a2f90edea1e69edc8126cb0dce708 languageName: node linkType: hard @@ -5533,6 +6375,19 @@ __metadata: languageName: node linkType: hard +"fast-glob@npm:^3.2.9": + version: 3.2.12 + resolution: "fast-glob@npm:3.2.12" + dependencies: + "@nodelib/fs.stat": ^2.0.2 + "@nodelib/fs.walk": ^1.2.3 + glob-parent: ^5.1.2 + merge2: ^1.3.0 + micromatch: ^4.0.4 + checksum: 0b1990f6ce831c7e28c4d505edcdaad8e27e88ab9fa65eedadb730438cfc7cde4910d6c975d6b7b8dc8a73da4773702ebcfcd6e3518e73938bb1383badfe01c2 + languageName: node + linkType: hard + "fast-json-stable-stringify@npm:^2.0.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" @@ -5638,6 +6493,15 @@ __metadata: languageName: node linkType: hard +"find-replace@npm:^3.0.0": + version: 3.0.0 + resolution: "find-replace@npm:3.0.0" + dependencies: + array-back: ^3.0.1 + checksum: 6b04bcfd79027f5b84aa1dfe100e3295da989bdac4b4de6b277f4d063e78f5c9e92ebc8a1fec6dd3b448c924ba404ee051cc759e14a3ee3e825fa1361025df08 + languageName: node + linkType: hard + "find-up@npm:3.0.0, find-up@npm:^3.0.0": version: 3.0.0 resolution: "find-up@npm:3.0.0" @@ -5647,7 +6511,7 @@ __metadata: languageName: node linkType: hard -"find-up@npm:5.0.0": +"find-up@npm:5.0.0, find-up@npm:^5.0.0": version: 5.0.0 resolution: "find-up@npm:5.0.0" dependencies: @@ -6087,6 +6951,13 @@ __metadata: languageName: node linkType: hard +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: a7437e58c6be12aa6c90f7730eac7fa9833dc78872b4ad2963d2031b00a3367a93f98aec75f9aaac7220848e4026d67a8655e870b24f20a543d103c0d65952ec + languageName: node + linkType: hard + "get-caller-file@npm:^1.0.1": version: 1.0.3 resolution: "get-caller-file@npm:1.0.3" @@ -6119,6 +6990,17 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.1.2": + version: 1.1.3 + resolution: "get-intrinsic@npm:1.1.3" + dependencies: + function-bind: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.3 + checksum: 152d79e87251d536cf880ba75cfc3d6c6c50e12b3a64e1ea960e73a3752b47c69f46034456eae1b0894359ce3bc64c55c186f2811f8a788b75b638b06fab228a + languageName: node + linkType: hard + "get-port@npm:^3.1.0": version: 3.2.0 resolution: "get-port@npm:3.2.0" @@ -6198,6 +7080,15 @@ __metadata: languageName: node linkType: hard +"glob-parent@npm:^6.0.1": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: ^4.0.3 + checksum: c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8 + languageName: node + linkType: hard + "glob@npm:7.1.3": version: 7.1.3 resolution: "glob@npm:7.1.3" @@ -6212,7 +7103,21 @@ __metadata: languageName: node linkType: hard -"glob@npm:7.2.0, glob@npm:^7.0.0, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:~7.2.0": +"glob@npm:7.1.7": + version: 7.1.7 + resolution: "glob@npm:7.1.7" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.0.4 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: b61f48973bbdcf5159997b0874a2165db572b368b931135832599875919c237fc05c12984e38fe828e69aa8a921eb0e8a4997266211c517c9cfaae8a93988bb8 + languageName: node + linkType: hard + +"glob@npm:7.2.0, glob@npm:^7.0.0, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.2.0 resolution: "glob@npm:7.2.0" dependencies: @@ -6253,6 +7158,20 @@ __metadata: languageName: node linkType: hard +"glob@npm:~7.2.3": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + 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 + checksum: 29452e97b38fa704dabb1d1045350fb2467cf0277e155aa9ff7077e90ad81d1ea9d53d3ee63bd37c05b09a065e90f16aec4a65f5b8de401d1dac40bc5605d133 + languageName: node + linkType: hard + "global-modules@npm:^2.0.0": version: 2.0.0 resolution: "global-modules@npm:2.0.0" @@ -6283,19 +7202,19 @@ __metadata: languageName: node linkType: hard -"globals@npm:^11.7.0": +"globals@npm:^11.1.0, globals@npm:^11.7.0": version: 11.12.0 resolution: "globals@npm:11.12.0" checksum: 67051a45eca3db904aee189dfc7cd53c20c7d881679c93f6146ddd4c9f4ab2268e68a919df740d39c71f4445d2b38ee360fc234428baea1dbdfe68bbcb46979e languageName: node linkType: hard -"globals@npm:^13.6.0, globals@npm:^13.9.0": - version: 13.14.0 - resolution: "globals@npm:13.14.0" +"globals@npm:^13.15.0": + version: 13.17.0 + resolution: "globals@npm:13.17.0" dependencies: type-fest: ^0.20.2 - checksum: a8d560119c611b434fa7bd0f305d34fec03e2cc63dcf8ef8bc352f075c54f2653bc6f9c85a1ef9422d82916e6fe5a4fc87fdd6a3e691afcff04545a7d876e078 + checksum: fbaf4112e59b92c9f5575e85ce65e9e17c0b82711196ec5f58beb08599bbd92fd72703d6dfc9b080381fd35b644e1b11dcf25b38cc2341ec21df942594cbc8ce languageName: node linkType: hard @@ -6322,6 +7241,20 @@ __metadata: languageName: node linkType: hard +"globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.2.9 + ignore: ^5.2.0 + merge2: ^1.4.1 + slash: ^3.0.0 + checksum: b4be8885e0cfa018fc783792942d53926c35c50b3aefd3fdcfb9d22c627639dc26bd2327a40a0b74b074100ce95bb7187bfeae2f236856aa3de183af7a02aea6 + languageName: node + linkType: hard + "got@npm:9.6.0": version: 9.6.0 resolution: "got@npm:9.6.0" @@ -6370,6 +7303,13 @@ __metadata: languageName: node linkType: hard +"grapheme-splitter@npm:^1.0.4": + version: 1.0.4 + resolution: "grapheme-splitter@npm:1.0.4" + checksum: 0c22ec54dee1b05cd480f78cf14f732cb5b108edc073572c4ec205df4cd63f30f8db8025afc5debc8835a8ddeacf648a1c7992fe3dcd6ad38f9a476d84906620 + languageName: node + linkType: hard + "growl@npm:1.10.5": version: 1.10.5 resolution: "growl@npm:1.10.5" @@ -6425,7 +7365,7 @@ __metadata: languageName: node linkType: hard -"hardhat@npm:^2.8.3, hardhat@npm:^2.8.4": +"hardhat@npm:^2.8.4": version: 2.9.3 resolution: "hardhat@npm:2.9.3" dependencies: @@ -6821,7 +7761,7 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.1.1": +"ignore@npm:^5.1.1, ignore@npm:^5.2.0": version: 5.2.0 resolution: "ignore@npm:5.2.0" checksum: 6b1f926792d614f64c6c83da3a1f9c83f6196c2839aa41e1e32dd7b8d174cef2e329d75caabb62cb61ce9dc432f75e67d07d122a037312db7caa73166a1bdb77 @@ -7069,7 +8009,14 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.4": +"is-callable@npm:^1.1.3": + version: 1.2.6 + resolution: "is-callable@npm:1.2.6" + checksum: 7667d6a6be66df00741cfa18c657877c46a00139ea7ea7765251e9db0182745c9ee173506941a329d6914e34e59e9cc80029fb3f68bbf8c22a6c155ee6ea77b3 + languageName: node + linkType: hard + +"is-callable@npm:^1.1.4, is-callable@npm:^1.2.4": version: 1.2.4 resolution: "is-callable@npm:1.2.4" checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f @@ -7096,6 +8043,15 @@ __metadata: languageName: node linkType: hard +"is-core-module@npm:^2.9.0": + version: 2.10.0 + resolution: "is-core-module@npm:2.10.0" + dependencies: + has: ^1.0.3 + checksum: 0f3f77811f430af3256fa7bbc806f9639534b140f8ee69476f632c3e1eb4e28a38be0b9d1b8ecf596179c841b53576129279df95e7051d694dac4ceb6f967593 + languageName: node + linkType: hard + "is-data-descriptor@npm:^0.1.4": version: 0.1.4 resolution: "is-data-descriptor@npm:0.1.4" @@ -7237,7 +8193,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -7493,6 +8449,20 @@ __metadata: languageName: node linkType: hard +"javascript-natural-sort@npm:0.7.1": + version: 0.7.1 + resolution: "javascript-natural-sort@npm:0.7.1" + checksum: 161e2c512cc7884bc055a582c6645d9032cab88497a76123d73cb23bfb03d97a04cf7772ecdb8bd3366fc07192c2f996366f479f725c23ef073fffe03d6a586a + languageName: node + linkType: hard + +"js-sdsl@npm:^4.1.4": + version: 4.1.4 + resolution: "js-sdsl@npm:4.1.4" + checksum: 1977cea4ab18e0e03e28bdf0371d8b443fad65ca0988e0faa216406faf6bb943714fe8f7cc7a5bfe5f35ba3d94ddae399f4d10200f547f2c3320688b0670d726 + languageName: node + linkType: hard + "js-sha3@npm:0.5.7, js-sha3@npm:^0.5.7": version: 0.5.7 resolution: "js-sha3@npm:0.5.7" @@ -7545,7 +8515,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:4.1.0": +"js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" dependencies: @@ -7572,6 +8542,15 @@ __metadata: languageName: node linkType: hard +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: 4dc190771129e12023f729ce20e1e0bfceac84d73a85bc3119f7f938843fe25a4aeccb54b6494dce26fcf263d815f5f31acdefac7cc9329efb8422a4f4d9fa9d + languageName: node + linkType: hard + "jsesc@npm:~0.5.0": version: 0.5.0 resolution: "jsesc@npm:0.5.0" @@ -7632,13 +8611,6 @@ __metadata: languageName: node linkType: hard -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 02f2f466cdb0362558b2f1fd5e15cce82ef55d60cd7f8fa828cf35ba74330f8d767fcae5c5c2adb7851fa811766c694b9405810879bc4e1ddd78a7c0e03658ad - languageName: node - linkType: hard - "json-schema@npm:0.4.0": version: 0.4.0 resolution: "json-schema@npm:0.4.0" @@ -7678,6 +8650,15 @@ __metadata: languageName: node linkType: hard +"json5@npm:^2.1.2": + version: 2.2.1 + resolution: "json5@npm:2.2.1" + bin: + json5: lib/cli.js + checksum: 74b8a23b102a6f2bf2d224797ae553a75488b5adbaee9c9b6e5ab8b510a2fc6e38f876d4c77dea672d4014a44b2399e15f2051ac2b37b87f74c0c7602003543b + languageName: node + linkType: hard + "jsonfile@npm:^2.1.0": version: 2.4.0 resolution: "jsonfile@npm:2.4.0" @@ -8147,6 +9128,13 @@ __metadata: languageName: node linkType: hard +"lodash.camelcase@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.camelcase@npm:4.3.0" + checksum: cb9227612f71b83e42de93eccf1232feeb25e705bdb19ba26c04f91e885bfd3dd5c517c4a97137658190581d3493ea3973072ca010aab7e301046d90740393d1 + languageName: node + linkType: hard + "lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -8154,13 +9142,6 @@ __metadata: languageName: node linkType: hard -"lodash.truncate@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.truncate@npm:4.4.2" - checksum: b463d8a382cfb5f0e71c504dcb6f807a7bd379ff1ea216669aa42c52fc28c54e404bfbd96791aa09e6df0de2c1d7b8f1b7f4b1a61f324d38fe98bc535aeee4f5 - languageName: node - linkType: hard - "lodash@npm:4.17.20": version: 4.17.20 resolution: "lodash@npm:4.17.20" @@ -8168,7 +9149,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.11, lodash@npm:^4.17.12, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21, lodash@npm:^4.17.4": +"lodash@npm:4.17.21, lodash@npm:^4.17.11, lodash@npm:^4.17.12, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21, lodash@npm:^4.17.4": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -8432,7 +9413,7 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.2.3, merge2@npm:^1.3.0": +"merge2@npm:^1.2.3, merge2@npm:^1.3.0, merge2@npm:^1.4.1": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 @@ -8596,7 +9577,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:2 || 3, minimatch@npm:^3.0.4": +"minimatch@npm:2 || 3, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -9047,7 +10028,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": +"node-fetch@npm:2.6.7, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" dependencies: @@ -9102,6 +10083,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.6": + version: 2.0.6 + resolution: "node-releases@npm:2.0.6" + checksum: e86a926dc9fbb3b41b4c4a89d998afdf140e20a4e8dbe6c0a807f7b2948b42ea97d7fd3ad4868041487b6e9ee98409829c6e4d84a734a4215dff060a7fbeb4bf + languageName: node + linkType: hard + "nopt@npm:3.x": version: 3.0.6 resolution: "nopt@npm:3.0.6" @@ -9204,13 +10192,20 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.12.0, object-inspect@npm:^1.9.0, object-inspect@npm:~1.12.0": +"object-inspect@npm:^1.12.0, object-inspect@npm:^1.9.0": version: 1.12.0 resolution: "object-inspect@npm:1.12.0" checksum: 2b36d4001a9c921c6b342e2965734519c9c58c355822243c3207fbf0aac271f8d44d30d2d570d450b2cc6f0f00b72bcdba515c37827d2560e5f22b1899a31cf4 languageName: node linkType: hard +"object-inspect@npm:^1.12.2, object-inspect@npm:~1.12.2": + version: 1.12.2 + resolution: "object-inspect@npm:1.12.2" + checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 + languageName: node + linkType: hard + "object-is@npm:^1.0.1": version: 1.1.5 resolution: "object-is@npm:1.1.5" @@ -9268,7 +10263,19 @@ __metadata: languageName: node linkType: hard -"object.getownpropertydescriptors@npm:^2.0.3, object.getownpropertydescriptors@npm:^2.1.1": +"object.assign@npm:^4.1.4": + version: 4.1.4 + resolution: "object.assign@npm:4.1.4" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + has-symbols: ^1.0.3 + object-keys: ^1.1.1 + checksum: 76cab513a5999acbfe0ff355f15a6a125e71805fcf53de4e9d4e082e1989bdb81d1e329291e1e4e0ae7719f0e4ef80e88fb2d367ae60500d79d25a6224ac8864 + languageName: node + linkType: hard + +"object.getownpropertydescriptors@npm:^2.0.3": version: 2.1.3 resolution: "object.getownpropertydescriptors@npm:2.1.3" dependencies: @@ -9279,6 +10286,18 @@ __metadata: languageName: node linkType: hard +"object.getownpropertydescriptors@npm:^2.1.1": + version: 2.1.4 + resolution: "object.getownpropertydescriptors@npm:2.1.4" + dependencies: + array.prototype.reduce: ^1.0.4 + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.1 + checksum: 988c466fe49fc4f19a28d2d1d894c95c6abfe33c94674ec0b14d96eed71f453c7ad16873d430dc2acbb1760de6d3d2affac4b81237a306012cc4dc49f7539e7f + languageName: node + linkType: hard + "object.pick@npm:^1.3.0": version: 1.3.0 resolution: "object.pick@npm:1.3.0" @@ -9739,6 +10758,13 @@ __metadata: languageName: node linkType: hard +"picocolors@npm:^1.0.0": + version: 1.0.0 + resolution: "picocolors@npm:1.0.0" + checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 + languageName: node + linkType: hard + "picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" @@ -9859,7 +10885,16 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^2.1.2, prettier@npm:^2.2.1, prettier@npm:^2.3.1": +"prettier@npm:^2.1.2, prettier@npm:^2.4.1": + version: 2.7.1 + resolution: "prettier@npm:2.7.1" + bin: + prettier: bin-prettier.js + checksum: 55a4409182260866ab31284d929b3cb961e5fdb91fe0d2e099dac92eaecec890f36e524b4c19e6ceae839c99c6d7195817579cdffc8e2c80da0cb794463a748b + languageName: node + linkType: hard + +"prettier@npm:^2.3.1": version: 2.6.2 resolution: "prettier@npm:2.6.2" bin: @@ -10256,6 +11291,13 @@ __metadata: languageName: node linkType: hard +"reduce-flatten@npm:^2.0.0": + version: 2.0.0 + resolution: "reduce-flatten@npm:2.0.0" + checksum: 64393ef99a16b20692acfd60982d7fdbd7ff8d9f8f185c6023466444c6dd2abb929d67717a83cec7f7f8fb5f46a25d515b3b2bf2238fdbfcdbfd01d2a9e73cb8 + languageName: node + linkType: hard + "regenerate@npm:^1.2.1": version: 1.4.2 resolution: "regenerate@npm:1.4.2" @@ -10291,7 +11333,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.2.0, regexp.prototype.flags@npm:^1.4.1": +"regexp.prototype.flags@npm:^1.2.0, regexp.prototype.flags@npm:^1.4.1, regexp.prototype.flags@npm:^1.4.3": version: 1.4.3 resolution: "regexp.prototype.flags@npm:1.4.3" dependencies: @@ -10309,7 +11351,7 @@ __metadata: languageName: node linkType: hard -"regexpp@npm:^3.1.0": +"regexpp@npm:^3.2.0": version: 3.2.0 resolution: "regexpp@npm:3.2.0" checksum: a78dc5c7158ad9ddcfe01aa9144f46e192ddbfa7b263895a70a5c6c73edd9ce85faf7c0430e59ac38839e1734e275b9c3de5c57ee3ab6edc0e0b1bdebefccef8 @@ -10452,7 +11494,7 @@ __metadata: languageName: node linkType: hard -"require-from-string@npm:^2.0.0, require-from-string@npm:^2.0.2": +"require-from-string@npm:^2.0.0": version: 2.0.2 resolution: "require-from-string@npm:2.0.2" checksum: a03ef6895445f33a4015300c426699bc66b2b044ba7b670aa238610381b56d3f07c686251740d575e22f4c87531ba662d06937508f0f3c0f1ddc04db3130560b @@ -10510,7 +11552,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.8.1, resolve@npm:~1.22.0": +"resolve@npm:^1.1.6": version: 1.22.0 resolution: "resolve@npm:1.22.0" dependencies: @@ -10523,6 +11565,19 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^1.10.0, resolve@npm:^1.8.1, resolve@npm:~1.22.1": + version: 1.22.1 + resolution: "resolve@npm:1.22.1" + dependencies: + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e + languageName: node + linkType: hard + "resolve@patch:resolve@1.1.x#~builtin": version: 1.1.7 resolution: "resolve@patch:resolve@npm%3A1.1.7#~builtin::version=1.1.7&hash=07638b" @@ -10539,7 +11594,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.8.1#~builtin, resolve@patch:resolve@~1.22.0#~builtin": +"resolve@patch:resolve@^1.1.6#~builtin": version: 1.22.0 resolution: "resolve@patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=07638b" dependencies: @@ -10552,6 +11607,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.8.1#~builtin, resolve@patch:resolve@~1.22.1#~builtin": + version: 1.22.1 + resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b" + dependencies: + is-core-module: ^2.9.0 + path-parse: ^1.0.7 + supports-preserve-symlinks-flag: ^1.0.0 + bin: + resolve: bin/resolve + checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b + languageName: node + linkType: hard + "responselike@npm:^1.0.2": version: 1.0.2 resolution: "responselike@npm:1.0.2" @@ -10824,7 +11892,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.2.1, semver@npm:^7.3.4, semver@npm:^7.3.5": +"semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7": version: 7.3.7 resolution: "semver@npm:7.3.7" dependencies: @@ -11081,17 +12149,6 @@ __metadata: languageName: node linkType: hard -"slice-ansi@npm:^4.0.0": - version: 4.0.0 - resolution: "slice-ansi@npm:4.0.0" - dependencies: - ansi-styles: ^4.0.0 - astral-regex: ^2.0.0 - is-fullwidth-code-point: ^3.0.0 - checksum: 4a82d7f085b0e1b070e004941ada3c40d3818563ac44766cca4ceadd2080427d337554f9f99a13aaeb3b4a94d9964d9466c807b3d7b7541d1ec37ee32d308756 - languageName: node - linkType: hard - "smart-buffer@npm:^4.2.0": version: 4.2.0 resolution: "smart-buffer@npm:4.2.0" @@ -11332,7 +12389,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.5.6, source-map@npm:^0.5.7": +"source-map@npm:^0.5.0, source-map@npm:^0.5.6, source-map@npm:^0.5.7": version: 0.5.7 resolution: "source-map@npm:0.5.7" checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d @@ -11383,9 +12440,9 @@ __metadata: linkType: hard "spdx-license-ids@npm:^3.0.0": - version: 3.0.11 - resolution: "spdx-license-ids@npm:3.0.11" - checksum: 1da1acb090257773e60b022094050e810ae9fec874dc1461f65dc0400cd42dd830ab2df6e64fb49c2db3dce386dd0362110780e1b154db7c0bb413488836aaeb + version: 3.0.12 + resolution: "spdx-license-ids@npm:3.0.12" + checksum: 92a4dddce62ce1db6fe54a7a839cf85e06abc308fc83b776a55b44e4f1906f02e7ebd506120847039e976bbbad359ea8bdfafb7925eae5cd7e73255f02e0b7d6 languageName: node linkType: hard @@ -11485,6 +12542,13 @@ __metadata: languageName: node linkType: hard +"string-format@npm:^2.0.0": + version: 2.0.0 + resolution: "string-format@npm:2.0.0" + checksum: dada2ef95f6d36c66562c673d95315f80457fa7dce2f3609a2e75d1190b98c88319028cf0a5b6c043d01c18d581b2641579f79480584ba030d6ac6fceb30bc55 + languageName: node + linkType: hard + "string-width@npm:^1.0.1": version: 1.0.2 resolution: "string-width@npm:1.0.2" @@ -11528,7 +12592,7 @@ __metadata: languageName: node linkType: hard -"string.prototype.trim@npm:~1.2.5": +"string.prototype.trim@npm:~1.2.6": version: 1.2.6 resolution: "string.prototype.trim@npm:1.2.6" dependencies: @@ -11752,6 +12816,18 @@ __metadata: languageName: node linkType: hard +"table-layout@npm:^1.0.2": + version: 1.0.2 + resolution: "table-layout@npm:1.0.2" + dependencies: + array-back: ^4.0.1 + deep-extend: ~0.6.0 + typical: ^5.2.0 + wordwrapjs: ^4.0.0 + checksum: 8f41b5671f101a5195747ec1727b1d35ea2cd5bf85addda11cc2f4b36892db9696ce3c2c7334b5b8a122505b34d19135fede50e25678df71b0439e0704fd953f + languageName: node + linkType: hard + "table@npm:^5.2.3": version: 5.4.6 resolution: "table@npm:5.4.6" @@ -11764,41 +12840,28 @@ __metadata: languageName: node linkType: hard -"table@npm:^6.0.9": - version: 6.8.0 - resolution: "table@npm:6.8.0" - dependencies: - ajv: ^8.0.1 - lodash.truncate: ^4.4.2 - slice-ansi: ^4.0.0 - string-width: ^4.2.3 - strip-ansi: ^6.0.1 - checksum: 5b07fe462ee03d2e1fac02cbb578efd2e0b55ac07e3d3db2e950aa9570ade5a4a2b8d3c15e9f25c89e4e50b646bc4269934601ee1eef4ca7968ad31960977690 - languageName: node - linkType: hard - "tape@npm:^4.6.3": - version: 4.15.1 - resolution: "tape@npm:4.15.1" + version: 4.16.1 + resolution: "tape@npm:4.16.1" dependencies: call-bind: ~1.0.2 deep-equal: ~1.1.1 defined: ~1.0.0 dotignore: ~0.1.2 for-each: ~0.3.3 - glob: ~7.2.0 + glob: ~7.2.3 has: ~1.0.3 inherits: ~2.0.4 is-regex: ~1.1.4 minimist: ~1.2.6 - object-inspect: ~1.12.0 - resolve: ~1.22.0 + object-inspect: ~1.12.2 + resolve: ~1.22.1 resumer: ~0.0.0 - string.prototype.trim: ~1.2.5 + string.prototype.trim: ~1.2.6 through: ~2.3.8 bin: tape: bin/tape - checksum: 3726aa5979cbffe057455db9fd353c88ff26a1d8d3addc7d479fcbb8202caf12cb3e122492e203db00195b6fdfbc1f9c06762a4aeead7efc710ff46955be550f + checksum: e60f5ca3b5915c1df7f019e16eb643c98a5f741be3823b1db8f6ccfdc8ec4de11d7fc612b3c5e263d222d79e050c39bb6a45ea82f9f82f3faa1db9c386ed67f2 languageName: node linkType: hard @@ -11923,6 +12986,13 @@ __metadata: languageName: node linkType: hard +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: be2de62fe58ead94e3e592680052683b1ec986c72d589e7b21e5697f8744cdbf48c266fa72f6c15932894c10187b5f54573a3bcf7da0bfd964d5caf23d436168 + languageName: node + linkType: hard + "to-object-path@npm:^0.3.0": version: 0.3.0 resolution: "to-object-path@npm:0.3.0" @@ -12008,6 +13078,20 @@ __metadata: languageName: node linkType: hard +"ts-command-line-args@npm:^2.2.0": + version: 2.3.1 + resolution: "ts-command-line-args@npm:2.3.1" + dependencies: + chalk: ^4.1.0 + command-line-args: ^5.1.1 + command-line-usage: ^6.1.0 + string-format: ^2.0.0 + bin: + write-markdown: dist/write-markdown.js + checksum: f74a3461891c2a52cc3fd850ad53e983972ba8208410c441a4491f66d15e5d5ea6bed696cbdb54427d6b798b902f841f0c9d3ed13468c2e179285b7507df7a0d + languageName: node + linkType: hard + "ts-essentials@npm:^1.0.0": version: 1.0.4 resolution: "ts-essentials@npm:1.0.4" @@ -12052,11 +13136,11 @@ __metadata: languageName: node linkType: hard -"ts-node@npm:^10.1.0": - version: 10.7.0 - resolution: "ts-node@npm:10.7.0" +"ts-node@npm:^10.8.0": + version: 10.9.1 + resolution: "ts-node@npm:10.9.1" dependencies: - "@cspotcode/source-map-support": 0.7.0 + "@cspotcode/source-map-support": ^0.8.0 "@tsconfig/node10": ^1.0.7 "@tsconfig/node12": ^1.0.7 "@tsconfig/node14": ^1.0.0 @@ -12067,7 +13151,7 @@ __metadata: create-require: ^1.1.0 diff: ^4.0.1 make-error: ^1.1.1 - v8-compile-cache-lib: ^3.0.0 + v8-compile-cache-lib: ^3.0.1 yn: 3.1.1 peerDependencies: "@swc/core": ">=1.2.50" @@ -12086,11 +13170,11 @@ __metadata: ts-node-script: dist/bin-script.js ts-node-transpile-only: dist/bin-transpile.js ts-script: dist/bin-script-deprecated.js - checksum: 2a379e43f7478d0b79e1e63af91fe222d83857727957df4bd3bdf3c0a884de5097b12feb9bbf530074526b8874c0338b0e6328cf334f3a5e2c49c71e837273f7 + checksum: 090adff1302ab20bd3486e6b4799e90f97726ed39e02b39e566f8ab674fd5bd5f727f43615debbfc580d33c6d9d1c6b1b3ce7d8e3cca3e20530a145ffa232c35 languageName: node linkType: hard -"tslib@npm:^1.9.0, tslib@npm:^1.9.3": +"tslib@npm:^1.8.1, tslib@npm:^1.9.0, tslib@npm:^1.9.3": version: 1.14.1 resolution: "tslib@npm:1.14.1" checksum: dbe628ef87f66691d5d2959b3e41b9ca0045c3ee3c7c7b906cc1e328b39f199bb1ad9e671c39025bd56122ac57dfbf7385a94843b1cc07c60a4db74795829acd @@ -12104,6 +13188,17 @@ __metadata: languageName: node linkType: hard +"tsutils@npm:^3.21.0": + version: 3.21.0 + resolution: "tsutils@npm:3.21.0" + dependencies: + tslib: ^1.8.1 + peerDependencies: + typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + checksum: 1843f4c1b2e0f975e08c4c21caa4af4f7f65a12ac1b81b3b8489366826259323feb3fc7a243123453d2d1a02314205a7634e048d4a8009921da19f99755cdc48 + languageName: node + linkType: hard + "tunnel-agent@npm:^0.6.0": version: 0.6.0 resolution: "tunnel-agent@npm:0.6.0" @@ -12204,42 +13299,42 @@ __metadata: languageName: node linkType: hard -"typechain@npm:^3.0.0": - version: 3.0.0 - resolution: "typechain@npm:3.0.0" +"typechain@npm:8.0.0": + version: 8.0.0 + resolution: "typechain@npm:8.0.0" dependencies: - command-line-args: ^4.0.7 - debug: ^4.1.1 + "@types/prettier": ^2.1.1 + debug: ^4.3.1 fs-extra: ^7.0.0 + glob: 7.1.7 js-sha3: ^0.8.0 lodash: ^4.17.15 - ts-essentials: ^6.0.3 - ts-generator: ^0.1.1 + mkdirp: ^1.0.4 + prettier: ^2.3.1 + ts-command-line-args: ^2.2.0 + ts-essentials: ^7.0.1 + peerDependencies: + typescript: ">=4.3.0" bin: - typechain: ./dist/cli/cli.js - checksum: a38aff5e89c41e20e2c3a1f7b5f04666dbc94b5592eba70ba7d1e0aeb49089d22ed3d35e55a0b0d1f0bfdcea9818157fa4ee3854ef818f46f6aa899520fe7c25 + typechain: dist/cli/cli.js + checksum: c049cc84ac3cf3a5ed8374db750b7b9adcfc523bb1940e1b8bafef063297aed081a5378560c3fbccd1f5d130d32c9ba9678654dfe00d97fb1dfa17d04a933450 languageName: node linkType: hard -"typechain@npm:^5.0.0": - version: 5.2.0 - resolution: "typechain@npm:5.2.0" +"typechain@npm:^3.0.0": + version: 3.0.0 + resolution: "typechain@npm:3.0.0" dependencies: - "@types/prettier": ^2.1.1 command-line-args: ^4.0.7 debug: ^4.1.1 fs-extra: ^7.0.0 - glob: ^7.1.6 js-sha3: ^0.8.0 lodash: ^4.17.15 - mkdirp: ^1.0.4 - prettier: ^2.1.2 - ts-essentials: ^7.0.1 - peerDependencies: - typescript: ">=4.1.0" + ts-essentials: ^6.0.3 + ts-generator: ^0.1.1 bin: - typechain: dist/cli/cli.js - checksum: 1116e835a355b0d9dc9be77ebbfe972e1fe93eec6dc71cabaaada9e606c2bbaa18c786a22388e41ea3d2745fee1479b542b45dd9ebab4f60b2773524668a5d05 + typechain: ./dist/cli/cli.js + checksum: a38aff5e89c41e20e2c3a1f7b5f04666dbc94b5592eba70ba7d1e0aeb49089d22ed3d35e55a0b0d1f0bfdcea9818157fa4ee3854ef818f46f6aa899520fe7c25 languageName: node linkType: hard @@ -12259,23 +13354,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^4.3.2, typescript@npm:^4.3.5": - version: 4.6.4 - resolution: "typescript@npm:4.6.4" +"typescript@npm:^4.7.2": + version: 4.8.3 + resolution: "typescript@npm:4.8.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: e7bfcc39cd4571a63a54e5ea21f16b8445268b9900bf55aee0e02ad981be576acc140eba24f1af5e3c1457767c96cea6d12861768fb386cf3ffb34013718631a + checksum: 8286a5edcaf3d68e65c451aa1e7150ad1cf53ee0813c07ec35b7abdfdb10f355ecaa13c6a226a694ae7a67785fd7eeebf89f845da0b4f7e4a35561ddc459aba0 languageName: node linkType: hard -"typescript@patch:typescript@^4.3.2#~builtin, typescript@patch:typescript@^4.3.5#~builtin": - version: 4.6.4 - resolution: "typescript@patch:typescript@npm%3A4.6.4#~builtin::version=4.6.4&hash=bda367" +"typescript@patch:typescript@^4.7.2#~builtin": + version: 4.8.3 + resolution: "typescript@patch:typescript@npm%3A4.8.3#~builtin::version=4.8.3&hash=bda367" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 1cb434fbc637d347be90e3a0c6cd05e33c38f941713c8786d3031faf1842c2c148ba91d2fac01e7276b0ae3249b8633f1660e32686cc7a8c6a8fd5361dc52c66 + checksum: 0404a09c625df01934ef774b45ce1ca57ccae41cd625fcdbb82056715320d9329e70d9d75c2c732ec6ef947444ca978c189a332b71fa21f5c1437d5a83e24906 languageName: node linkType: hard @@ -12309,6 +13404,20 @@ __metadata: languageName: node linkType: hard +"typical@npm:^4.0.0": + version: 4.0.0 + resolution: "typical@npm:4.0.0" + checksum: a242081956825328f535e6195a924240b34daf6e7fdb573a1809a42b9f37fb8114fa99c7ab89a695e0cdb419d4149d067f6723e4b95855ffd39c6c4ca378efb3 + languageName: node + linkType: hard + +"typical@npm:^5.2.0": + version: 5.2.0 + resolution: "typical@npm:5.2.0" + checksum: ccaeb151a9a556291b495571ca44c4660f736fb49c29314bbf773c90fad92e9485d3cc2b074c933866c1595abbbc962f2b8bfc6e0f52a8c6b0cdd205442036ac + languageName: node + linkType: hard + "uglify-js@npm:^3.1.4": version: 3.15.4 resolution: "uglify-js@npm:3.15.4" @@ -12419,6 +13528,20 @@ __metadata: languageName: node linkType: hard +"update-browserslist-db@npm:^1.0.9": + version: 1.0.9 + resolution: "update-browserslist-db@npm:1.0.9" + dependencies: + escalade: ^3.1.1 + picocolors: ^1.0.0 + peerDependencies: + browserslist: ">= 4.21.0" + bin: + browserslist-lint: cli.js + checksum: f625899b236f6a4d7f62b56be1b8da230c5563d1fef84d3ef148f2e1a3f11a5a4b3be4fd7e3703e51274c116194017775b10afb4de09eb2c0d09d36b90f1f578 + languageName: node + linkType: hard + "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -12576,20 +13699,13 @@ __metadata: languageName: node linkType: hard -"v8-compile-cache-lib@npm:^3.0.0": +"v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" checksum: 78089ad549e21bcdbfca10c08850022b22024cdcc2da9b168bcf5a73a6ed7bf01a9cebb9eac28e03cd23a684d81e0502797e88f3ccd27a32aeab1cfc44c39da0 languageName: node linkType: hard -"v8-compile-cache@npm:^2.0.3": - version: 2.3.0 - resolution: "v8-compile-cache@npm:2.3.0" - checksum: adb0a271eaa2297f2f4c536acbfee872d0dd26ec2d76f66921aa7fc437319132773483344207bdbeee169225f4739016d8d2dbf0553913a52bb34da6d0334f8e - languageName: node - linkType: hard - "validate-npm-package-license@npm:^3.0.1": version: 3.0.4 resolution: "validate-npm-package-license@npm:3.0.4" @@ -13175,7 +14291,22 @@ __metadata: languageName: node linkType: hard -"web3-utils@npm:^1.0.0-beta.31, web3-utils@npm:^1.3.0": +"web3-utils@npm:^1.0.0-beta.31": + version: 1.8.0 + resolution: "web3-utils@npm:1.8.0" + dependencies: + bn.js: ^5.2.1 + ethereum-bloom-filters: ^1.0.6 + ethereumjs-util: ^7.1.0 + ethjs-unit: 0.1.6 + number-to-bn: 1.7.0 + randombytes: ^2.1.0 + utf8: 3.0.0 + checksum: 9ac6b8be14fd1feb8f6744d97f94a043716f360035f07de5a6ab414b25838922ac06e09141af39f66fbf3e76de5f1c3e07807929adf754a28ac2159e32dacedf + languageName: node + linkType: hard + +"web3-utils@npm:^1.3.0": version: 1.7.3 resolution: "web3-utils@npm:1.7.3" dependencies: @@ -13376,6 +14507,16 @@ __metadata: languageName: node linkType: hard +"wordwrapjs@npm:^4.0.0": + version: 4.0.1 + resolution: "wordwrapjs@npm:4.0.1" + dependencies: + reduce-flatten: ^2.0.0 + typical: ^5.2.0 + checksum: 3d927f3c95d0ad990968da54c0ad8cde2801d8e91006cd7474c26e6b742cc8557250ce495c9732b2f9db1f903601cb74ec282e0f122ee0d02d7abe81e150eea8 + languageName: node + linkType: hard + "workerpool@npm:6.2.0": version: 6.2.0 resolution: "workerpool@npm:6.2.0" From 3945818b9b0a4710de58f357c5f0736abcf6dfe0 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Mon, 21 Nov 2022 09:42:41 -0800 Subject: [PATCH 08/56] Aroralanuk patches (#9) * calldata and test command fix * add setup doc from template * Fix build Co-authored-by: Kunal Arora --- README.md | 26 +++++++++++++++++- contracts/HypERC20.sol | 4 +-- contracts/HypERC721.sol | 4 +-- package.json | 5 ++-- yarn.lock | 60 ++++++++++++----------------------------- 5 files changed, 49 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index 283ada8ce..3930bbdd0 100644 --- a/README.md +++ b/README.md @@ -28,4 +28,28 @@ graph TB Operator -- "process(Ethereum, (Bob, 5))" --> EthereumInbox EthereumInbox-->|"handle(Ethereum, (Bob, 5))"|HYP_P HYP_P-.->Bob -``` \ No newline at end of file +``` + +## Setup + +```sh +# Install dependencies +yarn + +# Build source and generate types +yarn build +``` + +## Test + +```sh +# Run all unit tests +yarn test + +# Lint check code +yarn lint +``` + +## Learn more + +For more information, see the [Hyperlane documentation](https://docs.hyperlane.xyz/hyperlane-docs/developers/getting-started). diff --git a/contracts/HypERC20.sol b/contracts/HypERC20.sol index 5fe84d80d..076c353b3 100644 --- a/contracts/HypERC20.sol +++ b/contracts/HypERC20.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.13; -import {Router} from "@hyperlane-xyz/app/contracts/Router.sol"; +import {Router} from "@hyperlane-xyz/core/contracts/Router.sol"; import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol"; @@ -93,7 +93,7 @@ contract HypERC20 is Router, ERC20Upgradeable { function _handle( uint32 _origin, bytes32, - bytes memory _message + bytes calldata _message ) internal override { (address recipient, uint256 amount) = abi.decode( _message, diff --git a/contracts/HypERC721.sol b/contracts/HypERC721.sol index 2fe4ec5a1..9c9b95f05 100644 --- a/contracts/HypERC721.sol +++ b/contracts/HypERC721.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: Apache-2.0 pragma solidity ^0.8.13; -import {Router} from "@hyperlane-xyz/app/contracts/Router.sol"; +import {Router} from "@hyperlane-xyz/core/contracts/Router.sol"; import {ERC721EnumerableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol"; @@ -94,7 +94,7 @@ contract HypERC721 is Router, ERC721EnumerableUpgradeable { function _handle( uint32 _origin, bytes32, - bytes memory _message + bytes calldata _message ) internal override { (address recipient, uint256 tokenId) = abi.decode( _message, diff --git a/package.json b/package.json index b648521c8..286a01054 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,8 @@ "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", "version": "0.5.0", "dependencies": { - "@hyperlane-xyz/sdk": "^0.5.0-beta0", + "@hyperlane-xyz/core": "^0.5.0", + "@hyperlane-xyz/sdk": "^0.5.0", "@openzeppelin/contracts-upgradeable": "^4.6.0", "ethers": "^5.6.8" }, @@ -54,7 +55,7 @@ "coverage": "hardhat coverage", "lint": "eslint . --ext .ts", "prettier": "prettier --write ./contracts ./test", - "test": "hardhat test ./test/**/*.test.ts" + "test": "hardhat test ./test/*.test.ts" }, "types": "dist/index.d.ts" } diff --git a/yarn.lock b/yarn.lock index 934ad5354..90e74db6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1192,17 +1192,6 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/app@npm:0.5.0-beta0": - version: 0.5.0-beta0 - resolution: "@hyperlane-xyz/app@npm:0.5.0-beta0" - dependencies: - "@hyperlane-xyz/core": 0.5.0-beta0 - "@hyperlane-xyz/utils": 0.5.0-beta0 - "@openzeppelin/contracts-upgradeable": ^4.5.0 - checksum: 14dac843eb418bd9807116bb0dd56aca08bd4a8645cd635f534dc75bb8fbfd1b5a12c1d1b2e9343d12592798e827f191c48725d0e6d943e2e9d7fe3bd3fddf47 - languageName: node - linkType: hard - "@hyperlane-xyz/celo-ethers-provider@npm:^0.1.1": version: 0.1.1 resolution: "@hyperlane-xyz/celo-ethers-provider@npm:0.1.1" @@ -1212,15 +1201,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:0.5.0-beta0": - version: 0.5.0-beta0 - resolution: "@hyperlane-xyz/core@npm:0.5.0-beta0" +"@hyperlane-xyz/core@npm:0.5.3, @hyperlane-xyz/core@npm:^0.5.0": + version: 0.5.3 + resolution: "@hyperlane-xyz/core@npm:0.5.3" dependencies: - "@hyperlane-xyz/utils": 0.5.0-beta0 + "@hyperlane-xyz/utils": 0.5.3 "@openzeppelin/contracts": ^4.6.0 "@openzeppelin/contracts-upgradeable": ^4.6.0 - "@summa-tx/memview-sol": ^2.0.0 - checksum: 7c3f88d4140d63b50013feddd1a13275e28eeb1ff1e7cd119480aee904a11c6ff0b50535159e90058b6a80cf28176a7ef0bdd13a20e99f82ef722a34b807a193 + checksum: 2082cceb04022a6d73d5fc04966a72caddc77f84c8b35ed5fc8d46c4d4ff0189f834c5c8fad1355ef2bf2d040cae26b89f200bdbfb3118942ce46c946dc1df30 languageName: node linkType: hard @@ -1228,7 +1216,8 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/sdk": ^0.5.0-beta0 + "@hyperlane-xyz/core": ^0.5.0 + "@hyperlane-xyz/sdk": ^0.5.0 "@nomiclabs/hardhat-ethers": ^2.0.5 "@nomiclabs/hardhat-waffle": ^2.0.2 "@openzeppelin/contracts-upgradeable": ^4.6.0 @@ -1256,29 +1245,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:^0.5.0-beta0": - version: 0.5.0-beta0 - resolution: "@hyperlane-xyz/sdk@npm:0.5.0-beta0" +"@hyperlane-xyz/sdk@npm:^0.5.0": + version: 0.5.3 + resolution: "@hyperlane-xyz/sdk@npm:0.5.3" dependencies: - "@hyperlane-xyz/app": 0.5.0-beta0 "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 - "@hyperlane-xyz/core": 0.5.0-beta0 - "@hyperlane-xyz/utils": 0.5.0-beta0 + "@hyperlane-xyz/core": 0.5.3 + "@hyperlane-xyz/utils": 0.5.3 "@types/debug": ^4.1.7 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.6.8 - checksum: 85ef5c70ad290f1ff67297fdd76419d8b4290b22c3a1eb9ed5c1ac4876c7fef5c11471a063190aa8940156bc622e6527950d24aac9e58897cd301da33c41c1c7 + checksum: da21f5eabf14503cb95eeec548bc95eb42aebd4ac7c27193296b2b17e150b2dd7392c075f9930143a8ba81f32643a5be36701b6db6a85213fdd138903f11e38a languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:0.5.0-beta0": - version: 0.5.0-beta0 - resolution: "@hyperlane-xyz/utils@npm:0.5.0-beta0" +"@hyperlane-xyz/utils@npm:0.5.3": + version: 0.5.3 + resolution: "@hyperlane-xyz/utils@npm:0.5.3" dependencies: ethers: ^5.6.8 - checksum: 7628b0624a1b7bbab77b04ada38d0842dee8076273f58c0cd608877b430e46f2d965de0293d53b6bdcfe66b4fb36840ded0ee2a9e30894394415be38817e223f + checksum: a9d819494cba44f583d575d07d3af1b43357b90d95fb0fd4fa1d8337ad069f938dd678a8a0e824a8e70e767f3b8f5a8e6a1b649e27da21837e51e515ffa793f3 languageName: node linkType: hard @@ -1443,13 +1431,6 @@ __metadata: languageName: node linkType: hard -"@openzeppelin/contracts-upgradeable@npm:^4.5.0": - version: 4.6.0 - resolution: "@openzeppelin/contracts-upgradeable@npm:4.6.0" - checksum: f9802c9cccf31bd475412ba5d862ed15eed5352302c30b29c38f84aed2dcfe0d957687935a72068f3d44292a4a55b0ff26cd018b2e14a47f16f74f087009aa29 - languageName: node - linkType: hard - "@openzeppelin/contracts-upgradeable@npm:^4.6.0": version: 4.7.3 resolution: "@openzeppelin/contracts-upgradeable@npm:4.7.3" @@ -1635,13 +1616,6 @@ __metadata: languageName: node linkType: hard -"@summa-tx/memview-sol@npm:^2.0.0": - version: 2.0.1 - resolution: "@summa-tx/memview-sol@npm:2.0.1" - checksum: fbdb525033024f2a0a2078c8f36fb74902ea8590b91c4a68b2782eec27f5585220ae17e973ba96dff77bb87cd7491dca0a3af6694dfabc6db4e64c5ce740d5c8 - languageName: node - linkType: hard - "@szmarczak/http-timer@npm:^1.1.2": version: 1.1.2 resolution: "@szmarczak/http-timer@npm:1.1.2" From cb0ba3684119ea2870943806b5e786a23dbb9b47 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Tue, 29 Nov 2022 15:58:40 -0800 Subject: [PATCH 09/56] Updates for v2 (#10) * Updates for v2 connection client * Update deployers * Fix tests * Pull in prerelease versions * Improve test coverage * Add tests for collateral --- README.md | 6 + contracts/HypERC20.sol | 94 +++------ contracts/HypERC20Collateral.sol | 41 ++++ contracts/HypERC721.sol | 94 +++------ contracts/HypERC721Collateral.sol | 41 ++++ contracts/libs/Message.sol | 25 +++ contracts/libs/TokenRouter.sol | 84 ++++++++ contracts/test/ERC20Test.sol | 14 ++ contracts/test/ERC721Test.sol | 16 ++ package.json | 5 +- src/app.ts | 43 ++++ src/config.ts | 23 ++- src/contracts.ts | 25 +-- src/deploy.ts | 143 +++++++++----- test/erc20.test.ts | 280 ++++++++++++++++---------- test/erc721.test.ts | 313 ++++++++++++++++++++---------- yarn.lock | 35 ++-- 17 files changed, 838 insertions(+), 444 deletions(-) create mode 100644 contracts/HypERC20Collateral.sol create mode 100644 contracts/HypERC721Collateral.sol create mode 100644 contracts/libs/Message.sol create mode 100644 contracts/libs/TokenRouter.sol create mode 100644 contracts/test/ERC20Test.sol create mode 100644 contracts/test/ERC721Test.sol create mode 100644 src/app.ts diff --git a/README.md b/README.md index 3930bbdd0..14c56d8e2 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,12 @@ yarn yarn build ``` +### (Optional) Using local core contracts +``` +# yarn link does not work well with workspaces +ln -s ~/path/to/monorepo/solidity node_modules/@hyperlane-xyz/core +``` + ## Test ```sh diff --git a/contracts/HypERC20.sol b/contracts/HypERC20.sol index 076c353b3..1f48dc178 100644 --- a/contracts/HypERC20.sol +++ b/contracts/HypERC20.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: Apache-2.0 -pragma solidity ^0.8.13; +pragma solidity >=0.8.0; -import {Router} from "@hyperlane-xyz/core/contracts/Router.sol"; +import {TokenRouter} from "./libs/TokenRouter.sol"; import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol"; @@ -10,96 +10,46 @@ import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ * @author Abacus Works * @dev Supply on each chain is not constant but the aggregate supply across all chains is. */ -contract HypERC20 is Router, ERC20Upgradeable { - /** - * @dev Emitted on `transferRemote` when a transfer message is dispatched. - * @param destination The identifier of the destination chain. - * @param recipient The address of the recipient on the destination chain. - * @param amount The amount of tokens burnt on the origin chain. - */ - event SentTransferRemote( - uint32 indexed destination, - address indexed recipient, - uint256 amount - ); - - /** - * @dev Emitted on `_handle` when a transfer message is processed. - * @param origin The identifier of the origin chain. - * @param recipient The address of the recipient on the destination chain. - * @param amount The amount of tokens minted on the destination chain. - */ - event ReceivedTransferRemote( - uint32 indexed origin, - address indexed recipient, - uint256 amount - ); - +contract HypERC20 is ERC20Upgradeable, TokenRouter { /** * @notice Initializes the Hyperlane router, ERC20 metadata, and mints initial supply to deployer. - * @param _abacusConnectionManager The address of the connection manager contract. + * @param _mailbox The address of the mailbox contract. * @param _interchainGasPaymaster The address of the interchain gas paymaster contract. + * @param _interchainSecurityModule The address of the interchain security module contract. * @param _totalSupply The initial supply of the token. * @param _name The name of the token. * @param _symbol The symbol of the token. */ function initialize( - address _abacusConnectionManager, + address _mailbox, address _interchainGasPaymaster, + address _interchainSecurityModule, uint256 _totalSupply, string memory _name, string memory _symbol ) external initializer { - // Set ownable to sender - _transferOwnership(msg.sender); - // Set ACM contract address - _setAbacusConnectionManager(_abacusConnectionManager); - // Set IGP contract address - _setInterchainGasPaymaster(_interchainGasPaymaster); + // transfers ownership to `msg.sender` + __HyperlaneConnectionClient_initialize( + _mailbox, + _interchainGasPaymaster, + _interchainSecurityModule + ); + // Initialize ERC20 metadata __ERC20_init(_name, _symbol); _mint(msg.sender, _totalSupply); } - /** - * @notice Transfers `_amount` of tokens from `msg.sender` to `_recipient` on the `_destination` chain. - * @dev Burns `_amount` of tokens from `msg.sender` on the origin chain and dispatches - * message to the `destination` chain to mint `_amount` of tokens to `recipient`. - * @dev Emits `SentTransferRemote` event on the origin chain. - * @param _destination The identifier of the destination chain. - * @param _recipient The address of the recipient on the destination chain. - * @param _amount The amount of tokens to be sent to the remote recipient. - */ - function transferRemote( - uint32 _destination, - address _recipient, - uint256 _amount - ) external payable { + // called in `TokenRouter.transferRemote` before `Mailbox.dispatch` + function _transferFromSender(uint256 _amount) internal override { _burn(msg.sender, _amount); - _dispatchWithGas( - _destination, - abi.encode(_recipient, _amount), - msg.value - ); - emit SentTransferRemote(_destination, _recipient, _amount); } - /** - * @dev Mints tokens to recipient when router receives transfer message. - * @dev Emits `ReceivedTransferRemote` event on the destination chain. - * @param _origin The identifier of the origin chain. - * @param _message The encoded remote transfer message containing the recipient address and amount. - */ - function _handle( - uint32 _origin, - bytes32, - bytes calldata _message - ) internal override { - (address recipient, uint256 amount) = abi.decode( - _message, - (address, uint256) - ); - _mint(recipient, amount); - emit ReceivedTransferRemote(_origin, recipient, amount); + // called by `TokenRouter.handle` + function _transferTo(address _recipient, uint256 _amount) + internal + override + { + _mint(_recipient, _amount); } } diff --git a/contracts/HypERC20Collateral.sol b/contracts/HypERC20Collateral.sol new file mode 100644 index 000000000..c5495323e --- /dev/null +++ b/contracts/HypERC20Collateral.sol @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity >=0.8.0; + +import {TokenRouter} from "./libs/TokenRouter.sol"; + +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +/** + * @title Collateralize ERC20 token and route messages to HypERC20 tokens. + * @author Abacus Works + */ +contract HypERC20Collateral is TokenRouter { + IERC20 public immutable wrappedToken; + + constructor(address erc20) { + wrappedToken = IERC20(erc20); + } + + function initialize( + address _mailbox, + address _interchainGasPaymaster, + address _interchainSecurityModule + ) external initializer { + __HyperlaneConnectionClient_initialize( + _mailbox, + _interchainGasPaymaster, + _interchainSecurityModule + ); + } + + function _transferFromSender(uint256 _amount) internal override { + require(wrappedToken.transferFrom(msg.sender, address(this), _amount)); + } + + function _transferTo(address _recipient, uint256 _amount) + internal + override + { + require(wrappedToken.transfer(_recipient, _amount)); + } +} diff --git a/contracts/HypERC721.sol b/contracts/HypERC721.sol index 9c9b95f05..8a75b2e7a 100644 --- a/contracts/HypERC721.sol +++ b/contracts/HypERC721.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: Apache-2.0 -pragma solidity ^0.8.13; +pragma solidity >=0.8.0; -import {Router} from "@hyperlane-xyz/core/contracts/Router.sol"; +import {TokenRouter} from "./libs/TokenRouter.sol"; import {ERC721EnumerableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol"; @@ -9,52 +9,30 @@ import {ERC721EnumerableUpgradeable} from "@openzeppelin/contracts-upgradeable/t * @title Hyperlane Token that extends the ERC721 token standard to enable native interchain transfers. * @author Abacus Works */ -contract HypERC721 is Router, ERC721EnumerableUpgradeable { - /** - * @dev Emitted on `transferRemote` when a transfer message is dispatched. - * @param destination The identifier of the destination chain. - * @param recipient The address of the recipient on the destination chain. - * @param tokenId The tokenId of tokens burnt on the origin chain. - */ - event SentTransferRemote( - uint32 indexed destination, - address indexed recipient, - uint256 tokenId - ); - - /** - * @dev Emitted on `_handle` when a transfer message is processed. - * @param origin The identifier of the origin chain. - * @param recipient The address of the recipient on the destination chain. - * @param tokenId The tokenId of tokens minted on the destination chain. - */ - event ReceivedTransferRemote( - uint32 indexed origin, - address indexed recipient, - uint256 tokenId - ); - +contract HypERC721 is ERC721EnumerableUpgradeable, TokenRouter { /** * @notice Initializes the Hyperlane router, ERC721 metadata, and mints initial supply to deployer. - * @param _abacusConnectionManager The address of the connection manager contract. + * @param _mailbox The address of the mailbox contract. * @param _interchainGasPaymaster The address of the interchain gas paymaster contract. + * @param _interchainSecurityModule The address of the interchain security module contract. * @param _mintAmount The amount of NFTs to mint to `msg.sender`. * @param _name The name of the token. * @param _symbol The symbol of the token. */ function initialize( - address _abacusConnectionManager, + address _mailbox, address _interchainGasPaymaster, + address _interchainSecurityModule, uint256 _mintAmount, string memory _name, string memory _symbol ) external initializer { - // Set ownable to sender - _transferOwnership(msg.sender); - // Set ACM contract address - _setAbacusConnectionManager(_abacusConnectionManager); - // Set IGP contract address - _setInterchainGasPaymaster(_interchainGasPaymaster); + // transfers ownership to `msg.sender` + __HyperlaneConnectionClient_initialize( + _mailbox, + _interchainGasPaymaster, + _interchainSecurityModule + ); __ERC721_init(_name, _symbol); for (uint256 i = 0; i < _mintAmount; i++) { @@ -62,45 +40,17 @@ contract HypERC721 is Router, ERC721EnumerableUpgradeable { } } - /** - * @notice Transfers `_tokenId` of tokens from `msg.sender` to `_recipient` on the `_destination` chain. - * @dev Burns `_tokenId` of tokens from `msg.sender` on the origin chain and dispatches - * message to the `destination` chain to mint `_tokenId` of tokens to `recipient`. - * @dev Emits `SentTransferRemote` event on the origin chain. - * @param _destination The identifier of the destination chain. - * @param _recipient The address of the recipient on the destination chain. - * @param _tokenId The tokenId of tokens to be sent to the remote recipient. - */ - function transferRemote( - uint32 _destination, - address _recipient, - uint256 _tokenId - ) external payable { + // called in `TokenRouter.transferRemote` before `Mailbox.dispatch` + function _transferFromSender(uint256 _tokenId) internal override { + require(ownerOf(_tokenId) == msg.sender, "!owner"); _burn(_tokenId); - _dispatchWithGas( - _destination, - abi.encode(_recipient, _tokenId), - msg.value - ); - emit SentTransferRemote(_destination, _recipient, _tokenId); } - /** - * @dev Mints tokens to recipient when router receives transfer message. - * @dev Emits `ReceivedTransferRemote` event on the destination chain. - * @param _origin The identifier of the origin chain. - * @param _message The encoded remote transfer message containing the recipient address and tokenId. - */ - function _handle( - uint32 _origin, - bytes32, - bytes calldata _message - ) internal override { - (address recipient, uint256 tokenId) = abi.decode( - _message, - (address, uint256) - ); - _mint(recipient, tokenId); - emit ReceivedTransferRemote(_origin, recipient, tokenId); + // called by `TokenRouter.handle` + function _transferTo(address _recipient, uint256 _tokenId) + internal + override + { + _mint(_recipient, _tokenId); } } diff --git a/contracts/HypERC721Collateral.sol b/contracts/HypERC721Collateral.sol new file mode 100644 index 000000000..d50ee3c5c --- /dev/null +++ b/contracts/HypERC721Collateral.sol @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity >=0.8.0; + +import {TokenRouter} from "./libs/TokenRouter.sol"; + +import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; + +/** + * @title Collateralize ERC20 token and route messages to HypERC20 tokens. + * @author Abacus Works + */ +contract HypERC721Collateral is TokenRouter { + IERC721 public immutable wrappedToken; + + constructor(address erc721) { + wrappedToken = IERC721(erc721); + } + + function initialize( + address _mailbox, + address _interchainGasPaymaster, + address _interchainSecurityModule + ) external initializer { + __HyperlaneConnectionClient_initialize( + _mailbox, + _interchainGasPaymaster, + _interchainSecurityModule + ); + } + + function _transferFromSender(uint256 _amount) internal override { + wrappedToken.transferFrom(msg.sender, address(this), _amount); + } + + function _transferTo(address _recipient, uint256 _amount) + internal + override + { + wrappedToken.transferFrom(address(this), _recipient, _amount); + } +} diff --git a/contracts/libs/Message.sol b/contracts/libs/Message.sol new file mode 100644 index 000000000..444fab583 --- /dev/null +++ b/contracts/libs/Message.sol @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +pragma solidity >=0.8.0; + +library Message { + function format(bytes32 _recipient, uint256 _amount) + internal + pure + returns (bytes memory) + { + return abi.encodePacked(_recipient, _amount); + } + + function recipient(bytes calldata message) internal pure returns (bytes32) { + return bytes32(message[0:32]); + } + + function amount(bytes calldata message) internal pure returns (uint256) { + return uint256(bytes32(message[32:64])); + } + + // alias for ERC721 + function tokenId(bytes calldata message) internal pure returns (uint256) { + return amount(message); + } +} diff --git a/contracts/libs/TokenRouter.sol b/contracts/libs/TokenRouter.sol new file mode 100644 index 000000000..39cc7ec66 --- /dev/null +++ b/contracts/libs/TokenRouter.sol @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity >=0.8.0; + +import {Router} from "@hyperlane-xyz/core/contracts/Router.sol"; +import {TypeCasts} from "@hyperlane-xyz/core/contracts/libs/TypeCasts.sol"; +import {Message} from "./Message.sol"; + +/** + * @title Hyperlane Token that extends the ERC20 token standard to enable native interchain transfers. + * @author Abacus Works + * @dev Supply on each chain is not constant but the aggregate supply across all chains is. + */ +abstract contract TokenRouter is Router { + using TypeCasts for bytes32; + using Message for bytes; + + /** + * @dev Emitted on `transferRemote` when a transfer message is dispatched. + * @param destination The identifier of the destination chain. + * @param recipient The address of the recipient on the destination chain. + * @param amount The amount of tokens burnt on the origin chain. + */ + event SentTransferRemote( + uint32 indexed destination, + bytes32 indexed recipient, + uint256 amount + ); + + /** + * @dev Emitted on `_handle` when a transfer message is processed. + * @param origin The identifier of the origin chain. + * @param recipient The address of the recipient on the destination chain. + * @param amount The amount of tokens minted on the destination chain. + */ + event ReceivedTransferRemote( + uint32 indexed origin, + bytes32 indexed recipient, + uint256 amount + ); + + /** + * @notice Transfers `_amount` of tokens from `msg.sender` to `_recipient` on the `_destination` chain. + * @dev Burns `_amount` of tokens from `msg.sender` on the origin chain and dispatches + * message to the `destination` chain to mint `_amount` of tokens to `recipient`. + * @dev Emits `SentTransferRemote` event on the origin chain. + * @param _destination The identifier of the destination chain. + * @param _recipient The address of the recipient on the destination chain. + * @param _amount The amount of tokens to be sent to the remote recipient. + */ + function transferRemote( + uint32 _destination, + bytes32 _recipient, + uint256 _amount + ) external payable { + _transferFromSender(_amount); + _dispatchWithGas( + _destination, + Message.format(_recipient, _amount), + msg.value + ); + emit SentTransferRemote(_destination, _recipient, _amount); + } + + function _transferFromSender(uint256 _amount) internal virtual; + + /** + * @dev Mints tokens to recipient when router receives transfer message. + * @dev Emits `ReceivedTransferRemote` event on the destination chain. + * @param _origin The identifier of the origin chain. + * @param _message The encoded remote transfer message containing the recipient address and amount. + */ + function _handle( + uint32 _origin, + bytes32, + bytes calldata _message + ) internal override { + bytes32 recipient = _message.recipient(); + uint256 amount = _message.amount(); + _transferTo(recipient.bytes32ToAddress(), amount); + emit ReceivedTransferRemote(_origin, recipient, amount); + } + + function _transferTo(address _recipient, uint256 _amount) internal virtual; +} diff --git a/contracts/test/ERC20Test.sol b/contracts/test/ERC20Test.sol new file mode 100644 index 000000000..4a4e66d8e --- /dev/null +++ b/contracts/test/ERC20Test.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity >=0.8.0; + +import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +contract ERC20Test is ERC20 { + constructor( + string memory name, + string memory symbol, + uint256 totalSupply + ) ERC20(name, symbol) { + _mint(msg.sender, totalSupply); + } +} diff --git a/contracts/test/ERC721Test.sol b/contracts/test/ERC721Test.sol new file mode 100644 index 000000000..269af1967 --- /dev/null +++ b/contracts/test/ERC721Test.sol @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity >=0.8.0; + +import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; + +contract ERC721Test is ERC721 { + constructor( + string memory name, + string memory symbol, + uint256 _mintAmount + ) ERC721(name, symbol) { + for (uint256 i = 0; i < _mintAmount; i++) { + _mint(msg.sender, i); + } + } +} diff --git a/package.json b/package.json index 286a01054..eeb509435 100644 --- a/package.json +++ b/package.json @@ -3,8 +3,9 @@ "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", "version": "0.5.0", "dependencies": { - "@hyperlane-xyz/core": "^0.5.0", - "@hyperlane-xyz/sdk": "^0.5.0", + "@hyperlane-xyz/core": "0.5.4-3", + "@hyperlane-xyz/sdk": "0.5.4-3", + "@hyperlane-xyz/utils": "0.5.4-3", "@openzeppelin/contracts-upgradeable": "^4.6.0", "ethers": "^5.6.8" }, diff --git a/src/app.ts b/src/app.ts new file mode 100644 index 000000000..e140e06a6 --- /dev/null +++ b/src/app.ts @@ -0,0 +1,43 @@ +import { + ChainName, + HyperlaneApp, + objMap, + promiseObjAll, +} from '@hyperlane-xyz/sdk'; + +import { HypERC20Contracts, HypERC721Contracts } from './contracts'; + +export class HypERC20App extends HyperlaneApp< + HypERC20Contracts, + Chain +> { + getSecurityModules = () => + promiseObjAll( + objMap(this.contractsMap, (_, contracts) => + contracts.router.interchainSecurityModule(), + ), + ); + + getOwners = () => + promiseObjAll( + objMap(this.contractsMap, (_, contracts) => contracts.router.owner()), + ); +} + +// TODO: dedupe? +export class HypERC721App extends HyperlaneApp< + HypERC721Contracts, + Chain +> { + getSecurityModules = () => + promiseObjAll( + objMap(this.contractsMap, (_, contracts) => + contracts.router.interchainSecurityModule(), + ), + ); + + getOwners = () => + promiseObjAll( + objMap(this.contractsMap, (_, contracts) => contracts.router.owner()), + ); +} diff --git a/src/config.ts b/src/config.ts index ec91a18d9..863a924a1 100644 --- a/src/config.ts +++ b/src/config.ts @@ -2,18 +2,25 @@ import { ethers } from 'ethers'; import { RouterConfig } from '@hyperlane-xyz/sdk'; -export type Erc20TokenConfig = { +export type SyntheticConfig = { + type: "SYNTHETIC"; name: string; symbol: string; totalSupply: ethers.BigNumberish; }; +export type CollateralConfig = { + type: "COLLATERAL"; + token: string; +} -export type HypERC20Config = RouterConfig & Erc20TokenConfig; +export type TokenConfig = SyntheticConfig | CollateralConfig; -export type Erc721TokenConfig = { - name: string; - symbol: string; - mintAmount: ethers.BigNumberish; -}; +export const isCollateralConfig = (config: RouterConfig & TokenConfig): config is RouterConfig & CollateralConfig => { + return config.type === "COLLATERAL"; +} + +export type HypERC20Config = RouterConfig & TokenConfig; +export type HypERC20CollateralConfig = RouterConfig & CollateralConfig; -export type HypERC721Config = RouterConfig & Erc721TokenConfig; +export type HypERC721Config = RouterConfig & TokenConfig; +export type HypERC721CollateralConfig = RouterConfig & CollateralConfig; diff --git a/src/contracts.ts b/src/contracts.ts index 4fd18001d..e74610fad 100644 --- a/src/contracts.ts +++ b/src/contracts.ts @@ -1,24 +1,13 @@ -import { RouterContracts, RouterFactories } from '@hyperlane-xyz/sdk'; +import { RouterContracts } from '@hyperlane-xyz/sdk'; import { HypERC20, - HypERC20__factory, + HypERC20Collateral, HypERC721, - HypERC721__factory, + HypERC721Collateral, } from './types'; -export type HypERC20Factories = RouterFactories; - -export const hypERC20Factories: HypERC20Factories = { - router: new HypERC20__factory(), -}; - -export type HypERC20Contracts = RouterContracts; - -export type HypERC721Factories = RouterFactories; - -export const hypERC721Factories: HypERC721Factories = { - router: new HypERC721__factory(), -}; - -export type HypERC721Contracts = RouterContracts; +export type HypERC20Contracts = RouterContracts; +export type HypERC721Contracts = RouterContracts< + HypERC721 | HypERC721Collateral +>; diff --git a/src/deploy.ts b/src/deploy.ts index 74a447641..4e0bd5347 100644 --- a/src/deploy.ts +++ b/src/deploy.ts @@ -1,79 +1,118 @@ +import { ethers } from 'ethers'; + import { - ChainMap, ChainName, - HyperlaneCore, HyperlaneRouterDeployer, - MultiProvider, } from '@hyperlane-xyz/sdk'; -import { HypERC20Config, HypERC721Config } from './config'; +import { + HypERC20CollateralConfig, + HypERC20Config, + HypERC721Config, + isCollateralConfig, + HypERC721CollateralConfig, +} from './config'; import { HypERC20Contracts, - HypERC20Factories, HypERC721Contracts, - HypERC721Factories, - hypERC20Factories, - hypERC721Factories, } from './contracts'; +import { HypERC20Collateral__factory, HypERC20__factory, HypERC721Collateral__factory, HypERC721__factory } from './types'; export class HypERC20Deployer< - Chain extends ChainName, + Chain extends ChainName // inferred from configured chains passed to constructor > extends HyperlaneRouterDeployer< Chain, - HypERC20Config, + HypERC20Config | HypERC20CollateralConfig, HypERC20Contracts, - HypERC20Factories + any // RouterFactories doesn't work well when router has multiple types > { - constructor( - multiProvider: MultiProvider, - configMap: ChainMap, - protected core: HyperlaneCore, + async deployContracts( + chain: Chain, + config: HypERC20Config | HypERC20CollateralConfig, ) { - super(multiProvider, configMap, hypERC20Factories); - } - - async deployContracts(chain: Chain, config: HypERC20Config) { - const router = await this.deployContract(chain, 'router', []); - await router.initialize( - config.connectionManager, - config.interchainGasPaymaster, - config.totalSupply, - config.name, - config.symbol, - ); - return { - router, - }; + const ism = config.interchainSecurityModule ?? ethers.constants.AddressZero; + const connection = this.multiProvider.getChainConnection(chain); + if (isCollateralConfig(config)) { + const router = await this.deployContractFromFactory( + chain, + new HypERC20Collateral__factory(), + 'HypERC20Collateral', + [config.token], + ); + await connection.handleTx( + router.initialize( + config.mailbox, + config.interchainGasPaymaster, + ism + ), + ); + return { router }; + } else { + const router = await this.deployContractFromFactory( + chain, + new HypERC20__factory(), + 'HypERC20', + [], + ); + await connection.handleTx(router.initialize( + config.mailbox, + config.interchainGasPaymaster, + ism, + config.totalSupply, + config.name, + config.symbol, + )); + return { router }; + } } } +// TODO: dedupe? export class HypERC721Deployer< - Chain extends ChainName, + Chain extends ChainName > extends HyperlaneRouterDeployer< Chain, - HypERC721Config, + HypERC721Config | HypERC721CollateralConfig, HypERC721Contracts, - HypERC721Factories + any > { - constructor( - multiProvider: MultiProvider, - configMap: ChainMap, - protected core: HyperlaneCore, + async deployContracts( + chain: Chain, + config: HypERC721Config | HypERC721CollateralConfig, ) { - super(multiProvider, configMap, hypERC721Factories); - } - - async deployContracts(chain: Chain, config: HypERC721Config) { - const router = await this.deployContract(chain, 'router', []); - await router.initialize( - config.connectionManager, - config.interchainGasPaymaster, - config.mintAmount, - config.name, - config.symbol, - ); - return { - router, - }; + const ism = config.interchainSecurityModule ?? ethers.constants.AddressZero; + const connection = this.multiProvider.getChainConnection(chain); + if (isCollateralConfig(config)) { + const router = await this.deployContractFromFactory( + chain, + new HypERC721Collateral__factory(), + 'HypERC721Collateral', + [config.token], + ); + await connection.handleTx( + router.initialize( + config.mailbox, + config.interchainGasPaymaster, + ism + ), + ); + return { router }; + } else { + const router = await this.deployContractFromFactory( + chain, + new HypERC721__factory(), + 'HypERC721', + [], + ); + await connection.handleTx(router.initialize( + config.mailbox, + config.interchainGasPaymaster, + ism, + config.totalSupply, + config.name, + config.symbol, + )); + return { router }; + } } } diff --git a/test/erc20.test.ts b/test/erc20.test.ts index 6217bbe80..be21ac838 100644 --- a/test/erc20.test.ts +++ b/test/erc20.test.ts @@ -9,16 +9,25 @@ import { TestChainNames, TestCoreApp, TestCoreDeployer, - getChainToOwnerMap, getTestMultiProvider, objMap, - testChainConnectionConfigs, } from '@hyperlane-xyz/sdk'; +import { utils } from '@hyperlane-xyz/utils'; -import { Erc20TokenConfig, HypERC20Config } from '../src/config'; +import { + HypERC20CollateralConfig, + HypERC20Config, + SyntheticConfig, +} from '../src/config'; import { HypERC20Contracts } from '../src/contracts'; import { HypERC20Deployer } from '../src/deploy'; -import { HypERC20 } from '../src/types'; +import { + ERC20, + ERC20Test__factory, + ERC20__factory, + HypERC20, + HypERC20Collateral, +} from '../src/types'; const localChain = 'test1'; const remoteChain = 'test2'; @@ -28,111 +37,186 @@ const totalSupply = 3000; const amount = 10; const testInterchainGasPayment = 123456789; -const tokenConfig: Erc20TokenConfig = { +const tokenConfig: SyntheticConfig = { + type: 'SYNTHETIC', name: 'HypERC20', symbol: 'HYP', totalSupply, }; -describe('HypERC20', async () => { - let owner: SignerWithAddress; - let recipient: SignerWithAddress; - let core: TestCoreApp; - let deployer: HypERC20Deployer; - let contracts: Record; - let local: HypERC20; - let remote: HypERC20; - - before(async () => { - [owner, recipient] = await ethers.getSigners(); - const multiProvider = getTestMultiProvider(owner); - - const coreDeployer = new TestCoreDeployer(multiProvider); - const coreContractsMaps = await coreDeployer.deploy(); - core = new TestCoreApp(coreContractsMaps, multiProvider); - const config = core.extendWithConnectionClientConfig( - getChainToOwnerMap(testChainConnectionConfigs, owner.address), - ); - const configWithTokenInfo: ChainMap = - objMap(config, (key) => ({ - ...config[key], +for (const withCollateral of [true, false]) { + describe(`HypERC20${withCollateral ? 'Collateral' : ''}`, async () => { + let owner: SignerWithAddress; + let recipient: SignerWithAddress; + let core: TestCoreApp; + let deployer: HypERC20Deployer; + let contracts: Record; + let local: HypERC20 | HypERC20Collateral; + let remote: HypERC20 | HypERC20Collateral; + + beforeEach(async () => { + [owner, recipient] = await ethers.getSigners(); + const multiProvider = getTestMultiProvider(owner); + + const coreDeployer = new TestCoreDeployer(multiProvider); + const coreContractsMaps = await coreDeployer.deploy(); + core = new TestCoreApp(coreContractsMaps, multiProvider); + const coreConfig = core.getConnectionClientConfigMap(); + const configWithTokenInfo: ChainMap< + TestChainNames, + HypERC20Config | HypERC20CollateralConfig + > = objMap(coreConfig, (key) => ({ + ...coreConfig[key], ...tokenConfig, + owner: owner.address, })); - deployer = new HypERC20Deployer(multiProvider, configWithTokenInfo, core); - contracts = await deployer.deploy(); - local = contracts[localChain].router; - remote = contracts[remoteChain].router; - }); - - it('should not be initializable again', async () => { - await expect( - local.initialize( - ethers.constants.AddressZero, - ethers.constants.AddressZero, - 0, - '', - '', - ), - ).to.be.revertedWith('Initializable: contract is already initialized'); - }); - - it('should mint total supply to deployer', async () => { - await expectBalance(local, recipient, 0); - await expectBalance(local, owner, totalSupply); - await expectBalance(remote, recipient, 0); - await expectBalance(remote, owner, totalSupply); - }); - - it('should allow for local transfers', async () => { - await local.transfer(recipient.address, amount); - await expectBalance(local, recipient, amount); - await expectBalance(local, owner, totalSupply - amount); - await expectBalance(remote, recipient, 0); - await expectBalance(remote, owner, totalSupply); - }); - - it('should allow for remote transfers', async () => { - await local.transferRemote(remoteDomain, recipient.address, amount); - await expectBalance(local, recipient, amount); - await expectBalance(local, owner, totalSupply - amount * 2); - await expectBalance(remote, recipient, 0); - await expectBalance(remote, owner, totalSupply); - - await core.processMessages(); - - await expectBalance(local, recipient, amount); - await expectBalance(local, owner, totalSupply - amount * 2); - await expectBalance(remote, recipient, amount); - await expectBalance(remote, owner, totalSupply); - }); - - it('allows interchain gas payment for remote transfers', async () => { - const outbox = core.getMailboxPair(localChain, remoteChain).originOutbox; - const interchainGasPaymaster = - core.contractsMap[localChain].interchainGasPaymaster.contract; - const leafIndex = await outbox.count(); - await expect( - local.transferRemote(remoteDomain, recipient.address, amount, { - value: testInterchainGasPayment, - }), - ) - .to.emit(interchainGasPaymaster, 'GasPayment') - .withArgs(outbox.address, leafIndex, testInterchainGasPayment); - }); - - it('should emit TransferRemote events', async () => { - expect(await local.transferRemote(remoteDomain, recipient.address, amount)) - .to.emit(local, 'SentTransferRemote') - .withArgs(remoteDomain, recipient.address, amount); - expect(await core.processMessages()) - .to.emit(local, 'ReceivedTransferRemote') - .withArgs(localDomain, recipient.address, amount); + let erc20: ERC20 | undefined; + if (withCollateral) { + erc20 = await new ERC20Test__factory(owner).deploy( + tokenConfig.name, + tokenConfig.symbol, + tokenConfig.totalSupply, + ); + configWithTokenInfo.test1 = { + ...configWithTokenInfo.test1, + type: 'COLLATERAL', + token: erc20.address, + }; + } + + deployer = new HypERC20Deployer(multiProvider, configWithTokenInfo, core); + contracts = await deployer.deploy(); + local = contracts[localChain].router as HypERC20; + + if (withCollateral) { + await erc20!.approve(local.address, amount); + } + + remote = contracts[remoteChain].router as HypERC20; + }); + + it('should not be initializable again', async () => { + const initializeTx = withCollateral + ? (local as HypERC20Collateral).initialize( + ethers.constants.AddressZero, + ethers.constants.AddressZero, + ethers.constants.AddressZero, + ) + : (local as HypERC20).initialize( + ethers.constants.AddressZero, + ethers.constants.AddressZero, + ethers.constants.AddressZero, + 0, + '', + '', + ); + await expect(initializeTx).to.be.revertedWith( + 'Initializable: contract is already initialized', + ); + }); + + it('should mint total supply to deployer', async () => { + await expectBalance(local, recipient, 0); + await expectBalance(local, owner, totalSupply); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, totalSupply); + }); + + it('should allow for local transfers', async () => { + // do not test underlying ERC20 collateral functionality + if (withCollateral) { + return; + } + + await (local as HypERC20).transfer(recipient.address, amount); + await expectBalance(local, recipient, amount); + await expectBalance(local, owner, totalSupply - amount); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, totalSupply); + }); + + it('should allow for remote transfers', async () => { + await local.transferRemote( + remoteDomain, + utils.addressToBytes32(recipient.address), + amount, + ); + + await expectBalance(local, recipient, 0); + await expectBalance(local, owner, totalSupply - amount); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, totalSupply); + + await core.processMessages(); + + await expectBalance(local, recipient, 0); + await expectBalance(local, owner, totalSupply - amount); + await expectBalance(remote, recipient, amount); + await expectBalance(remote, owner, totalSupply); + }); + + it('allows interchain gas payment for remote transfers', async () => { + const interchainGasPaymaster = + core.contractsMap[localChain].interchainGasPaymaster.contract; + await expect( + local.transferRemote( + remoteDomain, + utils.addressToBytes32(recipient.address), + amount, + { + value: testInterchainGasPayment, + }, + ), + ).to.emit(interchainGasPaymaster, 'GasPayment'); + }); + + it('should prevent remote transfer of unowned balance', async () => { + const revertReason = withCollateral + ? 'ERC20: insufficient allowance' + : 'ERC20: burn amount exceeds balance'; + await expect( + local + .connect(recipient) + .transferRemote( + remoteDomain, + utils.addressToBytes32(recipient.address), + amount, + ), + ).to.be.revertedWith(revertReason); + }); + + it('should emit TransferRemote events', async () => { + expect( + await local.transferRemote( + remoteDomain, + utils.addressToBytes32(recipient.address), + amount, + ), + ) + .to.emit(local, 'SentTransferRemote') + .withArgs(remoteDomain, recipient.address, amount); + expect(await core.processMessages()) + .to.emit(local, 'ReceivedTransferRemote') + .withArgs(localDomain, recipient.address, amount); + }); }); -}); +} const expectBalance = async ( - token: HypERC20, + token: HypERC20 | HypERC20Collateral | ERC20, + signer: SignerWithAddress, + balance: number, +) => { + if (Object.keys(token.interface.functions).includes('wrappedToken()')) { + const wrappedToken = await (token as HypERC20Collateral).wrappedToken(); + token = ERC20__factory.connect(wrappedToken, signer); + } + return expectTokenBalance(token as HypERC20, signer, balance); +}; + +const expectTokenBalance = async ( + token: ERC20, signer: SignerWithAddress, balance: number, ) => expect(await token.balanceOf(signer.address)).to.eq(balance); diff --git a/test/erc721.test.ts b/test/erc721.test.ts index 6d0a7b14d..45761833d 100644 --- a/test/erc721.test.ts +++ b/test/erc721.test.ts @@ -9,160 +9,263 @@ import { TestChainNames, TestCoreApp, TestCoreDeployer, - getChainToOwnerMap, getTestMultiProvider, objMap, - testChainConnectionConfigs, } from '@hyperlane-xyz/sdk'; +import { utils } from '@hyperlane-xyz/utils'; -import { Erc721TokenConfig, HypERC721Config } from '../src/config'; +import { + HypERC721CollateralConfig, + HypERC721Config, + TokenConfig, +} from '../src/config'; import { HypERC721Contracts } from '../src/contracts'; import { HypERC721Deployer } from '../src/deploy'; -import { HypERC721 } from '../src/types'; +import { + ERC721, + ERC721Test__factory, + ERC721__factory, + HypERC721, + HypERC721Collateral, +} from '../src/types'; const localChain = 'test1'; const remoteChain = 'test2'; const localDomain = ChainNameToDomainId[localChain]; const remoteDomain = ChainNameToDomainId[remoteChain]; -const mintAmount = 50; +const totalSupply = 50; const tokenId = 10; const tokenId2 = 20; const tokenId3 = 30; const tokenId4 = 40; const testInterchainGasPayment = 123456789; -const tokenConfig: Erc721TokenConfig = { +const tokenConfig: TokenConfig = { + type: 'SYNTHETIC', name: 'HypERC721', symbol: 'HYP', - mintAmount, + totalSupply, }; const configMap = { test1: { ...tokenConfig, - mintAmount, + totalSupply, }, test2: { ...tokenConfig, - mintAmount: 0, + totalSupply: 0, }, test3: { ...tokenConfig, - mintAmount: 0, + totalSupply: 0, }, }; -describe('HypERC721', async () => { - let owner: SignerWithAddress; - let recipient: SignerWithAddress; - let core: TestCoreApp; - let deployer: HypERC721Deployer; - let contracts: Record; - let local: HypERC721; - let remote: HypERC721; - - before(async () => { - [owner, recipient] = await ethers.getSigners(); - const multiProvider = getTestMultiProvider(owner); - - const coreDeployer = new TestCoreDeployer(multiProvider); - const coreContractsMaps = await coreDeployer.deploy(); - core = new TestCoreApp(coreContractsMaps, multiProvider); - const coreConfig = core.extendWithConnectionClientConfig( - getChainToOwnerMap(testChainConnectionConfigs, owner.address), - ); - const configWithTokenInfo: ChainMap = - objMap(coreConfig, (key) => ({ +for (const withCollateral of [true, false]) { + describe(`HypERC721${withCollateral ? 'Collateral' : ''}`, async () => { + let owner: SignerWithAddress; + let recipient: SignerWithAddress; + let core: TestCoreApp; + let deployer: HypERC721Deployer; + let contracts: Record; + let local: HypERC721 | HypERC721Collateral; + let remote: HypERC721 | HypERC721Collateral; + + beforeEach(async () => { + [owner, recipient] = await ethers.getSigners(); + const multiProvider = getTestMultiProvider(owner); + + const coreDeployer = new TestCoreDeployer(multiProvider); + const coreContractsMaps = await coreDeployer.deploy(); + core = new TestCoreApp(coreContractsMaps, multiProvider); + const coreConfig = core.getConnectionClientConfigMap(); + const configWithTokenInfo: ChainMap< + TestChainNames, + HypERC721Config | HypERC721CollateralConfig + > = objMap(coreConfig, (key) => ({ ...coreConfig[key], ...configMap[key], + owner: owner.address, })); - deployer = new HypERC721Deployer(multiProvider, configWithTokenInfo, core); - contracts = await deployer.deploy(); - local = contracts[localChain].router; - remote = contracts[remoteChain].router; - }); - it('should not be initializable again', async () => { - await expect( - local.initialize( - ethers.constants.AddressZero, - ethers.constants.AddressZero, - 0, - '', - '', - ), - ).to.be.revertedWith('Initializable: contract is already initialized'); - }); + let erc721: ERC721 | undefined; + if (withCollateral) { + erc721 = await new ERC721Test__factory(owner).deploy( + tokenConfig.name, + tokenConfig.symbol, + tokenConfig.totalSupply, + ); + configWithTokenInfo.test1 = { + ...configWithTokenInfo.test1, + type: 'COLLATERAL', + token: erc721.address, + }; + } - it('should mint total supply to deployer on local domain', async () => { - await expectBalance(local, recipient, 0); - await expectBalance(local, owner, mintAmount); - await expectBalance(remote, recipient, 0); - await expectBalance(remote, owner, 0); - }); + deployer = new HypERC721Deployer( + multiProvider, + configWithTokenInfo, + core, + ); + contracts = await deployer.deploy(); + local = contracts[localChain].router; + if (withCollateral) { + // approve wrapper to transfer tokens + await erc721!.approve(local.address, tokenId); + await erc721!.approve(local.address, tokenId2); + await erc721!.approve(local.address, tokenId3); + await erc721!.approve(local.address, tokenId4); + } - it('should allow for local transfers', async () => { - await local.transferFrom(owner.address, recipient.address, tokenId); - await expectBalance(local, recipient, 1); - await expectBalance(local, owner, mintAmount - 1); - await expectBalance(remote, recipient, 0); - await expectBalance(remote, owner, 0); - }); + remote = contracts[remoteChain].router; + }); - it('should not allow transfers of nonexistent identifiers', async () => { - const invalidTokenId = mintAmount + 10; - await expect( - local.transferFrom(owner.address, recipient.address, invalidTokenId), - ).to.be.revertedWith('ERC721: invalid token ID'); - await expect( - local.transferRemote(remoteDomain, recipient.address, invalidTokenId), - ).to.be.revertedWith('ERC721: invalid token ID'); - }); + it('should not be initializable again', async () => { + const initializeTx = withCollateral + ? (local as HypERC721Collateral).initialize( + ethers.constants.AddressZero, + ethers.constants.AddressZero, + ethers.constants.AddressZero, + ) + : (local as HypERC721).initialize( + ethers.constants.AddressZero, + ethers.constants.AddressZero, + ethers.constants.AddressZero, + 0, + '', + '', + ); + await expect(initializeTx).to.be.revertedWith( + 'Initializable: contract is already initialized', + ); + }); - it('should allow for remote transfers', async () => { - await local.transferRemote(remoteDomain, recipient.address, tokenId2); + it('should mint total supply to deployer on local domain', async () => { + await expectBalance(local, recipient, 0); + await expectBalance(local, owner, totalSupply); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, 0); + }); - await expectBalance(local, recipient, 1); - await expectBalance(local, owner, mintAmount - 2); - await expectBalance(remote, recipient, 0); - await expectBalance(remote, owner, 0); + it('should allow for local transfers', async () => { + // do not test underlying ERC721 collateral functionality + if (withCollateral) { + return; + } - await core.processMessages(); + await (local as HypERC721).transferFrom( + owner.address, + recipient.address, + tokenId, + ); + await expectBalance(local, recipient, 1); + await expectBalance(local, owner, totalSupply - 1); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, 0); + }); - await expectBalance(local, recipient, 1); - await expectBalance(local, owner, mintAmount - 2); - await expectBalance(remote, recipient, 1); - await expectBalance(remote, owner, 0); - }); + it('should not allow transfers of nonexistent identifiers', async () => { + const invalidTokenId = totalSupply + 10; + if (!withCollateral) { + await expect( + (local as HypERC721).transferFrom( + owner.address, + recipient.address, + invalidTokenId, + ), + ).to.be.revertedWith('ERC721: invalid token ID'); + } + await expect( + local.transferRemote( + remoteDomain, + utils.addressToBytes32(recipient.address), + invalidTokenId, + ), + ).to.be.revertedWith('ERC721: invalid token ID'); + }); - it('allows interchain gas payment for remote transfers', async () => { - const outbox = core.getMailboxPair(localChain, remoteChain).originOutbox; - const interchainGasPaymaster = - core.contractsMap[localChain].interchainGasPaymaster.contract; - const leafIndex = await outbox.count(); - await expect( - local.transferRemote(remoteDomain, recipient.address, tokenId3, { - value: testInterchainGasPayment, - }), - ) - .to.emit(interchainGasPaymaster, 'GasPayment') - .withArgs(outbox.address, leafIndex, testInterchainGasPayment); - }); + it('should allow for remote transfers', async () => { + await local.transferRemote( + remoteDomain, + utils.addressToBytes32(recipient.address), + tokenId2, + ); + + await expectBalance(local, recipient, 0); + await expectBalance(local, owner, totalSupply - 1); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, 0); + + await core.processMessages(); + + await expectBalance(local, recipient, 0); + await expectBalance(local, owner, totalSupply - 1); + await expectBalance(remote, recipient, 1); + await expectBalance(remote, owner, 0); + }); + + it('should prevent remote transfer of unowned id', async () => { + const revertReason = withCollateral + ? 'ERC721: transfer from incorrect owner' + : '!owner'; + await expect( + local + .connect(recipient) + .transferRemote( + remoteDomain, + utils.addressToBytes32(recipient.address), + tokenId2, + ), + ).to.be.revertedWith(revertReason); + }); - it('should emit TransferRemote events', async () => { - expect( - await local.transferRemote(remoteDomain, recipient.address, tokenId4), - ) - .to.emit(local, 'SentTransferRemote') - .withArgs(remoteDomain, recipient.address, tokenId4); - expect(await core.processMessages()) - .to.emit(local, 'ReceivedTransferRemote') - .withArgs(localDomain, recipient.address, tokenId4); + it('allows interchain gas payment for remote transfers', async () => { + const interchainGasPaymaster = + core.contractsMap[localChain].interchainGasPaymaster.contract; + await expect( + local.transferRemote( + remoteDomain, + utils.addressToBytes32(recipient.address), + tokenId3, + { + value: testInterchainGasPayment, + }, + ), + ).to.emit(interchainGasPaymaster, 'GasPayment'); + }); + + it('should emit TransferRemote events', async () => { + expect( + await local.transferRemote( + remoteDomain, + utils.addressToBytes32(recipient.address), + tokenId4, + ), + ) + .to.emit(local, 'SentTransferRemote') + .withArgs(remoteDomain, recipient.address, tokenId4); + expect(await core.processMessages()) + .to.emit(local, 'ReceivedTransferRemote') + .withArgs(localDomain, recipient.address, tokenId4); + }); }); -}); +} const expectBalance = async ( - token: HypERC721, + token: HypERC721 | HypERC721Collateral | ERC721, + signer: SignerWithAddress, + balance: number, +) => { + if (Object.keys(token.interface.functions).includes('wrappedToken()')) { + const wrappedToken = await (token as HypERC721Collateral).wrappedToken(); + token = ERC721__factory.connect(wrappedToken, signer); + } + return expectTokenBalance(token as HypERC721, signer, balance); +}; + +const expectTokenBalance = async ( + token: ERC721, signer: SignerWithAddress, balance: number, ) => expect(await token.balanceOf(signer.address)).to.eq(balance); diff --git a/yarn.lock b/yarn.lock index 90e74db6a..a861d8c92 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1201,14 +1201,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:0.5.3, @hyperlane-xyz/core@npm:^0.5.0": - version: 0.5.3 - resolution: "@hyperlane-xyz/core@npm:0.5.3" +"@hyperlane-xyz/core@npm:0.5.4-3": + version: 0.5.4-3 + resolution: "@hyperlane-xyz/core@npm:0.5.4-3" dependencies: - "@hyperlane-xyz/utils": 0.5.3 + "@hyperlane-xyz/utils": 0.5.4-3 "@openzeppelin/contracts": ^4.6.0 "@openzeppelin/contracts-upgradeable": ^4.6.0 - checksum: 2082cceb04022a6d73d5fc04966a72caddc77f84c8b35ed5fc8d46c4d4ff0189f834c5c8fad1355ef2bf2d040cae26b89f200bdbfb3118942ce46c946dc1df30 + checksum: d1e7f0bc7bb749b4731f8d8e33652dfef854ca98084ef89cd224ba1b9428380169b7db97ae079d0575fc11e4261e70da5bbca95c444af3d0c5631d90924f3b87 languageName: node linkType: hard @@ -1216,8 +1216,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": ^0.5.0 - "@hyperlane-xyz/sdk": ^0.5.0 + "@hyperlane-xyz/core": 0.5.4-3 + "@hyperlane-xyz/sdk": 0.5.4-3 + "@hyperlane-xyz/utils": 0.5.4-3 "@nomiclabs/hardhat-ethers": ^2.0.5 "@nomiclabs/hardhat-waffle": ^2.0.2 "@openzeppelin/contracts-upgradeable": ^4.6.0 @@ -1245,28 +1246,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:^0.5.0": - version: 0.5.3 - resolution: "@hyperlane-xyz/sdk@npm:0.5.3" +"@hyperlane-xyz/sdk@npm:0.5.4-3": + version: 0.5.4-3 + resolution: "@hyperlane-xyz/sdk@npm:0.5.4-3" dependencies: "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 - "@hyperlane-xyz/core": 0.5.3 - "@hyperlane-xyz/utils": 0.5.3 + "@hyperlane-xyz/core": 0.5.4-3 + "@hyperlane-xyz/utils": 0.5.4-3 "@types/debug": ^4.1.7 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.6.8 - checksum: da21f5eabf14503cb95eeec548bc95eb42aebd4ac7c27193296b2b17e150b2dd7392c075f9930143a8ba81f32643a5be36701b6db6a85213fdd138903f11e38a + checksum: ec6447de817a325f3335926bf81ea44af3f894af66779b3dc99d4050bfc5fcfcb079c4b93b60059ac0277b0e2cf1bd4dfbc44db6d18ceb5a25fd5b86d0f4bf24 languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:0.5.3": - version: 0.5.3 - resolution: "@hyperlane-xyz/utils@npm:0.5.3" +"@hyperlane-xyz/utils@npm:0.5.4-3": + version: 0.5.4-3 + resolution: "@hyperlane-xyz/utils@npm:0.5.4-3" dependencies: ethers: ^5.6.8 - checksum: a9d819494cba44f583d575d07d3af1b43357b90d95fb0fd4fa1d8337ad069f938dd678a8a0e824a8e70e767f3b8f5a8e6a1b649e27da21837e51e515ffa793f3 + checksum: 146fdaf9753700c80127072d6fdc0c93a7b90a14a6cd3d9b3f90159bfd20723068c80930c848e2a26bfac72f0c1218bea219d359158a0bc1b85c018a48414b3b languageName: node linkType: hard From 272a1951490f30f55e310a7cee7ead76b75c864b Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Fri, 16 Dec 2022 14:00:11 -0500 Subject: [PATCH 10/56] Add URI support (#12) * Add HypERC721URIStorage * Add HypERC721URICollateral --- contracts/HypERC20.sol | 28 +- contracts/HypERC20Collateral.sol | 37 +- contracts/HypERC721.sol | 29 +- contracts/HypERC721Collateral.sol | 39 +- .../extensions/HypERC721URICollateral.sol | 29 ++ contracts/extensions/HypERC721URIStorage.sol | 73 ++++ contracts/libs/Message.sol | 20 +- contracts/libs/TokenRouter.sol | 42 +- contracts/test/ERC721Test.sol | 4 + src/config.ts | 28 +- src/contracts.ts | 3 +- src/deploy.ts | 11 +- test/erc20.test.ts | 27 +- test/erc721.test.ts | 387 ++++++++++-------- 14 files changed, 499 insertions(+), 258 deletions(-) create mode 100644 contracts/extensions/HypERC721URICollateral.sol create mode 100644 contracts/extensions/HypERC721URIStorage.sol diff --git a/contracts/HypERC20.sol b/contracts/HypERC20.sol index 1f48dc178..b28924639 100644 --- a/contracts/HypERC20.sol +++ b/contracts/HypERC20.sol @@ -6,7 +6,7 @@ import {TokenRouter} from "./libs/TokenRouter.sol"; import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol"; /** - * @title Hyperlane Token that extends the ERC20 token standard to enable native interchain transfers. + * @title Hyperlane ERC20 Token Router that extends ERC20 with remote transfer functionality. * @author Abacus Works * @dev Supply on each chain is not constant but the aggregate supply across all chains is. */ @@ -40,16 +40,28 @@ contract HypERC20 is ERC20Upgradeable, TokenRouter { _mint(msg.sender, _totalSupply); } - // called in `TokenRouter.transferRemote` before `Mailbox.dispatch` - function _transferFromSender(uint256 _amount) internal override { - _burn(msg.sender, _amount); - } - - // called by `TokenRouter.handle` - function _transferTo(address _recipient, uint256 _amount) + /** + * @dev Burns `_amount` of token from `msg.sender` balance. + * @inheritdoc TokenRouter + */ + function _transferFromSender(uint256 _amount) internal override + returns (bytes memory) { + _burn(msg.sender, _amount); + return bytes(""); // no metadata + } + + /** + * @dev Mints `_amount` of token to `_recipient` balance. + * @inheritdoc TokenRouter + */ + function _transferTo( + address _recipient, + uint256 _amount, + bytes calldata // no metadata + ) internal override { _mint(_recipient, _amount); } } diff --git a/contracts/HypERC20Collateral.sol b/contracts/HypERC20Collateral.sol index c5495323e..8ebfe6afe 100644 --- a/contracts/HypERC20Collateral.sol +++ b/contracts/HypERC20Collateral.sol @@ -6,7 +6,7 @@ import {TokenRouter} from "./libs/TokenRouter.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; /** - * @title Collateralize ERC20 token and route messages to HypERC20 tokens. + * @title Hyperlane ERC20 Token Collateral that wraps an existing ERC20 with remote transfer functionality. * @author Abacus Works */ contract HypERC20Collateral is TokenRouter { @@ -16,6 +16,12 @@ contract HypERC20Collateral is TokenRouter { wrappedToken = IERC20(erc20); } + /** + * @notice Initializes the Hyperlane router. + * @param _mailbox The address of the mailbox contract. + * @param _interchainGasPaymaster The address of the interchain gas paymaster contract. + * @param _interchainSecurityModule The address of the interchain security module contract. + */ function initialize( address _mailbox, address _interchainGasPaymaster, @@ -28,14 +34,31 @@ contract HypERC20Collateral is TokenRouter { ); } - function _transferFromSender(uint256 _amount) internal override { - require(wrappedToken.transferFrom(msg.sender, address(this), _amount)); - } - - function _transferTo(address _recipient, uint256 _amount) + /** + * @dev Transfers `_amount` of `wrappedToken` from `msg.sender` to this contract. + * @inheritdoc TokenRouter + */ + function _transferFromSender(uint256 _amount) internal override + returns (bytes memory) { - require(wrappedToken.transfer(_recipient, _amount)); + require( + wrappedToken.transferFrom(msg.sender, address(this), _amount), + "!transferFrom" + ); + return bytes(""); // no metadata + } + + /** + * @dev Transfers `_amount` of `wrappedToken` from this contract to `_recipient`. + * @inheritdoc TokenRouter + */ + function _transferTo( + address _recipient, + uint256 _amount, + bytes calldata // no metadata + ) internal override { + require(wrappedToken.transfer(_recipient, _amount), "!transfer"); } } diff --git a/contracts/HypERC721.sol b/contracts/HypERC721.sol index 8a75b2e7a..2810bc343 100644 --- a/contracts/HypERC721.sol +++ b/contracts/HypERC721.sol @@ -6,7 +6,7 @@ import {TokenRouter} from "./libs/TokenRouter.sol"; import {ERC721EnumerableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol"; /** - * @title Hyperlane Token that extends the ERC721 token standard to enable native interchain transfers. + * @title Hyperlane ERC721 Token Router that extends ERC721 with remote transfer functionality. * @author Abacus Works */ contract HypERC721 is ERC721EnumerableUpgradeable, TokenRouter { @@ -40,17 +40,30 @@ contract HypERC721 is ERC721EnumerableUpgradeable, TokenRouter { } } - // called in `TokenRouter.transferRemote` before `Mailbox.dispatch` - function _transferFromSender(uint256 _tokenId) internal override { + /** + * @dev Asserts `msg.sender` is owner and burns `_tokenId`. + * @inheritdoc TokenRouter + */ + function _transferFromSender(uint256 _tokenId) + internal + virtual + override + returns (bytes memory) + { require(ownerOf(_tokenId) == msg.sender, "!owner"); _burn(_tokenId); + return bytes(""); // no metadata } - // called by `TokenRouter.handle` - function _transferTo(address _recipient, uint256 _tokenId) - internal - override - { + /** + * @dev Mints `_tokenId` to `_recipient`. + * @inheritdoc TokenRouter + */ + function _transferTo( + address _recipient, + uint256 _tokenId, + bytes calldata // no metadata + ) internal virtual override { _mint(_recipient, _tokenId); } } diff --git a/contracts/HypERC721Collateral.sol b/contracts/HypERC721Collateral.sol index d50ee3c5c..0580ae8a5 100644 --- a/contracts/HypERC721Collateral.sol +++ b/contracts/HypERC721Collateral.sol @@ -6,16 +6,22 @@ import {TokenRouter} from "./libs/TokenRouter.sol"; import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; /** - * @title Collateralize ERC20 token and route messages to HypERC20 tokens. + * @title Hyperlane ERC721 Token Collateral that wraps an existing ERC721 with remote transfer functionality. * @author Abacus Works */ contract HypERC721Collateral is TokenRouter { - IERC721 public immutable wrappedToken; + address public immutable wrappedToken; constructor(address erc721) { - wrappedToken = IERC721(erc721); + wrappedToken = erc721; } + /** + * @notice Initializes the Hyperlane router. + * @param _mailbox The address of the mailbox contract. + * @param _interchainGasPaymaster The address of the interchain gas paymaster contract. + * @param _interchainSecurityModule The address of the interchain security module contract. + */ function initialize( address _mailbox, address _interchainGasPaymaster, @@ -28,14 +34,29 @@ contract HypERC721Collateral is TokenRouter { ); } - function _transferFromSender(uint256 _amount) internal override { - wrappedToken.transferFrom(msg.sender, address(this), _amount); - } - - function _transferTo(address _recipient, uint256 _amount) + /** + * @dev Transfers `_tokenId` of `wrappedToken` from `msg.sender` to this contract. + * @inheritdoc TokenRouter + */ + function _transferFromSender(uint256 _tokenId) internal + virtual override + returns (bytes memory) { - wrappedToken.transferFrom(address(this), _recipient, _amount); + IERC721(wrappedToken).transferFrom(msg.sender, address(this), _tokenId); + return bytes(""); // no metadata + } + + /** + * @dev Transfers `_tokenId` of `wrappedToken` from this contract to `_recipient`. + * @inheritdoc TokenRouter + */ + function _transferTo( + address _recipient, + uint256 _tokenId, + bytes calldata // no metadata + ) internal override { + IERC721(wrappedToken).transferFrom(address(this), _recipient, _tokenId); } } diff --git a/contracts/extensions/HypERC721URICollateral.sol b/contracts/extensions/HypERC721URICollateral.sol new file mode 100644 index 000000000..c320cbc03 --- /dev/null +++ b/contracts/extensions/HypERC721URICollateral.sol @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity >=0.8.0; + +import {HypERC721Collateral} from "../HypERC721Collateral.sol"; + +import {IERC721MetadataUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol"; + +/** + * @title Hyperlane ERC721 Token Collateral that wraps an existing ERC721 with remote transfer and URI relay functionality. + * @author Abacus Works + */ +contract HypERC721URICollateral is HypERC721Collateral { + constructor(address erc721) HypERC721Collateral(erc721) {} + + /** + * @dev Transfers `_tokenId` of `wrappedToken` from `msg.sender` to this contract. + * @return The URI of `_tokenId` on `wrappedToken`. + * @inheritdoc HypERC721Collateral + */ + function _transferFromSender(uint256 _tokenId) + internal + override + returns (bytes memory) + { + HypERC721Collateral._transferFromSender(_tokenId); + return + bytes(IERC721MetadataUpgradeable(wrappedToken).tokenURI(_tokenId)); + } +} diff --git a/contracts/extensions/HypERC721URIStorage.sol b/contracts/extensions/HypERC721URIStorage.sol new file mode 100644 index 000000000..b568b490a --- /dev/null +++ b/contracts/extensions/HypERC721URIStorage.sol @@ -0,0 +1,73 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity >=0.8.0; + +import {HypERC721} from "../HypERC721.sol"; + +import {ERC721URIStorageUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol"; +import {ERC721EnumerableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol"; +import {ERC721Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol"; + +/** + * @title Hyperlane ERC721 Token that extends ERC721URIStorage with remote transfer and URI relay functionality. + * @author Abacus Works + */ +contract HypERC721URIStorage is HypERC721, ERC721URIStorageUpgradeable { + /** + * @return _tokenURI The URI of `_tokenId`. + * @inheritdoc HypERC721 + */ + function _transferFromSender(uint256 _tokenId) + internal + override + returns (bytes memory _tokenURI) + { + _tokenURI = bytes(tokenURI(_tokenId)); // requires minted + HypERC721._transferFromSender(_tokenId); + } + + /** + * @dev Sets the URI for `_tokenId` to `_tokenURI`. + * @inheritdoc HypERC721 + */ + function _transferTo( + address _recipient, + uint256 _tokenId, + bytes calldata _tokenURI + ) internal override { + HypERC721._transferTo(_recipient, _tokenId, _tokenURI); + _setTokenURI(_tokenId, string(_tokenURI)); // requires minted + } + + function tokenURI(uint256 tokenId) + public + view + override(ERC721Upgradeable, ERC721URIStorageUpgradeable) + returns (string memory) + { + return ERC721URIStorageUpgradeable.tokenURI(tokenId); + } + + function _beforeTokenTransfer( + address from, + address to, + uint256 tokenId + ) internal override(ERC721EnumerableUpgradeable, ERC721Upgradeable) { + ERC721EnumerableUpgradeable._beforeTokenTransfer(from, to, tokenId); + } + + function supportsInterface(bytes4 interfaceId) + public + view + override(ERC721EnumerableUpgradeable, ERC721Upgradeable) + returns (bool) + { + return ERC721EnumerableUpgradeable.supportsInterface(interfaceId); + } + + function _burn(uint256 tokenId) + internal + override(ERC721URIStorageUpgradeable, ERC721Upgradeable) + { + ERC721URIStorageUpgradeable._burn(tokenId); + } +} diff --git a/contracts/libs/Message.sol b/contracts/libs/Message.sol index 444fab583..887188a34 100644 --- a/contracts/libs/Message.sol +++ b/contracts/libs/Message.sol @@ -2,12 +2,12 @@ pragma solidity >=0.8.0; library Message { - function format(bytes32 _recipient, uint256 _amount) - internal - pure - returns (bytes memory) - { - return abi.encodePacked(_recipient, _amount); + function format( + bytes32 _recipient, + uint256 _amount, + bytes memory _metadata + ) internal pure returns (bytes memory) { + return abi.encodePacked(_recipient, _amount, _metadata); } function recipient(bytes calldata message) internal pure returns (bytes32) { @@ -22,4 +22,12 @@ library Message { function tokenId(bytes calldata message) internal pure returns (uint256) { return amount(message); } + + function metadata(bytes calldata message) + internal + pure + returns (bytes calldata) + { + return message[64:]; + } } diff --git a/contracts/libs/TokenRouter.sol b/contracts/libs/TokenRouter.sol index 39cc7ec66..0fae6166b 100644 --- a/contracts/libs/TokenRouter.sol +++ b/contracts/libs/TokenRouter.sol @@ -6,9 +6,8 @@ import {TypeCasts} from "@hyperlane-xyz/core/contracts/libs/TypeCasts.sol"; import {Message} from "./Message.sol"; /** - * @title Hyperlane Token that extends the ERC20 token standard to enable native interchain transfers. + * @title Hyperlane Token Router that extends Router with abstract token (ERC20/ERC721) remote transfer functionality. * @author Abacus Works - * @dev Supply on each chain is not constant but the aggregate supply across all chains is. */ abstract contract TokenRouter is Router { using TypeCasts for bytes32; @@ -39,29 +38,36 @@ abstract contract TokenRouter is Router { ); /** - * @notice Transfers `_amount` of tokens from `msg.sender` to `_recipient` on the `_destination` chain. - * @dev Burns `_amount` of tokens from `msg.sender` on the origin chain and dispatches - * message to the `destination` chain to mint `_amount` of tokens to `recipient`. + * @notice Transfers `_amountOrId` token to `_recipient` on `_destination` domain. + * @dev Delegates transfer logic to `_transferFromSender` implementation. * @dev Emits `SentTransferRemote` event on the origin chain. * @param _destination The identifier of the destination chain. * @param _recipient The address of the recipient on the destination chain. - * @param _amount The amount of tokens to be sent to the remote recipient. + * @param _amountOrId The amount or identifier of tokens to be sent to the remote recipient. */ function transferRemote( uint32 _destination, bytes32 _recipient, - uint256 _amount + uint256 _amountOrId ) external payable { - _transferFromSender(_amount); + bytes memory metadata = _transferFromSender(_amountOrId); _dispatchWithGas( _destination, - Message.format(_recipient, _amount), + Message.format(_recipient, _amountOrId, metadata), msg.value ); - emit SentTransferRemote(_destination, _recipient, _amount); + emit SentTransferRemote(_destination, _recipient, _amountOrId); } - function _transferFromSender(uint256 _amount) internal virtual; + /** + * @dev Should transfer `_amountOrId` of tokens from `msg.sender` to this token router. + * @dev Called by `transferRemote` before message dispatch. + * @dev Optionally returns `metadata` associated with the transfer to be passed in message. + */ + function _transferFromSender(uint256 _amountOrId) + internal + virtual + returns (bytes memory metadata); /** * @dev Mints tokens to recipient when router receives transfer message. @@ -76,9 +82,19 @@ abstract contract TokenRouter is Router { ) internal override { bytes32 recipient = _message.recipient(); uint256 amount = _message.amount(); - _transferTo(recipient.bytes32ToAddress(), amount); + bytes calldata metadata = _message.metadata(); + _transferTo(recipient.bytes32ToAddress(), amount, metadata); emit ReceivedTransferRemote(_origin, recipient, amount); } - function _transferTo(address _recipient, uint256 _amount) internal virtual; + /** + * @dev Should transfer `_amountOrId` of tokens from this token router to `_recipient`. + * @dev Called by `handle` after message decoding. + * @dev Optionally handles `metadata` associated with transfer passed in message. + */ + function _transferTo( + address _recipient, + uint256 _amountOrId, + bytes calldata metadata + ) internal virtual; } diff --git a/contracts/test/ERC721Test.sol b/contracts/test/ERC721Test.sol index 269af1967..1de55441e 100644 --- a/contracts/test/ERC721Test.sol +++ b/contracts/test/ERC721Test.sol @@ -13,4 +13,8 @@ contract ERC721Test is ERC721 { _mint(msg.sender, i); } } + + function _baseURI() internal pure override returns (string memory) { + return "TEST-BASE-URI"; + } } diff --git a/src/config.ts b/src/config.ts index 863a924a1..86798807e 100644 --- a/src/config.ts +++ b/src/config.ts @@ -2,22 +2,38 @@ import { ethers } from 'ethers'; import { RouterConfig } from '@hyperlane-xyz/sdk'; +export enum TokenType { + synthetic, + syntheticUri, + collateral, + collateralUri, +} + export type SyntheticConfig = { - type: "SYNTHETIC"; + type: TokenType.synthetic | TokenType.syntheticUri; name: string; symbol: string; totalSupply: ethers.BigNumberish; }; export type CollateralConfig = { - type: "COLLATERAL"; + type: TokenType.collateral | TokenType.collateralUri; token: string; -} +}; export type TokenConfig = SyntheticConfig | CollateralConfig; -export const isCollateralConfig = (config: RouterConfig & TokenConfig): config is RouterConfig & CollateralConfig => { - return config.type === "COLLATERAL"; -} +export const isCollateralConfig = ( + config: RouterConfig & TokenConfig, +): config is RouterConfig & CollateralConfig => { + return ( + config.type === TokenType.collateral || + config.type === TokenType.collateralUri + ); +}; + +export const isUriConfig = (config: RouterConfig & TokenConfig) => + config.type === TokenType.syntheticUri || + config.type === TokenType.collateralUri; export type HypERC20Config = RouterConfig & TokenConfig; export type HypERC20CollateralConfig = RouterConfig & CollateralConfig; diff --git a/src/contracts.ts b/src/contracts.ts index e74610fad..ddfe92766 100644 --- a/src/contracts.ts +++ b/src/contracts.ts @@ -5,9 +5,10 @@ import { HypERC20Collateral, HypERC721, HypERC721Collateral, + HypERC721URICollateral, } from './types'; export type HypERC20Contracts = RouterContracts; export type HypERC721Contracts = RouterContracts< - HypERC721 | HypERC721Collateral + HypERC721 | HypERC721Collateral | HypERC721URICollateral >; diff --git a/src/deploy.ts b/src/deploy.ts index 4e0bd5347..fb04bbde4 100644 --- a/src/deploy.ts +++ b/src/deploy.ts @@ -11,12 +11,13 @@ import { HypERC721Config, isCollateralConfig, HypERC721CollateralConfig, + isUriConfig, } from './config'; import { HypERC20Contracts, HypERC721Contracts, } from './contracts'; -import { HypERC20Collateral__factory, HypERC20__factory, HypERC721Collateral__factory, HypERC721__factory } from './types'; +import { HypERC20Collateral__factory, HypERC20__factory, HypERC721Collateral__factory, HypERC721URICollateral__factory, HypERC721URIStorage__factory, HypERC721__factory } from './types'; export class HypERC20Deployer< Chain extends ChainName // inferred from configured chains passed to constructor @@ -85,8 +86,8 @@ export class HypERC721Deployer< if (isCollateralConfig(config)) { const router = await this.deployContractFromFactory( chain, - new HypERC721Collateral__factory(), - 'HypERC721Collateral', + isUriConfig(config) ? new HypERC721URICollateral__factory() : new HypERC721Collateral__factory(), + `HypERC721${isUriConfig(config) ? 'URI' : ''}Collateral`, [config.token], ); await connection.handleTx( @@ -100,8 +101,8 @@ export class HypERC721Deployer< } else { const router = await this.deployContractFromFactory( chain, - new HypERC721__factory(), - 'HypERC721', + isUriConfig(config) ? new HypERC721URIStorage__factory() : new HypERC721__factory(), + `HypERC721${isUriConfig(config) ? 'URIStorage' : ''}`, [], ); await connection.handleTx(router.initialize( diff --git a/test/erc20.test.ts b/test/erc20.test.ts index be21ac838..20781fdaf 100644 --- a/test/erc20.test.ts +++ b/test/erc20.test.ts @@ -18,6 +18,7 @@ import { HypERC20CollateralConfig, HypERC20Config, SyntheticConfig, + TokenType, } from '../src/config'; import { HypERC20Contracts } from '../src/contracts'; import { HypERC20Deployer } from '../src/deploy'; @@ -38,7 +39,7 @@ const amount = 10; const testInterchainGasPayment = 123456789; const tokenConfig: SyntheticConfig = { - type: 'SYNTHETIC', + type: TokenType.synthetic, name: 'HypERC20', symbol: 'HYP', totalSupply, @@ -80,7 +81,7 @@ for (const withCollateral of [true, false]) { ); configWithTokenInfo.test1 = { ...configWithTokenInfo.test1, - type: 'COLLATERAL', + type: TokenType.collateral, token: erc20.address, }; } @@ -123,18 +124,16 @@ for (const withCollateral of [true, false]) { await expectBalance(remote, owner, totalSupply); }); - it('should allow for local transfers', async () => { - // do not test underlying ERC20 collateral functionality - if (withCollateral) { - return; - } - - await (local as HypERC20).transfer(recipient.address, amount); - await expectBalance(local, recipient, amount); - await expectBalance(local, owner, totalSupply - amount); - await expectBalance(remote, recipient, 0); - await expectBalance(remote, owner, totalSupply); - }); + // do not test underlying ERC20 collateral functionality + if (!withCollateral) { + it('should allow for local transfers', async () => { + await (local as HypERC20).transfer(recipient.address, amount); + await expectBalance(local, recipient, amount); + await expectBalance(local, owner, totalSupply - amount); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, totalSupply); + }); + } it('should allow for remote transfers', async () => { await local.transferRemote( diff --git a/test/erc721.test.ts b/test/erc721.test.ts index 45761833d..151d77b88 100644 --- a/test/erc721.test.ts +++ b/test/erc721.test.ts @@ -17,7 +17,8 @@ import { utils } from '@hyperlane-xyz/utils'; import { HypERC721CollateralConfig, HypERC721Config, - TokenConfig, + SyntheticConfig, + TokenType, } from '../src/config'; import { HypERC721Contracts } from '../src/contracts'; import { HypERC721Deployer } from '../src/deploy'; @@ -27,6 +28,8 @@ import { ERC721__factory, HypERC721, HypERC721Collateral, + HypERC721URICollateral, + HypERC721URIStorage, } from '../src/types'; const localChain = 'test1'; @@ -40,216 +43,238 @@ const tokenId3 = 30; const tokenId4 = 40; const testInterchainGasPayment = 123456789; -const tokenConfig: TokenConfig = { - type: 'SYNTHETIC', - name: 'HypERC721', - symbol: 'HYP', - totalSupply, -}; +for (const withCollateral of [true, false]) { + for (const withUri of [true, false]) { + const tokenConfig: SyntheticConfig = { + type: withUri ? TokenType.syntheticUri : TokenType.synthetic, + name: 'HypERC721', + symbol: 'HYP', + totalSupply, + }; -const configMap = { - test1: { - ...tokenConfig, - totalSupply, - }, - test2: { - ...tokenConfig, - totalSupply: 0, - }, - test3: { - ...tokenConfig, - totalSupply: 0, - }, -}; + const configMap = { + test1: { + ...tokenConfig, + totalSupply, + }, + test2: { + ...tokenConfig, + totalSupply: 0, + }, + test3: { + ...tokenConfig, + totalSupply: 0, + }, + }; + describe(`HypERC721${withUri ? 'URI' : ''}${ + withCollateral ? 'Collateral' : '' + }`, async () => { + let owner: SignerWithAddress; + let recipient: SignerWithAddress; + let core: TestCoreApp; + let deployer: HypERC721Deployer; + let contracts: Record; + let local: HypERC721 | HypERC721Collateral | HypERC721URICollateral; + let remote: HypERC721 | HypERC721Collateral | HypERC721URIStorage; -for (const withCollateral of [true, false]) { - describe(`HypERC721${withCollateral ? 'Collateral' : ''}`, async () => { - let owner: SignerWithAddress; - let recipient: SignerWithAddress; - let core: TestCoreApp; - let deployer: HypERC721Deployer; - let contracts: Record; - let local: HypERC721 | HypERC721Collateral; - let remote: HypERC721 | HypERC721Collateral; + beforeEach(async () => { + [owner, recipient] = await ethers.getSigners(); + const multiProvider = getTestMultiProvider(owner); - beforeEach(async () => { - [owner, recipient] = await ethers.getSigners(); - const multiProvider = getTestMultiProvider(owner); + const coreDeployer = new TestCoreDeployer(multiProvider); + const coreContractsMaps = await coreDeployer.deploy(); + core = new TestCoreApp(coreContractsMaps, multiProvider); + const coreConfig = core.getConnectionClientConfigMap(); + const configWithTokenInfo: ChainMap< + TestChainNames, + HypERC721Config | HypERC721CollateralConfig + > = objMap(coreConfig, (key) => ({ + ...coreConfig[key], + ...configMap[key], + owner: owner.address, + })); - const coreDeployer = new TestCoreDeployer(multiProvider); - const coreContractsMaps = await coreDeployer.deploy(); - core = new TestCoreApp(coreContractsMaps, multiProvider); - const coreConfig = core.getConnectionClientConfigMap(); - const configWithTokenInfo: ChainMap< - TestChainNames, - HypERC721Config | HypERC721CollateralConfig - > = objMap(coreConfig, (key) => ({ - ...coreConfig[key], - ...configMap[key], - owner: owner.address, - })); + let erc721: ERC721 | undefined; + if (withCollateral) { + erc721 = await new ERC721Test__factory(owner).deploy( + tokenConfig.name, + tokenConfig.symbol, + tokenConfig.totalSupply, + ); + configWithTokenInfo.test1 = { + ...configWithTokenInfo.test1, + type: withUri ? TokenType.collateralUri : TokenType.collateral, + token: erc721.address, + }; + } - let erc721: ERC721 | undefined; - if (withCollateral) { - erc721 = await new ERC721Test__factory(owner).deploy( - tokenConfig.name, - tokenConfig.symbol, - tokenConfig.totalSupply, + deployer = new HypERC721Deployer( + multiProvider, + configWithTokenInfo, + core, ); - configWithTokenInfo.test1 = { - ...configWithTokenInfo.test1, - type: 'COLLATERAL', - token: erc721.address, - }; - } - - deployer = new HypERC721Deployer( - multiProvider, - configWithTokenInfo, - core, - ); - contracts = await deployer.deploy(); - local = contracts[localChain].router; - if (withCollateral) { - // approve wrapper to transfer tokens - await erc721!.approve(local.address, tokenId); - await erc721!.approve(local.address, tokenId2); - await erc721!.approve(local.address, tokenId3); - await erc721!.approve(local.address, tokenId4); - } + contracts = await deployer.deploy(); + local = contracts[localChain].router; + if (withCollateral) { + // approve wrapper to transfer tokens + await erc721!.approve(local.address, tokenId); + await erc721!.approve(local.address, tokenId2); + await erc721!.approve(local.address, tokenId3); + await erc721!.approve(local.address, tokenId4); + } - remote = contracts[remoteChain].router; - }); + remote = contracts[remoteChain].router; + }); - it('should not be initializable again', async () => { - const initializeTx = withCollateral - ? (local as HypERC721Collateral).initialize( - ethers.constants.AddressZero, - ethers.constants.AddressZero, - ethers.constants.AddressZero, - ) - : (local as HypERC721).initialize( - ethers.constants.AddressZero, - ethers.constants.AddressZero, - ethers.constants.AddressZero, - 0, - '', - '', - ); - await expect(initializeTx).to.be.revertedWith( - 'Initializable: contract is already initialized', - ); - }); + it('should not be initializable again', async () => { + const initializeTx = withCollateral + ? (local as HypERC721Collateral).initialize( + ethers.constants.AddressZero, + ethers.constants.AddressZero, + ethers.constants.AddressZero, + ) + : (local as HypERC721).initialize( + ethers.constants.AddressZero, + ethers.constants.AddressZero, + ethers.constants.AddressZero, + 0, + '', + '', + ); + await expect(initializeTx).to.be.revertedWith( + 'Initializable: contract is already initialized', + ); + }); - it('should mint total supply to deployer on local domain', async () => { - await expectBalance(local, recipient, 0); - await expectBalance(local, owner, totalSupply); - await expectBalance(remote, recipient, 0); - await expectBalance(remote, owner, 0); - }); + it('should mint total supply to deployer on local domain', async () => { + await expectBalance(local, recipient, 0); + await expectBalance(local, owner, totalSupply); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, 0); + }); - it('should allow for local transfers', async () => { // do not test underlying ERC721 collateral functionality - if (withCollateral) { - return; - } - - await (local as HypERC721).transferFrom( - owner.address, - recipient.address, - tokenId, - ); - await expectBalance(local, recipient, 1); - await expectBalance(local, owner, totalSupply - 1); - await expectBalance(remote, recipient, 0); - await expectBalance(remote, owner, 0); - }); - - it('should not allow transfers of nonexistent identifiers', async () => { - const invalidTokenId = totalSupply + 10; if (!withCollateral) { - await expect( - (local as HypERC721).transferFrom( + it('should allow for local transfers', async () => { + await (local as HypERC721).transferFrom( owner.address, recipient.address, + tokenId, + ); + await expectBalance(local, recipient, 1); + await expectBalance(local, owner, totalSupply - 1); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, 0); + }); + } + + it('should not allow transfers of nonexistent identifiers', async () => { + const invalidTokenId = totalSupply + 10; + if (!withCollateral) { + await expect( + (local as HypERC721).transferFrom( + owner.address, + recipient.address, + invalidTokenId, + ), + ).to.be.revertedWith('ERC721: invalid token ID'); + } + await expect( + local.transferRemote( + remoteDomain, + utils.addressToBytes32(recipient.address), invalidTokenId, ), ).to.be.revertedWith('ERC721: invalid token ID'); - } - await expect( - local.transferRemote( + }); + + it('should allow for remote transfers', async () => { + await local.transferRemote( remoteDomain, utils.addressToBytes32(recipient.address), - invalidTokenId, - ), - ).to.be.revertedWith('ERC721: invalid token ID'); - }); + tokenId2, + ); - it('should allow for remote transfers', async () => { - await local.transferRemote( - remoteDomain, - utils.addressToBytes32(recipient.address), - tokenId2, - ); + await expectBalance(local, recipient, 0); + await expectBalance(local, owner, totalSupply - 1); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, 0); - await expectBalance(local, recipient, 0); - await expectBalance(local, owner, totalSupply - 1); - await expectBalance(remote, recipient, 0); - await expectBalance(remote, owner, 0); + await core.processMessages(); - await core.processMessages(); + await expectBalance(local, recipient, 0); + await expectBalance(local, owner, totalSupply - 1); + await expectBalance(remote, recipient, 1); + await expectBalance(remote, owner, 0); + }); - await expectBalance(local, recipient, 0); - await expectBalance(local, owner, totalSupply - 1); - await expectBalance(remote, recipient, 1); - await expectBalance(remote, owner, 0); - }); + if (withUri && withCollateral) { + it('should relay URI with remote transfer', async () => { + const remoteUri = remote as HypERC721URIStorage; + await expect(remoteUri.tokenURI(tokenId2)).to.be.revertedWith(''); - it('should prevent remote transfer of unowned id', async () => { - const revertReason = withCollateral - ? 'ERC721: transfer from incorrect owner' - : '!owner'; - await expect( - local - .connect(recipient) - .transferRemote( + await local.transferRemote( remoteDomain, utils.addressToBytes32(recipient.address), tokenId2, - ), - ).to.be.revertedWith(revertReason); - }); + ); - it('allows interchain gas payment for remote transfers', async () => { - const interchainGasPaymaster = - core.contractsMap[localChain].interchainGasPaymaster.contract; - await expect( - local.transferRemote( - remoteDomain, - utils.addressToBytes32(recipient.address), - tokenId3, - { - value: testInterchainGasPayment, - }, - ), - ).to.emit(interchainGasPaymaster, 'GasPayment'); - }); + await expect(remoteUri.tokenURI(tokenId2)).to.be.revertedWith(''); - it('should emit TransferRemote events', async () => { - expect( - await local.transferRemote( - remoteDomain, - utils.addressToBytes32(recipient.address), - tokenId4, - ), - ) - .to.emit(local, 'SentTransferRemote') - .withArgs(remoteDomain, recipient.address, tokenId4); - expect(await core.processMessages()) - .to.emit(local, 'ReceivedTransferRemote') - .withArgs(localDomain, recipient.address, tokenId4); + await core.processMessages(); + + expect(await remoteUri.tokenURI(tokenId2)).to.equal( + `TEST-BASE-URI${tokenId2}`, + ); + }); + } + + it('should prevent remote transfer of unowned id', async () => { + const revertReason = withCollateral + ? 'ERC721: transfer from incorrect owner' + : '!owner'; + await expect( + local + .connect(recipient) + .transferRemote( + remoteDomain, + utils.addressToBytes32(recipient.address), + tokenId2, + ), + ).to.be.revertedWith(revertReason); + }); + + it('allows interchain gas payment for remote transfers', async () => { + const interchainGasPaymaster = + core.contractsMap[localChain].interchainGasPaymaster.contract; + await expect( + local.transferRemote( + remoteDomain, + utils.addressToBytes32(recipient.address), + tokenId3, + { + value: testInterchainGasPayment, + }, + ), + ).to.emit(interchainGasPaymaster, 'GasPayment'); + }); + + it('should emit TransferRemote events', async () => { + expect( + await local.transferRemote( + remoteDomain, + utils.addressToBytes32(recipient.address), + tokenId4, + ), + ) + .to.emit(local, 'SentTransferRemote') + .withArgs(remoteDomain, recipient.address, tokenId4); + expect(await core.processMessages()) + .to.emit(local, 'ReceivedTransferRemote') + .withArgs(localDomain, recipient.address, tokenId4); + }); }); - }); + } } const expectBalance = async ( From 5dd421b54e3f2354081126d46d209f46148989d8 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Fri, 16 Dec 2022 14:45:32 -0500 Subject: [PATCH 11/56] Publish 1.0.0-beta1 (#14) * Prepare for publish * Bump version --- contracts/libs/TokenRouter.sol | 5 ++-- package.json | 8 ++--- test/erc20.test.ts | 2 +- test/erc721.test.ts | 2 +- yarn.lock | 55 +++++++++++++++++++--------------- 5 files changed, 39 insertions(+), 33 deletions(-) diff --git a/contracts/libs/TokenRouter.sol b/contracts/libs/TokenRouter.sol index 0fae6166b..ff5f467ca 100644 --- a/contracts/libs/TokenRouter.sol +++ b/contracts/libs/TokenRouter.sol @@ -51,10 +51,9 @@ abstract contract TokenRouter is Router { uint256 _amountOrId ) external payable { bytes memory metadata = _transferFromSender(_amountOrId); - _dispatchWithGas( + _dispatch( _destination, - Message.format(_recipient, _amountOrId, metadata), - msg.value + Message.format(_recipient, _amountOrId, metadata) ); emit SentTransferRemote(_destination, _recipient, _amountOrId); } diff --git a/package.json b/package.json index eeb509435..3fe44915c 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "0.5.0", + "version": "1.0.0-beta1", "dependencies": { - "@hyperlane-xyz/core": "0.5.4-3", - "@hyperlane-xyz/sdk": "0.5.4-3", - "@hyperlane-xyz/utils": "0.5.4-3", + "@hyperlane-xyz/core": "1.0.0-beta1", + "@hyperlane-xyz/sdk": "1.0.0-beta1", + "@hyperlane-xyz/utils": "1.0.0-beta1", "@openzeppelin/contracts-upgradeable": "^4.6.0", "ethers": "^5.6.8" }, diff --git a/test/erc20.test.ts b/test/erc20.test.ts index 20781fdaf..e3e22b912 100644 --- a/test/erc20.test.ts +++ b/test/erc20.test.ts @@ -155,7 +155,7 @@ for (const withCollateral of [true, false]) { await expectBalance(remote, owner, totalSupply); }); - it('allows interchain gas payment for remote transfers', async () => { + it.skip('allows interchain gas payment for remote transfers', async () => { const interchainGasPaymaster = core.contractsMap[localChain].interchainGasPaymaster.contract; await expect( diff --git a/test/erc721.test.ts b/test/erc721.test.ts index 151d77b88..064f009a7 100644 --- a/test/erc721.test.ts +++ b/test/erc721.test.ts @@ -244,7 +244,7 @@ for (const withCollateral of [true, false]) { ).to.be.revertedWith(revertReason); }); - it('allows interchain gas payment for remote transfers', async () => { + it.skip('allows interchain gas payment for remote transfers', async () => { const interchainGasPaymaster = core.contractsMap[localChain].interchainGasPaymaster.contract; await expect( diff --git a/yarn.lock b/yarn.lock index a861d8c92..44934d6c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1201,14 +1201,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:0.5.4-3": - version: 0.5.4-3 - resolution: "@hyperlane-xyz/core@npm:0.5.4-3" +"@hyperlane-xyz/core@npm:1.0.0-beta1": + version: 1.0.0-beta1 + resolution: "@hyperlane-xyz/core@npm:1.0.0-beta1" dependencies: - "@hyperlane-xyz/utils": 0.5.4-3 - "@openzeppelin/contracts": ^4.6.0 - "@openzeppelin/contracts-upgradeable": ^4.6.0 - checksum: d1e7f0bc7bb749b4731f8d8e33652dfef854ca98084ef89cd224ba1b9428380169b7db97ae079d0575fc11e4261e70da5bbca95c444af3d0c5631d90924f3b87 + "@hyperlane-xyz/utils": 1.0.0-beta1 + "@openzeppelin/contracts": ^4.8.0 + "@openzeppelin/contracts-upgradeable": ^4.8.0 + checksum: c5c30dddd7a1856d7883ae33e1d70ce93ecb2c3866b31d1838d92e88bef2a4f6f831e8b45085094745ced895a9d1eb6d8d8281e4aaa93d59f43ab98d7a852e9b languageName: node linkType: hard @@ -1216,9 +1216,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 0.5.4-3 - "@hyperlane-xyz/sdk": 0.5.4-3 - "@hyperlane-xyz/utils": 0.5.4-3 + "@hyperlane-xyz/core": 1.0.0-beta1 + "@hyperlane-xyz/sdk": 1.0.0-beta1 + "@hyperlane-xyz/utils": 1.0.0-beta1 "@nomiclabs/hardhat-ethers": ^2.0.5 "@nomiclabs/hardhat-waffle": ^2.0.2 "@openzeppelin/contracts-upgradeable": ^4.6.0 @@ -1246,28 +1246,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:0.5.4-3": - version: 0.5.4-3 - resolution: "@hyperlane-xyz/sdk@npm:0.5.4-3" +"@hyperlane-xyz/sdk@npm:1.0.0-beta1": + version: 1.0.0-beta1 + resolution: "@hyperlane-xyz/sdk@npm:1.0.0-beta1" dependencies: "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 - "@hyperlane-xyz/core": 0.5.4-3 - "@hyperlane-xyz/utils": 0.5.4-3 + "@hyperlane-xyz/core": 1.0.0-beta1 + "@hyperlane-xyz/utils": 1.0.0-beta1 "@types/debug": ^4.1.7 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.6.8 - checksum: ec6447de817a325f3335926bf81ea44af3f894af66779b3dc99d4050bfc5fcfcb079c4b93b60059ac0277b0e2cf1bd4dfbc44db6d18ceb5a25fd5b86d0f4bf24 + checksum: 7461ad3bae090dcb8f04c1e475cab08a8a48b5f2c53f81d6f3435a7b8716f1f510d84f209d0b0be907fbafcea5208a9481b7e62ee03d522d268ce886b39c243d languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:0.5.4-3": - version: 0.5.4-3 - resolution: "@hyperlane-xyz/utils@npm:0.5.4-3" +"@hyperlane-xyz/utils@npm:1.0.0-beta1": + version: 1.0.0-beta1 + resolution: "@hyperlane-xyz/utils@npm:1.0.0-beta1" dependencies: ethers: ^5.6.8 - checksum: 146fdaf9753700c80127072d6fdc0c93a7b90a14a6cd3d9b3f90159bfd20723068c80930c848e2a26bfac72f0c1218bea219d359158a0bc1b85c018a48414b3b + checksum: fc7fa9f413913e8a0e6495d8a76c3dcff8b94dd6e1c016fb89498e5f09fd4103fedc7b8a3d6e0956c5e1958cd92e4208482dc1c5557440b2bc735664fa1f28b6 languageName: node linkType: hard @@ -1439,10 +1439,17 @@ __metadata: languageName: node linkType: hard -"@openzeppelin/contracts@npm:^4.6.0": - version: 4.7.3 - resolution: "@openzeppelin/contracts@npm:4.7.3" - checksum: 18382fcacf7cfd652f5dd0e70c08f08ea74eaa8ff11e9f9850639ada70198ae01a3f9493d89a52d724f2db394e9616bf6258017804612ba273167cf657fbb073 +"@openzeppelin/contracts-upgradeable@npm:^4.8.0": + version: 4.8.0 + resolution: "@openzeppelin/contracts-upgradeable@npm:4.8.0" + checksum: c39f3a719830c068d0ae413a8beee4072fa19f777b55bf6155fe21023414eab0633a641318845ac50929837b71848de1efbd00d4c181ddd6d8b735ceb0a82070 + languageName: node + linkType: hard + +"@openzeppelin/contracts@npm:^4.8.0": + version: 4.8.0 + resolution: "@openzeppelin/contracts@npm:4.8.0" + checksum: dfab51a7f91735cfb1e94dd5074736b0dac0207e4ebf26eb46b32defd3b67adce5a36b248daa7b841c21be74863c1e37cf92ed194a9c36d3f8c5326d1a24242a languageName: node linkType: hard From dea4b2a942bfdc1f83dfbead9ae010d13c3ab724 Mon Sep 17 00:00:00 2001 From: Nam Chu Hoai Date: Mon, 19 Dec 2022 21:56:11 +0700 Subject: [PATCH 12/56] Add deploy script for Flowers (#13) * Updates for v2 * Add canonical wrapper * Use v2 connection client * Fix prettier * Update 721 for v2 * Use msg lib * Update deployer with collateral * Use better union types * Rename and organize contracts * Rename TransferRemoteRouter to TokenRouter * Update deployers * Fix tests * Pull in prerelease versions * Improve test coverage * Update yarn lock * Add tests for collateral * Fix prettier * Add bridge router skeleton * Use Create2 deployments * Refactor CREATE2 logic * Fix prettier * Add HypERC721URIStorage * Add HypERC721URICollateral * Add deployer and unit tests for URI relay * Fix prettier * Remove bridge router * Add docstrings * Use enum for type discriminant * Fix prettier * Add deploy script for Flowers * Update scripts/deploy.ts Co-authored-by: Yorke Rhodes * Dont pay for gas for now * Dont pass ism * Remove console.log * PR review * Update base * Fix prettier * Fix lint * Make mods to Erc20 too * lint * Prettier Co-authored-by: Yorke Rhodes --- .eslintignore | 5 ++- contracts/HypERC20.sol | 5 +-- contracts/HypERC20Collateral.sol | 13 +++---- contracts/HypERC721.sol | 5 +-- contracts/HypERC721Collateral.sol | 13 +++---- scripts/deploy.ts | 61 +++++++++++++++++++++++++++++++ src/deploy.ts | 8 ---- test/erc20.test.ts | 2 - test/erc721.test.ts | 2 - 9 files changed, 76 insertions(+), 38 deletions(-) create mode 100644 scripts/deploy.ts diff --git a/.eslintignore b/.eslintignore index d461f0fa8..092a1aa83 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,5 +1,6 @@ node_modules dist coverage -src/types -hardhat.config.ts \ No newline at end of file +types +hardhat.config.ts +scripts \ No newline at end of file diff --git a/contracts/HypERC20.sol b/contracts/HypERC20.sol index b28924639..6eb5ed5b7 100644 --- a/contracts/HypERC20.sol +++ b/contracts/HypERC20.sol @@ -15,7 +15,6 @@ contract HypERC20 is ERC20Upgradeable, TokenRouter { * @notice Initializes the Hyperlane router, ERC20 metadata, and mints initial supply to deployer. * @param _mailbox The address of the mailbox contract. * @param _interchainGasPaymaster The address of the interchain gas paymaster contract. - * @param _interchainSecurityModule The address of the interchain security module contract. * @param _totalSupply The initial supply of the token. * @param _name The name of the token. * @param _symbol The symbol of the token. @@ -23,7 +22,6 @@ contract HypERC20 is ERC20Upgradeable, TokenRouter { function initialize( address _mailbox, address _interchainGasPaymaster, - address _interchainSecurityModule, uint256 _totalSupply, string memory _name, string memory _symbol @@ -31,8 +29,7 @@ contract HypERC20 is ERC20Upgradeable, TokenRouter { // transfers ownership to `msg.sender` __HyperlaneConnectionClient_initialize( _mailbox, - _interchainGasPaymaster, - _interchainSecurityModule + _interchainGasPaymaster ); // Initialize ERC20 metadata diff --git a/contracts/HypERC20Collateral.sol b/contracts/HypERC20Collateral.sol index 8ebfe6afe..258a53882 100644 --- a/contracts/HypERC20Collateral.sol +++ b/contracts/HypERC20Collateral.sol @@ -20,17 +20,14 @@ contract HypERC20Collateral is TokenRouter { * @notice Initializes the Hyperlane router. * @param _mailbox The address of the mailbox contract. * @param _interchainGasPaymaster The address of the interchain gas paymaster contract. - * @param _interchainSecurityModule The address of the interchain security module contract. */ - function initialize( - address _mailbox, - address _interchainGasPaymaster, - address _interchainSecurityModule - ) external initializer { + function initialize(address _mailbox, address _interchainGasPaymaster) + external + initializer + { __HyperlaneConnectionClient_initialize( _mailbox, - _interchainGasPaymaster, - _interchainSecurityModule + _interchainGasPaymaster ); } diff --git a/contracts/HypERC721.sol b/contracts/HypERC721.sol index 2810bc343..c596a04ba 100644 --- a/contracts/HypERC721.sol +++ b/contracts/HypERC721.sol @@ -14,7 +14,6 @@ contract HypERC721 is ERC721EnumerableUpgradeable, TokenRouter { * @notice Initializes the Hyperlane router, ERC721 metadata, and mints initial supply to deployer. * @param _mailbox The address of the mailbox contract. * @param _interchainGasPaymaster The address of the interchain gas paymaster contract. - * @param _interchainSecurityModule The address of the interchain security module contract. * @param _mintAmount The amount of NFTs to mint to `msg.sender`. * @param _name The name of the token. * @param _symbol The symbol of the token. @@ -22,7 +21,6 @@ contract HypERC721 is ERC721EnumerableUpgradeable, TokenRouter { function initialize( address _mailbox, address _interchainGasPaymaster, - address _interchainSecurityModule, uint256 _mintAmount, string memory _name, string memory _symbol @@ -30,8 +28,7 @@ contract HypERC721 is ERC721EnumerableUpgradeable, TokenRouter { // transfers ownership to `msg.sender` __HyperlaneConnectionClient_initialize( _mailbox, - _interchainGasPaymaster, - _interchainSecurityModule + _interchainGasPaymaster ); __ERC721_init(_name, _symbol); diff --git a/contracts/HypERC721Collateral.sol b/contracts/HypERC721Collateral.sol index 0580ae8a5..93836184e 100644 --- a/contracts/HypERC721Collateral.sol +++ b/contracts/HypERC721Collateral.sol @@ -20,17 +20,14 @@ contract HypERC721Collateral is TokenRouter { * @notice Initializes the Hyperlane router. * @param _mailbox The address of the mailbox contract. * @param _interchainGasPaymaster The address of the interchain gas paymaster contract. - * @param _interchainSecurityModule The address of the interchain security module contract. */ - function initialize( - address _mailbox, - address _interchainGasPaymaster, - address _interchainSecurityModule - ) external initializer { + function initialize(address _mailbox, address _interchainGasPaymaster) + external + initializer + { __HyperlaneConnectionClient_initialize( _mailbox, - _interchainGasPaymaster, - _interchainSecurityModule + _interchainGasPaymaster ); } diff --git a/scripts/deploy.ts b/scripts/deploy.ts new file mode 100644 index 000000000..91e00e61a --- /dev/null +++ b/scripts/deploy.ts @@ -0,0 +1,61 @@ +import { ethers, Wallet } from 'ethers'; + +import { + Chains, + HyperlaneCore, + MultiProvider, + objMap, +} from '@hyperlane-xyz/sdk'; +import { RouterConfig, chainConnectionConfigs } from '@hyperlane-xyz/sdk'; + +import { TokenConfig, TokenType } from '../src/config'; +import { HypERC20Deployer } from '../src/deploy'; + +const connectionConfigs = { + goerli: { + ...chainConnectionConfigs.goerli, + provider: new ethers.providers.JsonRpcProvider( + 'https://eth-goerli.public.blastapi.io', + 5, + ), + }, + fuji: chainConnectionConfigs.fuji, + alfajores: chainConnectionConfigs.alfajores, + moonbasealpha: chainConnectionConfigs.moonbasealpha, +}; + +async function deployNFTWrapper() { + console.info('Getting signer'); + const signer = new Wallet( + 'pkey', + ); + + const multiProvider = new MultiProvider(connectionConfigs); + multiProvider.rotateSigner(signer) + const core = HyperlaneCore.fromEnvironment('testnet2', multiProvider); + + const config = objMap(connectionConfigs, (chain, c) => ({ + type: TokenType.synthetic, + name: 'Dai', + symbol: 'DAI', + totalSupply: 0, + owner: signer.address, + mailbox: '0x1d3aAC239538e6F1831C8708803e61A9EA299Eec', + interchainGasPaymaster: core.getContracts(chain) + .interchainGasPaymaster.address, + } as TokenConfig & RouterConfig)) + config.goerli = { + type: TokenType.collateral, + token: '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6', + owner: signer.address, + mailbox: '0x1d3aAC239538e6F1831C8708803e61A9EA299Eec', + interchainGasPaymaster: core.getContracts(Chains.goerli) + .interchainGasPaymaster.address, + } as TokenConfig & RouterConfig + + const deployer = new HypERC20Deployer(multiProvider, config, core); + + await deployer.deploy(); +} + +deployNFTWrapper().then(console.log).catch(console.error); diff --git a/src/deploy.ts b/src/deploy.ts index fb04bbde4..5e66a65c3 100644 --- a/src/deploy.ts +++ b/src/deploy.ts @@ -1,5 +1,3 @@ -import { ethers } from 'ethers'; - import { ChainName, HyperlaneRouterDeployer, @@ -31,7 +29,6 @@ export class HypERC20Deployer< chain: Chain, config: HypERC20Config | HypERC20CollateralConfig, ) { - const ism = config.interchainSecurityModule ?? ethers.constants.AddressZero; const connection = this.multiProvider.getChainConnection(chain); if (isCollateralConfig(config)) { const router = await this.deployContractFromFactory( @@ -44,7 +41,6 @@ export class HypERC20Deployer< router.initialize( config.mailbox, config.interchainGasPaymaster, - ism ), ); return { router }; @@ -58,7 +54,6 @@ export class HypERC20Deployer< await connection.handleTx(router.initialize( config.mailbox, config.interchainGasPaymaster, - ism, config.totalSupply, config.name, config.symbol, @@ -81,7 +76,6 @@ export class HypERC721Deployer< chain: Chain, config: HypERC721Config | HypERC721CollateralConfig, ) { - const ism = config.interchainSecurityModule ?? ethers.constants.AddressZero; const connection = this.multiProvider.getChainConnection(chain); if (isCollateralConfig(config)) { const router = await this.deployContractFromFactory( @@ -94,7 +88,6 @@ export class HypERC721Deployer< router.initialize( config.mailbox, config.interchainGasPaymaster, - ism ), ); return { router }; @@ -108,7 +101,6 @@ export class HypERC721Deployer< await connection.handleTx(router.initialize( config.mailbox, config.interchainGasPaymaster, - ism, config.totalSupply, config.name, config.symbol, diff --git a/test/erc20.test.ts b/test/erc20.test.ts index e3e22b912..b6c561361 100644 --- a/test/erc20.test.ts +++ b/test/erc20.test.ts @@ -102,10 +102,8 @@ for (const withCollateral of [true, false]) { ? (local as HypERC20Collateral).initialize( ethers.constants.AddressZero, ethers.constants.AddressZero, - ethers.constants.AddressZero, ) : (local as HypERC20).initialize( - ethers.constants.AddressZero, ethers.constants.AddressZero, ethers.constants.AddressZero, 0, diff --git a/test/erc721.test.ts b/test/erc721.test.ts index 064f009a7..9eab84a0d 100644 --- a/test/erc721.test.ts +++ b/test/erc721.test.ts @@ -131,10 +131,8 @@ for (const withCollateral of [true, false]) { ? (local as HypERC721Collateral).initialize( ethers.constants.AddressZero, ethers.constants.AddressZero, - ethers.constants.AddressZero, ) : (local as HypERC721).initialize( - ethers.constants.AddressZero, ethers.constants.AddressZero, ethers.constants.AddressZero, 0, From 01a7e075236f3057a60478193c164adc37af9de1 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Wed, 21 Dec 2022 23:00:59 -0500 Subject: [PATCH 13/56] Bump openzeppelin and mono versions (#15) * Bump oz version * Fix _beforeTokenTransfer override * Bump mono * Fix prettier * Bump versions to 1.0.0 beta3 --- contracts/extensions/HypERC721URIStorage.sol | 10 ++- package.json | 10 +-- yarn.lock | 70 ++++++++------------ 3 files changed, 40 insertions(+), 50 deletions(-) diff --git a/contracts/extensions/HypERC721URIStorage.sol b/contracts/extensions/HypERC721URIStorage.sol index b568b490a..c921a0029 100644 --- a/contracts/extensions/HypERC721URIStorage.sol +++ b/contracts/extensions/HypERC721URIStorage.sol @@ -50,9 +50,15 @@ contract HypERC721URIStorage is HypERC721, ERC721URIStorageUpgradeable { function _beforeTokenTransfer( address from, address to, - uint256 tokenId + uint256 tokenId, + uint256 batchSize ) internal override(ERC721EnumerableUpgradeable, ERC721Upgradeable) { - ERC721EnumerableUpgradeable._beforeTokenTransfer(from, to, tokenId); + ERC721EnumerableUpgradeable._beforeTokenTransfer( + from, + to, + tokenId, + batchSize + ); } function supportsInterface(bytes4 interfaceId) diff --git a/package.json b/package.json index 3fe44915c..f48e9223e 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.0.0-beta1", + "version": "1.0.0-beta3", "dependencies": { - "@hyperlane-xyz/core": "1.0.0-beta1", - "@hyperlane-xyz/sdk": "1.0.0-beta1", - "@hyperlane-xyz/utils": "1.0.0-beta1", - "@openzeppelin/contracts-upgradeable": "^4.6.0", + "@hyperlane-xyz/core": "1.0.0-beta3", + "@hyperlane-xyz/sdk": "1.0.0-beta3", + "@hyperlane-xyz/utils": "1.0.0-beta3", + "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.6.8" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 44934d6c7..9e4e8c13a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1201,14 +1201,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.0.0-beta1": - version: 1.0.0-beta1 - resolution: "@hyperlane-xyz/core@npm:1.0.0-beta1" +"@hyperlane-xyz/core@npm:1.0.0-beta3": + version: 1.0.0-beta3 + resolution: "@hyperlane-xyz/core@npm:1.0.0-beta3" dependencies: - "@hyperlane-xyz/utils": 1.0.0-beta1 + "@hyperlane-xyz/utils": 1.0.0-beta3 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: c5c30dddd7a1856d7883ae33e1d70ce93ecb2c3866b31d1838d92e88bef2a4f6f831e8b45085094745ced895a9d1eb6d8d8281e4aaa93d59f43ab98d7a852e9b + checksum: b765ec01884fa897f89a9c64e3ff5c158e263b4ded6abc31faef3e45b500359836fd310be9b4bacdbb7ad23dc4706ae4fcd3f6abcb778c32db344e0d9b288f02 languageName: node linkType: hard @@ -1216,12 +1216,12 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.0.0-beta1 - "@hyperlane-xyz/sdk": 1.0.0-beta1 - "@hyperlane-xyz/utils": 1.0.0-beta1 + "@hyperlane-xyz/core": 1.0.0-beta3 + "@hyperlane-xyz/sdk": 1.0.0-beta3 + "@hyperlane-xyz/utils": 1.0.0-beta3 "@nomiclabs/hardhat-ethers": ^2.0.5 "@nomiclabs/hardhat-waffle": ^2.0.2 - "@openzeppelin/contracts-upgradeable": ^4.6.0 + "@openzeppelin/contracts-upgradeable": ^4.8.0 "@trivago/prettier-plugin-sort-imports": ^3.2.0 "@typechain/ethers-v5": 10.0.0 "@typechain/hardhat": ^6.0.0 @@ -1246,28 +1246,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.0.0-beta1": - version: 1.0.0-beta1 - resolution: "@hyperlane-xyz/sdk@npm:1.0.0-beta1" +"@hyperlane-xyz/sdk@npm:1.0.0-beta3": + version: 1.0.0-beta3 + resolution: "@hyperlane-xyz/sdk@npm:1.0.0-beta3" dependencies: "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 - "@hyperlane-xyz/core": 1.0.0-beta1 - "@hyperlane-xyz/utils": 1.0.0-beta1 - "@types/debug": ^4.1.7 + "@hyperlane-xyz/core": 1.0.0-beta3 + "@hyperlane-xyz/utils": 1.0.0-beta3 + "@wagmi/chains": ^0.1.3 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.6.8 - checksum: 7461ad3bae090dcb8f04c1e475cab08a8a48b5f2c53f81d6f3435a7b8716f1f510d84f209d0b0be907fbafcea5208a9481b7e62ee03d522d268ce886b39c243d + checksum: 10dd3ae48d9caf42cd90ee2b48cf150ecf7c930aa5eee0e5942d23c03be054c59702bd35a88077ed75bd52212a2b6a7b61e13b561d9d757b2d2df10226595ef2 languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.0.0-beta1": - version: 1.0.0-beta1 - resolution: "@hyperlane-xyz/utils@npm:1.0.0-beta1" +"@hyperlane-xyz/utils@npm:1.0.0-beta3": + version: 1.0.0-beta3 + resolution: "@hyperlane-xyz/utils@npm:1.0.0-beta3" dependencies: ethers: ^5.6.8 - checksum: fc7fa9f413913e8a0e6495d8a76c3dcff8b94dd6e1c016fb89498e5f09fd4103fedc7b8a3d6e0956c5e1958cd92e4208482dc1c5557440b2bc735664fa1f28b6 + checksum: 5526a3c622808c2a964fdce8b0cf0d8b8dce4777cf5494ad4435c8ce292ac23ca8111b0ce91026410dbc078baf78a4b5e20faff78284339ab449c96c4f739f6f languageName: node linkType: hard @@ -1432,13 +1432,6 @@ __metadata: languageName: node linkType: hard -"@openzeppelin/contracts-upgradeable@npm:^4.6.0": - version: 4.7.3 - resolution: "@openzeppelin/contracts-upgradeable@npm:4.7.3" - checksum: c9ffb40cb847a975d440204fc6a811f43af960050242f707332b984d29bd16dc242ffa0935de61867aeb9e0357fadedb16b09b276deda5e9775582face831021 - languageName: node - linkType: hard - "@openzeppelin/contracts-upgradeable@npm:^4.8.0": version: 4.8.0 resolution: "@openzeppelin/contracts-upgradeable@npm:4.8.0" @@ -1800,15 +1793,6 @@ __metadata: languageName: node linkType: hard -"@types/debug@npm:^4.1.7": - version: 4.1.7 - resolution: "@types/debug@npm:4.1.7" - dependencies: - "@types/ms": "*" - checksum: 0a7b89d8ed72526858f0b61c6fd81f477853e8c4415bb97f48b1b5545248d2ae389931680b94b393b993a7cfe893537a200647d93defe6d87159b96812305adc - languageName: node - linkType: hard - "@types/form-data@npm:0.0.33": version: 0.0.33 resolution: "@types/form-data@npm:0.0.33" @@ -1892,13 +1876,6 @@ __metadata: languageName: node linkType: hard -"@types/ms@npm:*": - version: 0.7.31 - resolution: "@types/ms@npm:0.7.31" - checksum: daadd354aedde024cce6f5aa873fefe7b71b22cd0e28632a69e8b677aeb48ae8caa1c60e5919bb781df040d116b01cb4316335167a3fc0ef6a63fa3614c0f6da - languageName: node - linkType: hard - "@types/node-fetch@npm:^2.5.5": version: 2.6.2 resolution: "@types/node-fetch@npm:2.6.2" @@ -2154,6 +2131,13 @@ __metadata: languageName: node linkType: hard +"@wagmi/chains@npm:^0.1.3": + version: 0.1.5 + resolution: "@wagmi/chains@npm:0.1.5" + checksum: 17577eaecb94450b9cbc9c16fa7c95416a79437cebbcd4cf16515098d9bb562d227c55922f5fddd493de4747f4131977c0eeb82197beafce700af42c16740ec1 + languageName: node + linkType: hard + "@yarnpkg/lockfile@npm:^1.1.0": version: 1.1.0 resolution: "@yarnpkg/lockfile@npm:1.1.0" From ca7bb745a6fb9f21ec727a1a41a55c800d2f453a Mon Sep 17 00:00:00 2001 From: Nam Chu Hoai Date: Fri, 23 Dec 2022 00:56:47 +0700 Subject: [PATCH 14/56] Pay for gas in TokenRouter (#16) * Pay for gas in TokenRouter * Hardcode gasAmount * Set gasAmount in constructor --- contracts/HypERC20.sol | 6 ++++++ contracts/HypERC20Collateral.sol | 7 ++++++- contracts/HypERC721.sol | 6 ++++++ contracts/HypERC721Collateral.sol | 7 ++++++- contracts/extensions/HypERC721URICollateral.sol | 4 +++- contracts/extensions/HypERC721URIStorage.sol | 6 ++++++ contracts/libs/TokenRouter.sol | 16 ++++++++++++++-- src/config.ts | 2 ++ src/deploy.ts | 10 ++++++---- test/erc20.test.ts | 2 +- test/erc721.test.ts | 2 +- 11 files changed, 57 insertions(+), 11 deletions(-) diff --git a/contracts/HypERC20.sol b/contracts/HypERC20.sol index 6eb5ed5b7..789283c44 100644 --- a/contracts/HypERC20.sol +++ b/contracts/HypERC20.sol @@ -11,6 +11,12 @@ import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ * @dev Supply on each chain is not constant but the aggregate supply across all chains is. */ contract HypERC20 is ERC20Upgradeable, TokenRouter { + /** + * @notice Constructor + * @param gasAmount Amount of destination gas to be paid for processing + */ + constructor(uint256 gasAmount) TokenRouter(gasAmount) {} + /** * @notice Initializes the Hyperlane router, ERC20 metadata, and mints initial supply to deployer. * @param _mailbox The address of the mailbox contract. diff --git a/contracts/HypERC20Collateral.sol b/contracts/HypERC20Collateral.sol index 258a53882..86c6b2662 100644 --- a/contracts/HypERC20Collateral.sol +++ b/contracts/HypERC20Collateral.sol @@ -12,7 +12,12 @@ import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; contract HypERC20Collateral is TokenRouter { IERC20 public immutable wrappedToken; - constructor(address erc20) { + /** + * @notice Constructor + * @param erc20 Address of the token to keep as collateral + * @param gasAmount Amount of destination gas to be paid for processing + */ + constructor(address erc20, uint256 gasAmount) TokenRouter(gasAmount) { wrappedToken = IERC20(erc20); } diff --git a/contracts/HypERC721.sol b/contracts/HypERC721.sol index c596a04ba..051d6a7a2 100644 --- a/contracts/HypERC721.sol +++ b/contracts/HypERC721.sol @@ -10,6 +10,12 @@ import {ERC721EnumerableUpgradeable} from "@openzeppelin/contracts-upgradeable/t * @author Abacus Works */ contract HypERC721 is ERC721EnumerableUpgradeable, TokenRouter { + /** + * @notice Constructor + * @param gasAmount Amount of destination gas to be paid for processing + */ + constructor(uint256 gasAmount) TokenRouter(gasAmount) {} + /** * @notice Initializes the Hyperlane router, ERC721 metadata, and mints initial supply to deployer. * @param _mailbox The address of the mailbox contract. diff --git a/contracts/HypERC721Collateral.sol b/contracts/HypERC721Collateral.sol index 93836184e..f7576d746 100644 --- a/contracts/HypERC721Collateral.sol +++ b/contracts/HypERC721Collateral.sol @@ -12,7 +12,12 @@ import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; contract HypERC721Collateral is TokenRouter { address public immutable wrappedToken; - constructor(address erc721) { + /** + * @notice Constructor + * @param erc721 Address of the token to keep as collateral + * @param gasAmount Amount of destination gas to be paid for processing + */ + constructor(address erc721, uint256 gasAmount) TokenRouter(gasAmount) { wrappedToken = erc721; } diff --git a/contracts/extensions/HypERC721URICollateral.sol b/contracts/extensions/HypERC721URICollateral.sol index c320cbc03..012e087be 100644 --- a/contracts/extensions/HypERC721URICollateral.sol +++ b/contracts/extensions/HypERC721URICollateral.sol @@ -10,7 +10,9 @@ import {IERC721MetadataUpgradeable} from "@openzeppelin/contracts-upgradeable/to * @author Abacus Works */ contract HypERC721URICollateral is HypERC721Collateral { - constructor(address erc721) HypERC721Collateral(erc721) {} + constructor(address erc721, uint256 gasAmount) + HypERC721Collateral(erc721, gasAmount) + {} /** * @dev Transfers `_tokenId` of `wrappedToken` from `msg.sender` to this contract. diff --git a/contracts/extensions/HypERC721URIStorage.sol b/contracts/extensions/HypERC721URIStorage.sol index c921a0029..49c2c4456 100644 --- a/contracts/extensions/HypERC721URIStorage.sol +++ b/contracts/extensions/HypERC721URIStorage.sol @@ -12,6 +12,12 @@ import {ERC721Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC72 * @author Abacus Works */ contract HypERC721URIStorage is HypERC721, ERC721URIStorageUpgradeable { + /** + * @notice Constructor + * @param gasAmount Amount of destination gas to be paid for processing + */ + constructor(uint256 gasAmount) HypERC721(gasAmount) {} + /** * @return _tokenURI The URI of `_tokenId`. * @inheritdoc HypERC721 diff --git a/contracts/libs/TokenRouter.sol b/contracts/libs/TokenRouter.sol index ff5f467ca..44ad7422b 100644 --- a/contracts/libs/TokenRouter.sol +++ b/contracts/libs/TokenRouter.sol @@ -13,6 +13,11 @@ abstract contract TokenRouter is Router { using TypeCasts for bytes32; using Message for bytes; + /** + * @notice Gas amount to use for destination chain processing, should be overriden by implementors + */ + uint256 internal immutable gasAmount; + /** * @dev Emitted on `transferRemote` when a transfer message is dispatched. * @param destination The identifier of the destination chain. @@ -37,6 +42,10 @@ abstract contract TokenRouter is Router { uint256 amount ); + constructor(uint256 _gasAmount) { + gasAmount = _gasAmount; + } + /** * @notice Transfers `_amountOrId` token to `_recipient` on `_destination` domain. * @dev Delegates transfer logic to `_transferFromSender` implementation. @@ -51,9 +60,12 @@ abstract contract TokenRouter is Router { uint256 _amountOrId ) external payable { bytes memory metadata = _transferFromSender(_amountOrId); - _dispatch( + _dispatchWithGas( _destination, - Message.format(_recipient, _amountOrId, metadata) + Message.format(_recipient, _amountOrId, metadata), + gasAmount, + msg.value, + msg.sender ); emit SentTransferRemote(_destination, _recipient, _amountOrId); } diff --git a/src/config.ts b/src/config.ts index 86798807e..5987f641c 100644 --- a/src/config.ts +++ b/src/config.ts @@ -14,10 +14,12 @@ export type SyntheticConfig = { name: string; symbol: string; totalSupply: ethers.BigNumberish; + gasAmount?: ethers.BigNumberish; }; export type CollateralConfig = { type: TokenType.collateral | TokenType.collateralUri; token: string; + gasAmount?: ethers.BigNumberish; }; export type TokenConfig = SyntheticConfig | CollateralConfig; diff --git a/src/deploy.ts b/src/deploy.ts index 5e66a65c3..ec2fb10d8 100644 --- a/src/deploy.ts +++ b/src/deploy.ts @@ -17,6 +17,8 @@ import { } from './contracts'; import { HypERC20Collateral__factory, HypERC20__factory, HypERC721Collateral__factory, HypERC721URICollateral__factory, HypERC721URIStorage__factory, HypERC721__factory } from './types'; +// Default value to use for TokenRouter.gasAmount +const DEFAULT_IGP_GAS_AMOUNT = 30000; export class HypERC20Deployer< Chain extends ChainName // inferred from configured chains passed to constructor > extends HyperlaneRouterDeployer< @@ -35,7 +37,7 @@ export class HypERC20Deployer< chain, new HypERC20Collateral__factory(), 'HypERC20Collateral', - [config.token], + [config.token, config.gasAmount || DEFAULT_IGP_GAS_AMOUNT], ); await connection.handleTx( router.initialize( @@ -49,7 +51,7 @@ export class HypERC20Deployer< chain, new HypERC20__factory(), 'HypERC20', - [], + [config.gasAmount || DEFAULT_IGP_GAS_AMOUNT], ); await connection.handleTx(router.initialize( config.mailbox, @@ -82,7 +84,7 @@ export class HypERC721Deployer< chain, isUriConfig(config) ? new HypERC721URICollateral__factory() : new HypERC721Collateral__factory(), `HypERC721${isUriConfig(config) ? 'URI' : ''}Collateral`, - [config.token], + [config.token, config.gasAmount || DEFAULT_IGP_GAS_AMOUNT], ); await connection.handleTx( router.initialize( @@ -96,7 +98,7 @@ export class HypERC721Deployer< chain, isUriConfig(config) ? new HypERC721URIStorage__factory() : new HypERC721__factory(), `HypERC721${isUriConfig(config) ? 'URIStorage' : ''}`, - [], + [config.gasAmount || DEFAULT_IGP_GAS_AMOUNT], ); await connection.handleTx(router.initialize( config.mailbox, diff --git a/test/erc20.test.ts b/test/erc20.test.ts index b6c561361..81b8b81e4 100644 --- a/test/erc20.test.ts +++ b/test/erc20.test.ts @@ -153,7 +153,7 @@ for (const withCollateral of [true, false]) { await expectBalance(remote, owner, totalSupply); }); - it.skip('allows interchain gas payment for remote transfers', async () => { + it('allows interchain gas payment for remote transfers', async () => { const interchainGasPaymaster = core.contractsMap[localChain].interchainGasPaymaster.contract; await expect( diff --git a/test/erc721.test.ts b/test/erc721.test.ts index 9eab84a0d..5b2ef8cee 100644 --- a/test/erc721.test.ts +++ b/test/erc721.test.ts @@ -242,7 +242,7 @@ for (const withCollateral of [true, false]) { ).to.be.revertedWith(revertReason); }); - it.skip('allows interchain gas payment for remote transfers', async () => { + it('allows interchain gas payment for remote transfers', async () => { const interchainGasPaymaster = core.contractsMap[localChain].interchainGasPaymaster.contract; await expect( From b5299dc80cbcf77ecd68324bc68df629c3d8ac08 Mon Sep 17 00:00:00 2001 From: J M Rossy Date: Tue, 27 Dec 2022 13:51:49 -0500 Subject: [PATCH 15/56] Properly structure lib contents (#17) - Restructure dist artifacts for publish - Properly export all assets - Include typechain artifacts in lib --- .github/workflows/ci.yml | 4 ++-- README.md | 5 +++-- package.json | 3 ++- src/index.ts | 16 ++++++++++++++++ tsconfig.base.json | 24 ++++++++++++++++++++++++ tsconfig.json | 22 +--------------------- tsconfig.publish.json | 15 +++++++++++++++ 7 files changed, 63 insertions(+), 26 deletions(-) create mode 100644 src/index.ts create mode 100644 tsconfig.base.json create mode 100644 tsconfig.publish.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 184bfa02c..e4b683126 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,8 +50,8 @@ jobs: path: ./* key: ${{ github.sha }} - - name: build - run: yarn run build + - name: build:dev + run: yarn run build:dev prettier: runs-on: ubuntu-latest diff --git a/README.md b/README.md index 14c56d8e2..a14c81f67 100644 --- a/README.md +++ b/README.md @@ -37,11 +37,12 @@ graph TB yarn # Build source and generate types -yarn build +yarn build:dev ``` ### (Optional) Using local core contracts -``` + +```sh # yarn link does not work well with workspaces ln -s ~/path/to/monorepo/solidity node_modules/@hyperlane-xyz/core ``` diff --git a/package.json b/package.json index f48e9223e..08223aefb 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,8 @@ }, "scripts": { "clean": "hardhat clean && rm -rf dist cache src/types", - "build": "hardhat compile && tsc", + "build:dev": "hardhat compile && tsc --project ./tsconfig.json", + "build:publish": "hardhat compile && tsc --project ./tsconfig.publish.json", "coverage": "hardhat coverage", "lint": "eslint . --ext .ts", "prettier": "prettier --write ./contracts ./test", diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 000000000..970f2c0de --- /dev/null +++ b/src/index.ts @@ -0,0 +1,16 @@ +export { HypERC20App, HypERC721App } from './app'; +export { + TokenType, + TokenConfig, + SyntheticConfig, + CollateralConfig, + HypERC20CollateralConfig, + HypERC20Config, + HypERC721CollateralConfig, + HypERC721Config, + isCollateralConfig, + isUriConfig, +} from './config'; +export { HypERC20Contracts, HypERC721Contracts } from './contracts'; +export { HypERC20Deployer, HypERC721Deployer } from './deploy'; +export * from './types'; diff --git a/tsconfig.base.json b/tsconfig.base.json new file mode 100644 index 000000000..cd1950832 --- /dev/null +++ b/tsconfig.base.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "declaration": true, + "declarationMap": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "incremental": false, + "lib": ["es2015", "es5", "dom"], + "module": "commonjs", + "moduleResolution": "node", + "noEmitOnError": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": false, + "noImplicitReturns": true, + "noUnusedLocals": true, + "preserveSymlinks": true, + "preserveWatchOutput": true, + "pretty": false, + "sourceMap": true, + "target": "es6", + "strict": true, + "resolveJsonModule": true + } +} diff --git a/tsconfig.json b/tsconfig.json index 5944f0332..706174929 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,32 +1,12 @@ { + "extends": "./tsconfig.base.json", "compilerOptions": { - "declaration": true, - "declarationMap": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "incremental": false, - "lib": ["es2015", "es5", "dom"], - "module": "commonjs", - "moduleResolution": "node", - "noEmitOnError": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": false, - "noImplicitReturns": true, - "noUnusedLocals": true, - "preserveSymlinks": true, - "preserveWatchOutput": true, - "pretty": false, - "sourceMap": true, - "target": "es6", - "strict": true, "outDir": "./dist", "rootDir": "./", - "resolveJsonModule": true }, "exclude": [ "./node_modules/", "./dist/", - "./types/hardhat.d.ts" ], "include": [ "./src", diff --git a/tsconfig.publish.json b/tsconfig.publish.json new file mode 100644 index 000000000..e2e03ef73 --- /dev/null +++ b/tsconfig.publish.json @@ -0,0 +1,15 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + }, + "exclude": [ + "./node_modules/", + "./scripts/", + "./test/", + "./dist/", + "./src/types/hardhat.d.ts", + "hardhat.config.ts" + ], +} From de69913a3236a526866bcafac22b7f7c684b6ee5 Mon Sep 17 00:00:00 2001 From: Asa Oines Date: Mon, 2 Jan 2023 16:49:37 -0500 Subject: [PATCH 16/56] Update to 1.0.0-beta5 (#19) --- package.json | 14 +++--- yarn.lock | 124 +++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 102 insertions(+), 36 deletions(-) diff --git a/package.json b/package.json index 08223aefb..dd582941b 100644 --- a/package.json +++ b/package.json @@ -1,17 +1,17 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.0.0-beta3", + "version": "1.0.0-beta5", "dependencies": { - "@hyperlane-xyz/core": "1.0.0-beta3", - "@hyperlane-xyz/sdk": "1.0.0-beta3", - "@hyperlane-xyz/utils": "1.0.0-beta3", + "@hyperlane-xyz/core": "1.0.0-beta5", + "@hyperlane-xyz/sdk": "1.0.0-beta5", + "@hyperlane-xyz/utils": "1.0.0-beta5", "@openzeppelin/contracts-upgradeable": "^4.8.0", - "ethers": "^5.6.8" + "ethers": "^5.7.2" }, "devDependencies": { - "@nomiclabs/hardhat-ethers": "^2.0.5", - "@nomiclabs/hardhat-waffle": "^2.0.2", + "@nomiclabs/hardhat-ethers": "^2.2.1", + "@nomiclabs/hardhat-waffle": "^2.0.3", "@trivago/prettier-plugin-sort-imports": "^3.2.0", "@typechain/ethers-v5": "10.0.0", "@typechain/hardhat": "^6.0.0", diff --git a/yarn.lock b/yarn.lock index 9e4e8c13a..0cf77bdab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -941,6 +941,34 @@ __metadata: languageName: node linkType: hard +"@ethersproject/providers@npm:5.7.2": + version: 5.7.2 + resolution: "@ethersproject/providers@npm:5.7.2" + dependencies: + "@ethersproject/abstract-provider": ^5.7.0 + "@ethersproject/abstract-signer": ^5.7.0 + "@ethersproject/address": ^5.7.0 + "@ethersproject/base64": ^5.7.0 + "@ethersproject/basex": ^5.7.0 + "@ethersproject/bignumber": ^5.7.0 + "@ethersproject/bytes": ^5.7.0 + "@ethersproject/constants": ^5.7.0 + "@ethersproject/hash": ^5.7.0 + "@ethersproject/logger": ^5.7.0 + "@ethersproject/networks": ^5.7.0 + "@ethersproject/properties": ^5.7.0 + "@ethersproject/random": ^5.7.0 + "@ethersproject/rlp": ^5.7.0 + "@ethersproject/sha2": ^5.7.0 + "@ethersproject/strings": ^5.7.0 + "@ethersproject/transactions": ^5.7.0 + "@ethersproject/web": ^5.7.0 + bech32: 1.1.4 + ws: 7.4.6 + checksum: 1754c731a5ca6782ae9677f4a9cd8b6246c4ef21a966c9a01b133750f3c578431ec43ec254e699969c4a0f87e84463ded50f96b415600aabd37d2056aee58c19 + languageName: node + linkType: hard + "@ethersproject/random@npm:5.7.0, @ethersproject/random@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/random@npm:5.7.0" @@ -1201,14 +1229,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.0.0-beta3": - version: 1.0.0-beta3 - resolution: "@hyperlane-xyz/core@npm:1.0.0-beta3" +"@hyperlane-xyz/core@npm:1.0.0-beta5": + version: 1.0.0-beta5 + resolution: "@hyperlane-xyz/core@npm:1.0.0-beta5" dependencies: - "@hyperlane-xyz/utils": 1.0.0-beta3 + "@hyperlane-xyz/utils": 1.0.0-beta5 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: b765ec01884fa897f89a9c64e3ff5c158e263b4ded6abc31faef3e45b500359836fd310be9b4bacdbb7ad23dc4706ae4fcd3f6abcb778c32db344e0d9b288f02 + checksum: 8015777393a92e47c2b496b7204ed588fbb862706c51aa8b08972bfe751c2b249537049e6642b5a3e2f466cad7b3a54f4dde1b6d3ffab275a0a7d7f3fefbe231 languageName: node linkType: hard @@ -1216,11 +1244,11 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.0.0-beta3 - "@hyperlane-xyz/sdk": 1.0.0-beta3 - "@hyperlane-xyz/utils": 1.0.0-beta3 - "@nomiclabs/hardhat-ethers": ^2.0.5 - "@nomiclabs/hardhat-waffle": ^2.0.2 + "@hyperlane-xyz/core": 1.0.0-beta5 + "@hyperlane-xyz/sdk": 1.0.0-beta5 + "@hyperlane-xyz/utils": 1.0.0-beta5 + "@nomiclabs/hardhat-ethers": ^2.2.1 + "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 "@trivago/prettier-plugin-sort-imports": ^3.2.0 "@typechain/ethers-v5": 10.0.0 @@ -1232,7 +1260,7 @@ __metadata: eslint: ^8.16.0 eslint-config-prettier: ^8.5.0 ethereum-waffle: ^3.4.4 - ethers: ^5.6.8 + ethers: ^5.7.2 hardhat: ^2.8.4 hardhat-gas-reporter: ^1.0.7 prettier: ^2.4.1 @@ -1246,28 +1274,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.0.0-beta3": - version: 1.0.0-beta3 - resolution: "@hyperlane-xyz/sdk@npm:1.0.0-beta3" +"@hyperlane-xyz/sdk@npm:1.0.0-beta5": + version: 1.0.0-beta5 + resolution: "@hyperlane-xyz/sdk@npm:1.0.0-beta5" dependencies: "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 - "@hyperlane-xyz/core": 1.0.0-beta3 - "@hyperlane-xyz/utils": 1.0.0-beta3 + "@hyperlane-xyz/core": 1.0.0-beta5 + "@hyperlane-xyz/utils": 1.0.0-beta5 "@wagmi/chains": ^0.1.3 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 - ethers: ^5.6.8 - checksum: 10dd3ae48d9caf42cd90ee2b48cf150ecf7c930aa5eee0e5942d23c03be054c59702bd35a88077ed75bd52212a2b6a7b61e13b561d9d757b2d2df10226595ef2 + ethers: ^5.7.2 + checksum: 587129cf66c3d68fb98a0e2f20563b02aa7c26041d1b05e47ff8d030515f73c34acfc54812977a999844adfa7c7a6eed28761aacb0fd4e6ee32fd122b883ccbd languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.0.0-beta3": - version: 1.0.0-beta3 - resolution: "@hyperlane-xyz/utils@npm:1.0.0-beta3" +"@hyperlane-xyz/utils@npm:1.0.0-beta5": + version: 1.0.0-beta5 + resolution: "@hyperlane-xyz/utils@npm:1.0.0-beta5" dependencies: - ethers: ^5.6.8 - checksum: 5526a3c622808c2a964fdce8b0cf0d8b8dce4777cf5494ad4435c8ce292ac23ca8111b0ce91026410dbc078baf78a4b5e20faff78284339ab449c96c4f739f6f + ethers: ^5.7.2 + checksum: eeda99abbd7468310625dfa1af2358420af594cf17e43209b5c99a6db6cb14e72f844bb71e8159059429102cf38d241bfe2842f54f3fe53b9bcbdb709b86b67e languageName: node linkType: hard @@ -1387,17 +1415,17 @@ __metadata: languageName: node linkType: hard -"@nomiclabs/hardhat-ethers@npm:^2.0.5": - version: 2.0.5 - resolution: "@nomiclabs/hardhat-ethers@npm:2.0.5" +"@nomiclabs/hardhat-ethers@npm:^2.2.1": + version: 2.2.1 + resolution: "@nomiclabs/hardhat-ethers@npm:2.2.1" peerDependencies: ethers: ^5.0.0 hardhat: ^2.0.0 - checksum: 07a5916f9fbb1efd24effc0d3949c70d1f45240d0bc4705653f1d378573c419c72d9a00f8db48b19c4aa27bd6c9dc0033aa40717cc9d77025a2cceeb59668463 + checksum: 8cdbf7068f15ee993142ab600074938d05b42af73392a5b12c8eb607a5bca2fac977a6a85955e0b0285541415ad520626e7fb3d33ca7cc112d61ee928358e2f6 languageName: node linkType: hard -"@nomiclabs/hardhat-waffle@npm:^2.0.2": +"@nomiclabs/hardhat-waffle@npm:^2.0.3": version: 2.0.3 resolution: "@nomiclabs/hardhat-waffle@npm:2.0.3" dependencies: @@ -6085,7 +6113,7 @@ __metadata: languageName: node linkType: hard -"ethers@npm:^5.0.1, ethers@npm:^5.0.2, ethers@npm:^5.5.2, ethers@npm:^5.6.8": +"ethers@npm:^5.0.1, ethers@npm:^5.0.2, ethers@npm:^5.5.2": version: 5.7.1 resolution: "ethers@npm:5.7.1" dependencies: @@ -6123,6 +6151,44 @@ __metadata: languageName: node linkType: hard +"ethers@npm:^5.7.2": + version: 5.7.2 + resolution: "ethers@npm:5.7.2" + dependencies: + "@ethersproject/abi": 5.7.0 + "@ethersproject/abstract-provider": 5.7.0 + "@ethersproject/abstract-signer": 5.7.0 + "@ethersproject/address": 5.7.0 + "@ethersproject/base64": 5.7.0 + "@ethersproject/basex": 5.7.0 + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/constants": 5.7.0 + "@ethersproject/contracts": 5.7.0 + "@ethersproject/hash": 5.7.0 + "@ethersproject/hdnode": 5.7.0 + "@ethersproject/json-wallets": 5.7.0 + "@ethersproject/keccak256": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/networks": 5.7.1 + "@ethersproject/pbkdf2": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/providers": 5.7.2 + "@ethersproject/random": 5.7.0 + "@ethersproject/rlp": 5.7.0 + "@ethersproject/sha2": 5.7.0 + "@ethersproject/signing-key": 5.7.0 + "@ethersproject/solidity": 5.7.0 + "@ethersproject/strings": 5.7.0 + "@ethersproject/transactions": 5.7.0 + "@ethersproject/units": 5.7.0 + "@ethersproject/wallet": 5.7.0 + "@ethersproject/web": 5.7.1 + "@ethersproject/wordlists": 5.7.0 + checksum: b7c08cf3e257185a7946117dbbf764433b7ba0e77c27298dec6088b3bc871aff711462b0621930c56880ff0a7ceb8b1d3a361ffa259f93377b48e34107f62553 + languageName: node + linkType: hard + "ethjs-unit@npm:0.1.6": version: 0.1.6 resolution: "ethjs-unit@npm:0.1.6" From 5afcc623c346538e242ccb03b155dc696a3c53c3 Mon Sep 17 00:00:00 2001 From: Asa Oines Date: Tue, 3 Jan 2023 17:38:07 -0500 Subject: [PATCH 17/56] Update to 1.0.0-beta6 (#21) --- package.json | 8 ++++---- yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index dd582941b..3f74365ba 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.0.0-beta5", + "version": "1.0.0-beta6", "dependencies": { - "@hyperlane-xyz/core": "1.0.0-beta5", - "@hyperlane-xyz/sdk": "1.0.0-beta5", - "@hyperlane-xyz/utils": "1.0.0-beta5", + "@hyperlane-xyz/core": "1.0.0-beta6", + "@hyperlane-xyz/sdk": "1.0.0-beta6", + "@hyperlane-xyz/utils": "1.0.0-beta6", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/yarn.lock b/yarn.lock index 0cf77bdab..f5f38c448 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1229,14 +1229,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.0.0-beta5": - version: 1.0.0-beta5 - resolution: "@hyperlane-xyz/core@npm:1.0.0-beta5" +"@hyperlane-xyz/core@npm:1.0.0-beta6": + version: 1.0.0-beta6 + resolution: "@hyperlane-xyz/core@npm:1.0.0-beta6" dependencies: - "@hyperlane-xyz/utils": 1.0.0-beta5 + "@hyperlane-xyz/utils": 1.0.0-beta6 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: 8015777393a92e47c2b496b7204ed588fbb862706c51aa8b08972bfe751c2b249537049e6642b5a3e2f466cad7b3a54f4dde1b6d3ffab275a0a7d7f3fefbe231 + checksum: 420232245838e96c840fe9d7a1f658ac45360a48afe389bd72f38559d97cdf1a3c2e51433dc2cc674792c57de260833eedb5f87210ab49469f7c60ec0ad92ab7 languageName: node linkType: hard @@ -1244,9 +1244,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.0.0-beta5 - "@hyperlane-xyz/sdk": 1.0.0-beta5 - "@hyperlane-xyz/utils": 1.0.0-beta5 + "@hyperlane-xyz/core": 1.0.0-beta6 + "@hyperlane-xyz/sdk": 1.0.0-beta6 + "@hyperlane-xyz/utils": 1.0.0-beta6 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1274,28 +1274,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.0.0-beta5": - version: 1.0.0-beta5 - resolution: "@hyperlane-xyz/sdk@npm:1.0.0-beta5" +"@hyperlane-xyz/sdk@npm:1.0.0-beta6": + version: 1.0.0-beta6 + resolution: "@hyperlane-xyz/sdk@npm:1.0.0-beta6" dependencies: "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 - "@hyperlane-xyz/core": 1.0.0-beta5 - "@hyperlane-xyz/utils": 1.0.0-beta5 + "@hyperlane-xyz/core": 1.0.0-beta6 + "@hyperlane-xyz/utils": 1.0.0-beta6 "@wagmi/chains": ^0.1.3 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.7.2 - checksum: 587129cf66c3d68fb98a0e2f20563b02aa7c26041d1b05e47ff8d030515f73c34acfc54812977a999844adfa7c7a6eed28761aacb0fd4e6ee32fd122b883ccbd + checksum: 2ef59f70ce79d88c0d304a22cba99f3a3d23b1c2e3e88d7a7cff42e70fc6b196b5a15a2e0e4a1ad68a3177e20d588ef16c24c9e6b4d2d459e3d6bd3e31bd3924 languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.0.0-beta5": - version: 1.0.0-beta5 - resolution: "@hyperlane-xyz/utils@npm:1.0.0-beta5" +"@hyperlane-xyz/utils@npm:1.0.0-beta6": + version: 1.0.0-beta6 + resolution: "@hyperlane-xyz/utils@npm:1.0.0-beta6" dependencies: ethers: ^5.7.2 - checksum: eeda99abbd7468310625dfa1af2358420af594cf17e43209b5c99a6db6cb14e72f844bb71e8159059429102cf38d241bfe2842f54f3fe53b9bcbdb709b86b67e + checksum: 4fba04e2f46e92323bc2f3492d09357838fa0596ebac0678b61c9cf7dfe8238ae5e65bb0ce97f3488d32d528bd399863d61610ab7f4a3ab4fca249474af5008c languageName: node linkType: hard From 5f7015cf3fa13b82d9287f4294cee0fbf13baab8 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Wed, 4 Jan 2023 13:27:32 -0500 Subject: [PATCH 18/56] Ensure yarn build exists for mono yarn workspaces (#22) * Ensure yarn build exists for mono yarn workspaces * Use publish compatible tsconfig * Ignore test in eslint --- .eslintignore | 3 ++- .github/workflows/ci.yml | 4 ++-- package.json | 3 +-- tsconfig.base.json | 24 ------------------------ tsconfig.json | 32 +++++++++++++++++++++++++------- tsconfig.publish.json | 15 --------------- 6 files changed, 30 insertions(+), 51 deletions(-) delete mode 100644 tsconfig.base.json delete mode 100644 tsconfig.publish.json diff --git a/.eslintignore b/.eslintignore index 092a1aa83..d6c78b68a 100644 --- a/.eslintignore +++ b/.eslintignore @@ -3,4 +3,5 @@ dist coverage types hardhat.config.ts -scripts \ No newline at end of file +scripts +test diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e4b683126..184bfa02c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,8 +50,8 @@ jobs: path: ./* key: ${{ github.sha }} - - name: build:dev - run: yarn run build:dev + - name: build + run: yarn run build prettier: runs-on: ubuntu-latest diff --git a/package.json b/package.json index 3f74365ba..60a274230 100644 --- a/package.json +++ b/package.json @@ -52,8 +52,7 @@ }, "scripts": { "clean": "hardhat clean && rm -rf dist cache src/types", - "build:dev": "hardhat compile && tsc --project ./tsconfig.json", - "build:publish": "hardhat compile && tsc --project ./tsconfig.publish.json", + "build": "hardhat compile && tsc", "coverage": "hardhat coverage", "lint": "eslint . --ext .ts", "prettier": "prettier --write ./contracts ./test", diff --git a/tsconfig.base.json b/tsconfig.base.json deleted file mode 100644 index cd1950832..000000000 --- a/tsconfig.base.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "compilerOptions": { - "declaration": true, - "declarationMap": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "incremental": false, - "lib": ["es2015", "es5", "dom"], - "module": "commonjs", - "moduleResolution": "node", - "noEmitOnError": true, - "noFallthroughCasesInSwitch": true, - "noImplicitAny": false, - "noImplicitReturns": true, - "noUnusedLocals": true, - "preserveSymlinks": true, - "preserveWatchOutput": true, - "pretty": false, - "sourceMap": true, - "target": "es6", - "strict": true, - "resolveJsonModule": true - } -} diff --git a/tsconfig.json b/tsconfig.json index 706174929..64f481fab 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,16 +1,34 @@ { - "extends": "./tsconfig.base.json", "compilerOptions": { + "declaration": true, + "declarationMap": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "incremental": false, + "lib": ["es2015", "es5", "dom"], + "module": "commonjs", + "moduleResolution": "node", + "noEmitOnError": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": false, + "noImplicitReturns": true, + "noUnusedLocals": true, + "preserveSymlinks": true, + "preserveWatchOutput": true, + "pretty": false, + "sourceMap": true, + "target": "es6", + "strict": true, + "resolveJsonModule": true, "outDir": "./dist", - "rootDir": "./", + "rootDir": "./src", }, "exclude": [ "./node_modules/", + "./scripts/", + "./test/", "./dist/", + "./src/types/hardhat.d.ts", + "hardhat.config.ts" ], - "include": [ - "./src", - "./test", - ], - "files": ["hardhat.config.ts"] } diff --git a/tsconfig.publish.json b/tsconfig.publish.json deleted file mode 100644 index e2e03ef73..000000000 --- a/tsconfig.publish.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "./tsconfig.base.json", - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src", - }, - "exclude": [ - "./node_modules/", - "./scripts/", - "./test/", - "./dist/", - "./src/types/hardhat.d.ts", - "hardhat.config.ts" - ], -} From f736a12ef5631fcd2d25067a33f3181fe7238a5c Mon Sep 17 00:00:00 2001 From: Nam Chu Hoai Date: Wed, 4 Jan 2023 15:46:25 -0500 Subject: [PATCH 19/56] TradeRoute deployment script v1 (#20) * Add litereal enum values * Create hardhat task for deployment of TradeRoute * Remove script and add example config * Output deployed contracts * Change import * Add scripts back --- scripts/deploy.ts | 92 +++++++++++++-------------------- src/config.ts | 8 +-- trade-route-example-config.json | 39 ++++++++++++++ 3 files changed, 80 insertions(+), 59 deletions(-) create mode 100644 trade-route-example-config.json diff --git a/scripts/deploy.ts b/scripts/deploy.ts index 91e00e61a..79abba956 100644 --- a/scripts/deploy.ts +++ b/scripts/deploy.ts @@ -1,61 +1,43 @@ -import { ethers, Wallet } from 'ethers'; - +import yargs from 'yargs'; +import { ethers } from 'ethers'; +import path from "path"; +import fs from "fs"; import { - Chains, - HyperlaneCore, MultiProvider, + chainConnectionConfigs, objMap, } from '@hyperlane-xyz/sdk'; -import { RouterConfig, chainConnectionConfigs } from '@hyperlane-xyz/sdk'; - -import { TokenConfig, TokenType } from '../src/config'; -import { HypERC20Deployer } from '../src/deploy'; - -const connectionConfigs = { - goerli: { - ...chainConnectionConfigs.goerli, - provider: new ethers.providers.JsonRpcProvider( - 'https://eth-goerli.public.blastapi.io', - 5, - ), - }, - fuji: chainConnectionConfigs.fuji, - alfajores: chainConnectionConfigs.alfajores, - moonbasealpha: chainConnectionConfigs.moonbasealpha, -}; - -async function deployNFTWrapper() { - console.info('Getting signer'); - const signer = new Wallet( - 'pkey', - ); - - const multiProvider = new MultiProvider(connectionConfigs); - multiProvider.rotateSigner(signer) - const core = HyperlaneCore.fromEnvironment('testnet2', multiProvider); - - const config = objMap(connectionConfigs, (chain, c) => ({ - type: TokenType.synthetic, - name: 'Dai', - symbol: 'DAI', - totalSupply: 0, - owner: signer.address, - mailbox: '0x1d3aAC239538e6F1831C8708803e61A9EA299Eec', - interchainGasPaymaster: core.getContracts(chain) - .interchainGasPaymaster.address, - } as TokenConfig & RouterConfig)) - config.goerli = { - type: TokenType.collateral, - token: '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6', - owner: signer.address, - mailbox: '0x1d3aAC239538e6F1831C8708803e61A9EA299Eec', - interchainGasPaymaster: core.getContracts(Chains.goerli) - .interchainGasPaymaster.address, - } as TokenConfig & RouterConfig - - const deployer = new HypERC20Deployer(multiProvider, config, core); - - await deployer.deploy(); +import { HypERC20Deployer } from "../src/deploy"; + +// Function that takes 2 CLI arguments, the private key and the token config file +async function deployTradeRoute() { + const argv = await yargs + .option('private-key', { + type: 'string', + describe: 'Private key for signing transactions', + demandOption: true, + }) + .option('config', { + type: 'string', + describe: 'Path to JSON config file', + demandOption: true, + }) + .argv; + + const signer = new ethers.Wallet(argv['private-key']); + const config = JSON.parse(fs.readFileSync(path.resolve(argv.config), "utf-8")) + const multiProvider = new MultiProvider( + objMap(chainConnectionConfigs, (_chain, conf) => ({ + ...conf, + signer: signer.connect(conf.provider), + })), + ); + + const deployer = new HypERC20Deployer(multiProvider, config, undefined); + await deployer.deploy(); + + console.log('Deployment successful. Deployed contracts:') + console.log(deployer.deployedContracts) } -deployNFTWrapper().then(console.log).catch(console.error); +deployTradeRoute().then(console.log).catch(console.error) \ No newline at end of file diff --git a/src/config.ts b/src/config.ts index 5987f641c..4a2c3fb42 100644 --- a/src/config.ts +++ b/src/config.ts @@ -3,10 +3,10 @@ import { ethers } from 'ethers'; import { RouterConfig } from '@hyperlane-xyz/sdk'; export enum TokenType { - synthetic, - syntheticUri, - collateral, - collateralUri, + synthetic = 'synthetic', + syntheticUri = 'syntheticUri', + collateral = 'collateral', + collateralUri = 'collateralUri', } export type SyntheticConfig = { diff --git a/trade-route-example-config.json b/trade-route-example-config.json new file mode 100644 index 000000000..40691a863 --- /dev/null +++ b/trade-route-example-config.json @@ -0,0 +1,39 @@ +{ + "goerli": { + "type": "collateral", + "token": "0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6", + "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", + "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", + "interchainGasPaymaster": "0xf857706CE59Cb7AE6df81Bbd0B0a656dB3e6beDA" + }, + "alfajores": { + "type": "synthetic", + "name": "Dai", + "symbol": "DAI", + "totalSupply": 0, + "token": "0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6", + "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", + "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", + "interchainGasPaymaster": "0xf857706CE59Cb7AE6df81Bbd0B0a656dB3e6beDA" + }, + "fuji": { + "type": "synthetic", + "name": "Dai", + "symbol": "DAI", + "totalSupply": 0, + "token": "0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6", + "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", + "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", + "interchainGasPaymaster": "0xf857706CE59Cb7AE6df81Bbd0B0a656dB3e6beDA" + }, + "moonbasealpha": { + "type": "synthetic", + "name": "Dai", + "symbol": "DAI", + "totalSupply": 0, + "token": "0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6", + "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", + "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", + "interchainGasPaymaster": "0xf857706CE59Cb7AE6df81Bbd0B0a656dB3e6beDA" + } +} From befc8d4cc876a046d293737a4933b319b1fd3505 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Thu, 5 Jan 2023 23:07:18 -0500 Subject: [PATCH 20/56] Add coverage reports (#23) * Ensure yarn build exists for mono yarn workspaces * Fix command chaining * Use publish compatible tsconfig * Revert CI changes * Ignore test in eslint * Add coverage reports --- .github/workflows/ci.yml | 12 ++- lcov.base.info | 192 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 201 insertions(+), 3 deletions(-) create mode 100644 lcov.base.info diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 184bfa02c..f3447b37e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,7 +85,6 @@ jobs: - name: lint run: yarn run lint - test: runs-on: ubuntu-latest needs: [build] @@ -96,5 +95,12 @@ jobs: path: ./* key: ${{ github.sha }} - - name: test - run: yarn run test + - name: test with coverage + run: yarn run coverage + + - uses: osmind-development-org/lcov-reporter-action@v0.3.2 + with: + title: "Hardhat Coverage Report" + lcov-file: ./coverage/lcov.info + lcov-base: ./lcov.base.info + delete-old-comments: true diff --git a/lcov.base.info b/lcov.base.info new file mode 100644 index 000000000..0004a7f75 --- /dev/null +++ b/lcov.base.info @@ -0,0 +1,192 @@ +TN: +SF:/Users/yorhodes/hyperlane/abacus-monorepo/typescript/token/contracts/extensions/HypERC721URICollateral.sol +FN:14,constructor +FN:22,_transferFromSender +FNF:2 +FNH:2 +FNDA:24,constructor +FNDA:54,_transferFromSender +DA:27,54 +DA:28,52 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/yorhodes/hyperlane/abacus-monorepo/typescript/token/contracts/extensions/HypERC721URIStorage.sol +FN:19,constructor +FN:25,_transferFromSender +FN:38,_transferTo +FN:47,tokenURI +FN:56,_beforeTokenTransfer +FN:70,supportsInterface +FN:79,_burn +FNF:7 +FNH:6 +FNDA:120,constructor +FNDA:41,_transferFromSender +FNDA:65,_transferTo +FNDA:44,tokenURI +FNDA:4916,_beforeTokenTransfer +FNDA:0,supportsInterface +FNDA:39,_burn +DA:30,41 +DA:31,40 +DA:43,65 +DA:44,65 +DA:53,44 +DA:62,4916 +DA:76,0 +DA:83,39 +LF:8 +LH:7 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/yorhodes/hyperlane/abacus-monorepo/typescript/token/contracts/HypERC20.sol +FN:18,constructor +FN:34,initialize +FN:50,_transferFromSender +FN:63,_transferTo +FNF:4 +FNH:4 +FNDA:99,constructor +FNDA:429,initialize +FNDA:10,_transferFromSender +FNDA:48,_transferTo +DA:36,429 +DA:42,429 +DA:43,429 +DA:55,10 +DA:56,9 +DA:68,48 +LF:6 +LH:6 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/yorhodes/hyperlane/abacus-monorepo/typescript/token/contracts/HypERC20Collateral.sol +FN:20,constructor +FN:31,initialize +FN:43,_transferFromSender +FN:59,_transferTo +FNF:4 +FNH:3 +FNDA:18,constructor +FNDA:72,initialize +FNDA:40,_transferFromSender +FNDA:0,_transferTo +DA:21,18 +DA:33,72 +DA:48,40 +DA:52,39 +DA:64,0 +LF:5 +LH:4 +BRDA:48,1,0,39 +BRDA:48,1,1,1 +BRDA:64,2,0,0 +BRDA:64,2,1,0 +BRF:4 +BRH:2 +end_of_record +TN: +SF:/Users/yorhodes/hyperlane/abacus-monorepo/typescript/token/contracts/HypERC721.sol +FN:17,constructor +FN:33,initialize +FN:50,_transferFromSender +FN:65,_transferTo +FNF:4 +FNH:4 +FNDA:234,constructor +FNDA:998,initialize +FNDA:81,_transferFromSender +FNDA:117,_transferTo +DA:35,998 +DA:40,998 +DA:41,998 +DA:42,9600 +DA:56,81 +DA:57,78 +DA:58,78 +DA:70,117 +LF:8 +LH:8 +BRDA:56,1,0,78 +BRDA:56,1,1,3 +BRF:2 +BRH:2 +end_of_record +TN: +SF:/Users/yorhodes/hyperlane/abacus-monorepo/typescript/token/contracts/HypERC721Collateral.sol +FN:20,constructor +FN:31,initialize +FN:43,_transferFromSender +FN:57,_transferTo +FNF:4 +FNH:3 +FNDA:45,constructor +FNDA:180,initialize +FNDA:95,_transferFromSender +FNDA:0,_transferTo +DA:21,45 +DA:33,180 +DA:49,95 +DA:50,91 +DA:62,0 +LF:5 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/yorhodes/hyperlane/abacus-monorepo/typescript/token/contracts/libs/Message.sol +FN:5,format +FN:13,recipient +FN:17,amount +FN:22,tokenId +FN:26,metadata +FNF:5 +FNH:4 +FNDA:217,format +FNDA:165,recipient +FNDA:165,amount +FNDA:0,tokenId +FNDA:165,metadata +DA:10,217 +DA:14,165 +DA:18,165 +DA:23,0 +DA:31,165 +LF:5 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/yorhodes/hyperlane/abacus-monorepo/typescript/token/contracts/libs/TokenRouter.sol +FN:45,constructor +FN:57,transferRemote +FN:89,_handle +FNF:3 +FNH:3 +FNDA:396,constructor +FNDA:227,transferRemote +FNDA:165,_handle +DA:46,396 +DA:62,227 +DA:63,217 +DA:70,185 +DA:94,165 +DA:95,165 +DA:96,165 +DA:97,165 +DA:98,156 +LF:9 +LH:9 +BRF:0 +BRH:0 +end_of_record From 72ea4572204cde662fb7e87298ebefa6371aa863 Mon Sep 17 00:00:00 2001 From: Nam Chu Hoai Date: Wed, 11 Jan 2023 15:47:09 -0500 Subject: [PATCH 21/56] Fix example config (#24) --- trade-route-example-config.json | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/trade-route-example-config.json b/trade-route-example-config.json index 40691a863..c292ea3c6 100644 --- a/trade-route-example-config.json +++ b/trade-route-example-config.json @@ -8,30 +8,27 @@ }, "alfajores": { "type": "synthetic", - "name": "Dai", - "symbol": "DAI", + "name": "Weth", + "symbol": "WETH", "totalSupply": 0, - "token": "0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6", "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", "interchainGasPaymaster": "0xf857706CE59Cb7AE6df81Bbd0B0a656dB3e6beDA" }, "fuji": { "type": "synthetic", - "name": "Dai", - "symbol": "DAI", + "name": "Weth", + "symbol": "WETH", "totalSupply": 0, - "token": "0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6", "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", "interchainGasPaymaster": "0xf857706CE59Cb7AE6df81Bbd0B0a656dB3e6beDA" }, "moonbasealpha": { "type": "synthetic", - "name": "Dai", - "symbol": "DAI", + "name": "Weth", + "symbol": "WETH", "totalSupply": 0, - "token": "0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6", "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", "interchainGasPaymaster": "0xf857706CE59Cb7AE6df81Bbd0B0a656dB3e6beDA" From 49450190e817633b0f26f02e747d60ba1c792023 Mon Sep 17 00:00:00 2001 From: Nam Chu Hoai Date: Thu, 12 Jan 2023 10:45:16 -0500 Subject: [PATCH 22/56] Serialize contracts (#25) --- scripts/deploy.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/deploy.ts b/scripts/deploy.ts index 79abba956..0f58d3a42 100644 --- a/scripts/deploy.ts +++ b/scripts/deploy.ts @@ -6,6 +6,7 @@ import { MultiProvider, chainConnectionConfigs, objMap, + serializeContracts, } from '@hyperlane-xyz/sdk'; import { HypERC20Deployer } from "../src/deploy"; @@ -37,7 +38,8 @@ async function deployTradeRoute() { await deployer.deploy(); console.log('Deployment successful. Deployed contracts:') - console.log(deployer.deployedContracts) + // @ts-ignore + console.log(serializeContracts(deployer.deployedContracts)) } deployTradeRoute().then(console.log).catch(console.error) \ No newline at end of file From f83f53f614fa0e456557164b24d557e2d51ace33 Mon Sep 17 00:00:00 2001 From: J M Rossy Date: Thu, 12 Jan 2023 16:05:55 -0500 Subject: [PATCH 23/56] Bump versions for 1.0.0 (#26) --- package.json | 8 ++++---- test/erc20.test.ts | 3 +++ test/erc721.test.ts | 5 +++++ yarn.lock | 36 ++++++++++++++++++------------------ 4 files changed, 30 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 60a274230..2023d59a1 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.0.0-beta6", + "version": "1.0.0", "dependencies": { - "@hyperlane-xyz/core": "1.0.0-beta6", - "@hyperlane-xyz/sdk": "1.0.0-beta6", - "@hyperlane-xyz/utils": "1.0.0-beta6", + "@hyperlane-xyz/core": "1.0.0", + "@hyperlane-xyz/sdk": "1.0.0", + "@hyperlane-xyz/utils": "1.0.0", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/test/erc20.test.ts b/test/erc20.test.ts index 81b8b81e4..fb01871ec 100644 --- a/test/erc20.test.ts +++ b/test/erc20.test.ts @@ -138,6 +138,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), amount, + { value: 1 }, ); await expectBalance(local, recipient, 0); @@ -179,6 +180,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), amount, + { value: 1 }, ), ).to.be.revertedWith(revertReason); }); @@ -189,6 +191,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), amount, + { value: 1 }, ), ) .to.emit(local, 'SentTransferRemote') diff --git a/test/erc721.test.ts b/test/erc721.test.ts index 5b2ef8cee..08ed7c724 100644 --- a/test/erc721.test.ts +++ b/test/erc721.test.ts @@ -182,6 +182,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), invalidTokenId, + { value: 1 }, ), ).to.be.revertedWith('ERC721: invalid token ID'); }); @@ -191,6 +192,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), tokenId2, + { value: 1 }, ); await expectBalance(local, recipient, 0); @@ -215,6 +217,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), tokenId2, + { value: 1 }, ); await expect(remoteUri.tokenURI(tokenId2)).to.be.revertedWith(''); @@ -238,6 +241,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), tokenId2, + { value: 1 }, ), ).to.be.revertedWith(revertReason); }); @@ -263,6 +267,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), tokenId4, + { value: 1 }, ), ) .to.emit(local, 'SentTransferRemote') diff --git a/yarn.lock b/yarn.lock index f5f38c448..b906adcf5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1229,14 +1229,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.0.0-beta6": - version: 1.0.0-beta6 - resolution: "@hyperlane-xyz/core@npm:1.0.0-beta6" +"@hyperlane-xyz/core@npm:1.0.0": + version: 1.0.0 + resolution: "@hyperlane-xyz/core@npm:1.0.0" dependencies: - "@hyperlane-xyz/utils": 1.0.0-beta6 + "@hyperlane-xyz/utils": 1.0.0 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: 420232245838e96c840fe9d7a1f658ac45360a48afe389bd72f38559d97cdf1a3c2e51433dc2cc674792c57de260833eedb5f87210ab49469f7c60ec0ad92ab7 + checksum: 4a2bfcd87b3bdb868051ea24378db0d70449266ac9601e75da2842b8f0887e6715b6d42fdcef6bf604a2524c4e43bfdb90c1b41deb767a31afed18e8804c46b7 languageName: node linkType: hard @@ -1244,9 +1244,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.0.0-beta6 - "@hyperlane-xyz/sdk": 1.0.0-beta6 - "@hyperlane-xyz/utils": 1.0.0-beta6 + "@hyperlane-xyz/core": 1.0.0 + "@hyperlane-xyz/sdk": 1.0.0 + "@hyperlane-xyz/utils": 1.0.0 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1274,28 +1274,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.0.0-beta6": - version: 1.0.0-beta6 - resolution: "@hyperlane-xyz/sdk@npm:1.0.0-beta6" +"@hyperlane-xyz/sdk@npm:1.0.0": + version: 1.0.0 + resolution: "@hyperlane-xyz/sdk@npm:1.0.0" dependencies: "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 - "@hyperlane-xyz/core": 1.0.0-beta6 - "@hyperlane-xyz/utils": 1.0.0-beta6 + "@hyperlane-xyz/core": 1.0.0 + "@hyperlane-xyz/utils": 1.0.0 "@wagmi/chains": ^0.1.3 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.7.2 - checksum: 2ef59f70ce79d88c0d304a22cba99f3a3d23b1c2e3e88d7a7cff42e70fc6b196b5a15a2e0e4a1ad68a3177e20d588ef16c24c9e6b4d2d459e3d6bd3e31bd3924 + checksum: 93c878ba85fde204d9d4c6e19c6d467a7dd232253cb5b03e7a5b52a6121962c1a6592b9431e6af92242b763c38eac45978ddec9dfd5d6bd4557fb565a14cd81b languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.0.0-beta6": - version: 1.0.0-beta6 - resolution: "@hyperlane-xyz/utils@npm:1.0.0-beta6" +"@hyperlane-xyz/utils@npm:1.0.0": + version: 1.0.0 + resolution: "@hyperlane-xyz/utils@npm:1.0.0" dependencies: ethers: ^5.7.2 - checksum: 4fba04e2f46e92323bc2f3492d09357838fa0596ebac0678b61c9cf7dfe8238ae5e65bb0ce97f3488d32d528bd399863d61610ab7f4a3ab4fca249474af5008c + checksum: f19440f507d8219e62b5792211459233c478ee72daa5109a502bd66eb611bdc09e55c5b67f32f3b46a89307c7f70e672acaf58a4018adb4f343a5eb566cd1dcd languageName: node linkType: hard From 3a1285f98f4e98a3abbd57756c1c845387c382f3 Mon Sep 17 00:00:00 2001 From: J M Rossy Date: Tue, 24 Jan 2023 18:16:34 -0500 Subject: [PATCH 24/56] Bump version to 1.0.1-beta0 (#29) --- package.json | 8 ++++---- yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 2023d59a1..f4e4c478f 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.0.0", + "version": "1.0.1-beta0", "dependencies": { - "@hyperlane-xyz/core": "1.0.0", - "@hyperlane-xyz/sdk": "1.0.0", - "@hyperlane-xyz/utils": "1.0.0", + "@hyperlane-xyz/core": "1.0.1-beta0", + "@hyperlane-xyz/sdk": "1.0.1-beta0", + "@hyperlane-xyz/utils": "1.0.1-beta0", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/yarn.lock b/yarn.lock index b906adcf5..fbeb7fb7e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1229,14 +1229,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.0.0": - version: 1.0.0 - resolution: "@hyperlane-xyz/core@npm:1.0.0" +"@hyperlane-xyz/core@npm:1.0.1-beta0": + version: 1.0.1-beta0 + resolution: "@hyperlane-xyz/core@npm:1.0.1-beta0" dependencies: - "@hyperlane-xyz/utils": 1.0.0 + "@hyperlane-xyz/utils": 1.0.1-beta0 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: 4a2bfcd87b3bdb868051ea24378db0d70449266ac9601e75da2842b8f0887e6715b6d42fdcef6bf604a2524c4e43bfdb90c1b41deb767a31afed18e8804c46b7 + checksum: c2940686c462a2780f84f27d3e34c7788b542ac4792c36e2f88d433dd6f6dc2830da9ac5c6f07bf99969e09b815a9b562d235895cd7ccd42fa4e02dcaa00b76a languageName: node linkType: hard @@ -1244,9 +1244,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.0.0 - "@hyperlane-xyz/sdk": 1.0.0 - "@hyperlane-xyz/utils": 1.0.0 + "@hyperlane-xyz/core": 1.0.1-beta0 + "@hyperlane-xyz/sdk": 1.0.1-beta0 + "@hyperlane-xyz/utils": 1.0.1-beta0 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1274,28 +1274,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.0.0": - version: 1.0.0 - resolution: "@hyperlane-xyz/sdk@npm:1.0.0" +"@hyperlane-xyz/sdk@npm:1.0.1-beta0": + version: 1.0.1-beta0 + resolution: "@hyperlane-xyz/sdk@npm:1.0.1-beta0" dependencies: "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 - "@hyperlane-xyz/core": 1.0.0 - "@hyperlane-xyz/utils": 1.0.0 + "@hyperlane-xyz/core": 1.0.1-beta0 + "@hyperlane-xyz/utils": 1.0.1-beta0 "@wagmi/chains": ^0.1.3 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.7.2 - checksum: 93c878ba85fde204d9d4c6e19c6d467a7dd232253cb5b03e7a5b52a6121962c1a6592b9431e6af92242b763c38eac45978ddec9dfd5d6bd4557fb565a14cd81b + checksum: aa85ced1fc4f0ab57d0373ce3c8a59a175573064f50cb20a4d6b7fe61a070c381e222c735a8872880d760bd960be24644acadf579e7adee3c00a19ba3fb56946 languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.0.0": - version: 1.0.0 - resolution: "@hyperlane-xyz/utils@npm:1.0.0" +"@hyperlane-xyz/utils@npm:1.0.1-beta0": + version: 1.0.1-beta0 + resolution: "@hyperlane-xyz/utils@npm:1.0.1-beta0" dependencies: ethers: ^5.7.2 - checksum: f19440f507d8219e62b5792211459233c478ee72daa5109a502bd66eb611bdc09e55c5b67f32f3b46a89307c7f70e672acaf58a4018adb4f343a5eb566cd1dcd + checksum: a87ac6cd90673bbfd5b17dbb68f8fb7626ad16af63315e1080817a87d6c8dfa58d10c69720a5840bf5926942072fa1b9b696ffd4325c007a30bef46cd048402b languageName: node linkType: hard From 58564f81de32df8c88e593c53c206eac66a47115 Mon Sep 17 00:00:00 2001 From: J M Rossy Date: Tue, 24 Jan 2023 18:20:24 -0500 Subject: [PATCH 25/56] Support PD chains in warp deploy (#28) * Update deploy script to handle custom chain configs * Add more logging to deploy script --- configs/warp-route-chain-config.json | 22 +++ .../warp-route-token-config.json | 0 scripts/deploy.ts | 132 ++++++++++++++---- 3 files changed, 123 insertions(+), 31 deletions(-) create mode 100644 configs/warp-route-chain-config.json rename trade-route-example-config.json => configs/warp-route-token-config.json (100%) diff --git a/configs/warp-route-chain-config.json b/configs/warp-route-chain-config.json new file mode 100644 index 000000000..fccce637d --- /dev/null +++ b/configs/warp-route-chain-config.json @@ -0,0 +1,22 @@ +{ + "goerli": { + "id": 5, + "name": "goerli", + "displayName": "Goerli", + "nativeToken": { "name": "Ether", "symbol": "ETH", "decimals": 18 }, + "publicRpcUrls": [{ "http": "https://eth-goerli.public.blastapi.io" }], + "blockExplorers": [ + { + "name": "Goerliscan", + "url": "https://goerli.etherscan.io", + "apiUrl": "https://api-goerli.etherscan.io", + "family": "etherscan" + } + ], + "blocks": { + "confirmations": 1, + "reorgPeriod": 2, + "estimateBlockTime": 13 + } + } +} diff --git a/trade-route-example-config.json b/configs/warp-route-token-config.json similarity index 100% rename from trade-route-example-config.json rename to configs/warp-route-token-config.json diff --git a/scripts/deploy.ts b/scripts/deploy.ts index 0f58d3a42..23167b3a0 100644 --- a/scripts/deploy.ts +++ b/scripts/deploy.ts @@ -1,45 +1,115 @@ -import yargs from 'yargs'; +/** + * Script to deploy warp routes + * Accepts 3 arguments: + * - private-key : Hex string of private key. Note: deployment requires funds on all chains + * - token-config : Path to token config JSON file (see example in ./configs) + * - chain-config : (Optional) Path to chain config JSON file (see example in ./configs) + * Example: yarn ts-node scripts/deploy.ts --private-key $PRIVATE_KEY --token-config ./configs/warp-route-token-config.json + */ import { ethers } from 'ethers'; -import path from "path"; -import fs from "fs"; +import fs from 'fs'; +import path from 'path'; +import yargs from 'yargs'; + import { + ChainMap, + ChainMetadata, + IChainConnection, MultiProvider, chainConnectionConfigs, objMap, serializeContracts, } from '@hyperlane-xyz/sdk'; -import { HypERC20Deployer } from "../src/deploy"; -// Function that takes 2 CLI arguments, the private key and the token config file -async function deployTradeRoute() { +import { HypERC20Deployer } from '../src/deploy'; + +async function deployWarpRoute() { const argv = await yargs - .option('private-key', { - type: 'string', - describe: 'Private key for signing transactions', - demandOption: true, - }) - .option('config', { - type: 'string', - describe: 'Path to JSON config file', - demandOption: true, - }) - .argv; - - const signer = new ethers.Wallet(argv['private-key']); - const config = JSON.parse(fs.readFileSync(path.resolve(argv.config), "utf-8")) - const multiProvider = new MultiProvider( - objMap(chainConnectionConfigs, (_chain, conf) => ({ - ...conf, - signer: signer.connect(conf.provider), - })), + .option('private-key', { + type: 'string', + describe: 'Private key for signing transactions', + demandOption: true, + }) + .option('token-config', { + type: 'string', + describe: 'Path to token config JSON file', + demandOption: true, + }) + .option('chain-config', { + type: 'string', + describe: 'Path to chain config JSON file', + }).argv; + + const privateKey = argv['private-key']; + const tokenConfigPath = argv['token-config']; + const chainConfigPath = argv['chain-config']; + + console.log('Reading warp route configs'); + + const tokenConfigs = JSON.parse( + fs.readFileSync(path.resolve(tokenConfigPath), 'utf-8'), + ); + const targetChains = Object.keys(tokenConfigs); + console.log( + `Found token configs for ${targetChains.length} chains:`, + targetChains.join(', '), + ); + + const chainConfigs = chainConfigPath + ? JSON.parse(fs.readFileSync(path.resolve(chainConfigPath), 'utf-8')) + : null; + if (chainConfigs) { + const customChains = Object.keys(chainConfigs); + console.log( + `Found custom configs for ${customChains.length} chains:`, + customChains.join(', '), ); + } + + let multiProviderConfig: ChainMap = {}; + for (const chain of targetChains) { + if (chainConfigs && chainConfigs[chain]) { + // Use custom config + const chainConfig = chainConfigs[chain] as ChainMetadata; + multiProviderConfig[chain] = { + provider: new ethers.providers.JsonRpcProvider( + chainConfig.publicRpcUrls[0].http, + chainConfig.id, + ), + confirmations: chainConfig.blocks.confirmations, + blockExplorerUrl: chainConfig.blockExplorers[0].url, + blockExplorerApiUrl: chainConfig.blockExplorers[0].apiUrl, + // @ts-ignore + overrides: chainConfig.overrides, + }; + } else if (chainConnectionConfigs[chain]) { + // Use SDK default + multiProviderConfig[chain] = chainConnectionConfigs[chain]; + } else { + throw new Error(`No chain config found for ${chain}`); + } + } + + console.log('Preparing wallet'); + const signer = new ethers.Wallet(privateKey); + + console.log('Preparing chain providers'); + const multiProvider = new MultiProvider( + objMap(multiProviderConfig, (_chain, conf) => ({ + ...conf, + signer: signer.connect(conf.provider), + })), + ); - const deployer = new HypERC20Deployer(multiProvider, config, undefined); - await deployer.deploy(); + console.log('Starting deployments'); + const deployer = new HypERC20Deployer(multiProvider, tokenConfigs, undefined); + await deployer.deploy(); - console.log('Deployment successful. Deployed contracts:') - // @ts-ignore - console.log(serializeContracts(deployer.deployedContracts)) + console.log('Deployments successful. Deployed contracts:'); + // @ts-ignore + console.log(serializeContracts(deployer.deployedContracts)); } -deployTradeRoute().then(console.log).catch(console.error) \ No newline at end of file +deployWarpRoute() + .then(() => console.log('Warp Route deployment done')) + .catch((e) => console.error('Warp Route deployment error:', e)); From 9f8ef2d946247ea12e42121b1b193a0431e99d71 Mon Sep 17 00:00:00 2001 From: Trevor Porter Date: Thu, 26 Jan 2023 16:20:02 +0000 Subject: [PATCH 26/56] Deploy 1.1.0 (#32) * 1.1.0 * Fix yarn.lock --- package.json | 8 ++++---- yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index f4e4c478f..81a5fd663 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.0.1-beta0", + "version": "1.1.0", "dependencies": { - "@hyperlane-xyz/core": "1.0.1-beta0", - "@hyperlane-xyz/sdk": "1.0.1-beta0", - "@hyperlane-xyz/utils": "1.0.1-beta0", + "@hyperlane-xyz/core": "1.1.0", + "@hyperlane-xyz/sdk": "1.1.0", + "@hyperlane-xyz/utils": "1.1.0", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/yarn.lock b/yarn.lock index fbeb7fb7e..c1826b7d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1229,14 +1229,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.0.1-beta0": - version: 1.0.1-beta0 - resolution: "@hyperlane-xyz/core@npm:1.0.1-beta0" +"@hyperlane-xyz/core@npm:1.1.0": + version: 1.1.0 + resolution: "@hyperlane-xyz/core@npm:1.1.0" dependencies: - "@hyperlane-xyz/utils": 1.0.1-beta0 + "@hyperlane-xyz/utils": 1.1.0 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: c2940686c462a2780f84f27d3e34c7788b542ac4792c36e2f88d433dd6f6dc2830da9ac5c6f07bf99969e09b815a9b562d235895cd7ccd42fa4e02dcaa00b76a + checksum: 39f0d0d253a14aec27e187f0e23b9875878eea6a6057421cd04932aa1951a881e5f4ad6953bb128e6d0786480c1b96155bb227cf7499bb89dc75c0483b74e14a languageName: node linkType: hard @@ -1244,9 +1244,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.0.1-beta0 - "@hyperlane-xyz/sdk": 1.0.1-beta0 - "@hyperlane-xyz/utils": 1.0.1-beta0 + "@hyperlane-xyz/core": 1.1.0 + "@hyperlane-xyz/sdk": 1.1.0 + "@hyperlane-xyz/utils": 1.1.0 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1274,28 +1274,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.0.1-beta0": - version: 1.0.1-beta0 - resolution: "@hyperlane-xyz/sdk@npm:1.0.1-beta0" +"@hyperlane-xyz/sdk@npm:1.1.0": + version: 1.1.0 + resolution: "@hyperlane-xyz/sdk@npm:1.1.0" dependencies: "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 - "@hyperlane-xyz/core": 1.0.1-beta0 - "@hyperlane-xyz/utils": 1.0.1-beta0 + "@hyperlane-xyz/core": 1.1.0 + "@hyperlane-xyz/utils": 1.1.0 "@wagmi/chains": ^0.1.3 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.7.2 - checksum: aa85ced1fc4f0ab57d0373ce3c8a59a175573064f50cb20a4d6b7fe61a070c381e222c735a8872880d760bd960be24644acadf579e7adee3c00a19ba3fb56946 + checksum: 413fb31f0811f1c0b4b6f881619fbd76a866076889b733929c92bd8add5b03b915fbe54150af3467da7350924f15462688b1c1247937139b11f3ebc3d5e10182 languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.0.1-beta0": - version: 1.0.1-beta0 - resolution: "@hyperlane-xyz/utils@npm:1.0.1-beta0" +"@hyperlane-xyz/utils@npm:1.1.0": + version: 1.1.0 + resolution: "@hyperlane-xyz/utils@npm:1.1.0" dependencies: ethers: ^5.7.2 - checksum: a87ac6cd90673bbfd5b17dbb68f8fb7626ad16af63315e1080817a87d6c8dfa58d10c69720a5840bf5926942072fa1b9b696ffd4325c007a30bef46cd048402b + checksum: e2647b2e04b865f6de557225fca509d4a3a009ddba5ec0c5f44baedaf57be16c42f4d36ffd69acacb1dedc3f4babb5a362d2bce5ddc12b308963add0e415b8c2 languageName: node linkType: hard From d95298907029d37184482cd050cea536f0f4f7c4 Mon Sep 17 00:00:00 2001 From: Asa Oines Date: Thu, 26 Jan 2023 12:35:07 -0500 Subject: [PATCH 27/56] Release 1.1.1, update to work with unknown chains (#31) --- package.json | 8 ++++---- scripts/deploy.ts | 4 +--- yarn.lock | 36 ++++++++++++++++++------------------ 3 files changed, 23 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 81a5fd663..2d5f1a619 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.1.0", + "version": "1.1.1", "dependencies": { - "@hyperlane-xyz/core": "1.1.0", - "@hyperlane-xyz/sdk": "1.1.0", - "@hyperlane-xyz/utils": "1.1.0", + "@hyperlane-xyz/core": "1.1.1", + "@hyperlane-xyz/sdk": "1.1.1", + "@hyperlane-xyz/utils": "1.1.1", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/scripts/deploy.ts b/scripts/deploy.ts index 23167b3a0..3108f7916 100644 --- a/scripts/deploy.ts +++ b/scripts/deploy.ts @@ -72,13 +72,11 @@ async function deployWarpRoute() { // Use custom config const chainConfig = chainConfigs[chain] as ChainMetadata; multiProviderConfig[chain] = { + id: chainConfig.id, provider: new ethers.providers.JsonRpcProvider( chainConfig.publicRpcUrls[0].http, - chainConfig.id, ), confirmations: chainConfig.blocks.confirmations, - blockExplorerUrl: chainConfig.blockExplorers[0].url, - blockExplorerApiUrl: chainConfig.blockExplorers[0].apiUrl, // @ts-ignore overrides: chainConfig.overrides, }; diff --git a/yarn.lock b/yarn.lock index c1826b7d3..a8c1530d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1229,14 +1229,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.1.0": - version: 1.1.0 - resolution: "@hyperlane-xyz/core@npm:1.1.0" +"@hyperlane-xyz/core@npm:1.1.1": + version: 1.1.1 + resolution: "@hyperlane-xyz/core@npm:1.1.1" dependencies: - "@hyperlane-xyz/utils": 1.1.0 + "@hyperlane-xyz/utils": 1.1.1 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: 39f0d0d253a14aec27e187f0e23b9875878eea6a6057421cd04932aa1951a881e5f4ad6953bb128e6d0786480c1b96155bb227cf7499bb89dc75c0483b74e14a + checksum: e1649b4389cf8f2238c20c6461644b91527f5d9a5141893db4a434b8f7e50a7244093d74d1ba8ddf665eefb8b57bc18ec0a8a4a2dd0f0b62e1682925ba6082f5 languageName: node linkType: hard @@ -1244,9 +1244,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.1.0 - "@hyperlane-xyz/sdk": 1.1.0 - "@hyperlane-xyz/utils": 1.1.0 + "@hyperlane-xyz/core": 1.1.1 + "@hyperlane-xyz/sdk": 1.1.1 + "@hyperlane-xyz/utils": 1.1.1 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1274,28 +1274,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.1.0": - version: 1.1.0 - resolution: "@hyperlane-xyz/sdk@npm:1.1.0" +"@hyperlane-xyz/sdk@npm:1.1.1": + version: 1.1.1 + resolution: "@hyperlane-xyz/sdk@npm:1.1.1" dependencies: "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 - "@hyperlane-xyz/core": 1.1.0 - "@hyperlane-xyz/utils": 1.1.0 + "@hyperlane-xyz/core": 1.1.1 + "@hyperlane-xyz/utils": 1.1.1 "@wagmi/chains": ^0.1.3 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.7.2 - checksum: 413fb31f0811f1c0b4b6f881619fbd76a866076889b733929c92bd8add5b03b915fbe54150af3467da7350924f15462688b1c1247937139b11f3ebc3d5e10182 + checksum: 7f2dd06c4f41ff2f112c38e287aa497f67c1568db9289bc03445195497b89b0c0dde5f6d5d81aca6b6b47a7b0a7f13acf634a41d6adbf074ecff01e36024ba2a languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.1.0": - version: 1.1.0 - resolution: "@hyperlane-xyz/utils@npm:1.1.0" +"@hyperlane-xyz/utils@npm:1.1.1": + version: 1.1.1 + resolution: "@hyperlane-xyz/utils@npm:1.1.1" dependencies: ethers: ^5.7.2 - checksum: e2647b2e04b865f6de557225fca509d4a3a009ddba5ec0c5f44baedaf57be16c42f4d36ffd69acacb1dedc3f4babb5a362d2bce5ddc12b308963add0e415b8c2 + checksum: 6f0088ae3cb7522655621512c0d8a3a0b0acf02be9bbe54db15ad97809117de99f4caf9a13a043233ca04c5d89f30fbdc158c02e9178dc4e6455af1c5b81d786 languageName: node linkType: hard From 3b6b95b5d9d639a848545e61eaff66f0d3239b5e Mon Sep 17 00:00:00 2001 From: Nam Chu Hoai Date: Tue, 31 Jan 2023 15:02:35 -0500 Subject: [PATCH 28/56] Make the command more approachbable (#35) * Make the command more approachbable * Update Readme * updated warp api link --------- Co-authored-by: Anett <44020788+anettrolikova@users.noreply.github.com> --- README.md | 14 ++++---------- package.json | 3 ++- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a14c81f67..c7d98cacb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Interchain tokens using Hyperlane +# Hyperlane Warp Route -This repo showcases a Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypERC721). These tokens extend the base standards with an additional `transferRemote` function. +This repo contains the base Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypERC721). These tokens extend the base standards with an additional `transferRemote` function. Warp Routes are way of arranging these contracts to make existing assets interchain. Read more about Warp Routes and how to deploy your own at [Warp API docs](https://docs.hyperlane.xyz/docs/developers/warp-api). ```mermaid %%{init: {'theme':'base'}}%% @@ -30,7 +30,7 @@ graph TB HYP_P-.->Bob ``` -## Setup +## Setup for local development ```sh # Install dependencies @@ -40,14 +40,8 @@ yarn yarn build:dev ``` -### (Optional) Using local core contracts -```sh -# yarn link does not work well with workspaces -ln -s ~/path/to/monorepo/solidity node_modules/@hyperlane-xyz/core -``` - -## Test +## Unit testing ```sh # Run all unit tests diff --git a/package.json b/package.json index 2d5f1a619..141d61da0 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,8 @@ "coverage": "hardhat coverage", "lint": "eslint . --ext .ts", "prettier": "prettier --write ./contracts ./test", - "test": "hardhat test ./test/*.test.ts" + "test": "hardhat test ./test/*.test.ts", + "deploy-warp-route": "DEBUG=* ts-node scripts/deploy" }, "types": "dist/index.d.ts" } From 62b78646a1f6e4b2bdce8e288099c19397ed7348 Mon Sep 17 00:00:00 2001 From: Nam Chu Hoai Date: Wed, 1 Feb 2023 11:44:00 -0500 Subject: [PATCH 29/56] Deploy 1.1.3 (#36) --- package.json | 8 ++++---- yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 141d61da0..e594f27e2 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.1.1", + "version": "1.1.3", "dependencies": { - "@hyperlane-xyz/core": "1.1.1", - "@hyperlane-xyz/sdk": "1.1.1", - "@hyperlane-xyz/utils": "1.1.1", + "@hyperlane-xyz/core": "1.1.3", + "@hyperlane-xyz/sdk": "1.1.3", + "@hyperlane-xyz/utils": "1.1.3", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/yarn.lock b/yarn.lock index a8c1530d3..05cb59cc7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1229,14 +1229,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.1.1": - version: 1.1.1 - resolution: "@hyperlane-xyz/core@npm:1.1.1" +"@hyperlane-xyz/core@npm:1.1.3": + version: 1.1.3 + resolution: "@hyperlane-xyz/core@npm:1.1.3" dependencies: - "@hyperlane-xyz/utils": 1.1.1 + "@hyperlane-xyz/utils": 1.1.3 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: e1649b4389cf8f2238c20c6461644b91527f5d9a5141893db4a434b8f7e50a7244093d74d1ba8ddf665eefb8b57bc18ec0a8a4a2dd0f0b62e1682925ba6082f5 + checksum: 6872fcdac9add5ac55aad891a7c9fbd7709e30ad06ca6d063bf8b4752533d143cd8418c78218df4073a98b06e8ec4fc8b185444ac62e558498da09ef47efbe19 languageName: node linkType: hard @@ -1244,9 +1244,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.1.1 - "@hyperlane-xyz/sdk": 1.1.1 - "@hyperlane-xyz/utils": 1.1.1 + "@hyperlane-xyz/core": 1.1.3 + "@hyperlane-xyz/sdk": 1.1.3 + "@hyperlane-xyz/utils": 1.1.3 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1274,28 +1274,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.1.1": - version: 1.1.1 - resolution: "@hyperlane-xyz/sdk@npm:1.1.1" +"@hyperlane-xyz/sdk@npm:1.1.3": + version: 1.1.3 + resolution: "@hyperlane-xyz/sdk@npm:1.1.3" dependencies: "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 - "@hyperlane-xyz/core": 1.1.1 - "@hyperlane-xyz/utils": 1.1.1 + "@hyperlane-xyz/core": 1.1.3 + "@hyperlane-xyz/utils": 1.1.3 "@wagmi/chains": ^0.1.3 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.7.2 - checksum: 7f2dd06c4f41ff2f112c38e287aa497f67c1568db9289bc03445195497b89b0c0dde5f6d5d81aca6b6b47a7b0a7f13acf634a41d6adbf074ecff01e36024ba2a + checksum: 20dabd0acc33d737c80af432605608e6cea1aaf6fa6db9839687a5427324e0044dcdf29b0f26bc2ba732eb6faf44f3c1ca226a3387c9e608ab1f25c6ec24332d languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.1.1": - version: 1.1.1 - resolution: "@hyperlane-xyz/utils@npm:1.1.1" +"@hyperlane-xyz/utils@npm:1.1.3": + version: 1.1.3 + resolution: "@hyperlane-xyz/utils@npm:1.1.3" dependencies: ethers: ^5.7.2 - checksum: 6f0088ae3cb7522655621512c0d8a3a0b0acf02be9bbe54db15ad97809117de99f4caf9a13a043233ca04c5d89f30fbdc158c02e9178dc4e6455af1c5b81d786 + checksum: afe6847b0810b85ba1ddbe5c0e28718d86e1890220edf7ab3b629e1a8820c93405ec7265da6ce1b16d32b31947f8b4b912b7756cfd4f14f674f4dc48c4042f09 languageName: node linkType: hard From 00c9df709bff1bf1990b09c643be6646cc086fb7 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Mon, 6 Feb 2023 15:01:25 -0500 Subject: [PATCH 30/56] Update diagram (#34) * Update diagram * Update README.md * Update README.md * Remove mailbox to mailbox arrow --- README.md | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index c7d98cacb..ec341f565 100644 --- a/README.md +++ b/README.md @@ -6,27 +6,25 @@ This repo contains the base Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypE %%{init: {'theme':'base'}}%% graph TB Alice((Alice)) - Operator((Operator)) + Relayer((Relayer)) subgraph "Ethereum" - HYP_E[(HYP)] - O_E[/Outbox\] + HYP_E[HYP] + M_E[(Mailbox)] end subgraph "Polygon" - HYP_P[(HYP)] - EthereumInbox[\EthereumInbox/] + HYP_P[HYP] + M_P[(Mailbox)] end Bob((Bob)) Alice -- "transferRemote(Polygon, Bob, 5)" --> HYP_E - HYP_E -- "dispatch(Polygon, (Bob, 5))" --> O_E - Operator -- "checkpoint()" --> O_E - O_E-.->EthereumInbox - Operator -- "relay()" --> EthereumInbox - Operator -- "process(Ethereum, (Bob, 5))" --> EthereumInbox - EthereumInbox-->|"handle(Ethereum, (Bob, 5))"|HYP_P + HYP_E -- "dispatch(Polygon, (Bob, 5))" --> M_E + M_E-.->Relayer + Relayer -- "process(Ethereum, (Bob, 5))" --> M_P + M_P-->|"handle(Ethereum, (Bob, 5))"|HYP_P HYP_P-.->Bob ``` From a064ab0351fdd767f10a489f88b851ef021f9c9b Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Thu, 9 Feb 2023 13:48:40 -0500 Subject: [PATCH 31/56] Update styles --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ec341f565..7fabd42a5 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ This repo contains the base Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypERC721). These tokens extend the base standards with an additional `transferRemote` function. Warp Routes are way of arranging these contracts to make existing assets interchain. Read more about Warp Routes and how to deploy your own at [Warp API docs](https://docs.hyperlane.xyz/docs/developers/warp-api). ```mermaid -%%{init: {'theme':'base'}}%% +%%{init: {'theme': 'neutral', 'themeCSS': '.node rect { fill: #025AA1 } .edgeLabel { color: black } .nodeLabel { color: white }'}}%% graph TB Alice((Alice)) Relayer((Relayer)) From b24d48637cecdcbcce3ee5a9e22331318bfb74ff Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Thu, 9 Feb 2023 14:12:24 -0500 Subject: [PATCH 32/56] Update styling --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7fabd42a5..8de7dfa93 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,16 @@ This repo contains the base Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypERC721). These tokens extend the base standards with an additional `transferRemote` function. Warp Routes are way of arranging these contracts to make existing assets interchain. Read more about Warp Routes and how to deploy your own at [Warp API docs](https://docs.hyperlane.xyz/docs/developers/warp-api). ```mermaid -%%{init: {'theme': 'neutral', 'themeCSS': '.node rect { fill: #025AA1 } .edgeLabel { color: black } .nodeLabel { color: white }'}}%% +%%{ init: { + "theme": "neutral", + "themeVariables": { + "mainBkg": "#025AA1", + "textColor": "white", + "clusterBkg": "beige" + }, + "themeCSS": ".edgeLabel { color: black }" +}}%% + graph TB Alice((Alice)) Relayer((Relayer)) From 0c63ab17315b93f89cd0a97c217b992e1d20a5f1 Mon Sep 17 00:00:00 2001 From: Anett <44020788+anettrolikova@users.noreply.github.com> Date: Mon, 13 Feb 2023 16:11:48 -0600 Subject: [PATCH 33/56] Update README.md (#33) edited hyperlane documentation link to refer to v2 docs instead of the old v1 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8de7dfa93..71021ffed 100644 --- a/README.md +++ b/README.md @@ -60,4 +60,4 @@ yarn lint ## Learn more -For more information, see the [Hyperlane documentation](https://docs.hyperlane.xyz/hyperlane-docs/developers/getting-started). +For more information, see the [Hyperlane documentation](https://docs.hyperlane.xyz/docs/developers/getting-started). From 6d056dfd96e79fb08ebfa6da078469615e51f00e Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Mon, 13 Feb 2023 18:44:05 -0500 Subject: [PATCH 34/56] Gas router (#30) * Updates to use GasRouter and new IGP * Update deployer and app to use gas router * Update from mono 1.1.4 * Address more pr comments * Warn on balance failures --------- Co-authored-by: J M Rossy --- contracts/HypERC20.sol | 6 -- contracts/HypERC20Collateral.sol | 8 +- contracts/HypERC721.sol | 6 -- contracts/HypERC721Collateral.sol | 16 ++-- .../extensions/HypERC721URICollateral.sol | 10 ++- contracts/extensions/HypERC721URIStorage.sol | 6 -- contracts/libs/TokenRouter.sol | 22 ++--- package.json | 8 +- scripts/deploy.ts | 2 +- src/app.ts | 89 +++++++++++++------ src/config.ts | 18 ++-- src/deploy.ts | 67 ++++++++++++-- test/erc20.test.ts | 40 ++++++++- test/erc721.test.ts | 50 +++++++++-- yarn.lock | 51 ++++++----- 15 files changed, 270 insertions(+), 129 deletions(-) diff --git a/contracts/HypERC20.sol b/contracts/HypERC20.sol index 789283c44..6eb5ed5b7 100644 --- a/contracts/HypERC20.sol +++ b/contracts/HypERC20.sol @@ -11,12 +11,6 @@ import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ * @dev Supply on each chain is not constant but the aggregate supply across all chains is. */ contract HypERC20 is ERC20Upgradeable, TokenRouter { - /** - * @notice Constructor - * @param gasAmount Amount of destination gas to be paid for processing - */ - constructor(uint256 gasAmount) TokenRouter(gasAmount) {} - /** * @notice Initializes the Hyperlane router, ERC20 metadata, and mints initial supply to deployer. * @param _mailbox The address of the mailbox contract. diff --git a/contracts/HypERC20Collateral.sol b/contracts/HypERC20Collateral.sol index 86c6b2662..8bc79f9e7 100644 --- a/contracts/HypERC20Collateral.sol +++ b/contracts/HypERC20Collateral.sol @@ -2,6 +2,7 @@ pragma solidity >=0.8.0; import {TokenRouter} from "./libs/TokenRouter.sol"; +import {Message} from "./libs/Message.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; @@ -15,9 +16,8 @@ contract HypERC20Collateral is TokenRouter { /** * @notice Constructor * @param erc20 Address of the token to keep as collateral - * @param gasAmount Amount of destination gas to be paid for processing */ - constructor(address erc20, uint256 gasAmount) TokenRouter(gasAmount) { + constructor(address erc20) { wrappedToken = IERC20(erc20); } @@ -36,6 +36,10 @@ contract HypERC20Collateral is TokenRouter { ); } + function balanceOf(address _account) external view returns (uint256) { + return wrappedToken.balanceOf(_account); + } + /** * @dev Transfers `_amount` of `wrappedToken` from `msg.sender` to this contract. * @inheritdoc TokenRouter diff --git a/contracts/HypERC721.sol b/contracts/HypERC721.sol index 051d6a7a2..c596a04ba 100644 --- a/contracts/HypERC721.sol +++ b/contracts/HypERC721.sol @@ -10,12 +10,6 @@ import {ERC721EnumerableUpgradeable} from "@openzeppelin/contracts-upgradeable/t * @author Abacus Works */ contract HypERC721 is ERC721EnumerableUpgradeable, TokenRouter { - /** - * @notice Constructor - * @param gasAmount Amount of destination gas to be paid for processing - */ - constructor(uint256 gasAmount) TokenRouter(gasAmount) {} - /** * @notice Initializes the Hyperlane router, ERC721 metadata, and mints initial supply to deployer. * @param _mailbox The address of the mailbox contract. diff --git a/contracts/HypERC721Collateral.sol b/contracts/HypERC721Collateral.sol index f7576d746..c0b35a26f 100644 --- a/contracts/HypERC721Collateral.sol +++ b/contracts/HypERC721Collateral.sol @@ -2,6 +2,7 @@ pragma solidity >=0.8.0; import {TokenRouter} from "./libs/TokenRouter.sol"; +import {Message} from "./libs/Message.sol"; import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; @@ -10,15 +11,18 @@ import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; * @author Abacus Works */ contract HypERC721Collateral is TokenRouter { - address public immutable wrappedToken; + IERC721 public immutable wrappedToken; /** * @notice Constructor * @param erc721 Address of the token to keep as collateral - * @param gasAmount Amount of destination gas to be paid for processing */ - constructor(address erc721, uint256 gasAmount) TokenRouter(gasAmount) { - wrappedToken = erc721; + constructor(address erc721) { + wrappedToken = IERC721(erc721); + } + + function ownerOf(uint256 _tokenId) external view returns (address) { + return IERC721(wrappedToken).ownerOf(_tokenId); } /** @@ -46,7 +50,7 @@ contract HypERC721Collateral is TokenRouter { override returns (bytes memory) { - IERC721(wrappedToken).transferFrom(msg.sender, address(this), _tokenId); + wrappedToken.transferFrom(msg.sender, address(this), _tokenId); return bytes(""); // no metadata } @@ -59,6 +63,6 @@ contract HypERC721Collateral is TokenRouter { uint256 _tokenId, bytes calldata // no metadata ) internal override { - IERC721(wrappedToken).transferFrom(address(this), _recipient, _tokenId); + wrappedToken.transferFrom(address(this), _recipient, _tokenId); } } diff --git a/contracts/extensions/HypERC721URICollateral.sol b/contracts/extensions/HypERC721URICollateral.sol index 012e087be..461cc208d 100644 --- a/contracts/extensions/HypERC721URICollateral.sol +++ b/contracts/extensions/HypERC721URICollateral.sol @@ -10,9 +10,7 @@ import {IERC721MetadataUpgradeable} from "@openzeppelin/contracts-upgradeable/to * @author Abacus Works */ contract HypERC721URICollateral is HypERC721Collateral { - constructor(address erc721, uint256 gasAmount) - HypERC721Collateral(erc721, gasAmount) - {} + constructor(address erc721) HypERC721Collateral(erc721) {} /** * @dev Transfers `_tokenId` of `wrappedToken` from `msg.sender` to this contract. @@ -26,6 +24,10 @@ contract HypERC721URICollateral is HypERC721Collateral { { HypERC721Collateral._transferFromSender(_tokenId); return - bytes(IERC721MetadataUpgradeable(wrappedToken).tokenURI(_tokenId)); + bytes( + IERC721MetadataUpgradeable(address(wrappedToken)).tokenURI( + _tokenId + ) + ); } } diff --git a/contracts/extensions/HypERC721URIStorage.sol b/contracts/extensions/HypERC721URIStorage.sol index 49c2c4456..c921a0029 100644 --- a/contracts/extensions/HypERC721URIStorage.sol +++ b/contracts/extensions/HypERC721URIStorage.sol @@ -12,12 +12,6 @@ import {ERC721Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC72 * @author Abacus Works */ contract HypERC721URIStorage is HypERC721, ERC721URIStorageUpgradeable { - /** - * @notice Constructor - * @param gasAmount Amount of destination gas to be paid for processing - */ - constructor(uint256 gasAmount) HypERC721(gasAmount) {} - /** * @return _tokenURI The URI of `_tokenId`. * @inheritdoc HypERC721 diff --git a/contracts/libs/TokenRouter.sol b/contracts/libs/TokenRouter.sol index 44ad7422b..8f3402bfa 100644 --- a/contracts/libs/TokenRouter.sol +++ b/contracts/libs/TokenRouter.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: Apache-2.0 pragma solidity >=0.8.0; -import {Router} from "@hyperlane-xyz/core/contracts/Router.sol"; +import {GasRouter} from "@hyperlane-xyz/core/contracts/GasRouter.sol"; import {TypeCasts} from "@hyperlane-xyz/core/contracts/libs/TypeCasts.sol"; import {Message} from "./Message.sol"; @@ -9,15 +9,10 @@ import {Message} from "./Message.sol"; * @title Hyperlane Token Router that extends Router with abstract token (ERC20/ERC721) remote transfer functionality. * @author Abacus Works */ -abstract contract TokenRouter is Router { +abstract contract TokenRouter is GasRouter { using TypeCasts for bytes32; using Message for bytes; - /** - * @notice Gas amount to use for destination chain processing, should be overriden by implementors - */ - uint256 internal immutable gasAmount; - /** * @dev Emitted on `transferRemote` when a transfer message is dispatched. * @param destination The identifier of the destination chain. @@ -42,10 +37,6 @@ abstract contract TokenRouter is Router { uint256 amount ); - constructor(uint256 _gasAmount) { - gasAmount = _gasAmount; - } - /** * @notice Transfers `_amountOrId` token to `_recipient` on `_destination` domain. * @dev Delegates transfer logic to `_transferFromSender` implementation. @@ -58,14 +49,13 @@ abstract contract TokenRouter is Router { uint32 _destination, bytes32 _recipient, uint256 _amountOrId - ) external payable { + ) external payable returns (bytes32 messageId) { bytes memory metadata = _transferFromSender(_amountOrId); - _dispatchWithGas( + messageId = _dispatchWithGas( _destination, Message.format(_recipient, _amountOrId, metadata), - gasAmount, - msg.value, - msg.sender + msg.value, // interchain gas payment + msg.sender // refund address ); emit SentTransferRemote(_destination, _recipient, _amountOrId); } diff --git a/package.json b/package.json index e594f27e2..1ca6ff590 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.1.3", + "version": "1.1.4", "dependencies": { - "@hyperlane-xyz/core": "1.1.3", - "@hyperlane-xyz/sdk": "1.1.3", - "@hyperlane-xyz/utils": "1.1.3", + "@hyperlane-xyz/core": "1.1.4", + "@hyperlane-xyz/sdk": "1.1.4", + "@hyperlane-xyz/utils": "1.1.4", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/scripts/deploy.ts b/scripts/deploy.ts index 3108f7916..a8ec6f3ab 100644 --- a/scripts/deploy.ts +++ b/scripts/deploy.ts @@ -66,7 +66,7 @@ async function deployWarpRoute() { ); } - let multiProviderConfig: ChainMap = {}; + const multiProviderConfig: ChainMap = {}; for (const chain of targetChains) { if (chainConfigs && chainConfigs[chain]) { // Use custom config diff --git a/src/app.ts b/src/app.ts index e140e06a6..91ee40c68 100644 --- a/src/app.ts +++ b/src/app.ts @@ -1,43 +1,76 @@ +import { BigNumberish } from 'ethers'; + import { ChainName, - HyperlaneApp, - objMap, - promiseObjAll, + GasRouterApp, + RouterContracts, } from '@hyperlane-xyz/sdk'; +import { types } from '@hyperlane-xyz/utils'; import { HypERC20Contracts, HypERC721Contracts } from './contracts'; +import { TokenRouter } from './types'; -export class HypERC20App extends HyperlaneApp< +class HyperlaneTokenApp< + Contracts extends RouterContracts, + Chain extends ChainName, +> extends GasRouterApp { + async transfer( + origin: Origin, + destination: Exclude, + recipient: types.Address, + amountOrId: BigNumberish, + ) { + const originRouter = this.getContracts(origin).router; + const destinationChainConnection = this.multiProvider.getChainConnection(destination); + const destinationNetwork = await destinationChainConnection.provider.getNetwork(); + const gasPayment = await originRouter.quoteGasPayment(destinationNetwork.chainId); + const chainConnection = this.multiProvider.getChainConnection(origin); + return chainConnection.handleTx( + originRouter.transferRemote(destinationNetwork.chainId, recipient, amountOrId, { + value: gasPayment, + }), + ); + } +} + +export class HypERC20App extends HyperlaneTokenApp< HypERC20Contracts, Chain > { - getSecurityModules = () => - promiseObjAll( - objMap(this.contractsMap, (_, contracts) => - contracts.router.interchainSecurityModule(), - ), - ); - - getOwners = () => - promiseObjAll( - objMap(this.contractsMap, (_, contracts) => contracts.router.owner()), - ); + async transfer( + origin: Origin, + destination: Exclude, + recipient: types.Address, + amount: BigNumberish, + ) { + const originRouter = this.getContracts(origin).router; + const chainConnection = this.multiProvider.getChainConnection(origin); + const signerAddress = await chainConnection.signer!.getAddress(); + const balance = await originRouter.balanceOf(signerAddress); + if (balance.lt(amount)) + console.warn( + `Signer ${signerAddress} has insufficient balance ${balance}, needs ${amount} on ${origin}`, + ); + return super.transfer(origin, destination, recipient, amount); + } } -// TODO: dedupe? -export class HypERC721App extends HyperlaneApp< +export class HypERC721App extends HyperlaneTokenApp< HypERC721Contracts, Chain > { - getSecurityModules = () => - promiseObjAll( - objMap(this.contractsMap, (_, contracts) => - contracts.router.interchainSecurityModule(), - ), - ); - - getOwners = () => - promiseObjAll( - objMap(this.contractsMap, (_, contracts) => contracts.router.owner()), - ); + async transfer( + origin: Origin, + destination: Exclude, + recipient: types.Address, + tokenId: BigNumberish, + ) { + const originRouter = this.getContracts(origin).router; + const chainConnection = this.multiProvider.getChainConnection(origin); + const signerAddress = await chainConnection.signer!.getAddress(); + const owner = await originRouter.ownerOf(tokenId); + if (signerAddress != owner) + console.warn(`Signer ${signerAddress} not owner of token ${tokenId} on ${origin}`); + return super.transfer(origin, destination, recipient, tokenId); + } } diff --git a/src/config.ts b/src/config.ts index 4a2c3fb42..8857f5df7 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,6 +1,6 @@ import { ethers } from 'ethers'; -import { RouterConfig } from '@hyperlane-xyz/sdk'; +import { GasRouterConfig } from '@hyperlane-xyz/sdk'; export enum TokenType { synthetic = 'synthetic', @@ -14,31 +14,29 @@ export type SyntheticConfig = { name: string; symbol: string; totalSupply: ethers.BigNumberish; - gasAmount?: ethers.BigNumberish; }; export type CollateralConfig = { type: TokenType.collateral | TokenType.collateralUri; token: string; - gasAmount?: ethers.BigNumberish; }; export type TokenConfig = SyntheticConfig | CollateralConfig; export const isCollateralConfig = ( - config: RouterConfig & TokenConfig, -): config is RouterConfig & CollateralConfig => { + config: TokenConfig, +): config is CollateralConfig => { return ( config.type === TokenType.collateral || config.type === TokenType.collateralUri ); }; -export const isUriConfig = (config: RouterConfig & TokenConfig) => +export const isUriConfig = (config: TokenConfig) => config.type === TokenType.syntheticUri || config.type === TokenType.collateralUri; -export type HypERC20Config = RouterConfig & TokenConfig; -export type HypERC20CollateralConfig = RouterConfig & CollateralConfig; +export type HypERC20Config = GasRouterConfig & TokenConfig; +export type HypERC20CollateralConfig = GasRouterConfig & CollateralConfig; -export type HypERC721Config = RouterConfig & TokenConfig; -export type HypERC721CollateralConfig = RouterConfig & CollateralConfig; +export type HypERC721Config = GasRouterConfig & TokenConfig; +export type HypERC721CollateralConfig = GasRouterConfig & CollateralConfig; diff --git a/src/deploy.ts b/src/deploy.ts index ec2fb10d8..7f61c9ae5 100644 --- a/src/deploy.ts +++ b/src/deploy.ts @@ -1,7 +1,11 @@ import { + ChainMap, ChainName, - HyperlaneRouterDeployer, + GasRouterDeployer, + MultiProvider, + objMap } from '@hyperlane-xyz/sdk'; +import { DeployerOptions } from '@hyperlane-xyz/sdk/dist/deploy/HyperlaneDeployer'; import { HypERC20CollateralConfig, @@ -10,6 +14,7 @@ import { isCollateralConfig, HypERC721CollateralConfig, isUriConfig, + TokenConfig, } from './config'; import { HypERC20Contracts, @@ -17,16 +22,53 @@ import { } from './contracts'; import { HypERC20Collateral__factory, HypERC20__factory, HypERC721Collateral__factory, HypERC721URICollateral__factory, HypERC721URIStorage__factory, HypERC721__factory } from './types'; -// Default value to use for TokenRouter.gasAmount -const DEFAULT_IGP_GAS_AMOUNT = 30000; +enum TokenType { + erc20 = 'erc20', + erc721 = 'erc721', +} + +const gasDefaults = (config: TokenConfig, tokenType: TokenType) => { + switch (tokenType) { + case TokenType.erc721: + switch (config.type) { + case 'synthetic': + return 156000; + case 'syntheticUri': + return 160000; + case 'collateral': + case 'collateralUri': + default: + return 77000; + } + default: + case TokenType.erc20: + switch (config.type) { + case 'synthetic': + return 64000; + case 'collateral': + default: + return 68000; + } + } +} + +type Optional = Pick, K> & Omit; + export class HypERC20Deployer< Chain extends ChainName // inferred from configured chains passed to constructor -> extends HyperlaneRouterDeployer< +> extends GasRouterDeployer< Chain, HypERC20Config | HypERC20CollateralConfig, HypERC20Contracts, any // RouterFactories doesn't work well when router has multiple types > { + constructor(multiProvider: MultiProvider, configMap: ChainMap>, factories: any, options?: DeployerOptions) { + super(multiProvider, objMap(configMap, (_, config): HypERC20Config | HypERC20CollateralConfig => ({ + ...config, + gas: config.gas ?? gasDefaults(config as any, TokenType.erc20) + } as HypERC20Config | HypERC20CollateralConfig)), factories, options); + } + async deployContracts( chain: Chain, config: HypERC20Config | HypERC20CollateralConfig, @@ -37,7 +79,7 @@ export class HypERC20Deployer< chain, new HypERC20Collateral__factory(), 'HypERC20Collateral', - [config.token, config.gasAmount || DEFAULT_IGP_GAS_AMOUNT], + [config.token], ); await connection.handleTx( router.initialize( @@ -51,7 +93,7 @@ export class HypERC20Deployer< chain, new HypERC20__factory(), 'HypERC20', - [config.gasAmount || DEFAULT_IGP_GAS_AMOUNT], + [], ); await connection.handleTx(router.initialize( config.mailbox, @@ -68,12 +110,19 @@ export class HypERC20Deployer< // TODO: dedupe? export class HypERC721Deployer< Chain extends ChainName -> extends HyperlaneRouterDeployer< +> extends GasRouterDeployer< Chain, HypERC721Config | HypERC721CollateralConfig, HypERC721Contracts, any > { + constructor(multiProvider: MultiProvider, configMap: ChainMap>, factories: any, options?: DeployerOptions) { + super(multiProvider, objMap(configMap, (_, config): HypERC721Config | HypERC721CollateralConfig => ({ + ...config, + gas: config.gas ?? gasDefaults(config as any, TokenType.erc721) + } as HypERC721Config | HypERC721CollateralConfig)), factories, options); + } + async deployContracts( chain: Chain, config: HypERC721Config | HypERC721CollateralConfig, @@ -84,7 +133,7 @@ export class HypERC721Deployer< chain, isUriConfig(config) ? new HypERC721URICollateral__factory() : new HypERC721Collateral__factory(), `HypERC721${isUriConfig(config) ? 'URI' : ''}Collateral`, - [config.token, config.gasAmount || DEFAULT_IGP_GAS_AMOUNT], + [config.token], ); await connection.handleTx( router.initialize( @@ -98,7 +147,7 @@ export class HypERC721Deployer< chain, isUriConfig(config) ? new HypERC721URIStorage__factory() : new HypERC721__factory(), `HypERC721${isUriConfig(config) ? 'URIStorage' : ''}`, - [config.gasAmount || DEFAULT_IGP_GAS_AMOUNT], + [], ); await connection.handleTx(router.initialize( config.mailbox, diff --git a/test/erc20.test.ts b/test/erc20.test.ts index fb01871ec..516a134fa 100644 --- a/test/erc20.test.ts +++ b/test/erc20.test.ts @@ -1,6 +1,7 @@ import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import '@nomiclabs/hardhat-waffle'; import { expect } from 'chai'; +import { BigNumber } from 'ethers'; import { ethers } from 'hardhat'; import { @@ -70,6 +71,7 @@ for (const withCollateral of [true, false]) { ...coreConfig[key], ...tokenConfig, owner: owner.address, + gas: 63264, })); let erc20: ERC20 | undefined; @@ -83,6 +85,7 @@ for (const withCollateral of [true, false]) { ...configWithTokenInfo.test1, type: TokenType.collateral, token: erc20.address, + gas: 67615, }; } @@ -133,12 +136,43 @@ for (const withCollateral of [true, false]) { }); } + it('benchmark handle gas overhead', async () => { + const localRaw = local.connect(ethers.provider); + const mailboxAddress = + core.contractsMap[localChain].mailbox.contract.address; + if (withCollateral) { + const tokenAddress = await (local as HypERC20Collateral).wrappedToken(); + const token = ERC20__factory.connect(tokenAddress, owner); + await token.transfer(local.address, totalSupply); + } + const message = `${utils.addressToBytes32( + recipient.address, + )}${BigNumber.from(totalSupply) + .toHexString() + .slice(2) + .padStart(64, '0')}`; + const gas = await localRaw.estimateGas.handle( + remoteDomain, + utils.addressToBytes32(remote.address), + message, + { from: mailboxAddress }, + ); + console.log(gas); + }); + it('should allow for remote transfers', async () => { + const interchainGasPaymaster = + core.contractsMap[localChain].interchainGasPaymaster.contract; + const gas = await local.destinationGas(remoteDomain); + const interchainGasPayment = await interchainGasPaymaster.quoteGasPayment( + remoteDomain, + gas, + ); await local.transferRemote( remoteDomain, utils.addressToBytes32(recipient.address), amount, - { value: 1 }, + { value: interchainGasPayment }, ); await expectBalance(local, recipient, 0); @@ -180,7 +214,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), amount, - { value: 1 }, + { value: await local.destinationGas(remoteDomain) }, ), ).to.be.revertedWith(revertReason); }); @@ -191,7 +225,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), amount, - { value: 1 }, + { value: await local.destinationGas(remoteDomain) }, ), ) .to.emit(local, 'SentTransferRemote') diff --git a/test/erc721.test.ts b/test/erc721.test.ts index 08ed7c724..938843d40 100644 --- a/test/erc721.test.ts +++ b/test/erc721.test.ts @@ -1,6 +1,7 @@ import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import '@nomiclabs/hardhat-waffle'; import { expect } from 'chai'; +import { BigNumber } from 'ethers'; import { ethers } from 'hardhat'; import { @@ -42,6 +43,7 @@ const tokenId2 = 20; const tokenId3 = 30; const tokenId4 = 40; const testInterchainGasPayment = 123456789; +const gas = 67628; for (const withCollateral of [true, false]) { for (const withUri of [true, false]) { @@ -56,14 +58,17 @@ for (const withCollateral of [true, false]) { test1: { ...tokenConfig, totalSupply, + gas, }, test2: { ...tokenConfig, totalSupply: 0, + gas, }, test3: { ...tokenConfig, totalSupply: 0, + gas, }, }; describe(`HypERC721${withUri ? 'URI' : ''}${ @@ -92,6 +97,7 @@ for (const withCollateral of [true, false]) { ...coreConfig[key], ...configMap[key], owner: owner.address, + gas, })); let erc721: ERC721 | undefined; @@ -182,7 +188,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), invalidTokenId, - { value: 1 }, + { value: gas }, ), ).to.be.revertedWith('ERC721: invalid token ID'); }); @@ -192,7 +198,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), tokenId2, - { value: 1 }, + { value: gas }, ); await expectBalance(local, recipient, 0); @@ -217,7 +223,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), tokenId2, - { value: 1 }, + { value: gas }, ); await expect(remoteUri.tokenURI(tokenId2)).to.be.revertedWith(''); @@ -241,11 +247,45 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), tokenId2, - { value: 1 }, + { value: gas }, ), ).to.be.revertedWith(revertReason); }); + it('benchmark handle gas overhead', async () => { + const localRaw = local.connect(ethers.provider); + const mailboxAddress = + core.contractsMap[localChain].mailbox.contract.address; + let tokenIdToUse: number; + if (withCollateral) { + const tokenAddress = await ( + local as HypERC721Collateral + ).wrappedToken(); + const token = ERC721__factory.connect(tokenAddress, owner); + await token.transferFrom(owner.address, local.address, tokenId); + tokenIdToUse = tokenId; + } else { + tokenIdToUse = totalSupply + 1; + } + const message = `${utils.addressToBytes32( + recipient.address, + )}${BigNumber.from(tokenIdToUse) + .toHexString() + .slice(2) + .padStart(64, '0')}`; + try { + const gas = await localRaw.estimateGas.handle( + remoteDomain, + utils.addressToBytes32(remote.address), + message, + { from: mailboxAddress }, + ); + console.log(gas); + } catch (e) { + console.log('FAILED'); + } + }); + it('allows interchain gas payment for remote transfers', async () => { const interchainGasPaymaster = core.contractsMap[localChain].interchainGasPaymaster.contract; @@ -267,7 +307,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), tokenId4, - { value: 1 }, + { value: gas }, ), ) .to.emit(local, 'SentTransferRemote') diff --git a/yarn.lock b/yarn.lock index 05cb59cc7..d59abded8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1229,14 +1229,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.1.3": - version: 1.1.3 - resolution: "@hyperlane-xyz/core@npm:1.1.3" +"@hyperlane-xyz/core@npm:1.1.4": + version: 1.1.4 + resolution: "@hyperlane-xyz/core@npm:1.1.4" dependencies: - "@hyperlane-xyz/utils": 1.1.3 + "@hyperlane-xyz/utils": 1.1.4 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: 6872fcdac9add5ac55aad891a7c9fbd7709e30ad06ca6d063bf8b4752533d143cd8418c78218df4073a98b06e8ec4fc8b185444ac62e558498da09ef47efbe19 + checksum: 6e1e70ce7dc23c69ec2f3443cac5956241db834d745fcec6d613ac323004f9e9c279e68182b9995fb3eca572a0a99600de493bc6b7d8e1dc248203aaeaec2251 languageName: node linkType: hard @@ -1244,9 +1244,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.1.3 - "@hyperlane-xyz/sdk": 1.1.3 - "@hyperlane-xyz/utils": 1.1.3 + "@hyperlane-xyz/core": 1.1.4 + "@hyperlane-xyz/sdk": 1.1.4 + "@hyperlane-xyz/utils": 1.1.4 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1274,28 +1274,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.1.3": - version: 1.1.3 - resolution: "@hyperlane-xyz/sdk@npm:1.1.3" +"@hyperlane-xyz/sdk@npm:1.1.4": + version: 1.1.4 + resolution: "@hyperlane-xyz/sdk@npm:1.1.4" dependencies: "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 - "@hyperlane-xyz/core": 1.1.3 - "@hyperlane-xyz/utils": 1.1.3 - "@wagmi/chains": ^0.1.3 + "@hyperlane-xyz/core": 1.1.4 + "@hyperlane-xyz/utils": 1.1.4 + "@wagmi/chains": ^0.2.6 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.7.2 - checksum: 20dabd0acc33d737c80af432605608e6cea1aaf6fa6db9839687a5427324e0044dcdf29b0f26bc2ba732eb6faf44f3c1ca226a3387c9e608ab1f25c6ec24332d + checksum: 600d81648cdbdad2be4200bd772d49128b9bcd5de10d1f811008291ed268610a0bb1cac8061dfa30b5040dc20c7b8919b39ed206d7993f63c65abf3df663c125 languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.1.3": - version: 1.1.3 - resolution: "@hyperlane-xyz/utils@npm:1.1.3" +"@hyperlane-xyz/utils@npm:1.1.4": + version: 1.1.4 + resolution: "@hyperlane-xyz/utils@npm:1.1.4" dependencies: ethers: ^5.7.2 - checksum: afe6847b0810b85ba1ddbe5c0e28718d86e1890220edf7ab3b629e1a8820c93405ec7265da6ce1b16d32b31947f8b4b912b7756cfd4f14f674f4dc48c4042f09 + checksum: 9860b34cea341e2b49eb341cb2bab57d33b8e818a577f7d50daa3417c7d6dc01311d99cb13e1232d84b0c3551cc4476734e1b9bc0083b4cb1e6c441c3a0f4798 languageName: node linkType: hard @@ -2159,10 +2159,15 @@ __metadata: languageName: node linkType: hard -"@wagmi/chains@npm:^0.1.3": - version: 0.1.5 - resolution: "@wagmi/chains@npm:0.1.5" - checksum: 17577eaecb94450b9cbc9c16fa7c95416a79437cebbcd4cf16515098d9bb562d227c55922f5fddd493de4747f4131977c0eeb82197beafce700af42c16740ec1 +"@wagmi/chains@npm:^0.2.6": + version: 0.2.8 + resolution: "@wagmi/chains@npm:0.2.8" + peerDependencies: + typescript: ">=4.9.4" + peerDependenciesMeta: + typescript: + optional: true + checksum: f68b16fa0620fe4162ad3412735a5c239f59c9a7b15e900a217ff7403d74c8a262fdcd77ab0b37cbc747e78c2c197272d9340d9ef091525d5e335e91905d3def languageName: node linkType: hard From 18a8a71f1702939a0094ae59f937e2e8d8524432 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Thu, 16 Feb 2023 09:48:30 -0500 Subject: [PATCH 35/56] Audit v2 merge main (#46) * Use safeTransfer and safeMint where possible (#37) * Add native asset token router (#40) * Add HypNative * Add natspecs * Return `messageId` from `transferRemote` (#45) * Return messageId from transferRemote * Add balanceOf convenience functions * Add tests for native and balanceOf utils (#44) * Add version notes to README --- README.md | 9 ++ contracts/HypERC20Collateral.sol | 10 +- contracts/HypERC721.sol | 4 +- contracts/HypERC721Collateral.sol | 7 +- contracts/HypNative.sol | 79 ++++++++++++ contracts/libs/TokenRouter.sol | 3 +- src/config.ts | 32 +++-- src/contracts.ts | 3 +- src/deploy.ts | 120 ++++++++++-------- test/erc20.test.ts | 201 +++++++++++++++++------------- test/erc721.test.ts | 24 +--- 11 files changed, 316 insertions(+), 176 deletions(-) create mode 100644 contracts/HypNative.sol diff --git a/README.md b/README.md index 71021ffed..3b66f79f3 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,15 @@ This repo contains the base Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypERC721). These tokens extend the base standards with an additional `transferRemote` function. Warp Routes are way of arranging these contracts to make existing assets interchain. Read more about Warp Routes and how to deploy your own at [Warp API docs](https://docs.hyperlane.xyz/docs/developers/warp-api). +## Versions + +| Git Ref | Release Date | Notes | +| ------- | ------------ | ----- | +| [audit-v2-remediation]() | 2023-02-15 | Hyperlane V2 Audit remediation | +| [main]() | ~ | Bleeding edge | + +## Remote Transfer Lifecycle + ```mermaid %%{ init: { "theme": "neutral", diff --git a/contracts/HypERC20Collateral.sol b/contracts/HypERC20Collateral.sol index 8bc79f9e7..50c9889bc 100644 --- a/contracts/HypERC20Collateral.sol +++ b/contracts/HypERC20Collateral.sol @@ -5,12 +5,15 @@ import {TokenRouter} from "./libs/TokenRouter.sol"; import {Message} from "./libs/Message.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; /** * @title Hyperlane ERC20 Token Collateral that wraps an existing ERC20 with remote transfer functionality. * @author Abacus Works */ contract HypERC20Collateral is TokenRouter { + using SafeERC20 for IERC20; + IERC20 public immutable wrappedToken; /** @@ -49,10 +52,7 @@ contract HypERC20Collateral is TokenRouter { override returns (bytes memory) { - require( - wrappedToken.transferFrom(msg.sender, address(this), _amount), - "!transferFrom" - ); + wrappedToken.safeTransferFrom(msg.sender, address(this), _amount); return bytes(""); // no metadata } @@ -65,6 +65,6 @@ contract HypERC20Collateral is TokenRouter { uint256 _amount, bytes calldata // no metadata ) internal override { - require(wrappedToken.transfer(_recipient, _amount), "!transfer"); + wrappedToken.safeTransfer(_recipient, _amount); } } diff --git a/contracts/HypERC721.sol b/contracts/HypERC721.sol index c596a04ba..0effbcaaa 100644 --- a/contracts/HypERC721.sol +++ b/contracts/HypERC721.sol @@ -33,7 +33,7 @@ contract HypERC721 is ERC721EnumerableUpgradeable, TokenRouter { __ERC721_init(_name, _symbol); for (uint256 i = 0; i < _mintAmount; i++) { - _mint(msg.sender, i); + _safeMint(msg.sender, i); } } @@ -61,6 +61,6 @@ contract HypERC721 is ERC721EnumerableUpgradeable, TokenRouter { uint256 _tokenId, bytes calldata // no metadata ) internal virtual override { - _mint(_recipient, _tokenId); + _safeMint(_recipient, _tokenId); } } diff --git a/contracts/HypERC721Collateral.sol b/contracts/HypERC721Collateral.sol index c0b35a26f..a3f5a6160 100644 --- a/contracts/HypERC721Collateral.sol +++ b/contracts/HypERC721Collateral.sol @@ -40,6 +40,10 @@ contract HypERC721Collateral is TokenRouter { ); } + function balanceOf(address _account) external view returns (uint256) { + return IERC721(wrappedToken).balanceOf(_account); + } + /** * @dev Transfers `_tokenId` of `wrappedToken` from `msg.sender` to this contract. * @inheritdoc TokenRouter @@ -50,6 +54,7 @@ contract HypERC721Collateral is TokenRouter { override returns (bytes memory) { + // safeTransferFrom not used here because recipient is this contract wrappedToken.transferFrom(msg.sender, address(this), _tokenId); return bytes(""); // no metadata } @@ -63,6 +68,6 @@ contract HypERC721Collateral is TokenRouter { uint256 _tokenId, bytes calldata // no metadata ) internal override { - wrappedToken.transferFrom(address(this), _recipient, _tokenId); + wrappedToken.safeTransferFrom(address(this), _recipient, _tokenId); } } diff --git a/contracts/HypNative.sol b/contracts/HypNative.sol new file mode 100644 index 000000000..4accae486 --- /dev/null +++ b/contracts/HypNative.sol @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: Apache-2.0 +pragma solidity >=0.8.0; + +import {TokenRouter} from "./libs/TokenRouter.sol"; +import {Message} from "./libs/Message.sol"; +import {Address} from "@openzeppelin/contracts/utils/Address.sol"; + +/** + * @title Hyperlane Native Token Router that extends ERC20 with remote transfer functionality. + * @author Abacus Works + * @dev Supply on each chain is not constant but the aggregate supply across all chains is. + */ +contract HypNative is TokenRouter { + /** + * @notice Initializes the Hyperlane router, ERC20 metadata, and mints initial supply to deployer. + * @param _mailbox The address of the mailbox contract. + * @param _interchainGasPaymaster The address of the interchain gas paymaster contract. + */ + function initialize(address _mailbox, address _interchainGasPaymaster) + external + initializer + { + // transfers ownership to `msg.sender` + __HyperlaneConnectionClient_initialize( + _mailbox, + _interchainGasPaymaster + ); + } + + /** + * @inheritdoc TokenRouter + * @dev uses (`msg.value` - `_amount`) as interchain gas payment and `msg.sender` as refund address. + */ + function transferRemote( + uint32 _destination, + bytes32 _recipient, + uint256 _amount + ) external payable override returns (bytes32 messageId) { + require(msg.value >= _amount, "Native: amount exceeds msg.value"); + uint256 gasPayment = msg.value - _amount; + messageId = _dispatchWithGas( + _destination, + Message.format(_recipient, _amount, ""), + gasPayment, + msg.sender + ); + emit SentTransferRemote(_destination, _recipient, _amount); + } + + function balanceOf(address _account) external view returns (uint256) { + return _account.balance; + } + + /** + * @dev No-op because native amount is transferred in `msg.value` + * @dev Compiler will not include this in the bytecode. + * @inheritdoc TokenRouter + */ + function _transferFromSender(uint256) + internal + pure + override + returns (bytes memory) + { + return bytes(""); // no metadata + } + + /** + * @dev Sends `_amount` of native token to `_recipient` balance. + * @inheritdoc TokenRouter + */ + function _transferTo( + address _recipient, + uint256 _amount, + bytes calldata // no metadata + ) internal override { + Address.sendValue(payable(_recipient), _amount); + } +} diff --git a/contracts/libs/TokenRouter.sol b/contracts/libs/TokenRouter.sol index 8f3402bfa..80f48f679 100644 --- a/contracts/libs/TokenRouter.sol +++ b/contracts/libs/TokenRouter.sol @@ -44,12 +44,13 @@ abstract contract TokenRouter is GasRouter { * @param _destination The identifier of the destination chain. * @param _recipient The address of the recipient on the destination chain. * @param _amountOrId The amount or identifier of tokens to be sent to the remote recipient. + * @return messageId The identifier of the dispatched message. */ function transferRemote( uint32 _destination, bytes32 _recipient, uint256 _amountOrId - ) external payable returns (bytes32 messageId) { + ) external payable virtual returns (bytes32 messageId) { bytes memory metadata = _transferFromSender(_amountOrId); messageId = _dispatchWithGas( _destination, diff --git a/src/config.ts b/src/config.ts index 8857f5df7..25e47d741 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,12 +1,13 @@ import { ethers } from 'ethers'; -import { GasRouterConfig } from '@hyperlane-xyz/sdk'; +import { GasRouterConfig, RouterConfig } from '@hyperlane-xyz/sdk'; export enum TokenType { synthetic = 'synthetic', syntheticUri = 'syntheticUri', collateral = 'collateral', collateralUri = 'collateralUri', + native = 'native' } export type SyntheticConfig = { @@ -19,24 +20,31 @@ export type CollateralConfig = { type: TokenType.collateral | TokenType.collateralUri; token: string; }; +export type NativeConfig = { + type: TokenType.native; +}; -export type TokenConfig = SyntheticConfig | CollateralConfig; +export type TokenConfig = SyntheticConfig | CollateralConfig | NativeConfig; export const isCollateralConfig = ( config: TokenConfig, -): config is CollateralConfig => { - return ( - config.type === TokenType.collateral || - config.type === TokenType.collateralUri - ); -}; +): config is CollateralConfig => + (config.type === TokenType.collateral || + config.type === TokenType.collateralUri); + +export const isSyntheticConfig = ( + config: TokenConfig, +): config is SyntheticConfig => config.type === TokenType.synthetic || config.type === TokenType.syntheticUri; + +export const isNativeConfig = (config: TokenConfig): config is NativeConfig => config.type === TokenType.native; export const isUriConfig = (config: TokenConfig) => config.type === TokenType.syntheticUri || config.type === TokenType.collateralUri; -export type HypERC20Config = GasRouterConfig & TokenConfig; -export type HypERC20CollateralConfig = GasRouterConfig & CollateralConfig; +export type HypERC20Config = Partial & RouterConfig & TokenConfig; +export type HypERC20CollateralConfig = Partial & RouterConfig & CollateralConfig; +export type HypNativeConfig = Partial & RouterConfig & NativeConfig; -export type HypERC721Config = GasRouterConfig & TokenConfig; -export type HypERC721CollateralConfig = GasRouterConfig & CollateralConfig; +export type HypERC721Config = Partial & RouterConfig & TokenConfig; +export type HypERC721CollateralConfig = Partial & RouterConfig & CollateralConfig; diff --git a/src/contracts.ts b/src/contracts.ts index ddfe92766..7151c1e92 100644 --- a/src/contracts.ts +++ b/src/contracts.ts @@ -6,9 +6,10 @@ import { HypERC721, HypERC721Collateral, HypERC721URICollateral, + HypNative, } from './types'; -export type HypERC20Contracts = RouterContracts; +export type HypERC20Contracts = RouterContracts; export type HypERC721Contracts = RouterContracts< HypERC721 | HypERC721Collateral | HypERC721URICollateral >; diff --git a/src/deploy.ts b/src/deploy.ts index 7f61c9ae5..50f840443 100644 --- a/src/deploy.ts +++ b/src/deploy.ts @@ -1,6 +1,7 @@ import { ChainMap, ChainName, + GasRouterConfig, GasRouterDeployer, MultiProvider, objMap @@ -8,19 +9,24 @@ import { import { DeployerOptions } from '@hyperlane-xyz/sdk/dist/deploy/HyperlaneDeployer'; import { - HypERC20CollateralConfig, HypERC20Config, HypERC721Config, isCollateralConfig, - HypERC721CollateralConfig, + isNativeConfig, + isSyntheticConfig, isUriConfig, TokenConfig, } from './config'; +import { HypERC20Contracts, HypERC721Contracts } from './contracts'; import { - HypERC20Contracts, - HypERC721Contracts, -} from './contracts'; -import { HypERC20Collateral__factory, HypERC20__factory, HypERC721Collateral__factory, HypERC721URICollateral__factory, HypERC721URIStorage__factory, HypERC721__factory } from './types'; + HypERC20Collateral__factory, + HypERC20__factory, + HypERC721Collateral__factory, + HypERC721URICollateral__factory, + HypERC721URIStorage__factory, + HypERC721__factory, + HypNative__factory, +} from './types'; enum TokenType { erc20 = 'erc20', @@ -32,46 +38,46 @@ const gasDefaults = (config: TokenConfig, tokenType: TokenType) => { case TokenType.erc721: switch (config.type) { case 'synthetic': - return 156000; + return 160_000; case 'syntheticUri': - return 160000; + return 163_000; case 'collateral': case 'collateralUri': default: - return 77000; + return 80_000; } default: case TokenType.erc20: switch (config.type) { case 'synthetic': - return 64000; + return 64_000; + case 'native': + return 44_000; case 'collateral': default: - return 68000; + return 68_000; } } } -type Optional = Pick, K> & Omit; - export class HypERC20Deployer< Chain extends ChainName // inferred from configured chains passed to constructor > extends GasRouterDeployer< Chain, - HypERC20Config | HypERC20CollateralConfig, + HypERC20Config & GasRouterConfig, HypERC20Contracts, any // RouterFactories doesn't work well when router has multiple types > { - constructor(multiProvider: MultiProvider, configMap: ChainMap>, factories: any, options?: DeployerOptions) { - super(multiProvider, objMap(configMap, (_, config): HypERC20Config | HypERC20CollateralConfig => ({ + constructor(multiProvider: MultiProvider, configMap: ChainMap, factories: any, options?: DeployerOptions) { + super(multiProvider, objMap(configMap, (_, config): HypERC20Config & GasRouterConfig => ({ ...config, - gas: config.gas ?? gasDefaults(config as any, TokenType.erc20) - } as HypERC20Config | HypERC20CollateralConfig)), factories, options); + gas: config.gas ?? gasDefaults(config, TokenType.erc20) + } as HypERC20Config & GasRouterConfig)), factories, options); } async deployContracts( chain: Chain, - config: HypERC20Config | HypERC20CollateralConfig, + config: HypERC20Config, ) { const connection = this.multiProvider.getChainConnection(chain); if (isCollateralConfig(config)) { @@ -81,29 +87,41 @@ export class HypERC20Deployer< 'HypERC20Collateral', [config.token], ); + await connection.handleTx( + router.initialize(config.mailbox, config.interchainGasPaymaster), + ); + return { router }; + } else if (isSyntheticConfig(config)) { + const router = await this.deployContractFromFactory( + chain, + new HypERC20__factory(), + 'HypERC20', + [], + ); + await connection.handleTx( router.initialize( config.mailbox, config.interchainGasPaymaster, + config.totalSupply, + config.name, + config.symbol, ), ); return { router }; - } else { + } else if (isNativeConfig(config)) { const router = await this.deployContractFromFactory( chain, - new HypERC20__factory(), - 'HypERC20', + new HypNative__factory(), + 'HypNative', [], ); - await connection.handleTx(router.initialize( - config.mailbox, - config.interchainGasPaymaster, - config.totalSupply, - config.name, - config.symbol, - )); + await connection.handleTx( + router.initialize(config.mailbox, config.interchainGasPaymaster), + ); return { router }; } + throw new Error('Invalid config'); } } @@ -112,51 +130,55 @@ export class HypERC721Deployer< Chain extends ChainName > extends GasRouterDeployer< Chain, - HypERC721Config | HypERC721CollateralConfig, + HypERC721Config & GasRouterConfig, HypERC721Contracts, any > { - constructor(multiProvider: MultiProvider, configMap: ChainMap>, factories: any, options?: DeployerOptions) { - super(multiProvider, objMap(configMap, (_, config): HypERC721Config | HypERC721CollateralConfig => ({ + constructor(multiProvider: MultiProvider, configMap: ChainMap, factories: any, options?: DeployerOptions) { + super(multiProvider, objMap(configMap, (_, config): HypERC721Config & GasRouterConfig => ({ ...config, - gas: config.gas ?? gasDefaults(config as any, TokenType.erc721) - } as HypERC721Config | HypERC721CollateralConfig)), factories, options); + gas: config.gas ?? gasDefaults(config, TokenType.erc721) + } as HypERC721Config & GasRouterConfig)), factories, options); } async deployContracts( chain: Chain, - config: HypERC721Config | HypERC721CollateralConfig, + config: HypERC721Config, ) { const connection = this.multiProvider.getChainConnection(chain); if (isCollateralConfig(config)) { const router = await this.deployContractFromFactory( chain, - isUriConfig(config) ? new HypERC721URICollateral__factory() : new HypERC721Collateral__factory(), + isUriConfig(config) + ? new HypERC721URICollateral__factory() + : new HypERC721Collateral__factory(), `HypERC721${isUriConfig(config) ? 'URI' : ''}Collateral`, [config.token], ); await connection.handleTx( - router.initialize( - config.mailbox, - config.interchainGasPaymaster, - ), + router.initialize(config.mailbox, config.interchainGasPaymaster), ); return { router }; - } else { + } else if (isSyntheticConfig(config)) { const router = await this.deployContractFromFactory( chain, - isUriConfig(config) ? new HypERC721URIStorage__factory() : new HypERC721__factory(), + isUriConfig(config) + ? new HypERC721URIStorage__factory() + : new HypERC721__factory(), `HypERC721${isUriConfig(config) ? 'URIStorage' : ''}`, [], ); - await connection.handleTx(router.initialize( - config.mailbox, - config.interchainGasPaymaster, - config.totalSupply, - config.name, - config.symbol, - )); + await connection.handleTx( + router.initialize( + config.mailbox, + config.interchainGasPaymaster, + config.totalSupply, + config.name, + config.symbol, + ), + ); return { router }; } + throw new Error('Invalid config'); } } diff --git a/test/erc20.test.ts b/test/erc20.test.ts index 516a134fa..0cfb8b0f8 100644 --- a/test/erc20.test.ts +++ b/test/erc20.test.ts @@ -2,6 +2,7 @@ import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import '@nomiclabs/hardhat-waffle'; import { expect } from 'chai'; import { BigNumber } from 'ethers'; +import { BigNumberish } from 'ethers'; import { ethers } from 'hardhat'; import { @@ -16,9 +17,9 @@ import { import { utils } from '@hyperlane-xyz/utils'; import { - HypERC20CollateralConfig, HypERC20Config, SyntheticConfig, + TokenConfig, TokenType, } from '../src/config'; import { HypERC20Contracts } from '../src/contracts'; @@ -29,6 +30,7 @@ import { ERC20__factory, HypERC20, HypERC20Collateral, + HypNative, } from '../src/types'; const localChain = 'test1'; @@ -37,7 +39,6 @@ const localDomain = ChainNameToDomainId[localChain]; const remoteDomain = ChainNameToDomainId[remoteChain]; const totalSupply = 3000; const amount = 10; -const testInterchainGasPayment = 123456789; const tokenConfig: SyntheticConfig = { type: TokenType.synthetic, @@ -46,15 +47,21 @@ const tokenConfig: SyntheticConfig = { totalSupply, }; -for (const withCollateral of [true, false]) { - describe(`HypERC20${withCollateral ? 'Collateral' : ''}`, async () => { +for (const variant of [ + TokenType.synthetic, + TokenType.collateral, + TokenType.native, +]) { + describe(`HypERC20${variant}`, async () => { let owner: SignerWithAddress; let recipient: SignerWithAddress; let core: TestCoreApp; let deployer: HypERC20Deployer; let contracts: Record; - let local: HypERC20 | HypERC20Collateral; + let localTokenConfig: TokenConfig = tokenConfig; + let local: HypERC20 | HypERC20Collateral | HypNative; let remote: HypERC20 | HypERC20Collateral; + let gas: BigNumber; beforeEach(async () => { [owner, recipient] = await ethers.getSigners(); @@ -64,36 +71,44 @@ for (const withCollateral of [true, false]) { const coreContractsMaps = await coreDeployer.deploy(); core = new TestCoreApp(coreContractsMaps, multiProvider); const coreConfig = core.getConnectionClientConfigMap(); - const configWithTokenInfo: ChainMap< - TestChainNames, - HypERC20Config | HypERC20CollateralConfig - > = objMap(coreConfig, (key) => ({ - ...coreConfig[key], - ...tokenConfig, - owner: owner.address, - gas: 63264, - })); let erc20: ERC20 | undefined; - if (withCollateral) { + if (variant === TokenType.collateral) { erc20 = await new ERC20Test__factory(owner).deploy( tokenConfig.name, tokenConfig.symbol, tokenConfig.totalSupply, ); - configWithTokenInfo.test1 = { - ...configWithTokenInfo.test1, - type: TokenType.collateral, + localTokenConfig = { + type: variant, token: erc20.address, - gas: 67615, + }; + } else if (variant === TokenType.native) { + localTokenConfig = { + type: variant, }; } - deployer = new HypERC20Deployer(multiProvider, configWithTokenInfo, core); + const config: ChainMap = objMap( + coreConfig, + (key) => ({ + ...coreConfig[key], + ...(key === localChain ? localTokenConfig : tokenConfig), + owner: owner.address, + }), + ); + + deployer = new HypERC20Deployer(multiProvider, config, core); contracts = await deployer.deploy(); local = contracts[localChain].router as HypERC20; - if (withCollateral) { + gas = await local.quoteGasPayment(remoteDomain); + + if (variant === TokenType.native) { + gas = gas.add(amount); + } + + if (variant === TokenType.collateral) { await erc20!.approve(local.address, amount); } @@ -101,32 +116,32 @@ for (const withCollateral of [true, false]) { }); it('should not be initializable again', async () => { - const initializeTx = withCollateral - ? (local as HypERC20Collateral).initialize( - ethers.constants.AddressZero, - ethers.constants.AddressZero, - ) - : (local as HypERC20).initialize( - ethers.constants.AddressZero, - ethers.constants.AddressZero, - 0, - '', - '', - ); + const initializeTx = + variant === TokenType.collateral || variant === TokenType.native + ? (local as HypERC20Collateral).initialize( + ethers.constants.AddressZero, + ethers.constants.AddressZero, + ) + : (local as HypERC20).initialize( + ethers.constants.AddressZero, + ethers.constants.AddressZero, + 0, + '', + '', + ); await expect(initializeTx).to.be.revertedWith( 'Initializable: contract is already initialized', ); }); - it('should mint total supply to deployer', async () => { - await expectBalance(local, recipient, 0); - await expectBalance(local, owner, totalSupply); - await expectBalance(remote, recipient, 0); - await expectBalance(remote, owner, totalSupply); - }); + if (variant === TokenType.synthetic) { + it('should mint total supply to deployer', async () => { + await expectBalance(local, recipient, 0); + await expectBalance(local, owner, totalSupply); + await expectBalance(remote, recipient, 0); + await expectBalance(remote, owner, totalSupply); + }); - // do not test underlying ERC20 collateral functionality - if (!withCollateral) { it('should allow for local transfers', async () => { await (local as HypERC20).transfer(recipient.address, amount); await expectBalance(local, recipient, amount); @@ -140,73 +155,97 @@ for (const withCollateral of [true, false]) { const localRaw = local.connect(ethers.provider); const mailboxAddress = core.contractsMap[localChain].mailbox.contract.address; - if (withCollateral) { + if (variant === TokenType.collateral) { const tokenAddress = await (local as HypERC20Collateral).wrappedToken(); const token = ERC20__factory.connect(tokenAddress, owner); await token.transfer(local.address, totalSupply); + } else if (variant === TokenType.native) { + const remoteDomain = ChainNameToDomainId[remoteChain]; + // deposit amount + await local.transferRemote( + remoteDomain, + utils.addressToBytes32(remote.address), + amount, + { value: gas }, + ); } const message = `${utils.addressToBytes32( recipient.address, - )}${BigNumber.from(totalSupply) - .toHexString() - .slice(2) - .padStart(64, '0')}`; - const gas = await localRaw.estimateGas.handle( + )}${BigNumber.from(amount).toHexString().slice(2).padStart(64, '0')}`; + const handleGas = await localRaw.estimateGas.handle( remoteDomain, utils.addressToBytes32(remote.address), message, { from: mailboxAddress }, ); - console.log(gas); + console.log(handleGas); }); it('should allow for remote transfers', async () => { - const interchainGasPaymaster = - core.contractsMap[localChain].interchainGasPaymaster.contract; - const gas = await local.destinationGas(remoteDomain); - const interchainGasPayment = await interchainGasPaymaster.quoteGasPayment( - remoteDomain, - gas, - ); + const localOwner = await local.balanceOf(owner.address); + const localRecipient = await local.balanceOf(recipient.address); + const remoteOwner = await remote.balanceOf(owner.address); + const remoteRecipient = await remote.balanceOf(recipient.address); + await local.transferRemote( remoteDomain, utils.addressToBytes32(recipient.address), amount, - { value: interchainGasPayment }, + { + value: gas, + }, ); - await expectBalance(local, recipient, 0); - await expectBalance(local, owner, totalSupply - amount); - await expectBalance(remote, recipient, 0); - await expectBalance(remote, owner, totalSupply); + let expectedLocal = localOwner.sub(amount); + + await expectBalance(local, recipient, localRecipient); + if (variant === TokenType.native) { + // account for tx fees, rewards, etc. + expectedLocal = await local.balanceOf(owner.address); + } + await expectBalance(local, owner, expectedLocal); + await expectBalance(remote, recipient, remoteRecipient); + await expectBalance(remote, owner, remoteOwner); await core.processMessages(); - await expectBalance(local, recipient, 0); - await expectBalance(local, owner, totalSupply - amount); - await expectBalance(remote, recipient, amount); - await expectBalance(remote, owner, totalSupply); + await expectBalance(local, recipient, localRecipient); + if (variant === TokenType.native) { + // account for tx fees, rewards, etc. + expectedLocal = await local.balanceOf(owner.address); + } + await expectBalance(local, owner, expectedLocal); + await expectBalance(remote, recipient, remoteRecipient.add(amount)); + await expectBalance(remote, owner, remoteOwner); }); it('allows interchain gas payment for remote transfers', async () => { const interchainGasPaymaster = core.contractsMap[localChain].interchainGasPaymaster.contract; + await expect( local.transferRemote( remoteDomain, utils.addressToBytes32(recipient.address), amount, - { - value: testInterchainGasPayment, - }, + { value: gas }, ), ).to.emit(interchainGasPaymaster, 'GasPayment'); }); it('should prevent remote transfer of unowned balance', async () => { - const revertReason = withCollateral - ? 'ERC20: insufficient allowance' - : 'ERC20: burn amount exceeds balance'; + const revertReason = (): string => { + switch (variant) { + case TokenType.synthetic: + return 'ERC20: burn amount exceeds balance'; + case TokenType.collateral: + return 'ERC20: insufficient allowance'; + case TokenType.native: + return 'Native: amount exceeds msg.value'; + } + return ''; + }; + const value = variant === TokenType.native ? amount - 1 : gas; await expect( local .connect(recipient) @@ -214,9 +253,9 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), amount, - { value: await local.destinationGas(remoteDomain) }, + { value }, ), - ).to.be.revertedWith(revertReason); + ).to.be.revertedWith(revertReason()); }); it('should emit TransferRemote events', async () => { @@ -225,7 +264,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), amount, - { value: await local.destinationGas(remoteDomain) }, + { value: gas }, ), ) .to.emit(local, 'SentTransferRemote') @@ -238,19 +277,9 @@ for (const withCollateral of [true, false]) { } const expectBalance = async ( - token: HypERC20 | HypERC20Collateral | ERC20, + token: HypERC20 | HypERC20Collateral | ERC20 | HypNative, signer: SignerWithAddress, - balance: number, + balance: BigNumberish, ) => { - if (Object.keys(token.interface.functions).includes('wrappedToken()')) { - const wrappedToken = await (token as HypERC20Collateral).wrappedToken(); - token = ERC20__factory.connect(wrappedToken, signer); - } - return expectTokenBalance(token as HypERC20, signer, balance); + return expect(await token.balanceOf(signer.address)).to.eq(balance); }; - -const expectTokenBalance = async ( - token: ERC20, - signer: SignerWithAddress, - balance: number, -) => expect(await token.balanceOf(signer.address)).to.eq(balance); diff --git a/test/erc721.test.ts b/test/erc721.test.ts index 938843d40..ef73268e2 100644 --- a/test/erc721.test.ts +++ b/test/erc721.test.ts @@ -1,7 +1,7 @@ import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import '@nomiclabs/hardhat-waffle'; import { expect } from 'chai'; -import { BigNumber } from 'ethers'; +import { BigNumber, BigNumberish } from 'ethers'; import { ethers } from 'hardhat'; import { @@ -42,8 +42,6 @@ const tokenId = 10; const tokenId2 = 20; const tokenId3 = 30; const tokenId4 = 40; -const testInterchainGasPayment = 123456789; -const gas = 67628; for (const withCollateral of [true, false]) { for (const withUri of [true, false]) { @@ -58,17 +56,14 @@ for (const withCollateral of [true, false]) { test1: { ...tokenConfig, totalSupply, - gas, }, test2: { ...tokenConfig, totalSupply: 0, - gas, }, test3: { ...tokenConfig, totalSupply: 0, - gas, }, }; describe(`HypERC721${withUri ? 'URI' : ''}${ @@ -81,6 +76,7 @@ for (const withCollateral of [true, false]) { let contracts: Record; let local: HypERC721 | HypERC721Collateral | HypERC721URICollateral; let remote: HypERC721 | HypERC721Collateral | HypERC721URIStorage; + let gas: BigNumberish; beforeEach(async () => { [owner, recipient] = await ethers.getSigners(); @@ -97,7 +93,6 @@ for (const withCollateral of [true, false]) { ...coreConfig[key], ...configMap[key], owner: owner.address, - gas, })); let erc721: ERC721 | undefined; @@ -128,6 +123,7 @@ for (const withCollateral of [true, false]) { await erc721!.approve(local.address, tokenId3); await erc721!.approve(local.address, tokenId4); } + gas = await local.destinationGas(remoteDomain); remote = contracts[remoteChain].router; }); @@ -295,7 +291,7 @@ for (const withCollateral of [true, false]) { utils.addressToBytes32(recipient.address), tokenId3, { - value: testInterchainGasPayment, + value: gas, }, ), ).to.emit(interchainGasPaymaster, 'GasPayment'); @@ -325,15 +321,5 @@ const expectBalance = async ( signer: SignerWithAddress, balance: number, ) => { - if (Object.keys(token.interface.functions).includes('wrappedToken()')) { - const wrappedToken = await (token as HypERC721Collateral).wrappedToken(); - token = ERC721__factory.connect(wrappedToken, signer); - } - return expectTokenBalance(token as HypERC721, signer, balance); + expect(await token.balanceOf(signer.address)).to.eq(balance); }; - -const expectTokenBalance = async ( - token: ERC721, - signer: SignerWithAddress, - balance: number, -) => expect(await token.balanceOf(signer.address)).to.eq(balance); From aafbb53e92ef2a44ceded730ea42286799570d8d Mon Sep 17 00:00:00 2001 From: Anett <44020788+anettrolikova@users.noreply.github.com> Date: Thu, 16 Feb 2023 09:11:08 -0600 Subject: [PATCH 36/56] updated docs link (#42) Co-authored-by: Yorke Rhodes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3b66f79f3..453413f37 100644 --- a/README.md +++ b/README.md @@ -69,4 +69,4 @@ yarn lint ## Learn more -For more information, see the [Hyperlane documentation](https://docs.hyperlane.xyz/docs/developers/getting-started). +For more information, see the [Hyperlane documentation](https://docs.hyperlane.xyz/docs/introduction/readme). From 4c273a39253da45f87f0f75ff3e951ff2066683e Mon Sep 17 00:00:00 2001 From: J M Rossy Date: Thu, 23 Feb 2023 13:08:12 -0500 Subject: [PATCH 37/56] Updates for compat with SDK 1.2.0 (#47) --- package.json | 8 ++-- src/app.ts | 70 ++++++++++++++++----------------- src/config.ts | 34 ++++++++++------ src/deploy.ts | 94 +++++++++++++++++++++++++++------------------ test/erc20.test.ts | 41 ++++++++++---------- test/erc721.test.ts | 24 ++++++------ yarn.lock | 46 +++++++++------------- 7 files changed, 167 insertions(+), 150 deletions(-) diff --git a/package.json b/package.json index 1ca6ff590..fc2dd8483 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.1.4", + "version": "1.2.0", "dependencies": { - "@hyperlane-xyz/core": "1.1.4", - "@hyperlane-xyz/sdk": "1.1.4", - "@hyperlane-xyz/utils": "1.1.4", + "@hyperlane-xyz/core": "1.2.0", + "@hyperlane-xyz/sdk": "1.2.0", + "@hyperlane-xyz/utils": "1.2.0", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/src/app.ts b/src/app.ts index 91ee40c68..6ad315171 100644 --- a/src/app.ts +++ b/src/app.ts @@ -1,10 +1,6 @@ import { BigNumberish } from 'ethers'; -import { - ChainName, - GasRouterApp, - RouterContracts, -} from '@hyperlane-xyz/sdk'; +import { ChainName, GasRouterApp, RouterContracts } from '@hyperlane-xyz/sdk'; import { types } from '@hyperlane-xyz/utils'; import { HypERC20Contracts, HypERC721Contracts } from './contracts'; @@ -12,40 +8,42 @@ import { TokenRouter } from './types'; class HyperlaneTokenApp< Contracts extends RouterContracts, - Chain extends ChainName, -> extends GasRouterApp { - async transfer( - origin: Origin, - destination: Exclude, +> extends GasRouterApp { + async transfer( + origin: ChainName, + destination: ChainName, recipient: types.Address, amountOrId: BigNumberish, ) { const originRouter = this.getContracts(origin).router; - const destinationChainConnection = this.multiProvider.getChainConnection(destination); - const destinationNetwork = await destinationChainConnection.provider.getNetwork(); - const gasPayment = await originRouter.quoteGasPayment(destinationNetwork.chainId); - const chainConnection = this.multiProvider.getChainConnection(origin); - return chainConnection.handleTx( - originRouter.transferRemote(destinationNetwork.chainId, recipient, amountOrId, { - value: gasPayment, - }), + const destProvider = this.multiProvider.getProvider(destination); + const destinationNetwork = await destProvider.getNetwork(); + const gasPayment = await originRouter.quoteGasPayment( + destinationNetwork.chainId, + ); + return this.multiProvider.handleTx( + origin, + originRouter.transferRemote( + destinationNetwork.chainId, + recipient, + amountOrId, + { + value: gasPayment, + }, + ), ); } } -export class HypERC20App extends HyperlaneTokenApp< - HypERC20Contracts, - Chain -> { - async transfer( - origin: Origin, - destination: Exclude, +export class HypERC20App extends HyperlaneTokenApp { + async transfer( + origin: ChainName, + destination: ChainName, recipient: types.Address, amount: BigNumberish, ) { const originRouter = this.getContracts(origin).router; - const chainConnection = this.multiProvider.getChainConnection(origin); - const signerAddress = await chainConnection.signer!.getAddress(); + const signerAddress = await this.multiProvider.getSignerAddress(origin); const balance = await originRouter.balanceOf(signerAddress); if (balance.lt(amount)) console.warn( @@ -55,22 +53,20 @@ export class HypERC20App extends HyperlaneTokenApp< } } -export class HypERC721App extends HyperlaneTokenApp< - HypERC721Contracts, - Chain -> { - async transfer( - origin: Origin, - destination: Exclude, +export class HypERC721App extends HyperlaneTokenApp { + async transfer( + origin: ChainName, + destination: ChainName, recipient: types.Address, tokenId: BigNumberish, ) { const originRouter = this.getContracts(origin).router; - const chainConnection = this.multiProvider.getChainConnection(origin); - const signerAddress = await chainConnection.signer!.getAddress(); + const signerAddress = await this.multiProvider.getSignerAddress(origin); const owner = await originRouter.ownerOf(tokenId); if (signerAddress != owner) - console.warn(`Signer ${signerAddress} not owner of token ${tokenId} on ${origin}`); + console.warn( + `Signer ${signerAddress} not owner of token ${tokenId} on ${origin}`, + ); return super.transfer(origin, destination, recipient, tokenId); } } diff --git a/src/config.ts b/src/config.ts index 25e47d741..dd17b4158 100644 --- a/src/config.ts +++ b/src/config.ts @@ -7,7 +7,7 @@ export enum TokenType { syntheticUri = 'syntheticUri', collateral = 'collateral', collateralUri = 'collateralUri', - native = 'native' + native = 'native', } export type SyntheticConfig = { @@ -29,22 +29,34 @@ export type TokenConfig = SyntheticConfig | CollateralConfig | NativeConfig; export const isCollateralConfig = ( config: TokenConfig, ): config is CollateralConfig => - (config.type === TokenType.collateral || - config.type === TokenType.collateralUri); + config.type === TokenType.collateral || + config.type === TokenType.collateralUri; export const isSyntheticConfig = ( config: TokenConfig, -): config is SyntheticConfig => config.type === TokenType.synthetic || config.type === TokenType.syntheticUri; +): config is SyntheticConfig => + config.type === TokenType.synthetic || config.type === TokenType.syntheticUri; -export const isNativeConfig = (config: TokenConfig): config is NativeConfig => config.type === TokenType.native; +export const isNativeConfig = (config: TokenConfig): config is NativeConfig => + config.type === TokenType.native; export const isUriConfig = (config: TokenConfig) => config.type === TokenType.syntheticUri || config.type === TokenType.collateralUri; -export type HypERC20Config = Partial & RouterConfig & TokenConfig; -export type HypERC20CollateralConfig = Partial & RouterConfig & CollateralConfig; -export type HypNativeConfig = Partial & RouterConfig & NativeConfig; - -export type HypERC721Config = Partial & RouterConfig & TokenConfig; -export type HypERC721CollateralConfig = Partial & RouterConfig & CollateralConfig; +export type HypERC20Config = Partial & + RouterConfig & + TokenConfig; +export type HypERC20CollateralConfig = Partial & + RouterConfig & + CollateralConfig; +export type HypNativeConfig = Partial & + RouterConfig & + NativeConfig; + +export type HypERC721Config = Partial & + RouterConfig & + TokenConfig; +export type HypERC721CollateralConfig = Partial & + RouterConfig & + CollateralConfig; diff --git a/src/deploy.ts b/src/deploy.ts index 50f840443..1def10876 100644 --- a/src/deploy.ts +++ b/src/deploy.ts @@ -4,18 +4,18 @@ import { GasRouterConfig, GasRouterDeployer, MultiProvider, - objMap + objMap, } from '@hyperlane-xyz/sdk'; import { DeployerOptions } from '@hyperlane-xyz/sdk/dist/deploy/HyperlaneDeployer'; import { HypERC20Config, HypERC721Config, + TokenConfig, isCollateralConfig, isNativeConfig, isSyntheticConfig, isUriConfig, - TokenConfig, } from './config'; import { HypERC20Contracts, HypERC721Contracts } from './contracts'; import { @@ -47,7 +47,7 @@ const gasDefaults = (config: TokenConfig, tokenType: TokenType) => { return 80_000; } default: - case TokenType.erc20: + case TokenType.erc20: switch (config.type) { case 'synthetic': return 64_000; @@ -58,28 +58,35 @@ const gasDefaults = (config: TokenConfig, tokenType: TokenType) => { return 68_000; } } -} +}; -export class HypERC20Deployer< - Chain extends ChainName // inferred from configured chains passed to constructor -> extends GasRouterDeployer< - Chain, +export class HypERC20Deployer extends GasRouterDeployer< HypERC20Config & GasRouterConfig, HypERC20Contracts, any // RouterFactories doesn't work well when router has multiple types > { - constructor(multiProvider: MultiProvider, configMap: ChainMap, factories: any, options?: DeployerOptions) { - super(multiProvider, objMap(configMap, (_, config): HypERC20Config & GasRouterConfig => ({ - ...config, - gas: config.gas ?? gasDefaults(config, TokenType.erc20) - } as HypERC20Config & GasRouterConfig)), factories, options); + constructor( + multiProvider: MultiProvider, + configMap: ChainMap, + factories: any, + options?: DeployerOptions, + ) { + super( + multiProvider, + objMap( + configMap, + (_, config): HypERC20Config & GasRouterConfig => + ({ + ...config, + gas: config.gas ?? gasDefaults(config, TokenType.erc20), + } as HypERC20Config & GasRouterConfig), + ), + factories, + options, + ); } - async deployContracts( - chain: Chain, - config: HypERC20Config, - ) { - const connection = this.multiProvider.getChainConnection(chain); + async deployContracts(chain: ChainName, config: HypERC20Config) { if (isCollateralConfig(config)) { const router = await this.deployContractFromFactory( chain, @@ -87,7 +94,8 @@ export class HypERC20Deployer< 'HypERC20Collateral', [config.token], ); - await connection.handleTx( + await this.multiProvider.handleTx( + chain, router.initialize(config.mailbox, config.interchainGasPaymaster), ); return { router }; @@ -98,8 +106,8 @@ export class HypERC20Deployer< 'HypERC20', [], ); - - await connection.handleTx( + await this.multiProvider.handleTx( + chain, router.initialize( config.mailbox, config.interchainGasPaymaster, @@ -116,7 +124,8 @@ export class HypERC20Deployer< 'HypNative', [], ); - await connection.handleTx( + await this.multiProvider.handleTx( + chain, router.initialize(config.mailbox, config.interchainGasPaymaster), ); return { router }; @@ -126,26 +135,33 @@ export class HypERC20Deployer< } // TODO: dedupe? -export class HypERC721Deployer< - Chain extends ChainName -> extends GasRouterDeployer< - Chain, +export class HypERC721Deployer extends GasRouterDeployer< HypERC721Config & GasRouterConfig, HypERC721Contracts, any > { - constructor(multiProvider: MultiProvider, configMap: ChainMap, factories: any, options?: DeployerOptions) { - super(multiProvider, objMap(configMap, (_, config): HypERC721Config & GasRouterConfig => ({ - ...config, - gas: config.gas ?? gasDefaults(config, TokenType.erc721) - } as HypERC721Config & GasRouterConfig)), factories, options); + constructor( + multiProvider: MultiProvider, + configMap: ChainMap, + factories: any, + options?: DeployerOptions, + ) { + super( + multiProvider, + objMap( + configMap, + (_, config): HypERC721Config & GasRouterConfig => + ({ + ...config, + gas: config.gas ?? gasDefaults(config, TokenType.erc721), + } as HypERC721Config & GasRouterConfig), + ), + factories, + options, + ); } - async deployContracts( - chain: Chain, - config: HypERC721Config, - ) { - const connection = this.multiProvider.getChainConnection(chain); + async deployContracts(chain: ChainName, config: HypERC721Config) { if (isCollateralConfig(config)) { const router = await this.deployContractFromFactory( chain, @@ -155,7 +171,8 @@ export class HypERC721Deployer< `HypERC721${isUriConfig(config) ? 'URI' : ''}Collateral`, [config.token], ); - await connection.handleTx( + await this.multiProvider.handleTx( + chain, router.initialize(config.mailbox, config.interchainGasPaymaster), ); return { router }; @@ -168,7 +185,8 @@ export class HypERC721Deployer< `HypERC721${isUriConfig(config) ? 'URIStorage' : ''}`, [], ); - await connection.handleTx( + await this.multiProvider.handleTx( + chain, router.initialize( config.mailbox, config.interchainGasPaymaster, diff --git a/test/erc20.test.ts b/test/erc20.test.ts index 0cfb8b0f8..521d62636 100644 --- a/test/erc20.test.ts +++ b/test/erc20.test.ts @@ -1,17 +1,15 @@ import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import '@nomiclabs/hardhat-waffle'; import { expect } from 'chai'; -import { BigNumber } from 'ethers'; -import { BigNumberish } from 'ethers'; +import { BigNumber, BigNumberish } from 'ethers'; import { ethers } from 'hardhat'; import { ChainMap, - ChainNameToDomainId, - TestChainNames, + Chains, + MultiProvider, TestCoreApp, TestCoreDeployer, - getTestMultiProvider, objMap, } from '@hyperlane-xyz/sdk'; import { utils } from '@hyperlane-xyz/utils'; @@ -33,10 +31,10 @@ import { HypNative, } from '../src/types'; -const localChain = 'test1'; -const remoteChain = 'test2'; -const localDomain = ChainNameToDomainId[localChain]; -const remoteDomain = ChainNameToDomainId[remoteChain]; +const localChain = Chains.test1; +const remoteChain = Chains.test2; +let localDomain: number; +let remoteDomain: number; const totalSupply = 3000; const amount = 10; @@ -56,8 +54,8 @@ for (const variant of [ let owner: SignerWithAddress; let recipient: SignerWithAddress; let core: TestCoreApp; - let deployer: HypERC20Deployer; - let contracts: Record; + let deployer: HypERC20Deployer; + let contracts: ChainMap; let localTokenConfig: TokenConfig = tokenConfig; let local: HypERC20 | HypERC20Collateral | HypNative; let remote: HypERC20 | HypERC20Collateral; @@ -65,7 +63,11 @@ for (const variant of [ beforeEach(async () => { [owner, recipient] = await ethers.getSigners(); - const multiProvider = getTestMultiProvider(owner); + const multiProvider = MultiProvider.createTestMultiProvider({ + signer: owner, + }); + localDomain = multiProvider.getDomainId(localChain); + remoteDomain = multiProvider.getDomainId(remoteChain); const coreDeployer = new TestCoreDeployer(multiProvider); const coreContractsMaps = await coreDeployer.deploy(); @@ -89,14 +91,11 @@ for (const variant of [ }; } - const config: ChainMap = objMap( - coreConfig, - (key) => ({ - ...coreConfig[key], - ...(key === localChain ? localTokenConfig : tokenConfig), - owner: owner.address, - }), - ); + const config: ChainMap = objMap(coreConfig, (key) => ({ + ...coreConfig[key], + ...(key === localChain ? localTokenConfig : tokenConfig), + owner: owner.address, + })); deployer = new HypERC20Deployer(multiProvider, config, core); contracts = await deployer.deploy(); @@ -160,7 +159,7 @@ for (const variant of [ const token = ERC20__factory.connect(tokenAddress, owner); await token.transfer(local.address, totalSupply); } else if (variant === TokenType.native) { - const remoteDomain = ChainNameToDomainId[remoteChain]; + const remoteDomain = core.multiProvider.getDomainId(remoteChain); // deposit amount await local.transferRemote( remoteDomain, diff --git a/test/erc721.test.ts b/test/erc721.test.ts index ef73268e2..0e76b99be 100644 --- a/test/erc721.test.ts +++ b/test/erc721.test.ts @@ -6,11 +6,10 @@ import { ethers } from 'hardhat'; import { ChainMap, - ChainNameToDomainId, - TestChainNames, + Chains, + MultiProvider, TestCoreApp, TestCoreDeployer, - getTestMultiProvider, objMap, } from '@hyperlane-xyz/sdk'; import { utils } from '@hyperlane-xyz/utils'; @@ -33,10 +32,10 @@ import { HypERC721URIStorage, } from '../src/types'; -const localChain = 'test1'; -const remoteChain = 'test2'; -const localDomain = ChainNameToDomainId[localChain]; -const remoteDomain = ChainNameToDomainId[remoteChain]; +const localChain = Chains.test1; +const remoteChain = Chains.test2; +let localDomain: number; +let remoteDomain: number; const totalSupply = 50; const tokenId = 10; const tokenId2 = 20; @@ -72,22 +71,25 @@ for (const withCollateral of [true, false]) { let owner: SignerWithAddress; let recipient: SignerWithAddress; let core: TestCoreApp; - let deployer: HypERC721Deployer; - let contracts: Record; + let deployer: HypERC721Deployer; + let contracts: ChainMap; let local: HypERC721 | HypERC721Collateral | HypERC721URICollateral; let remote: HypERC721 | HypERC721Collateral | HypERC721URIStorage; let gas: BigNumberish; beforeEach(async () => { [owner, recipient] = await ethers.getSigners(); - const multiProvider = getTestMultiProvider(owner); + const multiProvider = MultiProvider.createTestMultiProvider({ + signer: owner, + }); + localDomain = multiProvider.getDomainId(localChain); + remoteDomain = multiProvider.getDomainId(remoteChain); const coreDeployer = new TestCoreDeployer(multiProvider); const coreContractsMaps = await coreDeployer.deploy(); core = new TestCoreApp(coreContractsMaps, multiProvider); const coreConfig = core.getConnectionClientConfigMap(); const configWithTokenInfo: ChainMap< - TestChainNames, HypERC721Config | HypERC721CollateralConfig > = objMap(coreConfig, (key) => ({ ...coreConfig[key], diff --git a/yarn.lock b/yarn.lock index d59abded8..4066fd0db 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1220,23 +1220,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/celo-ethers-provider@npm:^0.1.1": - version: 0.1.1 - resolution: "@hyperlane-xyz/celo-ethers-provider@npm:0.1.1" - peerDependencies: - ethers: ^5 - checksum: 5ea495505b3e4338ec6c419f69b66af2d35b86e7cdab9bc7ee65ba4a233729b2143b0a72cc637f8e8795ecacc18eeda5ac803e8b3de9a63e7ceb5dc14014b3d4 - languageName: node - linkType: hard - -"@hyperlane-xyz/core@npm:1.1.4": - version: 1.1.4 - resolution: "@hyperlane-xyz/core@npm:1.1.4" +"@hyperlane-xyz/core@npm:1.2.0": + version: 1.2.0 + resolution: "@hyperlane-xyz/core@npm:1.2.0" dependencies: - "@hyperlane-xyz/utils": 1.1.4 + "@hyperlane-xyz/utils": 1.2.0 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: 6e1e70ce7dc23c69ec2f3443cac5956241db834d745fcec6d613ac323004f9e9c279e68182b9995fb3eca572a0a99600de493bc6b7d8e1dc248203aaeaec2251 + checksum: be76b1dd90f8bf8b9f2c53a60f7a56ed6eead6e9a1336879795677fddb75e6fd1d092e6c24af0a7e972b35cfff3eb9056229c5df7a852bfbff9e84e6a8fcb9bc languageName: node linkType: hard @@ -1244,9 +1235,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.1.4 - "@hyperlane-xyz/sdk": 1.1.4 - "@hyperlane-xyz/utils": 1.1.4 + "@hyperlane-xyz/core": 1.2.0 + "@hyperlane-xyz/sdk": 1.2.0 + "@hyperlane-xyz/utils": 1.2.0 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1274,28 +1265,27 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.1.4": - version: 1.1.4 - resolution: "@hyperlane-xyz/sdk@npm:1.1.4" +"@hyperlane-xyz/sdk@npm:1.2.0": + version: 1.2.0 + resolution: "@hyperlane-xyz/sdk@npm:1.2.0" dependencies: - "@hyperlane-xyz/celo-ethers-provider": ^0.1.1 - "@hyperlane-xyz/core": 1.1.4 - "@hyperlane-xyz/utils": 1.1.4 + "@hyperlane-xyz/core": 1.2.0 + "@hyperlane-xyz/utils": 1.2.0 "@wagmi/chains": ^0.2.6 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.7.2 - checksum: 600d81648cdbdad2be4200bd772d49128b9bcd5de10d1f811008291ed268610a0bb1cac8061dfa30b5040dc20c7b8919b39ed206d7993f63c65abf3df663c125 + checksum: 16d0eeb2f48c656106f4e2fa9101b1ae1382cb04c31571fcc41f167c84bc5d9343d769fd1ce9fd27e7e9b41bc60b3ab4a72742664f129947932e6ef147d6ce72 languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.1.4": - version: 1.1.4 - resolution: "@hyperlane-xyz/utils@npm:1.1.4" +"@hyperlane-xyz/utils@npm:1.2.0": + version: 1.2.0 + resolution: "@hyperlane-xyz/utils@npm:1.2.0" dependencies: ethers: ^5.7.2 - checksum: 9860b34cea341e2b49eb341cb2bab57d33b8e818a577f7d50daa3417c7d6dc01311d99cb13e1232d84b0c3551cc4476734e1b9bc0083b4cb1e6c441c3a0f4798 + checksum: 320e59e36a9349a8fa57c3bbc85faadbe5b591cd345165e9571511a51a38bcb07dd85026fdaf997db7bcaf1eeae8cc1c12962cf3154c2efcb570cd7df5b9bb7c languageName: node linkType: hard From e43b9670d97ef6d2e277f1a142934def650d00db Mon Sep 17 00:00:00 2001 From: Trevor Porter Date: Sat, 4 Mar 2023 23:29:52 +0000 Subject: [PATCH 38/56] Fix ERC721 test interchain gas payments, rename gas -> interchainGasPayment for clarity (#49) --- test/erc20.test.ts | 17 +++++++++-------- test/erc721.test.ts | 16 ++++++++-------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/test/erc20.test.ts b/test/erc20.test.ts index 521d62636..01f9ae1d1 100644 --- a/test/erc20.test.ts +++ b/test/erc20.test.ts @@ -59,7 +59,7 @@ for (const variant of [ let localTokenConfig: TokenConfig = tokenConfig; let local: HypERC20 | HypERC20Collateral | HypNative; let remote: HypERC20 | HypERC20Collateral; - let gas: BigNumber; + let interchainGasPayment: BigNumber; beforeEach(async () => { [owner, recipient] = await ethers.getSigners(); @@ -101,10 +101,10 @@ for (const variant of [ contracts = await deployer.deploy(); local = contracts[localChain].router as HypERC20; - gas = await local.quoteGasPayment(remoteDomain); + interchainGasPayment = await local.quoteGasPayment(remoteDomain); if (variant === TokenType.native) { - gas = gas.add(amount); + interchainGasPayment = interchainGasPayment.add(amount); } if (variant === TokenType.collateral) { @@ -165,7 +165,7 @@ for (const variant of [ remoteDomain, utils.addressToBytes32(remote.address), amount, - { value: gas }, + { value: interchainGasPayment }, ); } const message = `${utils.addressToBytes32( @@ -191,7 +191,7 @@ for (const variant of [ utils.addressToBytes32(recipient.address), amount, { - value: gas, + value: interchainGasPayment, }, ); @@ -227,7 +227,7 @@ for (const variant of [ remoteDomain, utils.addressToBytes32(recipient.address), amount, - { value: gas }, + { value: interchainGasPayment }, ), ).to.emit(interchainGasPaymaster, 'GasPayment'); }); @@ -244,7 +244,8 @@ for (const variant of [ } return ''; }; - const value = variant === TokenType.native ? amount - 1 : gas; + const value = + variant === TokenType.native ? amount - 1 : interchainGasPayment; await expect( local .connect(recipient) @@ -263,7 +264,7 @@ for (const variant of [ remoteDomain, utils.addressToBytes32(recipient.address), amount, - { value: gas }, + { value: interchainGasPayment }, ), ) .to.emit(local, 'SentTransferRemote') diff --git a/test/erc721.test.ts b/test/erc721.test.ts index 0e76b99be..daf5c5fbb 100644 --- a/test/erc721.test.ts +++ b/test/erc721.test.ts @@ -75,7 +75,7 @@ for (const withCollateral of [true, false]) { let contracts: ChainMap; let local: HypERC721 | HypERC721Collateral | HypERC721URICollateral; let remote: HypERC721 | HypERC721Collateral | HypERC721URIStorage; - let gas: BigNumberish; + let interchainGasPayment: BigNumberish; beforeEach(async () => { [owner, recipient] = await ethers.getSigners(); @@ -125,7 +125,7 @@ for (const withCollateral of [true, false]) { await erc721!.approve(local.address, tokenId3); await erc721!.approve(local.address, tokenId4); } - gas = await local.destinationGas(remoteDomain); + interchainGasPayment = await local.quoteGasPayment(remoteDomain); remote = contracts[remoteChain].router; }); @@ -186,7 +186,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), invalidTokenId, - { value: gas }, + { value: interchainGasPayment }, ), ).to.be.revertedWith('ERC721: invalid token ID'); }); @@ -196,7 +196,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), tokenId2, - { value: gas }, + { value: interchainGasPayment }, ); await expectBalance(local, recipient, 0); @@ -221,7 +221,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), tokenId2, - { value: gas }, + { value: interchainGasPayment }, ); await expect(remoteUri.tokenURI(tokenId2)).to.be.revertedWith(''); @@ -245,7 +245,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), tokenId2, - { value: gas }, + { value: interchainGasPayment }, ), ).to.be.revertedWith(revertReason); }); @@ -293,7 +293,7 @@ for (const withCollateral of [true, false]) { utils.addressToBytes32(recipient.address), tokenId3, { - value: gas, + value: interchainGasPayment, }, ), ).to.emit(interchainGasPaymaster, 'GasPayment'); @@ -305,7 +305,7 @@ for (const withCollateral of [true, false]) { remoteDomain, utils.addressToBytes32(recipient.address), tokenId4, - { value: gas }, + { value: interchainGasPayment }, ), ) .to.emit(local, 'SentTransferRemote') From e38bc8fcb90e5d2d0dc37d2c8c89a9d1a077f70b Mon Sep 17 00:00:00 2001 From: Nam Chu Hoai Date: Mon, 6 Mar 2023 17:08:02 -0500 Subject: [PATCH 39/56] Small fixes for deploy (#50) --- configs/warp-route-chain-config.json | 2 +- scripts/deploy.ts | 34 +++------------------------- 2 files changed, 4 insertions(+), 32 deletions(-) diff --git a/configs/warp-route-chain-config.json b/configs/warp-route-chain-config.json index fccce637d..3eb487e3e 100644 --- a/configs/warp-route-chain-config.json +++ b/configs/warp-route-chain-config.json @@ -1,6 +1,6 @@ { "goerli": { - "id": 5, + "chainId": 5, "name": "goerli", "displayName": "Goerli", "nativeToken": { "name": "Ether", "symbol": "ETH", "decimals": 18 }, diff --git a/scripts/deploy.ts b/scripts/deploy.ts index a8ec6f3ab..bf58c9044 100644 --- a/scripts/deploy.ts +++ b/scripts/deploy.ts @@ -12,12 +12,8 @@ import path from 'path'; import yargs from 'yargs'; import { - ChainMap, - ChainMetadata, - IChainConnection, + chainMetadata, MultiProvider, - chainConnectionConfigs, - objMap, serializeContracts, } from '@hyperlane-xyz/sdk'; @@ -66,38 +62,14 @@ async function deployWarpRoute() { ); } - const multiProviderConfig: ChainMap = {}; - for (const chain of targetChains) { - if (chainConfigs && chainConfigs[chain]) { - // Use custom config - const chainConfig = chainConfigs[chain] as ChainMetadata; - multiProviderConfig[chain] = { - id: chainConfig.id, - provider: new ethers.providers.JsonRpcProvider( - chainConfig.publicRpcUrls[0].http, - ), - confirmations: chainConfig.blocks.confirmations, - // @ts-ignore - overrides: chainConfig.overrides, - }; - } else if (chainConnectionConfigs[chain]) { - // Use SDK default - multiProviderConfig[chain] = chainConnectionConfigs[chain]; - } else { - throw new Error(`No chain config found for ${chain}`); - } - } - console.log('Preparing wallet'); const signer = new ethers.Wallet(privateKey); console.log('Preparing chain providers'); const multiProvider = new MultiProvider( - objMap(multiProviderConfig, (_chain, conf) => ({ - ...conf, - signer: signer.connect(conf.provider), - })), + { ...chainMetadata, ...chainConfigs } ); + multiProvider.setSharedSigner(signer) console.log('Starting deployments'); const deployer = new HypERC20Deployer(multiProvider, tokenConfigs, undefined); From f4304e64d1c6b959bf7ade87923be9ee55e83107 Mon Sep 17 00:00:00 2001 From: J M Rossy Date: Thu, 9 Mar 2023 16:51:57 +0100 Subject: [PATCH 40/56] Bump version for 1.2.1 (#52) --- package.json | 8 ++++---- yarn.lock | 44 ++++++++++++++++++++++++++------------------ 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index fc2dd8483..2f219e1b6 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.2.0", + "version": "1.2.1", "dependencies": { - "@hyperlane-xyz/core": "1.2.0", - "@hyperlane-xyz/sdk": "1.2.0", - "@hyperlane-xyz/utils": "1.2.0", + "@hyperlane-xyz/core": "1.2.1", + "@hyperlane-xyz/sdk": "1.2.1", + "@hyperlane-xyz/utils": "1.2.1", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/yarn.lock b/yarn.lock index 4066fd0db..f4077e4bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1220,14 +1220,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.2.0": - version: 1.2.0 - resolution: "@hyperlane-xyz/core@npm:1.2.0" +"@hyperlane-xyz/core@npm:1.2.1": + version: 1.2.1 + resolution: "@hyperlane-xyz/core@npm:1.2.1" dependencies: - "@hyperlane-xyz/utils": 1.2.0 + "@hyperlane-xyz/utils": 1.2.1 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: be76b1dd90f8bf8b9f2c53a60f7a56ed6eead6e9a1336879795677fddb75e6fd1d092e6c24af0a7e972b35cfff3eb9056229c5df7a852bfbff9e84e6a8fcb9bc + checksum: e1b7e6c36364558663602107343d267453e8071400d5bab1ca71681a1cc13cef88e94ab830699740790d0abd3cad8d565ccd3f04fdc0ba30138809fd8a94ad42 languageName: node linkType: hard @@ -1235,9 +1235,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.2.0 - "@hyperlane-xyz/sdk": 1.2.0 - "@hyperlane-xyz/utils": 1.2.0 + "@hyperlane-xyz/core": 1.2.1 + "@hyperlane-xyz/sdk": 1.2.1 + "@hyperlane-xyz/utils": 1.2.1 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1265,27 +1265,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.2.0": - version: 1.2.0 - resolution: "@hyperlane-xyz/sdk@npm:1.2.0" +"@hyperlane-xyz/sdk@npm:1.2.1": + version: 1.2.1 + resolution: "@hyperlane-xyz/sdk@npm:1.2.1" dependencies: - "@hyperlane-xyz/core": 1.2.0 - "@hyperlane-xyz/utils": 1.2.0 + "@hyperlane-xyz/core": 1.2.1 + "@hyperlane-xyz/utils": 1.2.1 "@wagmi/chains": ^0.2.6 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.7.2 - checksum: 16d0eeb2f48c656106f4e2fa9101b1ae1382cb04c31571fcc41f167c84bc5d9343d769fd1ce9fd27e7e9b41bc60b3ab4a72742664f129947932e6ef147d6ce72 + zod: ^3.21.2 + checksum: 6fd7a276f6aca00ee4e0df560c5bee70adeff4bcc1193b0e34c4edb06df89fdc979171fe6cc7fba37b4a8c24049e0d37e3208d6bc026cae649a68cb10853909c languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.2.0": - version: 1.2.0 - resolution: "@hyperlane-xyz/utils@npm:1.2.0" +"@hyperlane-xyz/utils@npm:1.2.1": + version: 1.2.1 + resolution: "@hyperlane-xyz/utils@npm:1.2.1" dependencies: ethers: ^5.7.2 - checksum: 320e59e36a9349a8fa57c3bbc85faadbe5b591cd345165e9571511a51a38bcb07dd85026fdaf997db7bcaf1eeae8cc1c12962cf3154c2efcb570cd7df5b9bb7c + checksum: ac8e88bd9492e2c5dd5daaa5e81afdef1aaca68f114abc3e5aa100e286f5e071734108da7ef23c161bd90e0561180a3ca202b630d68269fa5425e84b05cdd5ef languageName: node linkType: hard @@ -14884,3 +14885,10 @@ __metadata: checksum: f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700 languageName: node linkType: hard + +"zod@npm:^3.21.2": + version: 3.21.4 + resolution: "zod@npm:3.21.4" + checksum: f185ba87342ff16f7a06686767c2b2a7af41110c7edf7c1974095d8db7a73792696bcb4a00853de0d2edeb34a5b2ea6a55871bc864227dace682a0a28de33e1f + languageName: node + linkType: hard From d23f5937656c87375574d9373191851838ad2aaf Mon Sep 17 00:00:00 2001 From: Nam Chu Hoai Date: Wed, 15 Mar 2023 14:57:39 -0400 Subject: [PATCH 41/56] Update to 1.2.2 (#53) --- package.json | 8 ++++---- yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 2f219e1b6..14b127672 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.2.1", + "version": "1.2.2", "dependencies": { - "@hyperlane-xyz/core": "1.2.1", - "@hyperlane-xyz/sdk": "1.2.1", - "@hyperlane-xyz/utils": "1.2.1", + "@hyperlane-xyz/core": "1.2.2", + "@hyperlane-xyz/sdk": "1.2.2", + "@hyperlane-xyz/utils": "1.2.2", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/yarn.lock b/yarn.lock index f4077e4bc..66f11d79d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1220,14 +1220,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.2.1": - version: 1.2.1 - resolution: "@hyperlane-xyz/core@npm:1.2.1" +"@hyperlane-xyz/core@npm:1.2.2": + version: 1.2.2 + resolution: "@hyperlane-xyz/core@npm:1.2.2" dependencies: - "@hyperlane-xyz/utils": 1.2.1 + "@hyperlane-xyz/utils": 1.2.2 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: e1b7e6c36364558663602107343d267453e8071400d5bab1ca71681a1cc13cef88e94ab830699740790d0abd3cad8d565ccd3f04fdc0ba30138809fd8a94ad42 + checksum: f20bdb6aed949a5b4a16fbb5bbd232647c39f515cc68985d9445f76082c190856e99d80f9ff0565febdd55047e4b1e0b111345a08c68971574fb3a87e5c0cff5 languageName: node linkType: hard @@ -1235,9 +1235,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.2.1 - "@hyperlane-xyz/sdk": 1.2.1 - "@hyperlane-xyz/utils": 1.2.1 + "@hyperlane-xyz/core": 1.2.2 + "@hyperlane-xyz/sdk": 1.2.2 + "@hyperlane-xyz/utils": 1.2.2 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1265,28 +1265,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.2.1": - version: 1.2.1 - resolution: "@hyperlane-xyz/sdk@npm:1.2.1" +"@hyperlane-xyz/sdk@npm:1.2.2": + version: 1.2.2 + resolution: "@hyperlane-xyz/sdk@npm:1.2.2" dependencies: - "@hyperlane-xyz/core": 1.2.1 - "@hyperlane-xyz/utils": 1.2.1 + "@hyperlane-xyz/core": 1.2.2 + "@hyperlane-xyz/utils": 1.2.2 "@wagmi/chains": ^0.2.6 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.7.2 zod: ^3.21.2 - checksum: 6fd7a276f6aca00ee4e0df560c5bee70adeff4bcc1193b0e34c4edb06df89fdc979171fe6cc7fba37b4a8c24049e0d37e3208d6bc026cae649a68cb10853909c + checksum: 5e6e856e413474ab9a241ce8c507683db7ff6933649d58d17323deff7c13393ce2c7b973bbd404bdd99409ff883d934b386a1e7c1830fa7257c08a893c742ceb languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.2.1": - version: 1.2.1 - resolution: "@hyperlane-xyz/utils@npm:1.2.1" +"@hyperlane-xyz/utils@npm:1.2.2": + version: 1.2.2 + resolution: "@hyperlane-xyz/utils@npm:1.2.2" dependencies: ethers: ^5.7.2 - checksum: ac8e88bd9492e2c5dd5daaa5e81afdef1aaca68f114abc3e5aa100e286f5e071734108da7ef23c161bd90e0561180a3ca202b630d68269fa5425e84b05cdd5ef + checksum: ac118a1604eb3d14064ccfc6208735ea6fbf909cf178592a22570864fcbce4ba55833e0bb7ec0942240eec7db36412ec21ea4ce10f3c3dd0167213c6734b302b languageName: node linkType: hard From f024821797a742e6c084a3beea088d67240eaedc Mon Sep 17 00:00:00 2001 From: Trevor Porter Date: Thu, 16 Mar 2023 11:45:34 +0000 Subject: [PATCH 42/56] Update old IGP address (#51) --- configs/warp-route-token-config.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configs/warp-route-token-config.json b/configs/warp-route-token-config.json index c292ea3c6..11f55c1ba 100644 --- a/configs/warp-route-token-config.json +++ b/configs/warp-route-token-config.json @@ -4,7 +4,7 @@ "token": "0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6", "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", - "interchainGasPaymaster": "0xf857706CE59Cb7AE6df81Bbd0B0a656dB3e6beDA" + "interchainGasPaymaster": "0xF90cB82a76492614D07B82a7658917f3aC811Ac1" }, "alfajores": { "type": "synthetic", @@ -13,7 +13,7 @@ "totalSupply": 0, "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", - "interchainGasPaymaster": "0xf857706CE59Cb7AE6df81Bbd0B0a656dB3e6beDA" + "interchainGasPaymaster": "0xF90cB82a76492614D07B82a7658917f3aC811Ac1" }, "fuji": { "type": "synthetic", @@ -22,7 +22,7 @@ "totalSupply": 0, "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", - "interchainGasPaymaster": "0xf857706CE59Cb7AE6df81Bbd0B0a656dB3e6beDA" + "interchainGasPaymaster": "0xF90cB82a76492614D07B82a7658917f3aC811Ac1" }, "moonbasealpha": { "type": "synthetic", @@ -31,6 +31,6 @@ "totalSupply": 0, "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", - "interchainGasPaymaster": "0xf857706CE59Cb7AE6df81Bbd0B0a656dB3e6beDA" + "interchainGasPaymaster": "0xF90cB82a76492614D07B82a7658917f3aC811Ac1" } } From b009989328333a3d725979491b2897db2b9473b9 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Fri, 17 Mar 2023 15:11:41 -0400 Subject: [PATCH 43/56] Add CODEOWNERS --- .github/CODEOWNERS | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 000000000..737e73c7f --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,3 @@ +* @yorhodes @jmrossy + +contracts @yorhodes From bbbfe0397b2aadecde96dd650b5b33d900cb1dc9 Mon Sep 17 00:00:00 2001 From: Nam Chu Hoai Date: Tue, 21 Mar 2023 06:00:05 -0400 Subject: [PATCH 44/56] Deploy 1.2.3 (#54) --- package.json | 8 ++++---- yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 14b127672..9a1462a95 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.2.2", + "version": "1.2.3", "dependencies": { - "@hyperlane-xyz/core": "1.2.2", - "@hyperlane-xyz/sdk": "1.2.2", - "@hyperlane-xyz/utils": "1.2.2", + "@hyperlane-xyz/core": "1.2.3", + "@hyperlane-xyz/sdk": "1.2.3", + "@hyperlane-xyz/utils": "1.2.3", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/yarn.lock b/yarn.lock index 66f11d79d..fa9d4b3c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1220,14 +1220,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.2.2": - version: 1.2.2 - resolution: "@hyperlane-xyz/core@npm:1.2.2" +"@hyperlane-xyz/core@npm:1.2.3": + version: 1.2.3 + resolution: "@hyperlane-xyz/core@npm:1.2.3" dependencies: - "@hyperlane-xyz/utils": 1.2.2 + "@hyperlane-xyz/utils": 1.2.3 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: f20bdb6aed949a5b4a16fbb5bbd232647c39f515cc68985d9445f76082c190856e99d80f9ff0565febdd55047e4b1e0b111345a08c68971574fb3a87e5c0cff5 + checksum: c7e8f5c37d2e6874b6ca5f16024a4ea8b413393a2a4bb770a467ca7cc031b51a89fbe6989598c171de38acafcd2e990525be0274f793742faafc832a0db359fa languageName: node linkType: hard @@ -1235,9 +1235,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.2.2 - "@hyperlane-xyz/sdk": 1.2.2 - "@hyperlane-xyz/utils": 1.2.2 + "@hyperlane-xyz/core": 1.2.3 + "@hyperlane-xyz/sdk": 1.2.3 + "@hyperlane-xyz/utils": 1.2.3 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1265,28 +1265,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.2.2": - version: 1.2.2 - resolution: "@hyperlane-xyz/sdk@npm:1.2.2" +"@hyperlane-xyz/sdk@npm:1.2.3": + version: 1.2.3 + resolution: "@hyperlane-xyz/sdk@npm:1.2.3" dependencies: - "@hyperlane-xyz/core": 1.2.2 - "@hyperlane-xyz/utils": 1.2.2 + "@hyperlane-xyz/core": 1.2.3 + "@hyperlane-xyz/utils": 1.2.3 "@wagmi/chains": ^0.2.6 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.7.2 zod: ^3.21.2 - checksum: 5e6e856e413474ab9a241ce8c507683db7ff6933649d58d17323deff7c13393ce2c7b973bbd404bdd99409ff883d934b386a1e7c1830fa7257c08a893c742ceb + checksum: a1afc8bdfe64916fdc6623c1df06bbe1393359fe6b29cefe3f25bb5ded16108e1bac037da9a29df7f0d61cc84940e571d148e41c7fd8539964a87e9a95c03c35 languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.2.2": - version: 1.2.2 - resolution: "@hyperlane-xyz/utils@npm:1.2.2" +"@hyperlane-xyz/utils@npm:1.2.3": + version: 1.2.3 + resolution: "@hyperlane-xyz/utils@npm:1.2.3" dependencies: ethers: ^5.7.2 - checksum: ac118a1604eb3d14064ccfc6208735ea6fbf909cf178592a22570864fcbce4ba55833e0bb7ec0942240eec7db36412ec21ea4ce10f3c3dd0167213c6734b302b + checksum: 14222632d7ef2419f6b698afa0c4c466302dd0eb6f97d3c9031b7d42c033418547bf4092d480cc4346331f0233d4076caae75b86ffa2b7beed79741a146d3325 languageName: node linkType: hard From 85f207ede7d8eb331898266e412bf23974755584 Mon Sep 17 00:00:00 2001 From: Asa Oines Date: Tue, 4 Apr 2023 18:57:29 -0400 Subject: [PATCH 45/56] Update to 1.3.0 (#59) --- package.json | 8 ++++---- src/app.ts | 20 ++++++++++++++------ src/contracts.ts | 29 +++++++++++++++++------------ src/deploy.ts | 17 ++++++++++++----- src/index.ts | 8 ++++---- test/erc20.test.ts | 22 ++++++++++++++-------- test/erc721.test.ts | 21 ++++++++++++++------- yarn.lock | 36 ++++++++++++++++++------------------ 8 files changed, 97 insertions(+), 64 deletions(-) diff --git a/package.json b/package.json index 9a1462a95..f740afe7c 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.2.3", + "version": "1.3.0", "dependencies": { - "@hyperlane-xyz/core": "1.2.3", - "@hyperlane-xyz/sdk": "1.2.3", - "@hyperlane-xyz/utils": "1.2.3", + "@hyperlane-xyz/core": "1.3.0", + "@hyperlane-xyz/sdk": "1.3.0", + "@hyperlane-xyz/utils": "1.3.0", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/src/app.ts b/src/app.ts index 6ad315171..366624b14 100644 --- a/src/app.ts +++ b/src/app.ts @@ -1,14 +1,22 @@ import { BigNumberish } from 'ethers'; -import { ChainName, GasRouterApp, RouterContracts } from '@hyperlane-xyz/sdk'; +import { ChainName, HyperlaneContracts, RouterApp } from '@hyperlane-xyz/sdk'; import { types } from '@hyperlane-xyz/utils'; -import { HypERC20Contracts, HypERC721Contracts } from './contracts'; +import { + HypERC20Factories, + HypERC721Factories, + TokenFactories, +} from './contracts'; import { TokenRouter } from './types'; class HyperlaneTokenApp< - Contracts extends RouterContracts, -> extends GasRouterApp { + Factories extends TokenFactories, +> extends RouterApp { + router(contracts: HyperlaneContracts): TokenRouter { + return contracts.router; + } + async transfer( origin: ChainName, destination: ChainName, @@ -35,7 +43,7 @@ class HyperlaneTokenApp< } } -export class HypERC20App extends HyperlaneTokenApp { +export class HypERC20App extends HyperlaneTokenApp { async transfer( origin: ChainName, destination: ChainName, @@ -53,7 +61,7 @@ export class HypERC20App extends HyperlaneTokenApp { } } -export class HypERC721App extends HyperlaneTokenApp { +export class HypERC721App extends HyperlaneTokenApp { async transfer( origin: ChainName, destination: ChainName, diff --git a/src/contracts.ts b/src/contracts.ts index 7151c1e92..e22cc49a0 100644 --- a/src/contracts.ts +++ b/src/contracts.ts @@ -1,15 +1,20 @@ -import { RouterContracts } from '@hyperlane-xyz/sdk'; - import { - HypERC20, - HypERC20Collateral, - HypERC721, - HypERC721Collateral, - HypERC721URICollateral, - HypNative, + HypERC20Collateral__factory, + HypERC20__factory, + HypERC721Collateral__factory, + HypERC721URICollateral__factory, + HypERC721__factory, + HypNative__factory, } from './types'; -export type HypERC20Contracts = RouterContracts; -export type HypERC721Contracts = RouterContracts< - HypERC721 | HypERC721Collateral | HypERC721URICollateral ->; +export type HypERC20Factories = { + router: HypERC20__factory | HypERC20Collateral__factory | HypNative__factory; +}; +export type HypERC721Factories = { + router: + | HypERC721__factory + | HypERC721Collateral__factory + | HypERC721URICollateral__factory; +}; + +export type TokenFactories = HypERC20Factories | HypERC721Factories; diff --git a/src/deploy.ts b/src/deploy.ts index 1def10876..a43e2e66f 100644 --- a/src/deploy.ts +++ b/src/deploy.ts @@ -3,6 +3,7 @@ import { ChainName, GasRouterConfig, GasRouterDeployer, + HyperlaneContracts, MultiProvider, objMap, } from '@hyperlane-xyz/sdk'; @@ -17,7 +18,7 @@ import { isSyntheticConfig, isUriConfig, } from './config'; -import { HypERC20Contracts, HypERC721Contracts } from './contracts'; +import { HypERC20Factories, HypERC721Factories } from './contracts'; import { HypERC20Collateral__factory, HypERC20__factory, @@ -62,8 +63,7 @@ const gasDefaults = (config: TokenConfig, tokenType: TokenType) => { export class HypERC20Deployer extends GasRouterDeployer< HypERC20Config & GasRouterConfig, - HypERC20Contracts, - any // RouterFactories doesn't work well when router has multiple types + HypERC20Factories > { constructor( multiProvider: MultiProvider, @@ -86,6 +86,10 @@ export class HypERC20Deployer extends GasRouterDeployer< ); } + router(contracts: HyperlaneContracts) { + return contracts.router; + } + async deployContracts(chain: ChainName, config: HypERC20Config) { if (isCollateralConfig(config)) { const router = await this.deployContractFromFactory( @@ -137,8 +141,7 @@ export class HypERC20Deployer extends GasRouterDeployer< // TODO: dedupe? export class HypERC721Deployer extends GasRouterDeployer< HypERC721Config & GasRouterConfig, - HypERC721Contracts, - any + HypERC721Factories > { constructor( multiProvider: MultiProvider, @@ -161,6 +164,10 @@ export class HypERC721Deployer extends GasRouterDeployer< ); } + router(contracts: HyperlaneContracts) { + return contracts.router; + } + async deployContracts(chain: ChainName, config: HypERC721Config) { if (isCollateralConfig(config)) { const router = await this.deployContractFromFactory( diff --git a/src/index.ts b/src/index.ts index 970f2c0de..e446383ff 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,8 +1,5 @@ export { HypERC20App, HypERC721App } from './app'; export { - TokenType, - TokenConfig, - SyntheticConfig, CollateralConfig, HypERC20CollateralConfig, HypERC20Config, @@ -10,7 +7,10 @@ export { HypERC721Config, isCollateralConfig, isUriConfig, + SyntheticConfig, + TokenConfig, + TokenType, } from './config'; -export { HypERC20Contracts, HypERC721Contracts } from './contracts'; +export { HypERC20Factories, HypERC721Factories } from './contracts'; export { HypERC20Deployer, HypERC721Deployer } from './deploy'; export * from './types'; diff --git a/test/erc20.test.ts b/test/erc20.test.ts index 01f9ae1d1..afa1857ef 100644 --- a/test/erc20.test.ts +++ b/test/erc20.test.ts @@ -4,12 +4,15 @@ import { expect } from 'chai'; import { BigNumber, BigNumberish } from 'ethers'; import { ethers } from 'hardhat'; +import { InterchainGasPaymaster__factory } from '@hyperlane-xyz/core'; import { ChainMap, Chains, + HyperlaneContractsMap, MultiProvider, TestCoreApp, TestCoreDeployer, + deployTestIgpsAndGetRouterConfig, objMap, } from '@hyperlane-xyz/sdk'; import { utils } from '@hyperlane-xyz/utils'; @@ -20,7 +23,7 @@ import { TokenConfig, TokenType, } from '../src/config'; -import { HypERC20Contracts } from '../src/contracts'; +import { HypERC20Factories } from '../src/contracts'; import { HypERC20Deployer } from '../src/deploy'; import { ERC20, @@ -55,7 +58,7 @@ for (const variant of [ let recipient: SignerWithAddress; let core: TestCoreApp; let deployer: HypERC20Deployer; - let contracts: ChainMap; + let contracts: HyperlaneContractsMap; let localTokenConfig: TokenConfig = tokenConfig; let local: HypERC20 | HypERC20Collateral | HypNative; let remote: HypERC20 | HypERC20Collateral; @@ -72,7 +75,11 @@ for (const variant of [ const coreDeployer = new TestCoreDeployer(multiProvider); const coreContractsMaps = await coreDeployer.deploy(); core = new TestCoreApp(coreContractsMaps, multiProvider); - const coreConfig = core.getConnectionClientConfigMap(); + const coreConfig = await deployTestIgpsAndGetRouterConfig( + multiProvider, + owner.address, + core.contractsMap, + ); let erc20: ERC20 | undefined; if (variant === TokenType.collateral) { @@ -152,8 +159,7 @@ for (const variant of [ it('benchmark handle gas overhead', async () => { const localRaw = local.connect(ethers.provider); - const mailboxAddress = - core.contractsMap[localChain].mailbox.contract.address; + const mailboxAddress = core.contractsMap[localChain].mailbox.address; if (variant === TokenType.collateral) { const tokenAddress = await (local as HypERC20Collateral).wrappedToken(); const token = ERC20__factory.connect(tokenAddress, owner); @@ -219,9 +225,9 @@ for (const variant of [ }); it('allows interchain gas payment for remote transfers', async () => { - const interchainGasPaymaster = - core.contractsMap[localChain].interchainGasPaymaster.contract; - + const interchainGasPaymaster = new InterchainGasPaymaster__factory() + .attach(await local.interchainGasPaymaster()) + .connect(owner); await expect( local.transferRemote( remoteDomain, diff --git a/test/erc721.test.ts b/test/erc721.test.ts index daf5c5fbb..33c2c536f 100644 --- a/test/erc721.test.ts +++ b/test/erc721.test.ts @@ -4,12 +4,15 @@ import { expect } from 'chai'; import { BigNumber, BigNumberish } from 'ethers'; import { ethers } from 'hardhat'; +import { InterchainGasPaymaster__factory } from '@hyperlane-xyz/core'; import { ChainMap, Chains, + HyperlaneContractsMap, MultiProvider, TestCoreApp, TestCoreDeployer, + deployTestIgpsAndGetRouterConfig, objMap, } from '@hyperlane-xyz/sdk'; import { utils } from '@hyperlane-xyz/utils'; @@ -20,7 +23,7 @@ import { SyntheticConfig, TokenType, } from '../src/config'; -import { HypERC721Contracts } from '../src/contracts'; +import { HypERC721Factories } from '../src/contracts'; import { HypERC721Deployer } from '../src/deploy'; import { ERC721, @@ -72,7 +75,7 @@ for (const withCollateral of [true, false]) { let recipient: SignerWithAddress; let core: TestCoreApp; let deployer: HypERC721Deployer; - let contracts: ChainMap; + let contracts: HyperlaneContractsMap; let local: HypERC721 | HypERC721Collateral | HypERC721URICollateral; let remote: HypERC721 | HypERC721Collateral | HypERC721URIStorage; let interchainGasPayment: BigNumberish; @@ -88,7 +91,11 @@ for (const withCollateral of [true, false]) { const coreDeployer = new TestCoreDeployer(multiProvider); const coreContractsMaps = await coreDeployer.deploy(); core = new TestCoreApp(coreContractsMaps, multiProvider); - const coreConfig = core.getConnectionClientConfigMap(); + const coreConfig = await deployTestIgpsAndGetRouterConfig( + multiProvider, + owner.address, + core.contractsMap, + ); const configWithTokenInfo: ChainMap< HypERC721Config | HypERC721CollateralConfig > = objMap(coreConfig, (key) => ({ @@ -252,8 +259,7 @@ for (const withCollateral of [true, false]) { it('benchmark handle gas overhead', async () => { const localRaw = local.connect(ethers.provider); - const mailboxAddress = - core.contractsMap[localChain].mailbox.contract.address; + const mailboxAddress = core.contractsMap[localChain].mailbox.address; let tokenIdToUse: number; if (withCollateral) { const tokenAddress = await ( @@ -285,8 +291,9 @@ for (const withCollateral of [true, false]) { }); it('allows interchain gas payment for remote transfers', async () => { - const interchainGasPaymaster = - core.contractsMap[localChain].interchainGasPaymaster.contract; + const interchainGasPaymaster = new InterchainGasPaymaster__factory() + .attach(await local.interchainGasPaymaster()) + .connect(owner); await expect( local.transferRemote( remoteDomain, diff --git a/yarn.lock b/yarn.lock index fa9d4b3c1..dfebe7d3b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1220,14 +1220,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.2.3": - version: 1.2.3 - resolution: "@hyperlane-xyz/core@npm:1.2.3" +"@hyperlane-xyz/core@npm:1.3.0": + version: 1.3.0 + resolution: "@hyperlane-xyz/core@npm:1.3.0" dependencies: - "@hyperlane-xyz/utils": 1.2.3 + "@hyperlane-xyz/utils": 1.3.0 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: c7e8f5c37d2e6874b6ca5f16024a4ea8b413393a2a4bb770a467ca7cc031b51a89fbe6989598c171de38acafcd2e990525be0274f793742faafc832a0db359fa + checksum: 8e4c8e72dee2ff2705697f802de06d29fcbdb8789883f051977bbb82748d842647d6274691d918edafa03fa18e9e2fb0359c6af4d8d7f7f99cbe2167a2aef1f4 languageName: node linkType: hard @@ -1235,9 +1235,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.2.3 - "@hyperlane-xyz/sdk": 1.2.3 - "@hyperlane-xyz/utils": 1.2.3 + "@hyperlane-xyz/core": 1.3.0 + "@hyperlane-xyz/sdk": 1.3.0 + "@hyperlane-xyz/utils": 1.3.0 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1265,28 +1265,28 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.2.3": - version: 1.2.3 - resolution: "@hyperlane-xyz/sdk@npm:1.2.3" +"@hyperlane-xyz/sdk@npm:1.3.0": + version: 1.3.0 + resolution: "@hyperlane-xyz/sdk@npm:1.3.0" dependencies: - "@hyperlane-xyz/core": 1.2.3 - "@hyperlane-xyz/utils": 1.2.3 + "@hyperlane-xyz/core": 1.3.0 + "@hyperlane-xyz/utils": 1.3.0 "@wagmi/chains": ^0.2.6 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.7.2 zod: ^3.21.2 - checksum: a1afc8bdfe64916fdc6623c1df06bbe1393359fe6b29cefe3f25bb5ded16108e1bac037da9a29df7f0d61cc84940e571d148e41c7fd8539964a87e9a95c03c35 + checksum: ef8f964b58cf16bd514ed09b8f22c484dcd08385510aa67bbcb896b7a95c103b7f029d66ef676807b07a9be1aaf816d937fce7d5848f9f38529373d2f276be3d languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.2.3": - version: 1.2.3 - resolution: "@hyperlane-xyz/utils@npm:1.2.3" +"@hyperlane-xyz/utils@npm:1.3.0": + version: 1.3.0 + resolution: "@hyperlane-xyz/utils@npm:1.3.0" dependencies: ethers: ^5.7.2 - checksum: 14222632d7ef2419f6b698afa0c4c466302dd0eb6f97d3c9031b7d42c033418547bf4092d480cc4346331f0233d4076caae75b86ffa2b7beed79741a146d3325 + checksum: 22008ac00bc37f23387b5988fa22c9066796dfa5bcc115a1cd51087b160115279cb3fa57061545fa3053de660750a27bbdb94ef8daa47abbfdf0cef8013dc787 languageName: node linkType: hard From 23879a9226778f1d3d63f1030e13c6c27e0216fd Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Wed, 5 Apr 2023 16:02:49 -0400 Subject: [PATCH 46/56] Fully detailed diagram (#41) * Fully detailed diagram * Update README.md --- README.md | 47 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 453413f37..f9d21b046 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Hyperlane Warp Route -This repo contains the base Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypERC721). These tokens extend the base standards with an additional `transferRemote` function. Warp Routes are way of arranging these contracts to make existing assets interchain. Read more about Warp Routes and how to deploy your own at [Warp API docs](https://docs.hyperlane.xyz/docs/developers/warp-api). +This repo contains the base Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypERC721). These tokens extend the base standards with an additional `transferRemote` function. Warp Routes make any token or native asset interchain without custom contracts. Read more about Warp Routes and how to deploy your own at [Warp API docs](https://docs.hyperlane.xyz/docs/developers/warp-api). ## Versions @@ -24,26 +24,53 @@ This repo contains the base Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypE graph TB Alice((Alice)) + Bob((Bob)) + Validator((Validator)) Relayer((Relayer)) + %% Watcher((Watcher)) subgraph "Ethereum" - HYP_E[HYP] + Token_E[ERC20] + HYP_E[HYP-ERC20] M_E[(Mailbox)] + %% POS_E[Proof of Stake] + end + + Alice == "0. approve(HYP, infinity)" ==> Token_E + Alice == "1. transferRemote(Polygon, Bob, 5)" ==> HYP_E + Token_E -- "2. transferFrom(Alice, 5)" --> HYP_E + HYP_E -- "3. dispatch(Polygon, HYP, (Bob, 5))" --> M_E + + M_E-."indexing".->Relayer + %% M_E-."indexing".->Watcher + M_E -. "indexing" .-> Validator + + %% Validator == "staking" ==> POS_E + %% Watcher == "slashing" ==> POS_E + Validator -. "signing" .-> ISM_STORE + + subgraph "Cloud Storage" + ISM_STORE[(ISM\nMetadata)] end + ISM_STORE -. "metadata" .-> Relayer + ISM_STORE -. "moduleType" .- ISM_P + %% Watcher -. "indexing" .- ISM_P + + Relayer == "4. process(metadata, Ethereum, HYP, (Bob, 5))"==> M_P + subgraph "Polygon" - HYP_P[HYP] + ISM_P[ISM] M_P[(Mailbox)] + HYP_P[HYP-ERC20] + + M_P -- "6. handle(Ethereum, (Bob, 5))" --> HYP_P + M_P -- "5. verify(metadata, Ethereum, (Bob, 5))" --> ISM_P end - Bob((Bob)) + ISM_P -. "interchainSecurityModule" .- HYP_P + HYP_P -- "7. mint(Bob, 5)" --> Bob - Alice -- "transferRemote(Polygon, Bob, 5)" --> HYP_E - HYP_E -- "dispatch(Polygon, (Bob, 5))" --> M_E - M_E-.->Relayer - Relayer -- "process(Ethereum, (Bob, 5))" --> M_P - M_P-->|"handle(Ethereum, (Bob, 5))"|HYP_P - HYP_P-.->Bob ``` ## Setup for local development From e403671ce1c0dd6c74890cef807b6e02c0b95771 Mon Sep 17 00:00:00 2001 From: Asa Oines Date: Thu, 6 Apr 2023 10:05:29 -0400 Subject: [PATCH 47/56] Add asaj as codeowner (#60) --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 737e73c7f..723bf557a 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1,3 @@ -* @yorhodes @jmrossy +* @yorhodes @jmrossy @asaj contracts @yorhodes From aff4e3a908e77405dc8c8e95ec576334649b3748 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Thu, 6 Apr 2023 13:11:26 -0400 Subject: [PATCH 48/56] Add erc20 decimals and token metadata tooling (#56) * Add decimals to synthetic ERC20 * Update config and tests for default token metadata * Update example token config to fetch metadata * Update with router * Pull in 1.3.1 --------- Co-authored-by: Asa Oines --- README.md | 2 + configs/warp-route-token-config.json | 9 - contracts/HypERC20.sol | 10 + contracts/test/ERC721Test.sol | 4 +- package.json | 8 +- src/config.ts | 46 +-- src/deploy.ts | 450 ++++++++++++++++++--------- test/erc20.test.ts | 42 +-- test/erc721.test.ts | 40 +-- yarn.lock | 61 ++-- 10 files changed, 433 insertions(+), 239 deletions(-) diff --git a/README.md b/README.md index f9d21b046..e50a9f1db 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ This repo contains the base Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypERC721). These tokens extend the base standards with an additional `transferRemote` function. Warp Routes make any token or native asset interchain without custom contracts. Read more about Warp Routes and how to deploy your own at [Warp API docs](https://docs.hyperlane.xyz/docs/developers/warp-api). +**NOTE:** ERC721 collateral variants are assumed to [enumerable](https://docs.openzeppelin.com/contracts/4.x/api/token/erc721#IERC721Enumerable) and [metadata](https://docs.openzeppelin.com/contracts/4.x/api/token/erc721#IERC721Metadata) compliant. + ## Versions | Git Ref | Release Date | Notes | diff --git a/configs/warp-route-token-config.json b/configs/warp-route-token-config.json index 11f55c1ba..a6569dccc 100644 --- a/configs/warp-route-token-config.json +++ b/configs/warp-route-token-config.json @@ -8,27 +8,18 @@ }, "alfajores": { "type": "synthetic", - "name": "Weth", - "symbol": "WETH", - "totalSupply": 0, "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", "interchainGasPaymaster": "0xF90cB82a76492614D07B82a7658917f3aC811Ac1" }, "fuji": { "type": "synthetic", - "name": "Weth", - "symbol": "WETH", - "totalSupply": 0, "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", "interchainGasPaymaster": "0xF90cB82a76492614D07B82a7658917f3aC811Ac1" }, "moonbasealpha": { "type": "synthetic", - "name": "Weth", - "symbol": "WETH", - "totalSupply": 0, "owner": "0x5bA371aeA18734Cb7195650aFdfCa4f9251aa513", "mailbox": "0xCC737a94FecaeC165AbCf12dED095BB13F037685", "interchainGasPaymaster": "0xF90cB82a76492614D07B82a7658917f3aC811Ac1" diff --git a/contracts/HypERC20.sol b/contracts/HypERC20.sol index 6eb5ed5b7..aaceb037a 100644 --- a/contracts/HypERC20.sol +++ b/contracts/HypERC20.sol @@ -11,6 +11,12 @@ import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ * @dev Supply on each chain is not constant but the aggregate supply across all chains is. */ contract HypERC20 is ERC20Upgradeable, TokenRouter { + uint8 private immutable _decimals; + + constructor(uint8 decimals) { + _decimals = decimals; + } + /** * @notice Initializes the Hyperlane router, ERC20 metadata, and mints initial supply to deployer. * @param _mailbox The address of the mailbox contract. @@ -37,6 +43,10 @@ contract HypERC20 is ERC20Upgradeable, TokenRouter { _mint(msg.sender, _totalSupply); } + function decimals() public view override returns (uint8) { + return _decimals; + } + /** * @dev Burns `_amount` of token from `msg.sender` balance. * @inheritdoc TokenRouter diff --git a/contracts/test/ERC721Test.sol b/contracts/test/ERC721Test.sol index 1de55441e..a8ceb1f6f 100644 --- a/contracts/test/ERC721Test.sol +++ b/contracts/test/ERC721Test.sol @@ -1,9 +1,9 @@ // SPDX-License-Identifier: Apache-2.0 pragma solidity >=0.8.0; -import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; +import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol"; -contract ERC721Test is ERC721 { +contract ERC721Test is ERC721Enumerable { constructor( string memory name, string memory symbol, diff --git a/package.json b/package.json index f740afe7c..3a355e3de 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.3.0", + "version": "1.3.1", "dependencies": { - "@hyperlane-xyz/core": "1.3.0", - "@hyperlane-xyz/sdk": "1.3.0", - "@hyperlane-xyz/utils": "1.3.0", + "@hyperlane-xyz/core": "1.3.1", + "@hyperlane-xyz/sdk": "1.3.1", + "@hyperlane-xyz/utils": "1.3.1", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/src/config.ts b/src/config.ts index dd17b4158..2491f352b 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,6 +1,6 @@ import { ethers } from 'ethers'; -import { GasRouterConfig, RouterConfig } from '@hyperlane-xyz/sdk'; +import { GasRouterConfig } from '@hyperlane-xyz/sdk'; export enum TokenType { synthetic = 'synthetic', @@ -10,12 +10,25 @@ export enum TokenType { native = 'native', } -export type SyntheticConfig = { - type: TokenType.synthetic | TokenType.syntheticUri; +export type TokenMetadata = { name: string; symbol: string; totalSupply: ethers.BigNumberish; }; + +export type ERC20Metadata = TokenMetadata & { + decimals: number; +}; + +export const isTokenMetadata = (metadata: any): metadata is TokenMetadata => + metadata.name && metadata.symbol && metadata.totalSupply !== undefined; // totalSupply can be 0 + +export const isErc20Metadata = (metadata: any): metadata is ERC20Metadata => + metadata.decimals && isTokenMetadata(metadata); + +export type SyntheticConfig = TokenMetadata & { + type: TokenType.synthetic | TokenType.syntheticUri; +}; export type CollateralConfig = { type: TokenType.collateral | TokenType.collateralUri; token: string; @@ -44,19 +57,14 @@ export const isUriConfig = (config: TokenConfig) => config.type === TokenType.syntheticUri || config.type === TokenType.collateralUri; -export type HypERC20Config = Partial & - RouterConfig & - TokenConfig; -export type HypERC20CollateralConfig = Partial & - RouterConfig & - CollateralConfig; -export type HypNativeConfig = Partial & - RouterConfig & - NativeConfig; - -export type HypERC721Config = Partial & - RouterConfig & - TokenConfig; -export type HypERC721CollateralConfig = Partial & - RouterConfig & - CollateralConfig; +export type HypERC20Config = GasRouterConfig & SyntheticConfig & ERC20Metadata; +export type HypERC20CollateralConfig = GasRouterConfig & CollateralConfig; +export type HypNativeConfig = GasRouterConfig & NativeConfig; +export type ERC20RouterConfig = + | HypERC20Config + | HypERC20CollateralConfig + | HypNativeConfig; + +export type HypERC721Config = GasRouterConfig & SyntheticConfig; +export type HypERC721CollateralConfig = GasRouterConfig & CollateralConfig; +export type ERC721RouterConfig = HypERC721Config | HypERC721CollateralConfig; diff --git a/src/deploy.ts b/src/deploy.ts index a43e2e66f..6121c222d 100644 --- a/src/deploy.ts +++ b/src/deploy.ts @@ -1,89 +1,143 @@ +import { providers } from 'ethers'; + import { ChainMap, ChainName, - GasRouterConfig, GasRouterDeployer, HyperlaneContracts, MultiProvider, objMap, } from '@hyperlane-xyz/sdk'; -import { DeployerOptions } from '@hyperlane-xyz/sdk/dist/deploy/HyperlaneDeployer'; +import { GasConfig, RouterConfig } from '@hyperlane-xyz/sdk/dist/router/types'; import { + CollateralConfig, + ERC20Metadata, + HypERC20CollateralConfig, HypERC20Config, + HypERC721CollateralConfig, HypERC721Config, + HypNativeConfig, TokenConfig, + TokenMetadata, isCollateralConfig, + isErc20Metadata, isNativeConfig, isSyntheticConfig, isUriConfig, } from './config'; +import { isTokenMetadata } from './config'; +import { ERC721RouterConfig } from './config'; +import { ERC20RouterConfig } from './config'; import { HypERC20Factories, HypERC721Factories } from './contracts'; import { + ERC20__factory, + ERC721EnumerableUpgradeable__factory, + HypERC20, + HypERC20Collateral, HypERC20Collateral__factory, HypERC20__factory, + HypERC721, + HypERC721Collateral, HypERC721Collateral__factory, HypERC721URICollateral__factory, HypERC721URIStorage__factory, HypERC721__factory, + HypNative, HypNative__factory, } from './types'; -enum TokenType { - erc20 = 'erc20', - erc721 = 'erc721', -} - -const gasDefaults = (config: TokenConfig, tokenType: TokenType) => { - switch (tokenType) { - case TokenType.erc721: - switch (config.type) { - case 'synthetic': - return 160_000; - case 'syntheticUri': - return 163_000; - case 'collateral': - case 'collateralUri': - default: - return 80_000; - } - default: - case TokenType.erc20: - switch (config.type) { - case 'synthetic': - return 64_000; - case 'native': - return 44_000; - case 'collateral': - default: - return 68_000; - } - } -}; - export class HypERC20Deployer extends GasRouterDeployer< - HypERC20Config & GasRouterConfig, + ERC20RouterConfig, HypERC20Factories > { - constructor( - multiProvider: MultiProvider, - configMap: ChainMap, - factories: any, - options?: DeployerOptions, - ) { - super( - multiProvider, - objMap( - configMap, - (_, config): HypERC20Config & GasRouterConfig => - ({ - ...config, - gas: config.gas ?? gasDefaults(config, TokenType.erc20), - } as HypERC20Config & GasRouterConfig), + constructor(multiProvider: MultiProvider) { + super(multiProvider, {} as HypERC20Factories); // factories not used in deploy + } + + static async fetchMetadata( + provider: providers.Provider, + config: CollateralConfig, + ): Promise { + const erc20 = ERC20__factory.connect(config.token, provider); + + const [name, symbol, totalSupply, decimals] = await Promise.all([ + erc20.name(), + erc20.symbol(), + erc20.totalSupply(), + erc20.decimals(), + ]); + + return { name, symbol, totalSupply, decimals }; + } + + static gasOverheadDefault(config: TokenConfig): number { + switch (config.type) { + case 'synthetic': + return 64_000; + case 'native': + return 44_000; + case 'collateral': + default: + return 68_000; + } + } + + protected async deployCollateral( + chain: ChainName, + config: HypERC20CollateralConfig, + ): Promise { + const router = await this.deployContractFromFactory( + chain, + new HypERC20Collateral__factory(), + 'HypERC20Collateral', + [config.token], + ); + await this.multiProvider.handleTx( + chain, + router.initialize(config.mailbox, config.interchainGasPaymaster), + ); + return router; + } + + protected async deployNative( + chain: ChainName, + config: HypNativeConfig, + ): Promise { + const router = await this.deployContractFromFactory( + chain, + new HypNative__factory(), + 'HypNative', + [], + ); + await this.multiProvider.handleTx( + chain, + router.initialize(config.mailbox, config.interchainGasPaymaster), + ); + return router; + } + + protected async deploySynthetic( + chain: ChainName, + config: HypERC20Config, + ): Promise { + const router = await this.deployContractFromFactory( + chain, + new HypERC20__factory(), + 'HypERC20', + [config.decimals], + ); + await this.multiProvider.handleTx( + chain, + router.initialize( + config.mailbox, + config.interchainGasPaymaster, + config.totalSupply, + config.name, + config.symbol, ), - factories, - options, ); + return router; } router(contracts: HyperlaneContracts) { @@ -91,119 +145,233 @@ export class HypERC20Deployer extends GasRouterDeployer< } async deployContracts(chain: ChainName, config: HypERC20Config) { + let router: HypERC20 | HypERC20Collateral | HypNative; if (isCollateralConfig(config)) { - const router = await this.deployContractFromFactory( - chain, - new HypERC20Collateral__factory(), - 'HypERC20Collateral', - [config.token], - ); - await this.multiProvider.handleTx( - chain, - router.initialize(config.mailbox, config.interchainGasPaymaster), - ); - return { router }; - } else if (isSyntheticConfig(config)) { - const router = await this.deployContractFromFactory( - chain, - new HypERC20__factory(), - 'HypERC20', - [], - ); - await this.multiProvider.handleTx( - chain, - router.initialize( - config.mailbox, - config.interchainGasPaymaster, - config.totalSupply, - config.name, - config.symbol, - ), - ); - return { router }; + router = await this.deployCollateral(chain, config); } else if (isNativeConfig(config)) { - const router = await this.deployContractFromFactory( - chain, - new HypNative__factory(), - 'HypNative', - [], - ); - await this.multiProvider.handleTx( - chain, - router.initialize(config.mailbox, config.interchainGasPaymaster), - ); - return { router }; + router = await this.deployNative(chain, config); + } else if (isSyntheticConfig(config)) { + router = await this.deploySynthetic(chain, config); + } else { + throw new Error('Invalid ERC20 token router config'); + } + return { router }; + } + + async buildTokenMetadata( + configMap: ChainMap, + ): Promise> { + let tokenMetadata: ERC20Metadata | undefined; + + for (const [chain, config] of Object.entries(configMap)) { + if (isCollateralConfig(config)) { + const collateralMetadata = await HypERC20Deployer.fetchMetadata( + this.multiProvider.getProvider(chain), + config, + ); + tokenMetadata = { + ...collateralMetadata, + totalSupply: 0, + }; + } else if (isNativeConfig(config)) { + const chainMetadata = this.multiProvider.getChainMetadata(chain); + if (chainMetadata.nativeToken) { + tokenMetadata = { + ...chainMetadata.nativeToken, + totalSupply: 0, + }; + } + } else if (isErc20Metadata(config)) { + tokenMetadata = config; + } + } + + if (!isErc20Metadata(tokenMetadata)) { + throw new Error('Invalid ERC20 token metadata'); } - throw new Error('Invalid config'); + + return objMap(configMap, () => tokenMetadata!); + } + + buildGasOverhead(configMap: ChainMap): ChainMap { + return objMap(configMap, (_, config) => ({ + gas: HypERC20Deployer.gasOverheadDefault(config), + })); + } + + async deploy(configMap: ChainMap) { + const tokenMetadata = await this.buildTokenMetadata(configMap); + const gasOverhead = this.buildGasOverhead(configMap); + const mergedConfig = objMap(configMap, (chain, config) => { + return { + ...tokenMetadata[chain], + ...gasOverhead[chain], + ...config, + }; + }) as ChainMap; + + return super.deploy(mergedConfig); } } -// TODO: dedupe? export class HypERC721Deployer extends GasRouterDeployer< - HypERC721Config & GasRouterConfig, + ERC721RouterConfig, HypERC721Factories > { - constructor( - multiProvider: MultiProvider, - configMap: ChainMap, - factories: any, - options?: DeployerOptions, - ) { - super( - multiProvider, - objMap( - configMap, - (_, config): HypERC721Config & GasRouterConfig => - ({ - ...config, - gas: config.gas ?? gasDefaults(config, TokenType.erc721), - } as HypERC721Config & GasRouterConfig), - ), - factories, - options, + constructor(multiProvider: MultiProvider) { + super(multiProvider, {} as HypERC721Factories); // factories not used in deploy + } + + static async fetchMetadata( + provider: providers.Provider, + config: CollateralConfig, + ): Promise { + const erc721 = ERC721EnumerableUpgradeable__factory.connect( + config.token, + provider, ); + const [name, symbol, totalSupply] = await Promise.all([ + erc721.name(), + erc721.symbol(), + erc721.totalSupply(), + ]); + + return { name, symbol, totalSupply }; } - router(contracts: HyperlaneContracts) { - return contracts.router; + static gasOverheadDefault(config: TokenConfig): number { + switch (config.type) { + case 'synthetic': + return 160_000; + case 'syntheticUri': + return 163_000; + case 'collateral': + case 'collateralUri': + default: + return 80_000; + } } - async deployContracts(chain: ChainName, config: HypERC721Config) { - if (isCollateralConfig(config)) { - const router = await this.deployContractFromFactory( + protected async deployCollateral( + chain: ChainName, + config: HypERC721CollateralConfig, + ): Promise { + let router: HypERC721Collateral; + if (isUriConfig(config)) { + router = await this.deployContractFromFactory( chain, - isUriConfig(config) - ? new HypERC721URICollateral__factory() - : new HypERC721Collateral__factory(), - `HypERC721${isUriConfig(config) ? 'URI' : ''}Collateral`, + new HypERC721URICollateral__factory(), + 'HypERC721URICollateral', [config.token], ); - await this.multiProvider.handleTx( + } else { + router = await this.deployContractFromFactory( chain, - router.initialize(config.mailbox, config.interchainGasPaymaster), + new HypERC721Collateral__factory(), + 'HypERC721Collateral', + [config.token], ); - return { router }; - } else if (isSyntheticConfig(config)) { - const router = await this.deployContractFromFactory( + } + await this.multiProvider.handleTx( + chain, + router.initialize(config.mailbox, config.interchainGasPaymaster), + ); + return router; + } + + protected async deploySynthetic( + chain: ChainName, + config: HypERC721Config, + ): Promise { + let router: HypERC721; + if (isUriConfig(config)) { + router = await this.deployContractFromFactory( chain, - isUriConfig(config) - ? new HypERC721URIStorage__factory() - : new HypERC721__factory(), - `HypERC721${isUriConfig(config) ? 'URIStorage' : ''}`, + new HypERC721URIStorage__factory(), + 'HypERC721URIStorage', [], ); - await this.multiProvider.handleTx( + } else { + router = await this.deployContractFromFactory( chain, - router.initialize( - config.mailbox, - config.interchainGasPaymaster, - config.totalSupply, - config.name, - config.symbol, - ), + new HypERC721__factory(), + 'HypERC721', + [], ); - return { router }; } - throw new Error('Invalid config'); + await this.multiProvider.handleTx( + chain, + router.initialize( + config.mailbox, + config.interchainGasPaymaster, + config.totalSupply, + config.name, + config.symbol, + ), + ); + return router; + } + + router(contracts: HyperlaneContracts) { + return contracts.router; + } + + async deployContracts(chain: ChainName, config: HypERC721Config) { + let router: HypERC721 | HypERC721Collateral; + if (isCollateralConfig(config)) { + router = await this.deployCollateral(chain, config); + } else if (isSyntheticConfig(config)) { + router = await this.deploySynthetic(chain, config); + } else { + throw new Error('Invalid ERC721 token router config'); + } + return { router }; + } + + async buildTokenMetadata( + configMap: ChainMap, + ): Promise> { + let tokenMetadata: TokenMetadata | undefined; + + for (const [chain, config] of Object.entries(configMap)) { + if (isCollateralConfig(config)) { + const collateralMetadata = await HypERC721Deployer.fetchMetadata( + this.multiProvider.getProvider(chain), + config, + ); + tokenMetadata = { + ...collateralMetadata, + totalSupply: 0, + }; + } else if (isTokenMetadata(config)) { + tokenMetadata = config; + } + } + + if (!isTokenMetadata(tokenMetadata)) { + throw new Error('Invalid ERC721 token metadata'); + } + + return objMap(configMap, () => tokenMetadata!); + } + + buildGasOverhead(configMap: ChainMap): ChainMap { + return objMap(configMap, (_, config) => ({ + gas: HypERC721Deployer.gasOverheadDefault(config), + })); + } + + async deploy(configMap: ChainMap) { + const tokenMetadata = await this.buildTokenMetadata(configMap); + const gasOverhead = this.buildGasOverhead(configMap); + const mergedConfig = objMap(configMap, (chain, config) => { + return { + ...tokenMetadata[chain], + ...gasOverhead[chain], + ...config, + }; + }) as ChainMap; + + return super.deploy(mergedConfig); } } diff --git a/test/erc20.test.ts b/test/erc20.test.ts index afa1857ef..c347f82a5 100644 --- a/test/erc20.test.ts +++ b/test/erc20.test.ts @@ -10,6 +10,7 @@ import { Chains, HyperlaneContractsMap, MultiProvider, + RouterConfig, TestCoreApp, TestCoreDeployer, deployTestIgpsAndGetRouterConfig, @@ -17,12 +18,7 @@ import { } from '@hyperlane-xyz/sdk'; import { utils } from '@hyperlane-xyz/utils'; -import { - HypERC20Config, - SyntheticConfig, - TokenConfig, - TokenType, -} from '../src/config'; +import { TokenConfig, TokenType } from '../src/config'; import { HypERC20Factories } from '../src/contracts'; import { HypERC20Deployer } from '../src/deploy'; import { @@ -41,10 +37,10 @@ let remoteDomain: number; const totalSupply = 3000; const amount = 10; -const tokenConfig: SyntheticConfig = { - type: TokenType.synthetic, +const tokenMetadata = { name: 'HypERC20', symbol: 'HYP', + decimals: 18, totalSupply, }; @@ -59,9 +55,9 @@ for (const variant of [ let core: TestCoreApp; let deployer: HypERC20Deployer; let contracts: HyperlaneContractsMap; - let localTokenConfig: TokenConfig = tokenConfig; + let localTokenConfig: TokenConfig; let local: HypERC20 | HypERC20Collateral | HypNative; - let remote: HypERC20 | HypERC20Collateral; + let remote: HypERC20; let interchainGasPayment: BigNumber; beforeEach(async () => { @@ -75,7 +71,7 @@ for (const variant of [ const coreDeployer = new TestCoreDeployer(multiProvider); const coreContractsMaps = await coreDeployer.deploy(); core = new TestCoreApp(coreContractsMaps, multiProvider); - const coreConfig = await deployTestIgpsAndGetRouterConfig( + const routerConfig = await deployTestIgpsAndGetRouterConfig( multiProvider, owner.address, core.contractsMap, @@ -84,9 +80,9 @@ for (const variant of [ let erc20: ERC20 | undefined; if (variant === TokenType.collateral) { erc20 = await new ERC20Test__factory(owner).deploy( - tokenConfig.name, - tokenConfig.symbol, - tokenConfig.totalSupply, + tokenMetadata.name, + tokenMetadata.symbol, + tokenMetadata.totalSupply, ); localTokenConfig = { type: variant, @@ -96,17 +92,21 @@ for (const variant of [ localTokenConfig = { type: variant, }; + } else if (variant === TokenType.synthetic) { + localTokenConfig = { type: variant, ...tokenMetadata }; } - const config: ChainMap = objMap(coreConfig, (key) => ({ - ...coreConfig[key], - ...(key === localChain ? localTokenConfig : tokenConfig), + const config = objMap(routerConfig, (key) => ({ + ...routerConfig[key], + ...(key === localChain + ? localTokenConfig + : { type: TokenType.synthetic }), owner: owner.address, - })); + })) as ChainMap; - deployer = new HypERC20Deployer(multiProvider, config, core); - contracts = await deployer.deploy(); - local = contracts[localChain].router as HypERC20; + deployer = new HypERC20Deployer(multiProvider); + contracts = await deployer.deploy(config); + local = contracts[localChain].router; interchainGasPayment = await local.quoteGasPayment(remoteDomain); diff --git a/test/erc721.test.ts b/test/erc721.test.ts index 33c2c536f..acd004e6f 100644 --- a/test/erc721.test.ts +++ b/test/erc721.test.ts @@ -6,7 +6,6 @@ import { ethers } from 'hardhat'; import { InterchainGasPaymaster__factory } from '@hyperlane-xyz/core'; import { - ChainMap, Chains, HyperlaneContractsMap, MultiProvider, @@ -17,12 +16,7 @@ import { } from '@hyperlane-xyz/sdk'; import { utils } from '@hyperlane-xyz/utils'; -import { - HypERC721CollateralConfig, - HypERC721Config, - SyntheticConfig, - TokenType, -} from '../src/config'; +import { TokenConfig, TokenType } from '../src/config'; import { HypERC721Factories } from '../src/contracts'; import { HypERC721Deployer } from '../src/deploy'; import { @@ -45,20 +39,21 @@ const tokenId2 = 20; const tokenId3 = 30; const tokenId4 = 40; +const tokenMetadata = { + name: 'HypERC721', + symbol: 'HYP', + totalSupply, +}; + for (const withCollateral of [true, false]) { for (const withUri of [true, false]) { - const tokenConfig: SyntheticConfig = { + const tokenConfig: TokenConfig = { type: withUri ? TokenType.syntheticUri : TokenType.synthetic, - name: 'HypERC721', - symbol: 'HYP', - totalSupply, + ...tokenMetadata, }; const configMap = { - test1: { - ...tokenConfig, - totalSupply, - }, + test1: tokenConfig, test2: { ...tokenConfig, totalSupply: 0, @@ -96,9 +91,7 @@ for (const withCollateral of [true, false]) { owner.address, core.contractsMap, ); - const configWithTokenInfo: ChainMap< - HypERC721Config | HypERC721CollateralConfig - > = objMap(coreConfig, (key) => ({ + const configWithTokenInfo = objMap(coreConfig, (key) => ({ ...coreConfig[key], ...configMap[key], owner: owner.address, @@ -112,18 +105,15 @@ for (const withCollateral of [true, false]) { tokenConfig.totalSupply, ); configWithTokenInfo.test1 = { - ...configWithTokenInfo.test1, type: withUri ? TokenType.collateralUri : TokenType.collateral, token: erc721.address, + ...coreConfig.test1, }; } - deployer = new HypERC721Deployer( - multiProvider, - configWithTokenInfo, - core, - ); - contracts = await deployer.deploy(); + deployer = new HypERC721Deployer(multiProvider); + contracts = await deployer.deploy(configWithTokenInfo); + local = contracts[localChain].router; if (withCollateral) { // approve wrapper to transfer tokens diff --git a/yarn.lock b/yarn.lock index dfebe7d3b..644de228e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1220,14 +1220,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.3.0": - version: 1.3.0 - resolution: "@hyperlane-xyz/core@npm:1.3.0" +"@hyperlane-xyz/core@npm:1.3.1": + version: 1.3.1 + resolution: "@hyperlane-xyz/core@npm:1.3.1" dependencies: - "@hyperlane-xyz/utils": 1.3.0 + "@hyperlane-xyz/utils": 1.3.1 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: 8e4c8e72dee2ff2705697f802de06d29fcbdb8789883f051977bbb82748d842647d6274691d918edafa03fa18e9e2fb0359c6af4d8d7f7f99cbe2167a2aef1f4 + checksum: bb341b6ab2f7bbde057082ec277d48df5918b5a4c676887af9b49a54f9dc2d349c34cf74de7b1df20bddbadbdc7467628d3689182c01702cb21e0ac0e4e71981 languageName: node linkType: hard @@ -1235,9 +1235,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.3.0 - "@hyperlane-xyz/sdk": 1.3.0 - "@hyperlane-xyz/utils": 1.3.0 + "@hyperlane-xyz/core": 1.3.1 + "@hyperlane-xyz/sdk": 1.3.1 + "@hyperlane-xyz/utils": 1.3.1 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1265,28 +1265,30 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.3.0": - version: 1.3.0 - resolution: "@hyperlane-xyz/sdk@npm:1.3.0" +"@hyperlane-xyz/sdk@npm:1.3.1": + version: 1.3.1 + resolution: "@hyperlane-xyz/sdk@npm:1.3.1" dependencies: - "@hyperlane-xyz/core": 1.3.0 - "@hyperlane-xyz/utils": 1.3.0 + "@hyperlane-xyz/core": 1.3.1 + "@hyperlane-xyz/utils": 1.3.1 + "@types/coingecko-api": ^1.0.10 + "@types/debug": ^4.1.7 "@wagmi/chains": ^0.2.6 coingecko-api: ^1.0.10 cross-fetch: ^3.1.5 debug: ^4.3.4 ethers: ^5.7.2 zod: ^3.21.2 - checksum: ef8f964b58cf16bd514ed09b8f22c484dcd08385510aa67bbcb896b7a95c103b7f029d66ef676807b07a9be1aaf816d937fce7d5848f9f38529373d2f276be3d + checksum: 3b1339dafb9ea8ba7c91ac3a51fd86638808bc60a06abd36e94fdc86316a7d591b395e5c94f9646d63331bde258f5013ee434e014ddf4d1db3d20a9b6b81f5dc languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.3.0": - version: 1.3.0 - resolution: "@hyperlane-xyz/utils@npm:1.3.0" +"@hyperlane-xyz/utils@npm:1.3.1": + version: 1.3.1 + resolution: "@hyperlane-xyz/utils@npm:1.3.1" dependencies: ethers: ^5.7.2 - checksum: 22008ac00bc37f23387b5988fa22c9066796dfa5bcc115a1cd51087b160115279cb3fa57061545fa3053de660750a27bbdb94ef8daa47abbfdf0cef8013dc787 + checksum: 960c972211618ea9b637bf98cdaf052f6175aa535ba6402617b84110731fe2657f8cdb387cc2be24c8250e87d46a99320f7d609067ee8e42b5d98644d0db4f95 languageName: node linkType: hard @@ -1803,6 +1805,13 @@ __metadata: languageName: node linkType: hard +"@types/coingecko-api@npm:^1.0.10": + version: 1.0.10 + resolution: "@types/coingecko-api@npm:1.0.10" + checksum: e9683f9ea9ce2f855f6565089981dd3fceb6c4674365438f3fc3877d089a2fb82cdea011b59d59c7baa1635dc610860cd29a10a4b7a650ff96521ead46f22a50 + languageName: node + linkType: hard + "@types/concat-stream@npm:^1.6.0": version: 1.6.1 resolution: "@types/concat-stream@npm:1.6.1" @@ -1812,6 +1821,15 @@ __metadata: languageName: node linkType: hard +"@types/debug@npm:^4.1.7": + version: 4.1.7 + resolution: "@types/debug@npm:4.1.7" + dependencies: + "@types/ms": "*" + checksum: 0a7b89d8ed72526858f0b61c6fd81f477853e8c4415bb97f48b1b5545248d2ae389931680b94b393b993a7cfe893537a200647d93defe6d87159b96812305adc + languageName: node + linkType: hard + "@types/form-data@npm:0.0.33": version: 0.0.33 resolution: "@types/form-data@npm:0.0.33" @@ -1895,6 +1913,13 @@ __metadata: languageName: node linkType: hard +"@types/ms@npm:*": + version: 0.7.31 + resolution: "@types/ms@npm:0.7.31" + checksum: daadd354aedde024cce6f5aa873fefe7b71b22cd0e28632a69e8b677aeb48ae8caa1c60e5919bb781df040d116b01cb4316335167a3fc0ef6a63fa3614c0f6da + languageName: node + linkType: hard + "@types/node-fetch@npm:^2.5.5": version: 2.6.2 resolution: "@types/node-fetch@npm:2.6.2" From f967760dc007dbe6a7a075ddfebd966d09b23060 Mon Sep 17 00:00:00 2001 From: Yorke Rhodes Date: Thu, 6 Apr 2023 16:50:29 -0400 Subject: [PATCH 49/56] Docs improvements and prep for deduping with docs repo (#48) * Structure README for docs * README updates * Address pr comments * Document address recipient --- README.md | 235 +++++++++++++++++++++++++++------ contracts/HypNative.sol | 2 +- contracts/libs/TokenRouter.sol | 3 +- 3 files changed, 197 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index e50a9f1db..f885613f1 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,124 @@ -# Hyperlane Warp Route +# Hyperlane Warp Routes -This repo contains the base Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypERC721). These tokens extend the base standards with an additional `transferRemote` function. Warp Routes make any token or native asset interchain without custom contracts. Read more about Warp Routes and how to deploy your own at [Warp API docs](https://docs.hyperlane.xyz/docs/developers/warp-api). +This repo contains contracts, deployment, and SDK tooling for Hyperlane Warp Routes. -**NOTE:** ERC721 collateral variants are assumed to [enumerable](https://docs.openzeppelin.com/contracts/4.x/api/token/erc721#IERC721Enumerable) and [metadata](https://docs.openzeppelin.com/contracts/4.x/api/token/erc721#IERC721Metadata) compliant. +## Warp Route Architecture -## Versions +A *warp route* is a collection of [`TokenRouter`](./contracts/libs/TokenRouter.sol) contracts deployed across a set of Hyperlane chains. These contracts leverage the `Router` pattern to implement access control and routing logic for remote token transfers. These contracts send and receive [`Message`](./contracts/libs/Message.sol)s which encode payloads containing a transfer `amount` and `recipient` address. -| Git Ref | Release Date | Notes | -| ------- | ------------ | ----- | -| [audit-v2-remediation]() | 2023-02-15 | Hyperlane V2 Audit remediation | -| [main]() | ~ | Bleeding edge | +```mermaid +%%{ init: { + "theme": "neutral", + "themeVariables": { + "mainBkg": "#025AA1", + "textColor": "white", + "clusterBkg": "white" + }, + "themeCSS": ".edgeLabel { color: black }" +}}%% + +graph LR + subgraph "Ethereum" + HYP_E[TokenRouter] + style HYP_E fill:orange + Mailbox_E[(Mailbox)] + end + + subgraph "Polygon" + HYP_P[TokenRouter] + style HYP_P fill:orange + Mailbox_P[(Mailbox)] + end + + + subgraph "Gnosis" + HYP_G[TokenRouter] + style HYP_G fill:orange + Mailbox_G[(Mailbox)] + end + + HYP_E -. "router" .- HYP_P -. "router" .- HYP_G + +``` + +The Token Router contract comes in several flavors and a warp route can be composed of a combination of these flavors. + +- [`Native`](./contracts/HypNative.sol) - for warping native assets (e.g. ETH) from the canonical chain +- [`Collateral`](./contracts/HypERC20Collateral.sol) - for warping tokens, ERC20 or ERC721, from the canonical chain +- [`Synthetic`](./contracts/HypERC20.sol) - for representing tokens, Native/ERC20 or ERC721, on a non-canonical chain + +## Interchain Security Models + +Warp routes are unique amongst token bridging solutions because they provide modular security. Because the `TokenRouter` implements the `IMessageRecipient` interface, it can be configured with a custom interchain security module. Please refer to the relevant guide to specifying interchain security modules on the [Messaging API receive docs](https://docs.hyperlane.xyz/docs/apis/messaging-api/receive#interchain-security-modules). + +## Remote Transfer Lifecycle Diagrams + +To initiate a remote transfer, users call the `TokenRouter.transferRemote` function with the `destination` chain ID, `recipient` address, and transfer `amount`. + +```solidity +interface TokenRouter { + function transferRemote( + uint32 destination, + bytes32 recipient, + uint256 amount + ) public returns (bytes32 messageId); +} +``` + +**NOTE:** The [Relayer](https://docs.hyperlane.xyz/docs/protocol/agents/relayer) shown below must be compensated. Please refer to the relevant guide on [paying for interchain gas](https://docs.hyperlane.xyz/docs/build-with-hyperlane/guides/paying-for-interchain-gas) on the `messageID` returned from the `transferRemote` call. + +Depending on the flavor of TokenRouter on the source and destination chain, this flow looks slightly different. The following diagrams illustrate these differences. + +### Transfer Alice's `amount` native ETH from Ethereum to Bob on Polygon + +```mermaid +%%{ init: { + "theme": "neutral", + "themeVariables": { + "mainBkg": "#025AA1", + "textColor": "white", + "clusterBkg": "white" + }, + "themeCSS": ".edgeLabel { color: black }" +}}%% + +graph TB + Bob((Bob)) + style Bob fill:black + Alice((Alice)) + style Alice fill:black -## Remote Transfer Lifecycle + Relayer([Relayer]) + + subgraph "Ethereum" + HYP_E[NativeTokenRouter] + style HYP_E fill:orange + Mailbox_E[(Mailbox)] + end + + Alice == "transferRemote(Polygon, Bob, amount)\n{value: amount}" ==> HYP_E + linkStyle 0 color:green; + HYP_E -- "dispatch(Polygon, (Bob, amount))" --> Mailbox_E + + subgraph "Polygon" + HYP_P[SyntheticTokenRouter] + style HYP_P fill:orange + Mailbox_P[(Mailbox)] + end + + Mailbox_E -. "indexing" .-> Relayer + + Relayer == "process(Ethereum, (Bob, amount))" ==> Mailbox_P + Mailbox_P -- "handle(Ethereum, (Bob, amount))" --> HYP_P + + HYP_E -. "router" .- HYP_P + + HYP_P -- "mint(Bob, amount)" --> Bob + linkStyle 6 color:green; +``` + + +### Transfer Alice's ERC20 `amount` from Ethereum to Bob on Polygon ```mermaid %%{ init: { @@ -19,7 +126,7 @@ This repo contains the base Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypE "themeVariables": { "mainBkg": "#025AA1", "textColor": "white", - "clusterBkg": "beige" + "clusterBkg": "white" }, "themeCSS": ".edgeLabel { color: black }" }}%% @@ -27,54 +134,99 @@ This repo contains the base Hyperlane ERC20 and ERC721 tokens (HypERC20 and HypE graph TB Alice((Alice)) Bob((Bob)) - Validator((Validator)) - Relayer((Relayer)) - %% Watcher((Watcher)) + style Alice fill:black + style Bob fill:black + + Relayer([Relayer]) subgraph "Ethereum" Token_E[ERC20] - HYP_E[HYP-ERC20] - M_E[(Mailbox)] - %% POS_E[Proof of Stake] + style Token_E fill:green + HYP_E[CollateralTokenRouter] + style HYP_E fill:orange + Mailbox_E[(Mailbox)] end - Alice == "0. approve(HYP, infinity)" ==> Token_E - Alice == "1. transferRemote(Polygon, Bob, 5)" ==> HYP_E - Token_E -- "2. transferFrom(Alice, 5)" --> HYP_E - HYP_E -- "3. dispatch(Polygon, HYP, (Bob, 5))" --> M_E + Alice == "approve(CollateralTokenRouter, infinity)" ==> Token_E + Alice == "transferRemote(Polygon, Bob, amount)" ==> HYP_E + Token_E -- "transferFrom(Alice, amount)" --> HYP_E + linkStyle 2 color:green; + HYP_E -- "dispatch(Polygon, (Bob, amount))" --> Mailbox_E + + subgraph "Polygon" + HYP_P[SyntheticRouter] + style HYP_P fill:orange + Mailbox_P[(Mailbox)] + end - M_E-."indexing".->Relayer - %% M_E-."indexing".->Watcher - M_E -. "indexing" .-> Validator + Mailbox_E -. "indexing" .-> Relayer - %% Validator == "staking" ==> POS_E - %% Watcher == "slashing" ==> POS_E - Validator -. "signing" .-> ISM_STORE + Relayer == "process(Ethereum, (Bob, amount))" ==> Mailbox_P + Mailbox_P -- "handle(Ethereum, (Bob, amount))" --> HYP_P - subgraph "Cloud Storage" - ISM_STORE[(ISM\nMetadata)] - end + HYP_E -. "router" .- HYP_P + HYP_P -- "mint(Bob, amount)" --> Bob + linkStyle 8 color:green; +``` + +### Transfer Alice's `amount` synthetic MATIC from Ethereum back to Bob as native MATIC on Polygon + +```mermaid +%%{ init: { + "theme": "neutral", + "themeVariables": { + "mainBkg": "#025AA1", + "textColor": "white", + "clusterBkg": "white" + }, + "themeCSS": ".edgeLabel { color: black }" +}}%% - ISM_STORE -. "metadata" .-> Relayer - ISM_STORE -. "moduleType" .- ISM_P - %% Watcher -. "indexing" .- ISM_P +graph TB + Bob((Bob)) + style Bob fill:black + Alice((Alice)) + style Alice fill:black - Relayer == "4. process(metadata, Ethereum, HYP, (Bob, 5))"==> M_P + Relayer([Relayer]) - subgraph "Polygon" - ISM_P[ISM] - M_P[(Mailbox)] - HYP_P[HYP-ERC20] + subgraph "Ethereum" + HYP_E[SyntheticTokenRouter] + style HYP_E fill:orange + Mailbox_E[(Mailbox)] + end - M_P -- "6. handle(Ethereum, (Bob, 5))" --> HYP_P - M_P -- "5. verify(metadata, Ethereum, (Bob, 5))" --> ISM_P + Alice == "transferRemote(Polygon, Bob, amount)" ==> HYP_E + Alice -- "burn(Alice, amount)" --> HYP_E + linkStyle 1 color:green; + HYP_E -- "dispatch(Polygon, (Bob, amount))" --> Mailbox_E + + subgraph "Polygon" + HYP_P[NativeTokenRouter] + style HYP_P fill:orange + Mailbox_P[(Mailbox)] end - ISM_P -. "interchainSecurityModule" .- HYP_P - HYP_P -- "7. mint(Bob, 5)" --> Bob + Mailbox_E -. "indexing" .-> Relayer + Relayer == "process(Ethereum, (Bob, amount))" ==> Mailbox_P + Mailbox_P -- "handle(Ethereum, (Bob, amount))" --> HYP_P + + HYP_E -. "router" .- HYP_P + HYP_P -- "transfer(){value: amount}" --> Bob + linkStyle 7 color:green; ``` +**NOTE:** ERC721 collateral variants are assumed to [enumerable](https://docs.openzeppelin.com/contracts/4.x/api/token/erc721#IERC721Enumerable) and [metadata](https://docs.openzeppelin.com/contracts/4.x/api/token/erc721#IERC721Metadata) compliant. + +## Versions + +| Git Ref | Release Date | Notes | +| ------- | ------------ | ----- | +| [audit-v2-remediation]() | 2023-02-15 | Hyperlane V2 Audit remediation | +| [main]() | ~ | Bleeding edge | + + ## Setup for local development ```sh @@ -99,3 +251,4 @@ yarn lint ## Learn more For more information, see the [Hyperlane documentation](https://docs.hyperlane.xyz/docs/introduction/readme). + diff --git a/contracts/HypNative.sol b/contracts/HypNative.sol index 4accae486..e4291fef7 100644 --- a/contracts/HypNative.sol +++ b/contracts/HypNative.sol @@ -35,7 +35,7 @@ contract HypNative is TokenRouter { uint32 _destination, bytes32 _recipient, uint256 _amount - ) external payable override returns (bytes32 messageId) { + ) public payable override returns (bytes32 messageId) { require(msg.value >= _amount, "Native: amount exceeds msg.value"); uint256 gasPayment = msg.value - _amount; messageId = _dispatchWithGas( diff --git a/contracts/libs/TokenRouter.sol b/contracts/libs/TokenRouter.sol index 80f48f679..c072d88b7 100644 --- a/contracts/libs/TokenRouter.sol +++ b/contracts/libs/TokenRouter.sol @@ -11,6 +11,7 @@ import {Message} from "./Message.sol"; */ abstract contract TokenRouter is GasRouter { using TypeCasts for bytes32; + using TypeCasts for address; using Message for bytes; /** @@ -50,7 +51,7 @@ abstract contract TokenRouter is GasRouter { uint32 _destination, bytes32 _recipient, uint256 _amountOrId - ) external payable virtual returns (bytes32 messageId) { + ) public payable virtual returns (bytes32 messageId) { bytes memory metadata = _transferFromSender(_amountOrId); messageId = _dispatchWithGas( _destination, From 3313e121798e8a9fced4acb9b12faa6409776307 Mon Sep 17 00:00:00 2001 From: Asa Oines Date: Fri, 14 Apr 2023 12:34:24 -0400 Subject: [PATCH 50/56] Upgrade to 1.3.2 (#64) * Update deps * Lockfile * upgrade to 1.3.2 --- package.json | 8 ++++---- yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 3a355e3de..4957fae93 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.3.1", + "version": "1.3.2", "dependencies": { - "@hyperlane-xyz/core": "1.3.1", - "@hyperlane-xyz/sdk": "1.3.1", - "@hyperlane-xyz/utils": "1.3.1", + "@hyperlane-xyz/core": "1.3.2", + "@hyperlane-xyz/sdk": "1.3.2", + "@hyperlane-xyz/utils": "1.3.2", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/yarn.lock b/yarn.lock index 644de228e..d87c75a1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1220,14 +1220,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.3.1": - version: 1.3.1 - resolution: "@hyperlane-xyz/core@npm:1.3.1" +"@hyperlane-xyz/core@npm:1.3.2": + version: 1.3.2 + resolution: "@hyperlane-xyz/core@npm:1.3.2" dependencies: - "@hyperlane-xyz/utils": 1.3.1 + "@hyperlane-xyz/utils": 1.3.2 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: bb341b6ab2f7bbde057082ec277d48df5918b5a4c676887af9b49a54f9dc2d349c34cf74de7b1df20bddbadbdc7467628d3689182c01702cb21e0ac0e4e71981 + checksum: f195319c458c8d43d49e06790bb975c1940c06cab7e7c4d99ac9128c39b8c4c0c10b806c4bef1d5f2a97162fead998782a7e1292bc968751a824a89ad90c90ff languageName: node linkType: hard @@ -1235,9 +1235,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.3.1 - "@hyperlane-xyz/sdk": 1.3.1 - "@hyperlane-xyz/utils": 1.3.1 + "@hyperlane-xyz/core": 1.3.2 + "@hyperlane-xyz/sdk": 1.3.2 + "@hyperlane-xyz/utils": 1.3.2 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1265,12 +1265,12 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.3.1": - version: 1.3.1 - resolution: "@hyperlane-xyz/sdk@npm:1.3.1" +"@hyperlane-xyz/sdk@npm:1.3.2": + version: 1.3.2 + resolution: "@hyperlane-xyz/sdk@npm:1.3.2" dependencies: - "@hyperlane-xyz/core": 1.3.1 - "@hyperlane-xyz/utils": 1.3.1 + "@hyperlane-xyz/core": 1.3.2 + "@hyperlane-xyz/utils": 1.3.2 "@types/coingecko-api": ^1.0.10 "@types/debug": ^4.1.7 "@wagmi/chains": ^0.2.6 @@ -1279,16 +1279,16 @@ __metadata: debug: ^4.3.4 ethers: ^5.7.2 zod: ^3.21.2 - checksum: 3b1339dafb9ea8ba7c91ac3a51fd86638808bc60a06abd36e94fdc86316a7d591b395e5c94f9646d63331bde258f5013ee434e014ddf4d1db3d20a9b6b81f5dc + checksum: b2e54374eab564505454eaf51ea270758b1b7331c9e879bd0084c28d339e099ae68715b937001092689a526f4b2fa1eb448c2a836e9bfd9923a5fd4cf2564284 languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.3.1": - version: 1.3.1 - resolution: "@hyperlane-xyz/utils@npm:1.3.1" +"@hyperlane-xyz/utils@npm:1.3.2": + version: 1.3.2 + resolution: "@hyperlane-xyz/utils@npm:1.3.2" dependencies: ethers: ^5.7.2 - checksum: 960c972211618ea9b637bf98cdaf052f6175aa535ba6402617b84110731fe2657f8cdb387cc2be24c8250e87d46a99320f7d609067ee8e42b5d98644d0db4f95 + checksum: e7cdeb4b14ccabbd46f46d0329d81792c5483e98463a5080c884bc8bff833aa8160c2ab107cda843a3f6c23979d9ca7b6d314c2cfc393c786cbf5fc2f8680934 languageName: node linkType: hard From 8b5b57e42c701feef146626c5727011e2725fda0 Mon Sep 17 00:00:00 2001 From: Yaqub Mahmoud Date: Sat, 15 Apr 2023 11:25:54 +0900 Subject: [PATCH 51/56] Fixed unprovided argument and too many arguments (#65) Fixed unprovided argument for deployer.deploy Fixed too many arguments for HypERC20Deployer Co-authored-by: Asa Oines --- scripts/deploy.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/deploy.ts b/scripts/deploy.ts index bf58c9044..c82a1fc99 100644 --- a/scripts/deploy.ts +++ b/scripts/deploy.ts @@ -72,8 +72,8 @@ async function deployWarpRoute() { multiProvider.setSharedSigner(signer) console.log('Starting deployments'); - const deployer = new HypERC20Deployer(multiProvider, tokenConfigs, undefined); - await deployer.deploy(); + const deployer = new HypERC20Deployer(multiProvider); + await deployer.deploy(tokenConfigs); console.log('Deployments successful. Deployed contracts:'); // @ts-ignore From d9a013573bfe179978dcf60bc7d7817474c2037d Mon Sep 17 00:00:00 2001 From: J M Rossy Date: Sat, 15 Apr 2023 22:11:43 +0900 Subject: [PATCH 52/56] Refer users to hyp-deploy for deployments (#66) - Delete deploy script - Update Readme to direct to hyp-deploy --- README.md | 16 ++++----- scripts/deploy.ts | 85 ----------------------------------------------- 2 files changed, 7 insertions(+), 94 deletions(-) delete mode 100644 scripts/deploy.ts diff --git a/README.md b/README.md index f885613f1..88380c8a9 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@ -# Hyperlane Warp Routes +# Hyperlane Tokens and Warp Routes -This repo contains contracts, deployment, and SDK tooling for Hyperlane Warp Routes. +This repo contains contracts and SDK tooling for Hyperlane-connected ERC20 and ERC721 tokens. The contracts herein can be used to create [Hyperlane Warp Routes](https://docs.hyperlane.xyz/docs/deploy/deploy-warp-route) across different chains. + +For instructions on deploying Warp Routes, see [the deployment documentation](https://docs.hyperlane.xyz/docs/deploy/deploy-warp-route/deploy-a-warp-route) and the [Hyperlane-Deploy repository](https://github.com/hyperlane-xyz/hyperlane-deploy). ## Warp Route Architecture -A *warp route* is a collection of [`TokenRouter`](./contracts/libs/TokenRouter.sol) contracts deployed across a set of Hyperlane chains. These contracts leverage the `Router` pattern to implement access control and routing logic for remote token transfers. These contracts send and receive [`Message`](./contracts/libs/Message.sol)s which encode payloads containing a transfer `amount` and `recipient` address. +A Warp Route is a collection of [`TokenRouter`](./contracts/libs/TokenRouter.sol) contracts deployed across a set of Hyperlane chains. These contracts leverage the `Router` pattern to implement access control and routing logic for remote token transfers. These contracts send and receive [`Messages`](./contracts/libs/Message.sol) which encode payloads containing a transfer `amount` and `recipient` address. ```mermaid %%{ init: { @@ -53,7 +55,7 @@ Warp routes are unique amongst token bridging solutions because they provide mod ## Remote Transfer Lifecycle Diagrams -To initiate a remote transfer, users call the `TokenRouter.transferRemote` function with the `destination` chain ID, `recipient` address, and transfer `amount`. +To initiate a remote transfer, users call the `TokenRouter.transferRemote` function with the `destination` chain ID, `recipient` address, and transfer `amount`. ```solidity interface TokenRouter { @@ -117,7 +119,6 @@ graph TB linkStyle 6 color:green; ``` - ### Transfer Alice's ERC20 `amount` from Ethereum to Bob on Polygon ```mermaid @@ -226,7 +227,6 @@ graph TB | [audit-v2-remediation]() | 2023-02-15 | Hyperlane V2 Audit remediation | | [main]() | ~ | Bleeding edge | - ## Setup for local development ```sh @@ -237,7 +237,6 @@ yarn yarn build:dev ``` - ## Unit testing ```sh @@ -250,5 +249,4 @@ yarn lint ## Learn more -For more information, see the [Hyperlane documentation](https://docs.hyperlane.xyz/docs/introduction/readme). - +For more information, see the [Hyperlane introduction documentation](https://docs.hyperlane.xyz/docs/introduction/readme) or the [details about Warp Routes](https://docs.hyperlane.xyz/docs/deploy/deploy-warp-route). diff --git a/scripts/deploy.ts b/scripts/deploy.ts deleted file mode 100644 index c82a1fc99..000000000 --- a/scripts/deploy.ts +++ /dev/null @@ -1,85 +0,0 @@ -/** - * Script to deploy warp routes - * Accepts 3 arguments: - * - private-key : Hex string of private key. Note: deployment requires funds on all chains - * - token-config : Path to token config JSON file (see example in ./configs) - * - chain-config : (Optional) Path to chain config JSON file (see example in ./configs) - * Example: yarn ts-node scripts/deploy.ts --private-key $PRIVATE_KEY --token-config ./configs/warp-route-token-config.json - */ -import { ethers } from 'ethers'; -import fs from 'fs'; -import path from 'path'; -import yargs from 'yargs'; - -import { - chainMetadata, - MultiProvider, - serializeContracts, -} from '@hyperlane-xyz/sdk'; - -import { HypERC20Deployer } from '../src/deploy'; - -async function deployWarpRoute() { - const argv = await yargs - .option('private-key', { - type: 'string', - describe: 'Private key for signing transactions', - demandOption: true, - }) - .option('token-config', { - type: 'string', - describe: 'Path to token config JSON file', - demandOption: true, - }) - .option('chain-config', { - type: 'string', - describe: 'Path to chain config JSON file', - }).argv; - - const privateKey = argv['private-key']; - const tokenConfigPath = argv['token-config']; - const chainConfigPath = argv['chain-config']; - - console.log('Reading warp route configs'); - - const tokenConfigs = JSON.parse( - fs.readFileSync(path.resolve(tokenConfigPath), 'utf-8'), - ); - const targetChains = Object.keys(tokenConfigs); - console.log( - `Found token configs for ${targetChains.length} chains:`, - targetChains.join(', '), - ); - - const chainConfigs = chainConfigPath - ? JSON.parse(fs.readFileSync(path.resolve(chainConfigPath), 'utf-8')) - : null; - if (chainConfigs) { - const customChains = Object.keys(chainConfigs); - console.log( - `Found custom configs for ${customChains.length} chains:`, - customChains.join(', '), - ); - } - - console.log('Preparing wallet'); - const signer = new ethers.Wallet(privateKey); - - console.log('Preparing chain providers'); - const multiProvider = new MultiProvider( - { ...chainMetadata, ...chainConfigs } - ); - multiProvider.setSharedSigner(signer) - - console.log('Starting deployments'); - const deployer = new HypERC20Deployer(multiProvider); - await deployer.deploy(tokenConfigs); - - console.log('Deployments successful. Deployed contracts:'); - // @ts-ignore - console.log(serializeContracts(deployer.deployedContracts)); -} - -deployWarpRoute() - .then(() => console.log('Warp Route deployment done')) - .catch((e) => console.error('Warp Route deployment error:', e)); From 5047ac51301ff534c3f56f9c290d1489b2ba0891 Mon Sep 17 00:00:00 2001 From: Asa Oines Date: Mon, 24 Apr 2023 14:09:18 -0400 Subject: [PATCH 53/56] Publish 1.3.3 (#69) --- package.json | 8 ++++---- yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 4957fae93..55b1d9b1c 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.3.2", + "version": "1.3.3", "dependencies": { - "@hyperlane-xyz/core": "1.3.2", - "@hyperlane-xyz/sdk": "1.3.2", - "@hyperlane-xyz/utils": "1.3.2", + "@hyperlane-xyz/core": "1.3.3", + "@hyperlane-xyz/sdk": "1.3.3", + "@hyperlane-xyz/utils": "1.3.3", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/yarn.lock b/yarn.lock index d87c75a1b..c1fead5f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1220,14 +1220,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.3.2": - version: 1.3.2 - resolution: "@hyperlane-xyz/core@npm:1.3.2" +"@hyperlane-xyz/core@npm:1.3.3": + version: 1.3.3 + resolution: "@hyperlane-xyz/core@npm:1.3.3" dependencies: - "@hyperlane-xyz/utils": 1.3.2 + "@hyperlane-xyz/utils": 1.3.3 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: f195319c458c8d43d49e06790bb975c1940c06cab7e7c4d99ac9128c39b8c4c0c10b806c4bef1d5f2a97162fead998782a7e1292bc968751a824a89ad90c90ff + checksum: d21ede2e49e1152c518c7c89ff1c19811ae3eb78aaacf02dd7db028cbcc436b25bc39c77e2c93d7a08790dd32f5f9f921de4e0e0fccf0a1c8b8a7285cab18e01 languageName: node linkType: hard @@ -1235,9 +1235,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.3.2 - "@hyperlane-xyz/sdk": 1.3.2 - "@hyperlane-xyz/utils": 1.3.2 + "@hyperlane-xyz/core": 1.3.3 + "@hyperlane-xyz/sdk": 1.3.3 + "@hyperlane-xyz/utils": 1.3.3 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1265,12 +1265,12 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.3.2": - version: 1.3.2 - resolution: "@hyperlane-xyz/sdk@npm:1.3.2" +"@hyperlane-xyz/sdk@npm:1.3.3": + version: 1.3.3 + resolution: "@hyperlane-xyz/sdk@npm:1.3.3" dependencies: - "@hyperlane-xyz/core": 1.3.2 - "@hyperlane-xyz/utils": 1.3.2 + "@hyperlane-xyz/core": 1.3.3 + "@hyperlane-xyz/utils": 1.3.3 "@types/coingecko-api": ^1.0.10 "@types/debug": ^4.1.7 "@wagmi/chains": ^0.2.6 @@ -1279,16 +1279,16 @@ __metadata: debug: ^4.3.4 ethers: ^5.7.2 zod: ^3.21.2 - checksum: b2e54374eab564505454eaf51ea270758b1b7331c9e879bd0084c28d339e099ae68715b937001092689a526f4b2fa1eb448c2a836e9bfd9923a5fd4cf2564284 + checksum: c54f9fc6b6ae93f00651d345591cf2945b8a3516b15b6f7a649b210abc1ed3c0725bbc80a0d2d5240cbe988bb21b10f7bb1f0c13348d3d3e2c4c1e2fe856c093 languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.3.2": - version: 1.3.2 - resolution: "@hyperlane-xyz/utils@npm:1.3.2" +"@hyperlane-xyz/utils@npm:1.3.3": + version: 1.3.3 + resolution: "@hyperlane-xyz/utils@npm:1.3.3" dependencies: ethers: ^5.7.2 - checksum: e7cdeb4b14ccabbd46f46d0329d81792c5483e98463a5080c884bc8bff833aa8160c2ab107cda843a3f6c23979d9ca7b6d314c2cfc393c786cbf5fc2f8680934 + checksum: 1141ff5f8c7559f8727c63782b37cf0f9444942e3f48059fad7dde533b160137a15bcfcc9f590ae3ee56faf33b1da4f7c99f8d32134792acd94c41fc235f19c1 languageName: node linkType: hard From d574b9185a261f1128b2a3ff7544f9cf0d620de9 Mon Sep 17 00:00:00 2001 From: Asa Oines Date: Fri, 28 Apr 2023 01:19:47 -0400 Subject: [PATCH 54/56] Add useful error message when token config cannot be built (#70) --- src/deploy.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/deploy.ts b/src/deploy.ts index 6121c222d..5123213e7 100644 --- a/src/deploy.ts +++ b/src/deploy.ts @@ -13,6 +13,8 @@ import { GasConfig, RouterConfig } from '@hyperlane-xyz/sdk/dist/router/types'; import { CollateralConfig, ERC20Metadata, + ERC20RouterConfig, + ERC721RouterConfig, HypERC20CollateralConfig, HypERC20Config, HypERC721CollateralConfig, @@ -24,11 +26,9 @@ import { isErc20Metadata, isNativeConfig, isSyntheticConfig, + isTokenMetadata, isUriConfig, } from './config'; -import { isTokenMetadata } from './config'; -import { ERC721RouterConfig } from './config'; -import { ERC20RouterConfig } from './config'; import { HypERC20Factories, HypERC721Factories } from './contracts'; import { ERC20__factory, @@ -180,6 +180,10 @@ export class HypERC20Deployer extends GasRouterDeployer< ...chainMetadata.nativeToken, totalSupply: 0, }; + } else { + throw new Error( + `Warp route config specifies native token but chain metadata for ${chain} does not provide native token details`, + ); } } else if (isErc20Metadata(config)) { tokenMetadata = config; From 66ae4e4a8de1142858c5312b31505731929d97a0 Mon Sep 17 00:00:00 2001 From: J M Rossy Date: Thu, 4 May 2023 17:45:24 -0400 Subject: [PATCH 55/56] Bump verison to 1.3.4 (#71) --- package.json | 8 ++++---- yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 55b1d9b1c..53d19a74c 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.3.3", + "version": "1.3.4", "dependencies": { - "@hyperlane-xyz/core": "1.3.3", - "@hyperlane-xyz/sdk": "1.3.3", - "@hyperlane-xyz/utils": "1.3.3", + "@hyperlane-xyz/core": "1.3.4", + "@hyperlane-xyz/sdk": "1.3.4", + "@hyperlane-xyz/utils": "1.3.4", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/yarn.lock b/yarn.lock index c1fead5f5..112a101d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1220,14 +1220,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.3.3": - version: 1.3.3 - resolution: "@hyperlane-xyz/core@npm:1.3.3" +"@hyperlane-xyz/core@npm:1.3.4": + version: 1.3.4 + resolution: "@hyperlane-xyz/core@npm:1.3.4" dependencies: - "@hyperlane-xyz/utils": 1.3.3 + "@hyperlane-xyz/utils": 1.3.4 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: d21ede2e49e1152c518c7c89ff1c19811ae3eb78aaacf02dd7db028cbcc436b25bc39c77e2c93d7a08790dd32f5f9f921de4e0e0fccf0a1c8b8a7285cab18e01 + checksum: aaea49039a37dc093fb785ba79480be28a41b62936dd2910ac25fbe07e8275ea6a1f8f477e0872c8d5880dede24e2fb5bce5f0153626a36113de18578e4032f7 languageName: node linkType: hard @@ -1235,9 +1235,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.3.3 - "@hyperlane-xyz/sdk": 1.3.3 - "@hyperlane-xyz/utils": 1.3.3 + "@hyperlane-xyz/core": 1.3.4 + "@hyperlane-xyz/sdk": 1.3.4 + "@hyperlane-xyz/utils": 1.3.4 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1265,12 +1265,12 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.3.3": - version: 1.3.3 - resolution: "@hyperlane-xyz/sdk@npm:1.3.3" +"@hyperlane-xyz/sdk@npm:1.3.4": + version: 1.3.4 + resolution: "@hyperlane-xyz/sdk@npm:1.3.4" dependencies: - "@hyperlane-xyz/core": 1.3.3 - "@hyperlane-xyz/utils": 1.3.3 + "@hyperlane-xyz/core": 1.3.4 + "@hyperlane-xyz/utils": 1.3.4 "@types/coingecko-api": ^1.0.10 "@types/debug": ^4.1.7 "@wagmi/chains": ^0.2.6 @@ -1279,16 +1279,16 @@ __metadata: debug: ^4.3.4 ethers: ^5.7.2 zod: ^3.21.2 - checksum: c54f9fc6b6ae93f00651d345591cf2945b8a3516b15b6f7a649b210abc1ed3c0725bbc80a0d2d5240cbe988bb21b10f7bb1f0c13348d3d3e2c4c1e2fe856c093 + checksum: c881b51ea1e0aada4cf12a485a0b614ee0fbb6095941c63ec0ba7bc41a59b29e7a05498ab8ac3e89a50430b2973218dece6f2cbd09fd8697bead49be99b3663a languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.3.3": - version: 1.3.3 - resolution: "@hyperlane-xyz/utils@npm:1.3.3" +"@hyperlane-xyz/utils@npm:1.3.4": + version: 1.3.4 + resolution: "@hyperlane-xyz/utils@npm:1.3.4" dependencies: ethers: ^5.7.2 - checksum: 1141ff5f8c7559f8727c63782b37cf0f9444942e3f48059fad7dde533b160137a15bcfcc9f590ae3ee56faf33b1da4f7c99f8d32134792acd94c41fc235f19c1 + checksum: 7bed3465604dd3e20d31ebc2b4d101cfe6a934df9d0625a11e9fb5dfa39dbd009c1fc4ad269a32662d4c4a3abadacf5195f53462be021494ba15896036a53f7a languageName: node linkType: hard From 6992a4cc1f681061d2041111a79cee7112b6ca25 Mon Sep 17 00:00:00 2001 From: Trevor Porter Date: Mon, 19 Jun 2023 14:42:27 +0100 Subject: [PATCH 56/56] Bump to 1.3.5 (#72) * Bump @hyperlane-xyz/* dependencies to 1.3.5 * Bump to 1.3.5 --- package.json | 8 ++++---- yarn.lock | 36 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index 53d19a74c..c944c3752 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "@hyperlane-xyz/hyperlane-token", "description": "A template for interchain ERC20 and ERC721 tokens using Hyperlane", - "version": "1.3.4", + "version": "1.3.5", "dependencies": { - "@hyperlane-xyz/core": "1.3.4", - "@hyperlane-xyz/sdk": "1.3.4", - "@hyperlane-xyz/utils": "1.3.4", + "@hyperlane-xyz/core": "1.3.5", + "@hyperlane-xyz/sdk": "1.3.5", + "@hyperlane-xyz/utils": "1.3.5", "@openzeppelin/contracts-upgradeable": "^4.8.0", "ethers": "^5.7.2" }, diff --git a/yarn.lock b/yarn.lock index 112a101d4..34b6570eb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1220,14 +1220,14 @@ __metadata: languageName: node linkType: hard -"@hyperlane-xyz/core@npm:1.3.4": - version: 1.3.4 - resolution: "@hyperlane-xyz/core@npm:1.3.4" +"@hyperlane-xyz/core@npm:1.3.5": + version: 1.3.5 + resolution: "@hyperlane-xyz/core@npm:1.3.5" dependencies: - "@hyperlane-xyz/utils": 1.3.4 + "@hyperlane-xyz/utils": 1.3.5 "@openzeppelin/contracts": ^4.8.0 "@openzeppelin/contracts-upgradeable": ^4.8.0 - checksum: aaea49039a37dc093fb785ba79480be28a41b62936dd2910ac25fbe07e8275ea6a1f8f477e0872c8d5880dede24e2fb5bce5f0153626a36113de18578e4032f7 + checksum: 726ef98bd4c4c9b85cfd744a58028efeacce7476b47c01dd90364ed62959dc4981661935f7718dbff2a97b809e5af1b40cc175f0307335e24d6b5c381b5879eb languageName: node linkType: hard @@ -1235,9 +1235,9 @@ __metadata: version: 0.0.0-use.local resolution: "@hyperlane-xyz/hyperlane-token@workspace:." dependencies: - "@hyperlane-xyz/core": 1.3.4 - "@hyperlane-xyz/sdk": 1.3.4 - "@hyperlane-xyz/utils": 1.3.4 + "@hyperlane-xyz/core": 1.3.5 + "@hyperlane-xyz/sdk": 1.3.5 + "@hyperlane-xyz/utils": 1.3.5 "@nomiclabs/hardhat-ethers": ^2.2.1 "@nomiclabs/hardhat-waffle": ^2.0.3 "@openzeppelin/contracts-upgradeable": ^4.8.0 @@ -1265,12 +1265,12 @@ __metadata: languageName: unknown linkType: soft -"@hyperlane-xyz/sdk@npm:1.3.4": - version: 1.3.4 - resolution: "@hyperlane-xyz/sdk@npm:1.3.4" +"@hyperlane-xyz/sdk@npm:1.3.5": + version: 1.3.5 + resolution: "@hyperlane-xyz/sdk@npm:1.3.5" dependencies: - "@hyperlane-xyz/core": 1.3.4 - "@hyperlane-xyz/utils": 1.3.4 + "@hyperlane-xyz/core": 1.3.5 + "@hyperlane-xyz/utils": 1.3.5 "@types/coingecko-api": ^1.0.10 "@types/debug": ^4.1.7 "@wagmi/chains": ^0.2.6 @@ -1279,16 +1279,16 @@ __metadata: debug: ^4.3.4 ethers: ^5.7.2 zod: ^3.21.2 - checksum: c881b51ea1e0aada4cf12a485a0b614ee0fbb6095941c63ec0ba7bc41a59b29e7a05498ab8ac3e89a50430b2973218dece6f2cbd09fd8697bead49be99b3663a + checksum: c770d3b60a83f25187ef1be44eeb69f88fd566f284bf5a44ee568ea364575c3ea50f23c78f7611d04d63ab86c6dcb62c7b2b844ad655652b5c25476b4ce5d7e1 languageName: node linkType: hard -"@hyperlane-xyz/utils@npm:1.3.4": - version: 1.3.4 - resolution: "@hyperlane-xyz/utils@npm:1.3.4" +"@hyperlane-xyz/utils@npm:1.3.5": + version: 1.3.5 + resolution: "@hyperlane-xyz/utils@npm:1.3.5" dependencies: ethers: ^5.7.2 - checksum: 7bed3465604dd3e20d31ebc2b4d101cfe6a934df9d0625a11e9fb5dfa39dbd009c1fc4ad269a32662d4c4a3abadacf5195f53462be021494ba15896036a53f7a + checksum: f043792aaea6d957e84e7115a1c763014d3ad284cd7b2c7adad56be08a60796daf2ec663edf01d1401b32d6c3ec78fd02dd9d8664f7e8cdc5bb0a8c6a2e40263 languageName: node linkType: hard