diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index e89330a6..00000000 --- a/.editorconfig +++ /dev/null @@ -1,13 +0,0 @@ -# Editor configuration, see https://editorconfig.org -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -insert_final_newline = true -trim_trailing_whitespace = true - -[*.md] -max_line_length = off -trim_trailing_whitespace = false diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 3008456a..00000000 --- a/.eslintignore +++ /dev/null @@ -1,13 +0,0 @@ -# don't ever lint node_modules -node_modules -# don't lint build output (make sure it's set to your correct build folder name) -dist -# don't lint nyc coverage output -coverage - -*.config.js - -cypress/ - -**/__tests__/ -**/plugins/**/*.js \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 00000000..6765562e --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,16 @@ +// eslint-disable-next-line no-undef +module.exports = { + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:react-hooks/recommended', + 'prettier', + ], + parser: '@typescript-eslint/parser', + parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': 'warn', + }, +} diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index d1b9f4c7..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1,182 +0,0 @@ -module.exports = { - env: { - browser: true, - node: true, - }, - root: true, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:react/recommended', - 'plugin:prettier/recommended', - ], - parser: '@typescript-eslint/parser', - overrides: [ - { - files: ['*.ts', '*.tsx'], - parserOptions: { - project: ['./tsconfig.json'], - }, - }, - ], - plugins: [ - '@typescript-eslint', - 'eslint-plugin-import', - 'eslint-plugin-jsdoc', - 'eslint-plugin-react', - 'jsdoc', - 'prettier', - 'react-hooks', - ], - settings: { - react: { - version: 'detect', - }, - }, - rules: { - // prettier rules - 'prettier/prettier': 'error', - // @typescript-eslint rules - '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/explicit-member-accessibility': [ - 'off', - { - accessibility: 'explicit', - }, - ], - '@typescript-eslint/member-delimiter-style': [ - 'error', - { - multiline: { - delimiter: 'semi', - requireLast: true, - }, - singleline: { - delimiter: 'semi', - requireLast: false, - }, - }, - ], - '@typescript-eslint/no-unused-expressions': 'error', - '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], - '@typescript-eslint/prefer-for-of': 'error', - '@typescript-eslint/prefer-function-type': 'error', - '@typescript-eslint/triple-slash-reference': [ - 'error', - { - path: 'always', - types: 'prefer-import', - lib: 'always', - }, - ], - '@typescript-eslint/no-non-null-assertion': 'off', - // eslint-plugin-react, react-hooks rules - 'react/react-in-jsx-scope': 'off', - 'react-hooks/rules-of-hooks': 'error', - 'react-hooks/exhaustive-deps': 'warn', - // react - 'react/display-name': 'off', - 'react/prop-types': 'off', - // eslint common rules - curly: 'error', - 'arrow-parens': ['error', 'always'], - 'comma-dangle': [ - 'error', - { - arrays: 'always-multiline', - functions: 'never', - objects: 'always-multiline', - imports: 'always-multiline', - exports: 'always-multiline', - }, - ], - complexity: [ - 'error', - { - max: 5, - }, - ], - eqeqeq: ['error', 'smart'], - 'guard-for-in': 'error', - 'id-denylist': [ - 'error', - 'any', - 'Number', - 'number', - 'String', - 'string', - 'Boolean', - 'boolean', - 'Undefined', - 'undefined', - ], - 'import/no-deprecated': 'warn', - 'import/order': 'error', - 'jsdoc/check-alignment': 'error', - 'jsdoc/check-indentation': 'error', - 'jsdoc/newline-after-description': 'error', - 'jsdoc/no-types': 'error', - 'max-len': [ - 'warn', - { - code: 120, - ignoreComments: true, - ignoreTrailingComments: true, - ignoreUrls: true, - ignoreStrings: true, - ignoreTemplateLiterals: true, - ignoreRegExpLiterals: true, - }, - ], - 'newline-per-chained-call': 'off', - 'no-bitwise': 'error', - 'no-caller': 'error', - 'no-eval': 'error', - 'no-invalid-this': 'error', - 'no-magic-numbers': [ - 'error', - { - ignore: [0, 1, -1, 10, 100], - }, - ], - 'no-new-wrappers': 'error', - 'no-shadow': 'off', - 'no-throw-literal': 'error', - 'no-unused-expressions': 'error', - 'no-unused-vars': ['error', { argsIgnorePattern: '^_' }], - 'no-var': 'error', - 'object-shorthand': 'error', - 'one-var': ['error', 'never'], - 'padded-blocks': [ - 'off', - { - blocks: 'never', - }, - { - allowSingleLineBlocks: true, - }, - ], - 'prefer-const': 'error', - 'quote-props': ['error', 'as-needed'], - quotes: ['error', 'single', { allowTemplateLiterals: true }], - radix: 'error', - 'react/jsx-curly-spacing': 'off', - 'react/jsx-equals-spacing': 'off', - 'react/jsx-tag-spacing': [ - 'off', - { - afterOpening: 'allow', - closingSlash: 'allow', - }, - ], - 'react/jsx-wrap-multilines': 'off', - semi: 'off', - 'spaced-comment': [ - 'error', - 'always', - { - markers: ['/'], - }, - ], - }, -}; diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3aff1143..deb44e73 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/setup-node@v2 with: - node-version: '14' + node-version: '16' - name: Get yarn cache directory path id: yarn-cache-dir-path @@ -35,8 +35,8 @@ jobs: - name: Lint script run: yarn lint - - name: Lint style - run: yarn stylelint + # - name: Lint style + # run: yarn stylelint - name: Test build run: yarn build diff --git a/.github/workflows/deploy-dev.yml b/.github/workflows/deploy-dev.yml index b1f62f30..32b2bb4f 100644 --- a/.github/workflows/deploy-dev.yml +++ b/.github/workflows/deploy-dev.yml @@ -25,12 +25,12 @@ jobs: run: yarn install - name: Build - run: yarn build:dev + run: yarn build - name: Prepare Project Config run: | + mv dist build mv vercel.json build/ - mv faucet/* build/ - uses: ./.github/actions/smart-vercel name: Deploy to Vercel diff --git a/.github/workflows/deploy-prd.yml b/.github/workflows/deploy-prd.yml index 3bd60654..9709a7b5 100644 --- a/.github/workflows/deploy-prd.yml +++ b/.github/workflows/deploy-prd.yml @@ -31,8 +31,8 @@ jobs: - name: Prepare Project Config run: | + mv dist build mv vercel.json build/ - mv faucet/* build/ - uses: ./.github/actions/smart-vercel name: Deploy to Vercel diff --git a/.github/workflows/deploy-stg.yml b/.github/workflows/deploy-stg.yml index 0ab46276..b2685592 100644 --- a/.github/workflows/deploy-stg.yml +++ b/.github/workflows/deploy-stg.yml @@ -30,8 +30,8 @@ jobs: - name: Prepare Project Config run: | + mv dist build mv vercel.json build/ - mv faucet/* build/ - uses: ./.github/actions/smart-vercel name: Deploy to Vercel diff --git a/.gitignore b/.gitignore index d3ff23b0..a547bf36 100644 --- a/.gitignore +++ b/.gitignore @@ -1,28 +1,24 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage -/plugins/theme.css - -# production -/build - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - +# Logs +logs +*.log npm-debug.log* yarn-debug.log* yarn-error.log* +pnpm-debug.log* +lerna-debug.log* -.vscode -.eslintcache +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json .idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.husky/.gitignore b/.husky/.gitignore deleted file mode 100644 index 31354ec1..00000000 --- a/.husky/.gitignore +++ /dev/null @@ -1 +0,0 @@ -_ diff --git a/.husky/commit-msg b/.husky/commit-msg deleted file mode 100755 index b5676766..00000000 --- a/.husky/commit-msg +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env sh -. "$(dirname -- "$0")/_/husky.sh" - -npx --no -- commitlint --edit "$1" diff --git a/.lintstagedrc.json b/.lintstagedrc.json new file mode 100644 index 00000000..f8f95f0f --- /dev/null +++ b/.lintstagedrc.json @@ -0,0 +1,4 @@ +{ + "./src/**/*.{ts,tsx}": ["eslint --fix", "prettier --write"], + "./src/**/*.css": ["prettier --write"] +} diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 7cc5f80e..00000000 --- a/.prettierignore +++ /dev/null @@ -1,4 +0,0 @@ -cypress/plugins/ -cypress/pages/ -cypress/extensions/ -plugins/ \ No newline at end of file diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 4c715d8e..00000000 --- a/.prettierrc +++ /dev/null @@ -1,9 +0,0 @@ -{ - "singleQuote": true, - "trailingComma": "es5", - "tabWidth": 2, - "printWidth": 120, - "endOfLine": "lf", - "useTabs": false, - "bracketSpacing": true -} diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 00000000..e9a99175 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,4 @@ +{ + "printWidth": 120, + "plugins": ["prettier-plugin-tailwindcss"] +} diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 764b8a91..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,30 +0,0 @@ -## [2.1.6](https://github.com/darwinia-network/apps/compare/v2.1.5...v2.1.6) (2022-04-16) - -### Bug Fixes - -- destination setup ([#115](https://github.com/darwinia-network/apps/issues/115)) ([19741fb](https://github.com/darwinia-network/apps/commit/19741fb72c0e0a1a55bedc5d29b67be8dcbf7fd5)) -- kton max transferrable ([#110](https://github.com/darwinia-network/apps/issues/110)) ([1ea2717](https://github.com/darwinia-network/apps/commit/1ea271777d49221779497dbe489969e5797fafae)) -- Rebond and unbond available and max check ([#112](https://github.com/darwinia-network/apps/issues/112)) ([8c073c1](https://github.com/darwinia-network/apps/commit/8c073c165eb2a7d362b886c193d65ace84e6ab42)) -- subscan hash link ([#113](https://github.com/darwinia-network/apps/issues/113)) ([2c00673](https://github.com/darwinia-network/apps/commit/2c006730a032a7885f16715b3cb5fc8e4ae8da4d)) -- tx success status add subscan link ([#114](https://github.com/darwinia-network/apps/issues/114)) ([b5a4048](https://github.com/darwinia-network/apps/commit/b5a404878369e7e4d2d750399ba11067e36e6927)) - -## [2.1.5](https://github.com/darwinia-network/apps/compare/v2.1.4...v2.1.5) (2022-04-08) - -### Bug Fixes - -- catch error when set validator ([#107](https://github.com/darwinia-network/apps/issues/107)) ([ccb3e42](https://github.com/darwinia-network/apps/commit/ccb3e423aca8049f4b81910f49f9e5b2723d387b)) -- keep selected account when switch network ([#105](https://github.com/darwinia-network/apps/issues/105)) ([820fdbd](https://github.com/darwinia-network/apps/commit/820fdbd288d7e0e2f8a11e6356c141a4f6ebc39c)) -- wrong stop nominating translation ([#106](https://github.com/darwinia-network/apps/issues/106)) ([1066424](https://github.com/darwinia-network/apps/commit/106642419a28065e1b495bc81a2057a32d7a448d)) - -### Features - -- account detail copyable ([#104](https://github.com/darwinia-network/apps/issues/104)) ([c2d1b5c](https://github.com/darwinia-network/apps/commit/c2d1b5c3533930604e1e8e3d9799fcf6f690e21d)) -- can select an account to sign claim reward tx ([b643a9a](https://github.com/darwinia-network/apps/commit/b643a9ab6acbe344364e2533bb91c8ebadd60a23)) - -## [2.0.6](https://github.com/darwinia-network/apps/compare/v2.0.5...v2.0.6) (2022-03-09) - -### Bug Fixes - -- **#22:** crab rpc switch to onfinality ([#30](https://github.com/darwinia-network/apps/issues/30)) ([ea00d6a](https://github.com/darwinia-network/apps/commit/ea00d6a2dd326b1c43b4bdb5ec359729b635c2b3)), closes [#22](https://github.com/darwinia-network/apps/issues/22) -- **#26:** app broken if no account created ([#32](https://github.com/darwinia-network/apps/issues/32)) ([d981c91](https://github.com/darwinia-network/apps/commit/d981c91005a8798387048c2c54e00dc3370ca30c)), closes [#26](https://github.com/darwinia-network/apps/issues/26) -- some issue and rename PrettyAmount component attribute ([#29](https://github.com/darwinia-network/apps/issues/29)) ([5abe3ae](https://github.com/darwinia-network/apps/commit/5abe3aee8fe3527575b0252d0b1dc6f8df5f92ef)) diff --git a/README-Zh.md b/README-Zh.md deleted file mode 100644 index da69aabd..00000000 --- a/README-Zh.md +++ /dev/null @@ -1,15 +0,0 @@ -# Darwinia Apps - -## Local Dev - -1. `git clone https://github.com/darwinia-network/apps.git` -2. `cd apps` -3. `yarn && yarn start` - -## How to add your portal - -1. Fork 这个仓库 -2. 添加你的项目信息到 `apps/src/pages/Portal.tsx` 文件中的 `portalData` 数组中(请从数组末尾添加) -3. 翻译信息可以在 `apps/public/locales` 目录下的文件中编辑 -4. 请把 logo 文件放到 `apps/public/image/portal/` 文件夹下 -5. 然后提交一个 pr,我们会尽快进行 review diff --git a/README.md b/README.md index a82fcc37..6aa57e53 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,12 @@ 1. `git clone https://github.com/darwinia-network/apps.git` 2. `cd apps` -3. `yarn && yarn start` +3. `yarn && yarn dev` ## How to add your portal 1. Fork this repo -2. Add your portal info to the `portalData` array in `apps/src/pages/Portal.tsx` (Please add from the end of the array) -3. Translations can be edited in files in the `apps/public/locales` directory -4. Please put the logo file in the `apps/public/image/portal/` folder -5. Then submit a pr, we will review it as soon as possible +2. Add your portal info to the `portals` array in [src/config/portals.ts](./src/config/portals.ts) (Please select up to `3` tags) +3. Translations can be edited in files in the [public/locales](./public//locales/) directory +4. Please put the logo file in the [src/assets/portals](./src//assets/portals/) folder +5. Then submit a pr to the `master` branch of our repo, we will review it as soon as possible diff --git a/base.tsconfig.json b/base.tsconfig.json deleted file mode 100644 index 8ebc617f..00000000 --- a/base.tsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "@darwinia/lints/tsconfig", - "compilerOptions": { - "baseUrl": ".", - "paths": { - "@polkadot/api-augment": ["./node_modules/@darwinia/api-augment/darwinia/index.d.ts"], - "@polkadot/types-augment": ["./node_modules/@darwinia/types/interfaces/augment-types.d.ts"], - "@polkadot/rpc-augment": ["./node_modules/@darwinia/rpc-augment/darwinia/jsonrpc.d.ts"], - "@poladot/types/lookup": ["./node_modules/@darwinia/types-augment/lookup/darwinia/types-lookup.d.ts"] - } - } -} diff --git a/commitlint.config.js b/commitlint.config.js deleted file mode 100644 index c34aa79d..00000000 --- a/commitlint.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extends: ['@commitlint/config-conventional'] -}; diff --git a/craco.config.js b/craco.config.js deleted file mode 100644 index b41651bc..00000000 --- a/craco.config.js +++ /dev/null @@ -1,76 +0,0 @@ -const AntDesignThemePlugin = require('./plugins/antd-theme-plugin'); -const path = require('path'); -const antdVarsPath = './src/theme/antd/vars.less'; -const CracoAntDesignPlugin = require('craco-antd'); -const { getLessVars } = require('./plugins/ant-theme-generator'); -const themeVariables = getLessVars(path.join(__dirname, antdVarsPath)); -const defaultVars = getLessVars(path.join(__dirname, './node_modules/antd/lib/style/themes/default.less')); -const darkVars = { - ...getLessVars(path.join(__dirname, './node_modules/antd/lib/style/themes/dark.less')), - '@primary-color': defaultVars['@primary-color'], - '@picker-basic-cell-active-with-range-color': 'darken(@primary-color, 20%)', -}; -const lightVars = { - ...getLessVars(path.join(__dirname, './node_modules/antd/lib/style/themes/compact.less')), - '@primary-color': defaultVars['@primary-color'], -}; - -// just for dev purpose, use to compare vars in different theme. -// fs.writeFileSync('./ant-theme-vars/dark.json', JSON.stringify(darkVars)); -// fs.writeFileSync('./ant-theme-vars/light.json', JSON.stringify(lightVars)); -// fs.writeFileSync('./ant-theme-vars/theme.json', JSON.stringify(themeVariables)); - -const options = { - antDir: path.join(__dirname, './node_modules/antd'), - stylesDir: path.join(__dirname, './src'), - varFile: path.join(__dirname, antdVarsPath), - themeVariables: Array.from( - new Set([...Object.keys(darkVars), ...Object.keys(lightVars), ...Object.keys(themeVariables)]) - ), - indexFileName: './public/index.html', - generateOnce: false, - publicPath: '', - customColorRegexArray: [], - outputFilePath: './plugins/theme.css', -}; -const themePlugin = new AntDesignThemePlugin(options); - -module.exports = { - style: { - postcss: { - plugins: [require('tailwindcss'), require('autoprefixer')], - }, - }, - plugins: [ - { - plugin: CracoAntDesignPlugin, - options: { - customizeThemeLessPath: path.join(__dirname, 'src/theme/antd/vars.less'), - }, - }, - ], - babel: { - plugins: [['@babel/plugin-proposal-class-properties', { loose: true }]], - }, - webpack: { - plugins: { - add: [themePlugin], - }, - // add mjs compatibility configuration - configure: (config) => { - config.module.rules.push({ - test: /\.mjs$/, - include: /node_modules/, - type: 'javascript/auto', - }); - - config.module.rules.push({ - test: /\.js$/, - include: /node_modules/, - loader: require.resolve('@open-wc/webpack-import-meta-loader'), - }); - - return config; - }, - }, -}; diff --git a/faucet/.gitignore b/faucet/.gitignore deleted file mode 100644 index 5103fd8b..00000000 --- a/faucet/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -**/*.DS_Store -target -.idea - -/Cargo.lock - -scripts/*.local.sh - -package-lock.json -node_modules -*.safe.json - - -.vercel diff --git a/faucet/api/handler.ts b/faucet/api/handler.ts deleted file mode 100644 index c3cac26d..00000000 --- a/faucet/api/handler.ts +++ /dev/null @@ -1,139 +0,0 @@ -import type { VercelRequest, VercelResponse } from '@vercel/node'; -import { BN } from '@polkadot/util'; -import { Keyring, encodeAddress } from '@polkadot/keyring'; -import type { u16 } from '@polkadot/types'; -import type { RuntimeVersion, AccountInfo } from '@polkadot/types/interfaces'; -import { ApiPromise, WsProvider } from '@polkadot/api'; -import { millisecondsInHour } from 'date-fns'; -import qs from 'qs'; - -import { isValidAddressPolkadotAddress, responseEnd } from './utils'; -import { ResponseCode, ThrottleData, TransferData, Config } from './types'; -import { redis } from './redis'; - -// eslint-disable-next-line complexity -export async function handler(req: VercelRequest, res: VercelResponse, config: Config) { - res.setHeader('content-type', 'application/json'); - - try { - const { client, error } = redis(); - if (!client || error) { - return responseEnd(res, { - code: ResponseCode.FAILED_OTHER, - message: error?.message || 'Failed to connect redis', - data: null, - }); - } - - const checkAddress = req.query.address as string; - const transferTo = qs.parse(req.body).address as string; - - if (!isValidAddressPolkadotAddress(checkAddress || transferTo)) { - return responseEnd(res, { - code: ResponseCode.FAILED_PARAMS, - message: 'Invalid address parameter', - data: null, - }); - } - - const provider = new WsProvider(config.endpoint); - const api = await ApiPromise.create({ provider }); - - const ss58Prefix = api.consts.system.ss58Prefix as u16; - const address = encodeAddress(checkAddress || transferTo, ss58Prefix.toNumber()); - - const { specName } = api.consts.system.version as RuntimeVersion; - const throttleKey = `${specName.toString().toLowerCase()}-${address}`; - - const throttleRecord = await client.get(throttleKey); - if (throttleRecord) { - const lastTime = Number(throttleRecord); - const { throttleHours } = config; - - if (Date.now() - lastTime <= throttleHours * millisecondsInHour) { - return responseEnd(res, { - code: ResponseCode.FAILED_THROTTLE, - message: `You can get it every ${config.throttleHours} hours`, - data: { lastTime, throttleHours }, - }); - } - } - - if (!config.seed) { - return responseEnd(res, { - code: ResponseCode.FAILED_OTHER, - message: 'Failed to get faucet pool', - data: null, - }); - } - - const keyring = new Keyring({ type: 'sr25519', ss58Format: ss58Prefix.toNumber() }); - const faucetAccount = keyring.addFromUri(config.seed); - const transferMount = new BN(config.transferMount); - - const { - data: { free }, - } = (await api.query.system.account(faucetAccount.address)) as AccountInfo; - if (free.lte(transferMount)) { - return responseEnd(res, { - code: ResponseCode.FAILED_INSUFFICIENT, - message: 'Faucet pool is insufficient', - data: null, - }); - } - - if (!transferTo) { - return responseEnd(res, { - code: ResponseCode.SUCCESS_PRECHECK, - message: 'Success', - data: null, - }); - } - - console.log( - `[${specName.toString()}] transfer ${transferMount.toString()} to ${transferTo} from ${faucetAccount.address}` - ); - - await api.tx.balances.transfer(transferTo, transferMount).signAndSend(faucetAccount, (result) => { - const txHash = result.txHash.toHex(); - - if (result.status.isFinalized || result.status.isInBlock) { - result.events - .filter(({ event: { section } }) => section === 'system') - .forEach(({ event: { method } }): void => { - if (method === 'ExtrinsicFailed') { - return responseEnd(res, { - code: ResponseCode.FAILED_EXTRINSIC, - message: 'Extrinsic failed', - data: { txHash }, - }); - } else if (method === 'ExtrinsicSuccess') { - const lastTime = Date.now(); - const { throttleHours } = config; - - client.set(throttleKey, lastTime); - return responseEnd(res, { - code: ResponseCode.SUCCESS_TRANSFER, - message: 'Success', - data: { txHash, lastTime, throttleHours }, - }); - } - }); - } else if (result.isError) { - return responseEnd(res, { - code: ResponseCode.FAILED_EXTRINSIC, - message: 'Extrinsic error', - data: { txHash }, - }); - } - }); - } catch (err) { - const error = err as Error; - - return responseEnd(res, { - code: ResponseCode.FAILED_OTHER, - message: error.message, - data: null, - }); - } -} diff --git a/faucet/api/pangolin/config.ts b/faucet/api/pangolin/config.ts deleted file mode 100644 index 01cbbbd7..00000000 --- a/faucet/api/pangolin/config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { Config } from '../types'; - -/* eslint-disable no-magic-numbers */ -export const config: Config = { - endpoint: 'wss://pangolin-rpc.darwinia.network', - throttleHours: 12, // 12 hours - transferMount: 100000000000, // 100 RING -}; diff --git a/faucet/api/pangolin/index.ts b/faucet/api/pangolin/index.ts deleted file mode 100644 index 3dce4210..00000000 --- a/faucet/api/pangolin/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { VercelRequest, VercelResponse } from '@vercel/node'; - -import { handler } from '../handler'; -import { config } from './config'; - -export default async function (req: VercelRequest, res: VercelResponse) { - return await handler(req, res, { ...config, seed: process.env.PANGOLIN_SEED }); -} diff --git a/faucet/api/pangoro/config.ts b/faucet/api/pangoro/config.ts deleted file mode 100644 index cfe15bb5..00000000 --- a/faucet/api/pangoro/config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { Config } from '../types'; - -/* eslint-disable no-magic-numbers */ -export const config: Config = { - endpoint: 'wss://pangoro-rpc.darwinia.network', - throttleHours: 12, // 12 hours - transferMount: 100000000000, // 100 RING -}; diff --git a/faucet/api/pangoro/index.ts b/faucet/api/pangoro/index.ts deleted file mode 100644 index f9131646..00000000 --- a/faucet/api/pangoro/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { VercelRequest, VercelResponse } from '@vercel/node'; - -import { handler } from '../handler'; -import { config } from './config'; - -export default async function (req: VercelRequest, res: VercelResponse) { - return await handler(req, res, { ...config, seed: process.env.PANGORO_SEED }); -} diff --git a/faucet/api/redis.ts b/faucet/api/redis.ts deleted file mode 100644 index ffc588f8..00000000 --- a/faucet/api/redis.ts +++ /dev/null @@ -1,22 +0,0 @@ -import Redis from 'ioredis'; - -let _redis: Redis | null = null; - -export function redis(): { client: Redis | null; error: Error | null } { - if (_redis) { - return { client: _redis, error: null }; - } - - if (!process.env.REDIS_CONNECT_URL) { - return { client: null, error: new Error('Failed to get cache client url') }; - } - - try { - _redis = new Redis(process.env.REDIS_CONNECT_URL); - return { client: _redis, error: null }; - } catch (err) { - const error = err as Error; - console.error('Failed connect redis: ' + error.message); - return { client: null, error }; - } -} diff --git a/faucet/api/types.ts b/faucet/api/types.ts deleted file mode 100644 index 589ee312..00000000 --- a/faucet/api/types.ts +++ /dev/null @@ -1,31 +0,0 @@ -export enum ResponseCode { - SUCCESS_TRANSFER = 1000, // eslint-disable-line no-magic-numbers - SUCCESS_PRECHECK, - FAILED_THROTTLE, - FAILED_PARAMS, - FAILED_INSUFFICIENT, // faucet pool is insufficient balance - FAILED_EXTRINSIC, - FAILED_OTHER, -} - -export interface ResponseBody { - code: ResponseCode; - message: string; - data: T; -} - -export interface ThrottleData { - lastTime: number; // milliseconds - throttleHours: number; -} - -export interface TransferData { - txHash: string; -} - -export interface Config { - seed?: string; - endpoint: string; - throttleHours: number; - transferMount: number; -} diff --git a/faucet/api/utils.ts b/faucet/api/utils.ts deleted file mode 100644 index 845b3e3c..00000000 --- a/faucet/api/utils.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { hexToU8a, isHex } from '@polkadot/util'; -import { decodeAddress, encodeAddress } from '@polkadot/keyring'; -import type { VercelResponse } from '@vercel/node'; - -import { ResponseBody } from './types'; - -export const isValidAddressPolkadotAddress = (address?: string) => { - try { - encodeAddress(isHex(address) ? hexToU8a(address) : decodeAddress(address)); - - return true; - } catch (error) { - return false; - } -}; - -export const responseEnd = ( - res: VercelResponse, - body: ResponseBody, - statusCode = 200 // eslint-disable-line no-magic-numbers -) => { - res.statusCode = statusCode; - return res.end(JSON.stringify(body, null, 2)); // eslint-disable-line no-magic-numbers -}; diff --git a/faucet/package.json b/faucet/package.json deleted file mode 100644 index 76716149..00000000 --- a/faucet/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "faucet", - "version": "0.1.0", - "description": "Apps faucet project", - "private": true, - "author": "Darwinia ", - "dependencies": { - "date-fns": "^2.28.0" - }, - "scripts": { - "vercel": "vercel", - "start": "vercel dev", - "deploy": "vercel --prod" - }, - "devDependencies": { - "@polkadot/api": "7.11.1", - "@types/qs": "^6.9.7", - "@vercel/node": "^1.12.1", - "ioredis": "^5.2.0", - "qs": "^6.10.3", - "vercel": "^23.1.2" - } -} diff --git a/faucet/yarn.lock b/faucet/yarn.lock deleted file mode 100644 index bb63fec5..00000000 --- a/faucet/yarn.lock +++ /dev/null @@ -1,1375 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/runtime@^7.17.2", "@babel/runtime@^7.17.8": - version "7.17.8" - resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" - integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== - dependencies: - regenerator-runtime "^0.13.4" - -"@ioredis/commands@^1.1.1": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ioredis/commands/-/commands-1.2.0.tgz#6d61b3097470af1fdbbe622795b8921d42018e11" - integrity sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg== - -"@noble/hashes@1.0.0": - version "1.0.0" - resolved "https://registry.npmmirror.com/@noble/hashes/-/hashes-1.0.0.tgz#d5e38bfbdaba174805a4e649f13be9a9ed3351ae" - integrity sha512-DZVbtY62kc3kkBtMHqwCOfXrT/hnoORy5BJ4+HU1IR59X0KWAOqsfzQPcUl/lQLlG7qXbe/fZ3r/emxtAl+sqg== - -"@noble/secp256k1@1.5.5": - version "1.5.5" - resolved "https://registry.npmmirror.com/@noble/secp256k1/-/secp256k1-1.5.5.tgz#315ab5745509d1a8c8e90d0bdf59823ccf9bcfc3" - integrity sha512-sZ1W6gQzYnu45wPrWx8D3kwI2/U29VYTx9OjbDAd7jwRItJ0cSTMPRL/C8AWZFn9kWFLQGqEXVEE86w4Z8LpIQ== - -"@polkadot/api-augment@7.11.1": - version "7.11.1" - resolved "https://registry.npmmirror.com/@polkadot/api-augment/-/api-augment-7.11.1.tgz#9866afe3281ae8371c8c645e73e848bac1f6fcd3" - integrity sha512-CqtmRZsr7va45r/wnsH+NZMqPyUQv46fmiHxt5gq6NC4p0ziDEVVDDHLlABx5RhQzCvdiBAccZ/X8DyMCFFGEA== - dependencies: - "@babel/runtime" "^7.17.2" - "@polkadot/api-base" "7.11.1" - "@polkadot/rpc-augment" "7.11.1" - "@polkadot/types" "7.11.1" - "@polkadot/types-augment" "7.11.1" - "@polkadot/types-codec" "7.11.1" - "@polkadot/util" "^8.4.1" - -"@polkadot/api-base@7.11.1": - version "7.11.1" - resolved "https://registry.npmmirror.com/@polkadot/api-base/-/api-base-7.11.1.tgz#fb27a7c33808a8f6542b322ffb3c6702a9e15ea8" - integrity sha512-MATI9tm0x3rRlipLMevWzJ4cGvMyrUGyOfwjMg3Z67U7atZgZ93LzowjzDcvSgFVM14d1tBOVWBKkCKnk7C6Zg== - dependencies: - "@babel/runtime" "^7.17.2" - "@polkadot/rpc-core" "7.11.1" - "@polkadot/types" "7.11.1" - "@polkadot/util" "^8.4.1" - rxjs "^7.5.4" - -"@polkadot/api-derive@7.11.1": - version "7.11.1" - resolved "https://registry.npmmirror.com/@polkadot/api-derive/-/api-derive-7.11.1.tgz#ede6119577b08d6c94767551dc6ad17c6be64149" - integrity sha512-py7pqs5mLaKPNDvRZ7BcUC7obsbLIuzJT/kZFiGzJXmaObSzU2lJkGD7fV34QlpmGP+Bqb4KtlhtY+Tnq33C0w== - dependencies: - "@babel/runtime" "^7.17.2" - "@polkadot/api" "7.11.1" - "@polkadot/api-augment" "7.11.1" - "@polkadot/api-base" "7.11.1" - "@polkadot/rpc-core" "7.11.1" - "@polkadot/types" "7.11.1" - "@polkadot/types-codec" "7.11.1" - "@polkadot/util" "^8.4.1" - "@polkadot/util-crypto" "^8.4.1" - rxjs "^7.5.4" - -"@polkadot/api@7.11.1": - version "7.11.1" - resolved "https://registry.npmmirror.com/@polkadot/api/-/api-7.11.1.tgz#0aeb86319a14a9a2a071476e6a47ee3d6b8e116c" - integrity sha512-VTrhVuSJrWhIww1ofYPd7EhJd1UwKntfdPNRuy/abfb6GPzYCglKV6Sze3CsbI2KawC5oo1K7Ffrdf/lJy81kg== - dependencies: - "@babel/runtime" "^7.17.2" - "@polkadot/api-augment" "7.11.1" - "@polkadot/api-base" "7.11.1" - "@polkadot/api-derive" "7.11.1" - "@polkadot/keyring" "^8.4.1" - "@polkadot/rpc-augment" "7.11.1" - "@polkadot/rpc-core" "7.11.1" - "@polkadot/rpc-provider" "7.11.1" - "@polkadot/types" "7.11.1" - "@polkadot/types-augment" "7.11.1" - "@polkadot/types-codec" "7.11.1" - "@polkadot/types-create" "7.11.1" - "@polkadot/types-known" "7.11.1" - "@polkadot/util" "^8.4.1" - "@polkadot/util-crypto" "^8.4.1" - eventemitter3 "^4.0.7" - rxjs "^7.5.4" - -"@polkadot/keyring@^8.4.1": - version "8.6.1" - resolved "https://registry.npmmirror.com/@polkadot/keyring/-/keyring-8.6.1.tgz#ab1d4e31268317daabf7fe0d951254b770ba194c" - integrity sha512-Ra3L6JwMMnlnmpGIOanMT7XqWtqp2gXpGEmA6eE9bL9xUo6e3RPudFncYrWizUjzbYXnaO4bFExRcp2RIBuvWA== - dependencies: - "@babel/runtime" "^7.17.8" - "@polkadot/util" "8.6.1" - "@polkadot/util-crypto" "8.6.1" - -"@polkadot/networks@8.6.1", "@polkadot/networks@^8.4.1": - version "8.6.1" - resolved "https://registry.npmmirror.com/@polkadot/networks/-/networks-8.6.1.tgz#dd3f51a9f861ed9c81da8a87845fb1f152f55255" - integrity sha512-NG59Oc6KqbGbQiF6nb8uD16VVAgMFcAI5RVJWE5yN4dwh3eVdKemIezSii5Pc9sxBUP/SrBDf6KAI84TmsXUUA== - dependencies: - "@babel/runtime" "^7.17.8" - "@polkadot/util" "8.6.1" - "@substrate/ss58-registry" "^1.17.0" - -"@polkadot/rpc-augment@7.11.1": - version "7.11.1" - resolved "https://registry.npmmirror.com/@polkadot/rpc-augment/-/rpc-augment-7.11.1.tgz#c77bbdae20e3933ddd2d8eea243a215e35a6861f" - integrity sha512-cP/g6dM5Rmdeno+sOi/PBvAEycRoi/UI1MOKb0lVhlFJayw/uyGOhHtPKOnLh2fyDJ/q66HO3pu6aem3ORFwhQ== - dependencies: - "@babel/runtime" "^7.17.2" - "@polkadot/rpc-core" "7.11.1" - "@polkadot/types" "7.11.1" - "@polkadot/types-codec" "7.11.1" - "@polkadot/util" "^8.4.1" - -"@polkadot/rpc-core@7.11.1": - version "7.11.1" - resolved "https://registry.npmmirror.com/@polkadot/rpc-core/-/rpc-core-7.11.1.tgz#079f2c70e09015d01bfec92f06993a5538399072" - integrity sha512-Bp71BwOSPT4/xmYWn9e9/ikGKYYmltbceVwa0MJiuKI0Xd5YntjtJVov17Fqlt+eddkLGt74750paykvHDJWWQ== - dependencies: - "@babel/runtime" "^7.17.2" - "@polkadot/rpc-augment" "7.11.1" - "@polkadot/rpc-provider" "7.11.1" - "@polkadot/types" "7.11.1" - "@polkadot/util" "^8.4.1" - rxjs "^7.5.4" - -"@polkadot/rpc-provider@7.11.1": - version "7.11.1" - resolved "https://registry.npmmirror.com/@polkadot/rpc-provider/-/rpc-provider-7.11.1.tgz#f0cf70c4fa3b69fb96aafbed07f8d5725db9cca8" - integrity sha512-07Mg+r9swMjNISDK8ntDI5gFZU8rtHeoB27/qQwZzcWugogva8rNhaInBikZPKlF7yxM6l2VMaQnOziKUNsnRw== - dependencies: - "@babel/runtime" "^7.17.2" - "@polkadot/keyring" "^8.4.1" - "@polkadot/types" "7.11.1" - "@polkadot/types-support" "7.11.1" - "@polkadot/util" "^8.4.1" - "@polkadot/util-crypto" "^8.4.1" - "@polkadot/x-fetch" "^8.4.1" - "@polkadot/x-global" "^8.4.1" - "@polkadot/x-ws" "^8.4.1" - eventemitter3 "^4.0.7" - mock-socket "^9.1.2" - nock "^13.2.4" - -"@polkadot/types-augment@7.11.1": - version "7.11.1" - resolved "https://registry.npmmirror.com/@polkadot/types-augment/-/types-augment-7.11.1.tgz#2c56779dbd1cff509609db912fcc2575e0983828" - integrity sha512-jCnZ/eMkLaqSKl5q4JwBxslhAaJSSNHt04reZRs1i2jlC2UVgiFN1Rr5GJmHYAwDPoFcge/rAm6bckfhXUIdOw== - dependencies: - "@babel/runtime" "^7.17.2" - "@polkadot/types" "7.11.1" - "@polkadot/types-codec" "7.11.1" - "@polkadot/util" "^8.4.1" - -"@polkadot/types-codec@7.11.1": - version "7.11.1" - resolved "https://registry.npmmirror.com/@polkadot/types-codec/-/types-codec-7.11.1.tgz#4cfcd8ab81f6ba510a984c08eb11861b33acab38" - integrity sha512-rDM/FYcnou2Chy+urd7U41lcjM6jWUEUydyP9NuTOSAamCGtH0eKw52GURKTsKTT5r8wJdPMKv/yNxs1i+l5Lw== - dependencies: - "@babel/runtime" "^7.17.2" - "@polkadot/util" "^8.4.1" - -"@polkadot/types-create@7.11.1": - version "7.11.1" - resolved "https://registry.npmmirror.com/@polkadot/types-create/-/types-create-7.11.1.tgz#878b5bdf278ca9456195980aa91957979a4e9342" - integrity sha512-nVYaJC/IDsM4WM9WGjAI7qQ9scPSlBqqzwqLdvXCJeq3trOTt68x39DD0zp0hzJ/7MeXjPToDDWjpAF0B9mWSQ== - dependencies: - "@babel/runtime" "^7.17.2" - "@polkadot/types-codec" "7.11.1" - "@polkadot/util" "^8.4.1" - -"@polkadot/types-known@7.11.1": - version "7.11.1" - resolved "https://registry.npmmirror.com/@polkadot/types-known/-/types-known-7.11.1.tgz#55c42aae31813360ea54e438a761b0c48392f148" - integrity sha512-BBqQxG7I+wUjeLby1u5p9aSoZ5Vy0oCwmm/aKN64JH9vBEz1OOA0pRdcCooGCG/884Wb5pRpacWTepQMQkOTLw== - dependencies: - "@babel/runtime" "^7.17.2" - "@polkadot/networks" "^8.4.1" - "@polkadot/types" "7.11.1" - "@polkadot/types-codec" "7.11.1" - "@polkadot/types-create" "7.11.1" - "@polkadot/util" "^8.4.1" - -"@polkadot/types-support@7.11.1": - version "7.11.1" - resolved "https://registry.npmmirror.com/@polkadot/types-support/-/types-support-7.11.1.tgz#509d942c8a9c0670a20b77fc1c98c97b7151b75e" - integrity sha512-pJmDUHK7DOO6mjpntxq9Lq0tjvqwc15FrrrNbuENgRiOueRqcAlzv+V80wdzoIBUwINgKphtpzu+rdQIYsVVQg== - dependencies: - "@babel/runtime" "^7.17.2" - "@polkadot/util" "^8.4.1" - -"@polkadot/types@7.11.1": - version "7.11.1" - resolved "https://registry.npmmirror.com/@polkadot/types/-/types-7.11.1.tgz#aefdd0efa98b43ebf516947a845e12fc5d63e9ae" - integrity sha512-jxVrxIbsSfH9xK1Q3vaCfJmbkm0OlvoXz0GxdP5RJ7dQnxlNYWQUXanFkKebbRL8gSEs1wSRVccil/TSH65Nvg== - dependencies: - "@babel/runtime" "^7.17.2" - "@polkadot/keyring" "^8.4.1" - "@polkadot/types-augment" "7.11.1" - "@polkadot/types-codec" "7.11.1" - "@polkadot/types-create" "7.11.1" - "@polkadot/util" "^8.4.1" - "@polkadot/util-crypto" "^8.4.1" - rxjs "^7.5.4" - -"@polkadot/util-crypto@8.6.1", "@polkadot/util-crypto@^8.4.1": - version "8.6.1" - resolved "https://registry.npmmirror.com/@polkadot/util-crypto/-/util-crypto-8.6.1.tgz#b030598931c061b3ef7584524dab3dab3e97b1cd" - integrity sha512-+eAKZM7aUIPKLuVl8C2UYauZ0kza0Lq3n3TkVS32bjXmS/Lo+qeMqj8jBSLD8a5BApDUiCL1j+L9cA/wq8pvIQ== - dependencies: - "@babel/runtime" "^7.17.8" - "@noble/hashes" "1.0.0" - "@noble/secp256k1" "1.5.5" - "@polkadot/networks" "8.6.1" - "@polkadot/util" "8.6.1" - "@polkadot/wasm-crypto" "^5.0.1" - "@polkadot/x-bigint" "8.6.1" - "@polkadot/x-randomvalues" "8.6.1" - "@scure/base" "1.0.0" - ed2curve "^0.3.0" - tweetnacl "^1.0.3" - -"@polkadot/util@8.6.1", "@polkadot/util@^8.4.1": - version "8.6.1" - resolved "https://registry.npmmirror.com/@polkadot/util/-/util-8.6.1.tgz#48216218ed643401e66512579f95223cac15037b" - integrity sha512-/I0DDo/32wUH6A5qC7SPSSpzHfgZUaRkmWIzovCsIddY389S+C7lI1Ow/A0vhr1bHWrI0L5sV5IJfNpUOQfaSQ== - dependencies: - "@babel/runtime" "^7.17.8" - "@polkadot/x-bigint" "8.6.1" - "@polkadot/x-global" "8.6.1" - "@polkadot/x-textdecoder" "8.6.1" - "@polkadot/x-textencoder" "8.6.1" - "@types/bn.js" "^5.1.0" - bn.js "^5.2.0" - ip-regex "^4.3.0" - -"@polkadot/wasm-crypto-asmjs@^5.0.1": - version "5.0.1" - resolved "https://registry.npmmirror.com/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-5.0.1.tgz#0b9f5018c6f3b8f7ba1a6084ac5fc0c9dc951423" - integrity sha512-AskQIC/Eu7kD8E2lV2I0nx5dCOJc+V5zitzDsGPHvIx9mtm87rjSHbR/pGNu2NwVxJhVMEoFjGxKA7KSwrefhA== - dependencies: - "@babel/runtime" "^7.17.8" - -"@polkadot/wasm-crypto-wasm@^5.0.1": - version "5.0.1" - resolved "https://registry.npmmirror.com/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-5.0.1.tgz#9c011e8c6c28b9cce2994cdd5743f8720a912fff" - integrity sha512-X0najgKPvsB3Jmx1+4EuS1c9ra9YN9m+Eo7CpQmRP3LLdcV0AfRd7PT4B8po5lZ2/a3ftTdkxOxnsqdvjb5qwA== - dependencies: - "@babel/runtime" "^7.17.8" - -"@polkadot/wasm-crypto@^5.0.1": - version "5.0.1" - resolved "https://registry.npmmirror.com/@polkadot/wasm-crypto/-/wasm-crypto-5.0.1.tgz#e9e95b1147db341e2765f34639ea686be2d2cb30" - integrity sha512-/FzetOeC4rPKt5LO3CHPxtbsk+ps9BE19KkbfoRYOphPNgRd/Rq9in0BuGwsCWayfDGdhkYq+wxixPRZQ5A8LQ== - dependencies: - "@babel/runtime" "^7.17.8" - "@polkadot/wasm-crypto-asmjs" "^5.0.1" - "@polkadot/wasm-crypto-wasm" "^5.0.1" - -"@polkadot/x-bigint@8.6.1": - version "8.6.1" - resolved "https://registry.npmmirror.com/@polkadot/x-bigint/-/x-bigint-8.6.1.tgz#0d404307faab90f348d97dd181e0275067bf77e9" - integrity sha512-k8FiamE5t8WSSVGaFTMdpkyCwvpq8rq0FfGq82bZabkzmEps1lIj8h5nNwwsPHleO55LtVIMYvZZ4VR3fth+xA== - dependencies: - "@babel/runtime" "^7.17.8" - "@polkadot/x-global" "8.6.1" - -"@polkadot/x-fetch@^8.4.1": - version "8.6.1" - resolved "https://registry.npmmirror.com/@polkadot/x-fetch/-/x-fetch-8.6.1.tgz#c664801082ec129207b8b673b0346bf4e561f446" - integrity sha512-NBZi4MMfeach/tUFQCG0VXGsdbGaFsCWGabalYAeHRweERmh0kE0r6AECdp3YSQJTl7eVTiMX7gr1qZLUDgfcg== - dependencies: - "@babel/runtime" "^7.17.8" - "@polkadot/x-global" "8.6.1" - "@types/node-fetch" "^2.6.1" - node-fetch "^2.6.7" - -"@polkadot/x-global@8.6.1", "@polkadot/x-global@^8.4.1": - version "8.6.1" - resolved "https://registry.npmmirror.com/@polkadot/x-global/-/x-global-8.6.1.tgz#0e7ba5238c20e0ed6c75b8e9b916cb8ca2c950aa" - integrity sha512-08ePLMEh8MVNk+jvl82L/CRwfIutwbpziC1XhgM+/iJShac7kEqI1ZL6F91sHp6+mFLm8OtyL4NJuPxglchppQ== - dependencies: - "@babel/runtime" "^7.17.8" - -"@polkadot/x-randomvalues@8.6.1": - version "8.6.1" - resolved "https://registry.npmmirror.com/@polkadot/x-randomvalues/-/x-randomvalues-8.6.1.tgz#526bf55b3eb504efd4f8ed4c8d6dead33b2db0c2" - integrity sha512-F0mQ4D8IOMKftvZIaAPgthhg93C/wfjfgRvaxg8dsGz34+xBNGopHvzG0o7AbBmI2DBgzXd1nQrokYTwv7OfhA== - dependencies: - "@babel/runtime" "^7.17.8" - "@polkadot/x-global" "8.6.1" - -"@polkadot/x-textdecoder@8.6.1": - version "8.6.1" - resolved "https://registry.npmmirror.com/@polkadot/x-textdecoder/-/x-textdecoder-8.6.1.tgz#2bddda36d541d491b608098aad7c844fed384685" - integrity sha512-AIVZRpujjlzSqr51XW0JnX9O3K753R7YnPxseztHwqAREvY1HP7Jm9hDBk415qf8IcB2Ttm1fzpwphKu6/nTwA== - dependencies: - "@babel/runtime" "^7.17.8" - "@polkadot/x-global" "8.6.1" - -"@polkadot/x-textencoder@8.6.1": - version "8.6.1" - resolved "https://registry.npmmirror.com/@polkadot/x-textencoder/-/x-textencoder-8.6.1.tgz#d7f177194184784a78ca85b0a79f0f2684da9b38" - integrity sha512-16Poz8vpHgMDe7QeQ1J49P547okfWUO/CfHLVz9GRgz4SVFPqFGmZ2bfQlWI9TfaYlyw7MjGW5Qq3VijO2vBbw== - dependencies: - "@babel/runtime" "^7.17.8" - "@polkadot/x-global" "8.6.1" - -"@polkadot/x-ws@^8.4.1": - version "8.6.1" - resolved "https://registry.npmmirror.com/@polkadot/x-ws/-/x-ws-8.6.1.tgz#b5e22ac6ac7cf065b9d5f21656595e1eb816dada" - integrity sha512-h5XZxb5h0SEqdtEIYf7kAta0fnOgGVJ0nsxiqI/KKLso2HA1AsZLvj1t9eQbn1FIyFSgA50mlA++iJQNgX9kvA== - dependencies: - "@babel/runtime" "^7.17.8" - "@polkadot/x-global" "8.6.1" - "@types/websocket" "^1.0.5" - websocket "^1.0.34" - -"@scure/base@1.0.0": - version "1.0.0" - resolved "https://registry.npmmirror.com/@scure/base/-/base-1.0.0.tgz#109fb595021de285f05a7db6806f2f48296fcee7" - integrity sha512-gIVaYhUsy+9s58m/ETjSJVKHhKTBMmcRb9cEV5/5dwvfDlfORjKrFsDeDHWRrm6RjcPvCLZFwGJjAjLj1gg4HA== - -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.npmmirror.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== - -"@substrate/ss58-registry@^1.17.0": - version "1.17.0" - resolved "https://registry.npmmirror.com/@substrate/ss58-registry/-/ss58-registry-1.17.0.tgz#a6a50dbef67da0114aff7cdae7c6eec685c5983b" - integrity sha512-YdQOxCtEZLnYZFg/zSzfROYtvIs5+iLD7p/VHoll7AVEhrPAmxgF5ggMDB2Dass7dfwABVx7heATbPFNg95Q8w== - -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== - dependencies: - defer-to-connect "^1.0.1" - -"@types/bn.js@^5.1.0": - version "5.1.0" - resolved "https://registry.npmmirror.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" - integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== - dependencies: - "@types/node" "*" - -"@types/node-fetch@^2.6.1": - version "2.6.1" - resolved "https://registry.npmmirror.com/@types/node-fetch/-/node-fetch-2.6.1.tgz#8f127c50481db65886800ef496f20bbf15518975" - integrity sha512-oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - -"@types/node@*": - version "17.0.22" - resolved "https://registry.npmmirror.com/@types/node/-/node-17.0.22.tgz#38b6c4b9b2f3ed9f2e376cce42a298fb2375251e" - integrity sha512-8FwbVoG4fy+ykY86XCAclKZDORttqE5/s7dyWZKLXTdv3vRy5HozBEinG5IqhvPXXzIZEcTVbuHlQEI6iuwcmw== - -"@types/qs@^6.9.7": - version "6.9.7" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== - -"@types/websocket@^1.0.5": - version "1.0.5" - resolved "https://registry.npmmirror.com/@types/websocket/-/websocket-1.0.5.tgz#3fb80ed8e07f88e51961211cd3682a3a4a81569c" - integrity sha512-NbsqiNX9CnEfC1Z0Vf4mE1SgAJ07JnRYcNex7AJ9zAVzmiGHmjKFEk7O4TJIsgv2B1sLEb6owKFZrACwdYngsQ== - dependencies: - "@types/node" "*" - -"@vercel/build-utils@2.12.2": - version "2.12.2" - resolved "https://registry.npmmirror.com/@vercel/build-utils/-/build-utils-2.12.2.tgz#285a3bb0b78864fb6f44478257bd275c57aa8651" - integrity sha512-KbSgG2ZCVXhUsdbnpv6gC7buygd31jaKiKhrd4Lzv1NwjnoeDZAXlm4hzvSPYHVtCY2jirKJWP2rFtMW8iAh9g== - -"@vercel/go@1.2.3": - version "1.2.3" - resolved "https://registry.npmmirror.com/@vercel/go/-/go-1.2.3.tgz#6f2bdba5681f9d64ee17060c5d63589e2d45e2d8" - integrity sha512-BZCHRz43Qfr0DwZlZQCcofR+3cr+H+HK72/ZPkZy1Uq0NYjJMlmZ3ahuMgvJxT9lfC1RA6eOEUlUsZ+gqKcMCg== - -"@vercel/node-bridge@2.2.0": - version "2.2.0" - resolved "https://registry.npmmirror.com/@vercel/node-bridge/-/node-bridge-2.2.0.tgz#9f77e68733d782bb6edd1e86c2d2eae8e4ca7a3c" - integrity sha512-ydYlZyIQfsuriF6qTt/F4vaAt+nb4ZKhLEl2o5AQFa5ED7LoPS5w01Xbujy+25pqS1ODu8/bsqOCUSX8y/+tSQ== - -"@vercel/node@1.12.1": - version "1.12.1" - resolved "https://registry.npmmirror.com/@vercel/node/-/node-1.12.1.tgz#15f42f64690f904f8a52a387123ce0958657060f" - integrity sha512-NcawIY05BvVkWlsowaxF2hl/hJg475U8JvT2FnGykFPMx31q1/FtqyTw/awSrKfOSRXR0InrbEIDIelmS9NzPA== - dependencies: - "@types/node" "*" - ts-node "8.9.1" - typescript "4.3.4" - -"@vercel/node@^1.12.1": - version "1.14.0" - resolved "https://registry.npmmirror.com/@vercel/node/-/node-1.14.0.tgz#93307fbb99950a3a1caf1183b815c50ee64e6e1a" - integrity sha512-UAb1qQMeTkSXz95yljJpz0MyTzcj++B/1XR0vKFZOs2CEfSkBO1DjzX6BkaKriaihBdbGM/X9UoMJfWfUBBn8Q== - dependencies: - "@types/node" "*" - "@vercel/node-bridge" "2.2.0" - ts-node "8.9.1" - typescript "4.3.4" - -"@vercel/python@2.0.5": - version "2.0.5" - resolved "https://registry.npmmirror.com/@vercel/python/-/python-2.0.5.tgz#76c09280febfac863c39651edffafbb0838a1df8" - integrity sha512-WCSTTw6He2COaSBiGDk2q5Q1ue+z5usRZcvUHCpsK6KvNkkV/PrY8JT73XQysMWKiXh6yQy19IUFAOqK/xwhig== - -"@vercel/ruby@1.2.7": - version "1.2.7" - resolved "https://registry.npmmirror.com/@vercel/ruby/-/ruby-1.2.7.tgz#516d1c45f4961619338f3d3bb518ee43b863a5da" - integrity sha512-ZG2VxMHHSKocL57UWsfNc9UsblwYGm55/ujqGIBnkNUURnRgtUrwtWlEts1eJ4VHD754Lc/0/R1pfJXoN5SbRw== - -ansi-align@^3.0.0: - version "3.0.1" - resolved "https://registry.npmmirror.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -bn.js@^5.2.0: - version "5.2.0" - resolved "https://registry.npmmirror.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - -boxen@^4.2.0: - version "4.2.0" - resolved "https://registry.npmmirror.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" - integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^5.3.1" - chalk "^3.0.0" - cli-boxes "^2.2.0" - string-width "^4.1.0" - term-size "^2.1.0" - type-fest "^0.8.1" - widest-line "^3.1.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -bufferutil@^4.0.1: - version "4.0.6" - resolved "https://registry.npmmirror.com/bufferutil/-/bufferutil-4.0.6.tgz#ebd6c67c7922a0e902f053e5d8be5ec850e48433" - integrity sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw== - dependencies: - node-gyp-build "^4.3.0" - -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - 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" - -call-bind@^1.0.0: - version "1.0.2" - resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cli-boxes@^2.2.0: - version "2.2.1" - resolved "https://registry.npmmirror.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q== - dependencies: - mimic-response "^1.0.0" - -cluster-key-slot@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz#30474b2a981fb12172695833052bc0d01336d10d" - integrity sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw== - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.npmmirror.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== - dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -date-fns@^2.28.0: - version "2.28.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" - integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== - -debug@^2.2.0: - version "2.6.9" - resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^4.1.0, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.npmmirror.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== - dependencies: - mimic-response "^1.0.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.npmmirror.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -denque@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/denque/-/denque-2.0.1.tgz#bcef4c1b80dc32efe97515744f21a4229ab8934a" - integrity sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmmirror.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.npmmirror.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.npmmirror.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA== - -ed2curve@^0.3.0: - version "0.3.0" - resolved "https://registry.npmmirror.com/ed2curve/-/ed2curve-0.3.0.tgz#322b575152a45305429d546b071823a93129a05d" - integrity sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ== - dependencies: - tweetnacl "1.x.x" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.59" - resolved "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.59.tgz#71038939730eb6f4f165f1421308fb60be363bc6" - integrity sha512-cOgyhW0tIJyQY1Kfw6Kr0viu9ZlUctVchRMZ7R0HiH3dxTSp5zJDLecwxUqPUrGKMsgBI1wd1FL+d9Jxfi4cLw== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - next-tick "^1.1.0" - -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.npmmirror.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== - -eventemitter3@^4.0.7: - version "4.0.7" - resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -ext@^1.1.2: - version "1.6.0" - resolved "https://registry.npmmirror.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" - integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== - dependencies: - type "^2.5.0" - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.npmmirror.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -get-intrinsic@^1.0.2: - version "1.1.1" - resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -global-dirs@^2.0.1: - version "2.1.0" - resolved "https://registry.npmmirror.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" - integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ== - dependencies: - ini "1.3.7" - -got@^9.6.0: - version "9.6.0" - resolved "https://registry.npmmirror.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - 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" - -graceful-fs@^4.1.2: - version "4.2.9" - resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.1: - version "1.0.3" - resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -ini@1.3.7: - version "1.3.7" - resolved "https://registry.npmmirror.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" - integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== - -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -ioredis@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-5.2.0.tgz#2644fcebbbcae945f1479f7cf31aa6734bbb13d6" - integrity sha512-a1E7qDtuuI+We60TLIm3TMrH5auIhbfINXYag6ZdB+mGJnH8rbmDOpr1V7iUvQQ7pWnEDYI/KXmia5IemsNJEQ== - dependencies: - "@ioredis/commands" "^1.1.1" - cluster-key-slot "^1.1.0" - debug "^4.3.4" - denque "^2.0.1" - lodash.defaults "^4.2.0" - lodash.isarguments "^3.1.0" - redis-errors "^1.2.0" - redis-parser "^3.0.0" - standard-as-callback "^2.1.0" - -ip-regex@^4.3.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" - integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-installed-globally@^0.3.1: - version "0.3.2" - resolved "https://registry.npmmirror.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" - integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== - dependencies: - global-dirs "^2.0.1" - is-path-inside "^3.0.1" - -is-npm@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" - integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-inside@^3.0.1: - version "3.0.3" - resolved "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.npmmirror.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - -latest-version@^5.0.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== - dependencies: - package-json "^6.3.0" - -lodash.defaults@^4.2.0: - version "4.2.0" - resolved "https://registry.npmmirror.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== - -lodash.isarguments@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg== - -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.npmmirror.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg== - -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -minimist@^1.2.0: - version "1.2.6" - resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - -mock-socket@^9.1.2: - version "9.1.2" - resolved "https://registry.npmmirror.com/mock-socket/-/mock-socket-9.1.2.tgz#cce6cf2193aada937ba41de3288c5c1922fbd571" - integrity sha512-XKZkCnQ9ISOlTnaPg4LYYSMj7+6i78HyadYzLA5JM4465ibLdjappZD9Csnqc3Tfzep/eEK/LCJ29BTaLHoB1A== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - -nock@^13.2.4: - version "13.2.4" - resolved "https://registry.npmmirror.com/nock/-/nock-13.2.4.tgz#43a309d93143ee5cdcca91358614e7bde56d20e1" - integrity sha512-8GPznwxcPNCH/h8B+XZcKjYPXnUV5clOKCjAqyjsiqA++MpNx9E9+t8YPp0MbThO+KauRo7aZJ1WuIZmOrT2Ug== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash.set "^4.3.2" - propagate "^2.0.0" - -node-fetch@^2.6.7: - version "2.6.7" - resolved "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-gyp-build@^4.3.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" - integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== - -normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.npmmirror.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - -object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.npmmirror.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== - -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pupa@^2.0.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== - dependencies: - escape-goat "^2.0.0" - -qs@^6.10.3: - version "6.10.3" - resolved "https://registry.npmmirror.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" - integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== - dependencies: - side-channel "^1.0.4" - -rc@^1.2.8: - version "1.2.8" - resolved "https://registry.npmmirror.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -redis-errors@^1.0.0, redis-errors@^1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad" - integrity sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w== - -redis-parser@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4" - integrity sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A== - dependencies: - redis-errors "^1.0.0" - -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - -registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.npmmirror.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" - integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== - dependencies: - rc "^1.2.8" - -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== - dependencies: - rc "^1.2.8" - -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== - dependencies: - lowercase-keys "^1.0.0" - -rxjs@^7.5.4: - version "7.5.5" - resolved "https://registry.npmmirror.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" - integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== - dependencies: - tslib "^2.1.0" - -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.npmmirror.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== - dependencies: - semver "^6.3.0" - -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2: - version "3.0.7" - resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -source-map-support@^0.5.17: - version "0.5.21" - resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -standard-as-callback@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" - integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A== - -string-width@^4.0.0, string-width@^4.1.0: - version "4.2.3" - resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - 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" - -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -term-size@^2.1.0: - version "2.2.1" - resolved "https://registry.npmmirror.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" - integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== - -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -ts-node@8.9.1: - version "8.9.1" - resolved "https://registry.npmmirror.com/ts-node/-/ts-node-8.9.1.tgz#2f857f46c47e91dcd28a14e052482eb14cfd65a5" - integrity sha512-yrq6ODsxEFTLz0R3BX2myf0WBCSQh9A+py8PBo1dCzWIOcvisbyH6akNKqDHMgXePF2kir5mm5JXJTH3OUJYOQ== - dependencies: - arg "^4.1.0" - diff "^4.0.1" - make-error "^1.1.1" - source-map-support "^0.5.17" - yn "3.1.1" - -tslib@^2.1.0: - version "2.3.1" - resolved "https://registry.npmmirror.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tweetnacl@1.x.x, tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.npmmirror.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.5.0: - version "2.6.0" - resolved "https://registry.npmmirror.com/type/-/type-2.6.0.tgz#3ca6099af5981d36ca86b78442973694278a219f" - integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@4.3.4: - version "4.3.4" - resolved "https://registry.npmmirror.com/typescript/-/typescript-4.3.4.tgz#3f85b986945bcf31071decdd96cf8bfa65f9dcbc" - integrity sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew== - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -update-notifier@4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/update-notifier/-/update-notifier-4.1.0.tgz#4866b98c3bc5b5473c020b1250583628f9a328f3" - integrity sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew== - dependencies: - boxen "^4.2.0" - chalk "^3.0.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.3.1" - is-npm "^4.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.0.0" - pupa "^2.0.1" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== - dependencies: - prepend-http "^2.0.0" - -utf-8-validate@^5.0.2: - version "5.0.9" - resolved "https://registry.npmmirror.com/utf-8-validate/-/utf-8-validate-5.0.9.tgz#ba16a822fbeedff1a58918f2a6a6b36387493ea3" - integrity sha512-Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q== - dependencies: - node-gyp-build "^4.3.0" - -vercel@^23.1.2: - version "23.1.2" - resolved "https://registry.npmmirror.com/vercel/-/vercel-23.1.2.tgz#7f36772970c7c56f10de89983f03b3c0c72d294e" - integrity sha512-uS1k7wuXI6hbxiW+kn9vdAWL0bBi4jjVxc7Jwp8NhJjcRuzlydtt3gUEnhnC9AOIKQ4LxoAgmg50lSyYkrC8Hg== - dependencies: - "@vercel/build-utils" "2.12.2" - "@vercel/go" "1.2.3" - "@vercel/node" "1.12.1" - "@vercel/python" "2.0.5" - "@vercel/ruby" "1.2.7" - update-notifier "4.1.0" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -websocket@^1.0.34: - version "1.0.34" - resolved "https://registry.npmmirror.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" - integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== - 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" - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== - -yaeti@^0.0.6: - version "0.0.6" - resolved "https://registry.npmmirror.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" - integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npmmirror.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== diff --git a/i18next-scanner.config.js b/i18next-scanner.config.js deleted file mode 100644 index 7d7aa743..00000000 --- a/i18next-scanner.config.js +++ /dev/null @@ -1,52 +0,0 @@ -const typescriptTransform = require('i18next-scanner-typescript'); - -module.exports = { - input: [ - 'src/**/*.tsx', - // Use ! to filter out files or directories - '!src/__tests__/**', - '!src/components/icons/**', - '!**/node_modules/**', - ], - output: './public/', - options: { - debug: false, - removeUnusedKeys: false, - browserLanguageDetection: true, - func: { - list: ['i18next.t', 'i18n.t', 't'], - extensions: ['.js', 'jsx'], - }, - trans: { - extensions: ['.js', '.jsx'], - fallbackKey(_, value) { - return value; - }, - }, - lngs: ['en', 'zh'], - ns: ['translation'], - defaultLng: 'en', - defaultNs: 'translation', - defaultValue(lng, ns, key) { - if (lng === 'en') { - // Return key as the default value for English language - return key; - } - // Return the string '__NOT_TRANSLATED__' for other languages - return '__NOT_TRANSLATED__'; - }, - resource: { - loadPath: './public/locales/{{lng}}/{{ns}}.json', - savePath: 'locales/{{lng}}/{{ns}}.json', - jsonIndent: 2, - lineEnding: '\n', - }, - nsSeparator: false, // namespace separator - keySeparator: false, // key separator - interpolation: { - prefix: '{{', - suffix: '}}', - }, - }, - transform: typescriptTransform({ extensions: ['.tsx', 'ts'] }), -}; diff --git a/index.html b/index.html new file mode 100644 index 00000000..d380e018 --- /dev/null +++ b/index.html @@ -0,0 +1,16 @@ + + + + + + + + + Darwinia Apps + + +
+ + + + diff --git a/package.json b/package.json index 538c8005..9a82afa6 100644 --- a/package.json +++ b/package.json @@ -1,140 +1,50 @@ { - "name": "apps-light", - "version": "2.1.6", + "name": "darwinia-apps", "private": true, + "version": "0.0.0", + "type": "module", "scripts": { - "start": "cross-env BROWSER=none CHOKIDAR_USEPOLLING=1 PORT=3006 craco start", - "start:dev": "cross-env BROWSER=none PORT=3006 REACT_APP_HOST_TYPE=dev craco start", - "build": "cross-env CI=false GENERATE_SOURCEMAP=false craco --max_old_space_size=4096 build", - "build:dev": "cross-env CI=false REACT_APP_HOST_TYPE=dev craco --max_old_space_size=4096 build", - "stylelint": "stylelint \"src/**/*.scss\" --config stylelint.config.js", - "i18next:scanner": "i18next-scanner --config i18next-scanner.config.js", - "lint": "eslint './src/**/*.{ts,tsx}' -c .eslintrc.js --fix", - "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s", - "format": "prettier './src/**/*.{ts,tsx}' --write", + "dev": "vite", + "build": "tsc && vite build", + "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview", + "format": "prettier './src/**/*.{ts,tsx,css}' --write", "prepare": "husky install" }, "dependencies": { - "@ant-design/icons": "^4.6.2", - "@apollo/client": "^3.6.8", - "@craco/craco": "^6.1.2", - "@darwinia/api-derive": "^2.8.9", - "@fontsource/ibm-plex-sans": "^4.5.2", - "@metamask/contract-metadata": "^1.28.0", - "@metamask/jazzicon": "^2.0.0", - "@polkadot/api": "^9.3.3", - "@polkadot/extension-dapp": "^0.44.6", - "@polkadot/react-identicon": "^2.9.8", - "@polkadot/ui-keyring": "^2.9.8", - "@types/react-copy-to-clipboard": "^5.0.2", - "antd": "^4.16.1", - "bignumber.js": "^9.0.2", - "craco-antd": "^1.19.0", - "date-fns": "^2.22.1", - "date-fns-tz": "^1.1.6", + "@polkadot/extension-dapp": "^0.46.4", + "@polkadot/react-identicon": "^3.4.2", + "@polkadot/ui-keyring": "^3.4.2", + "aos": "^2.3.4", "file-saver": "^2.0.5", - "graphql": "^16.5.0", - "highcharts": "^10.2.0", - "highcharts-react-official": "^3.1.0", - "i18next": "^20.3.1", - "i18next-browser-languagedetector": "^6.1.1", - "i18next-http-backend": "^1.2.6", - "intro.js": "^5.0.0", - "intro.js-react": "^0.5.0", - "is-mobile": "^3.0.0", - "lodash": "^4.17.21", - "react": "^17.0.2", - "react-copy-to-clipboard": "^5.0.4", - "react-dom": "^17.0.2", - "react-i18next": "^11.10.0", - "react-router-dom": "^6.3.0", - "react-scripts": "4.0.3", - "react-transition-group": "^4.4.2", - "store": "^2.0.12", - "typescript": "^4.1.2", - "use-deep-compare-effect": "^1.6.1", - "web-vitals": "^2.1.3", - "web3": "^1.7.0" - }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] + "i18next": "^22.5.0", + "i18next-browser-languagedetector": "^7.0.2", + "i18next-http-backend": "^2.2.1", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-i18next": "^12.3.1", + "react-router-dom": "^6.11.2" }, "devDependencies": { - "@commitlint/cli": "^17.0.2", - "@commitlint/config-angular": "^12.1.4", - "@commitlint/config-conventional": "^17.0.2", - "@darwinia/api-augment": "^2.8.9", - "@darwinia/lints": "^1.0.1", - "@darwinia/rpc-augment": "^2.8.9", - "@darwinia/types": "^2.8.9", - "@darwinia/types-augment": "^2.8.9", - "@darwinia/types-known": "^2.8.9", - "@open-wc/webpack-import-meta-loader": "^0.4.7", - "@tailwindcss/postcss7-compat": "^2.0.4", + "@types/aos": "^3.0.4", "@types/file-saver": "^2.0.5", - "@types/lodash": "^4.14.168", - "@types/node": "^16.11.19", - "@types/react": "^17.0.38", - "@types/react-dom": "^17.0.11", - "@types/react-transition-group": "^4.4.2", - "@types/store": "^2.0.2", - "@typescript-eslint/eslint-plugin": "^4.25.0", - "@typescript-eslint/parser": "^4.25.0", - "ant-theme-generator": "^1.0.1", - "autoprefixer": "^9.8.6", - "await-timeout": "^1.1.1", - "axios": "^0.23.0", - "bytes32": "^0.0.3", - "codelyzer": "^6.0.1", - "cross-env": "^7.0.3", - "eslint": "^7.27.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-import": "^2.23.4", - "eslint-plugin-jsdoc": "^35.1.2", - "eslint-plugin-prettier": "^3.4.0", - "eslint-plugin-react": "^7.24.0", - "eslint-plugin-react-hooks": "^4.2.0", - "husky": "^8.0.1", - "i18next-scanner": "^3.0.0", - "i18next-scanner-typescript": "^1.0.6", - "lint-staged": ">=10", - "node-fetch": "2.6.0", - "prettier": "^2.2.1", - "prettier-quick": "0.0.5", - "pretty-quick": "^3.1.0", - "sass": "^1.43.4", - "stylelint": "^13.12.0", - "stylelint-config-prettier": "^8.0.2", - "stylelint-config-recommended": "^4.0.0", - "stylelint-config-standard": "^21.0.0", - "stylelint-prettier": "^1.2.0", - "tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.0.4", - "tailwindcss-aspect-ratio": "^3.0.0", - "tailwindcss-pseudo-elements": "^2.0.0", - "webpack-sources": "^3.2.1" - }, - "browserslist": { - "production": [ - "chrome >= 67", - "edge >= 79", - "firefox >= 68", - "opera >= 54", - "safari >= 14" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "lint-staged": { - "*.{ts,tsx}": [ - "prettier -w", - "eslint --cache --fix" - ], - "*.{css,scss}": "stylelint --fix" + "@types/react": "^18.0.37", + "@types/react-dom": "^18.0.11", + "@typescript-eslint/eslint-plugin": "^5.59.0", + "@typescript-eslint/parser": "^5.59.0", + "@vitejs/plugin-react-swc": "^3.0.0", + "autoprefixer": "^10.4.14", + "eslint": "^8.38.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.3.4", + "husky": "^8.0.0", + "lint-staged": "^13.2.2", + "postcss": "^8.4.24", + "prettier": "^2.8.8", + "prettier-plugin-tailwindcss": "^0.3.0", + "tailwindcss": "^3.3.2", + "typescript": "^5.0.2", + "vite": "^4.3.9" } } diff --git a/plugins/ant-theme-generator.js b/plugins/ant-theme-generator.js deleted file mode 100644 index 3c45a73c..00000000 --- a/plugins/ant-theme-generator.js +++ /dev/null @@ -1,735 +0,0 @@ -/* eslint-disable */ -const fs = require('fs'); -const path = require('path'); -const glob = require('glob'); -const postcss = require('postcss'); -const less = require('less'); -const hash = require('hash.js'); -const bundle = require('less-bundle-promise'); -const NpmImportPlugin = require('less-plugin-npm-import'); -const stripCssComments = require('strip-css-comments'); - -let hashCache = ''; -let cssCache = ''; - -const COLOR_FUNCTIONS = [ - 'color', - 'lighten', - 'darken', - 'saturate', - 'desaturate', - 'fadein', - 'fadeout', - 'fade', - 'spin', - 'mix', - 'hsv', - 'tint', - 'shade', - 'greyscale', - 'multiply', - 'contrast', - 'screen', - 'overlay', -]; - -const defaultColorRegexArray = COLOR_FUNCTIONS.map( - (name) => new RegExp(`${name}\(.*\)`) -); -defaultColorRegexArray.matches = (color) => { - return defaultColorRegexArray.reduce((prev, regex) => { - return prev || regex.test(color); - }, false); -}; - -/* - Generated random hex color code - e.g. #fe12ee -*/ -function randomColor() { - return '#' + (0x1000000 + Math.random() * 0xffffff).toString(16).substr(1, 6); -} - -/* - Recursively get the color code assigned to a variable e.g. - @primary-color: #1890ff; - @link-color: @primary-color; - - @link-color -> @primary-color -> #1890ff - Which means - @link-color: #1890ff -*/ -function getColor(varName, mappings) { - const color = mappings[varName]; - if (color in mappings) { - return getColor(color, mappings); - } else { - return color; - } -} -/* - Read following files and generate color variables and color codes mapping - - Ant design color.less, themes/default.less - - Your own variables.less - It will generate map like this - { - '@primary-color': '#00375B', - '@info-color': '#1890ff', - '@success-color': '#52c41a', - '@error-color': '#f5222d', - '@normal-color': '#d9d9d9', - '@primary-6': '#1890ff', - '@heading-color': '#fa8c16', - '@text-color': '#cccccc', - .... - } -*/ -function generateColorMap(content, customColorRegexArray = []) { - return content - .split('\n') - .filter((line) => line.startsWith('@') && line.indexOf(':') > -1) - .reduce((prev, next) => { - try { - const matches = next.match( - /(?=\S*['-])([@a-zA-Z0-9'-]+).*:[ ]{1,}(.*);/ - ); - if (!matches) { - return prev; - } - let [, varName, color] = matches; - - if (prev[varName]) { - return prev; - } - if (color && color.startsWith('@')) { - color = getColor(color, prev); - if (!isValidColor(color, customColorRegexArray)) return prev; - - prev[varName] = color; - } else if (isValidColor(color, customColorRegexArray)) { - prev[varName] = color; - } - return prev; - } catch (e) { - console.log('e', e); - return prev; - } - }, {}); -} - -/* - This plugin will remove all css rules except those are related to colors - e.g. - Input: - .body { - font-family: 'Lato'; - background: #cccccc; - color: #000; - padding: 0; - pargin: 0 - } - - Output: - .body { - background: #cccccc; - color: #000; - } -*/ -const reducePlugin = postcss.plugin('reducePlugin', () => { - const cleanRule = (rule) => { - if (rule.selector.startsWith('.main-color .palatte-')) { - rule.remove(); - return; - } - - let removeRule = true; - rule.walkDecls((decl) => { - let matched = false; - if (String(decl.value).match(/url\(.*\)/g)) { - decl.remove(); - matched = true; - } - if ( - !decl.prop.includes('color') && - !decl.prop.includes('background') && - !decl.prop.includes('border') && - !decl.prop.includes('box-shadow') && - !Number.isNaN(decl.value) - ) { - // if (!matched) decl.remove(); - decl.remove(); - } else { - removeRule = matched ? removeRule : false; - } - }); - if (removeRule) { - rule.remove(); - } - }; - return (css) => { - css.walkAtRules((atRule) => { - atRule.remove(); - }); - - css.walkRules(cleanRule); - - css.walkComments((c) => c.remove()); - }; -}); - -function getMatches(string, regex) { - const matches = {}; - let match; - while ((match = regex.exec(string))) { - if (match[2].startsWith('rgba') || match[2].startsWith('#')) { - matches[`@${match[1]}`] = match[2]; - } - } - return matches; -} - -/* - This function takes less input as string and compiles into css. -*/ -function render(text, paths) { - return less.render(text, { - paths, - javascriptEnabled: true, - plugins: [new NpmImportPlugin({ prefix: '~' })], - }); -} - -/* - This funtion reads a less file and create an object with keys as variable names - and values as variables respective values. e.g. - //variabables.less - @primary-color : #1890ff; - @heading-color : #fa8c16; - @text-color : #cccccc; - - to - - { - '@primary-color' : '#1890ff', - '@heading-color' : '#fa8c16', - '@text-color' : '#cccccc' - } - -*/ -function getLessVars(filtPath) { - const sheet = fs.readFileSync(filtPath).toString(); - const lessVars = {}; - const matches = sheet.match(/@(.*:[^;]*)/g) || []; - - matches.forEach((variable) => { - const definition = variable.split(/:\s*/); - const varName = definition[0].replace(/['"]+/g, '').trim(); - lessVars[varName] = definition.splice(1).join(':'); - }); - return lessVars; -} - -/* - This function take primary color palette name and returns @primary-color dependent value - .e.g - Input: @primary-1 - Output: color(~`colorPalette("@{primary-color}", ' 1 ')`) -*/ -function getShade(varName) { - let [, className, number] = varName.match(/(.*)-(\d)/); - if (/primary-\d/.test(varName)) className = '@primary-color'; - return ( - 'color(~`colorPalette("@{' + - className.replace('@', '') + - '}", ' + - number + - ')`)' - ); -} - -/* - This function takes color string as input and return true if string is a valid color otherwise returns false. - e.g. - isValidColor('#ffffff'); //true - isValidColor('#fff'); //true - isValidColor('rgba(0, 0, 0, 0.5)'); //true - isValidColor('20px'); //false -*/ -function isValidColor(color, customColorRegexArray = []) { - if (color && color.includes('rgb')) return true; - if (!color || color.match(/px/g)) return false; - if (color.match(/colorPalette|fade/g)) return true; - if (color.charAt(0) === '#') { - color = color.substring(1); - return ( - [3, 4, 6, 8].indexOf(color.length) > -1 && !isNaN(parseInt(color, 16)) - ); - } - // eslint-disable-next-line - const isColor = - /^(rgb|hsl|hsv)a?\((\d+%?(deg|rad|grad|turn)?[,\s]+){2,3}[\s\/]*[\d\.]+%?\)$/i.test( - color - ); - if (isColor) return true; - if (customColorRegexArray.length > 0) { - return customColorRegexArray.reduce((prev, regex) => { - return prev || regex.test(color); - }, false); - } - return false; -} - -async function compileAllLessFilesToCss( - stylesDir, - antdStylesDir, - varMap = {}, - varPath -) { - /* - Get all less files path in styles directory - and then compile all to css and join - */ - const stylesDirs = [].concat(stylesDir); - let styles = []; - stylesDirs.forEach((s) => { - styles = styles.concat(glob.sync(path.join(s, './**/*.less'))); - }); - const filterReg = /\{|\}|\@/g; - const csss = await Promise.all( - styles.map((filePath, index) => { - let fileContent = fs.readFileSync(filePath).toString(); - fileContent = fileContent - .split(/\n/) - .filter((item) => { - if (filterReg.test(item)) { - filterReg.lastIndex = 0; - return true; - } - }) - .join('\n'); - // Removed imports to avoid duplicate styles due to reading file separately as well as part of parent file (which is importing) - // if (avoidDuplicates) fileContent = fileContent.replace(/@import\ ["'](.*)["'];/g, '\n'); - const r = /@import ["'](.*)["'];/g; - const directory = path.dirname(filePath); - fileContent = fileContent.replace( - r, - function (match, importPath, index, content) { - if (!importPath.endsWith('.less')) { - importPath += '.less'; - } - const newPath = path.join(directory, importPath); - // If imported path/file already exists in styles paths then replace import statement with empty line - if (styles.indexOf(newPath) === -1) { - return match; - } else { - return ''; - } - } - ); - Object.keys(varMap).forEach((varName) => { - fileContent = fileContent.replace( - new RegExp(`(:.*)(${varName})`, 'g'), - (match, group, a) => { - return match.replace(varName, varMap[varName]); - } - ); - }); - fileContent = `@import "${varPath}";\n${fileContent}`; - // fileContent = `@import "~antd/lib/style/themes/default.less";\n${fileContent}`; - return less - .render(fileContent, { - paths: [antdStylesDir].concat(stylesDir), - filename: path.resolve(filePath), - javascriptEnabled: true, - plugins: [new NpmImportPlugin({ prefix: '~' })], - }) - .then((res) => { - return res; - }) - .catch((e) => { - console.error(`Error occurred compiling file ${filePath}`); - console.error('Error', e); - return '\n'; - }); - }) - ); - const hashes = {}; - - return csss - .map((c) => { - const css = stripCssComments(c.css || '', { preserve: false }); - const hashCode = hash.sha256().update(css).digest('hex'); - if (hashCode in hashes) { - return ''; - } else { - hashes[hashCode] = hashCode; - return css; - } - }) - .join('\n'); -} - -/* - This is main function which call all other functions to generate color.less file which contins all color - related css rules based on Ant Design styles and your own custom styles - By default color.less will be generated in /public directory -*/ -async function generateTheme({ - antDir, - antdStylesDir, - stylesDir, - varFile, - outputFilePath, - themeVariables = ['@primary-color'], - customColorRegexArray = [], -}) { - try { - const antdPath = antdStylesDir || path.join(antDir, 'lib'); - const nodeModulesPath = path.join( - antDir.slice(0, antDir.indexOf('node_modules')), - './node_modules' - ); - /* - stylesDir can be array or string - */ - const stylesDirs = [].concat(stylesDir); - let styles = []; - stylesDirs.forEach((s) => { - styles = styles.concat(glob.sync(path.join(s, './**/*.less'))); - }); - const antdStylesFile = path.join(antDir, './dist/antd.less'); // path.join(antdPath, './style/index.less'); - - /* - You own custom styles (Change according to your project structure) - - - stylesDir - styles directory containing all less files - - varFile - variable file containing ant design specific and your own custom variables - */ - varFile = varFile || path.join(antdPath, './style/themes/default.less'); - - let content = ''; - styles.forEach((filePath) => { - content += fs.readFileSync(filePath).toString(); - }); - - const hashCode = hash.sha256().update(content).digest('hex'); - - if (hashCode === hashCache) { - return cssCache; - } - hashCache = hashCode; - let themeCompiledVars = {}; - let themeVars = themeVariables || ['@primary-color']; - const lessPaths = [path.join(antdPath, './style')].concat(stylesDir); - - const randomColors = {}; - const randomColorsVars = {}; - /* - Ant Design Specific Files (Change according to your project structure) - You can even use different less based css framework and create color.less for that - - - antDir - ant design instalation path - - entry - Ant Design less main file / entry file - - styles - Ant Design less styles for each component - - 1. Bundle all variables into one file - 2. process vars and create a color name, color value key value map - 3. Get variables which are part of theme - 4. - */ - - const varFileContent = combineLess(varFile, nodeModulesPath); - let antdLess = await bundle({ - src: antdStylesFile, - }); - // console.log(varFileContent); - customColorRegexArray = [ - ...customColorRegexArray, - ...defaultColorRegexArray, - ]; - const generateDatas = generateColorMap( - varFileContent, - customColorRegexArray - ); - const mappings = Object.assign(generateDatas, getLessVars(varFile)); - let css = ''; - const PRIMARY_RANDOM_COLOR = '#123456'; - themeVars = themeVars.filter( - (name) => name in mappings && !name.match(/(.*)-(\d)/) - ); - themeVars.forEach((varName) => { - let color = randomColor(); - if (varName === '@primary-color') { - color = PRIMARY_RANDOM_COLOR; - } else { - while ( - (randomColorsVars[color] && color === PRIMARY_RANDOM_COLOR) || - color === '#000000' || - color === '#ffffff' - ) { - color = randomColor(); - } - } - randomColors[varName] = color; - randomColorsVars[color] = varName; - css = `.${varName.replace('@', '')} { color: ${color}; }\n ${css}`; - }); - const colorFuncMap = {}; - let varsContent = ''; - themeVars.forEach((varName) => { - [1, 2, 3, 4, 5, 7, 8, 9, 10].forEach((key) => { - const name = - varName === '@primary-color' - ? `@primary-${key}` - : `${varName}-${key}`; - css = `.${name.replace('@', '')} { color: ${getShade( - name - )}; }\n ${css}`; - }); - varsContent += `${varName}: ${randomColors[varName]};\n`; - }); - - // This is to compile colors - // Put colors.less content first, - // then add random color variables to override the variables values for given theme variables with random colors - // Then add css containinf color variable classes - const colorFileContent = combineLess( - path.join(antdPath, './style/color/colors.less'), - nodeModulesPath - ); - css = `${colorFileContent}\n${varsContent}\n${css}`; - - let results = await render(css, lessPaths); - - css = results.css; - css = css.replace(/(\/.*\/)/g, ''); - const regex = /.(?=\S*['-])([.a-zA-Z0-9'-]+)\ {\n {2}color: (.*);/g; - themeCompiledVars = getMatches(css, regex); - // Convert all custom user less files to css - const userCustomCss = await compileAllLessFilesToCss( - stylesDir, - antdStylesDir, - themeCompiledVars, - varFile - ); - const fadeMap = {}; - const fades = antdLess.match(/fade\(.*\)/g); - if (fades) { - fades.forEach((fade) => { - if ( - !fade.startsWith('fade(@black') && - !fade.startsWith('fade(@white') && - !fade.startsWith('fade(#') && - !fade.startsWith('fade(@color') - ) { - fadeMap[fade] = randomColor(); - } - }); - } - let varsCombined = ''; - themeVars.forEach((varName) => { - let color; - if (/(.*)-(\d)/.test(varName)) { - color = getShade(varName); - return; - } else { - color = themeCompiledVars[varName]; - } - varsCombined = `${varsCombined}\n${varName}: ${color};`; - }); - COLOR_FUNCTIONS.slice(1).forEach((name) => { - antdLess = antdLess.replace( - new RegExp(`${name}\\((.*), \\d+%\\)`, 'g'), - (fullmatch, group) => { - if (mappings[group]) { - return `~'${fullmatch}'`; - } - return fullmatch; - } - ); - }); - - antdLess = `${antdLess}\n${varsCombined}`; - const { css: antCss } = await render(antdLess, [antdPath, antdStylesDir]); - const allCss = `${antCss}\n${userCustomCss}`; - results = await postcss([reducePlugin]).process(allCss, { - from: antdStylesFile, - }); - css = results.css; - - Object.keys(fadeMap).forEach((fade) => { - css = css.replace(new RegExp(fadeMap[fade], 'g'), fade); - }); - - Object.keys(themeCompiledVars).forEach((varName) => { - let color; - if (/(.*)-(\d)/.test(varName)) { - color = themeCompiledVars[varName]; - varName = getShade(varName); - } else { - color = themeCompiledVars[varName]; - } - color = color.replace('(', '\\(').replace(')', '\\)'); - if (varName === '@slider-handle-color-focus') { - console.log('color', color, varName); - } - css = css.replace(new RegExp(color, 'g'), varName); - }); - - Object.keys(colorFuncMap).forEach((varName) => { - const color = colorFuncMap[varName]; - css = css.replace(new RegExp(color, 'g'), varName); - }); - COLOR_FUNCTIONS.forEach((name) => { - css = css.replace(new RegExp(`~'(${name}\(.*\))'`), (a, b) => { - console.log('b', b); - return b; - }); - }); - // Handle special cases - // https://github.com/mzohaibqc/antd-theme-webpack-plugin/issues/69 - // 1. Replace fade(@primary-color, 20%) value i.e. rgba(18, 52, 86, 0.2) - css = css.replace( - new RegExp('rgba\\(18, 52, 86, 0.2\\)', 'g'), - 'fade(@primary-color, 20%)' - ); - - css = css.replace(/@[\w-_]+:\s*.*;[\/.]*/gm, ''); - - // This is to replace \9 in Ant Design styles - css = css.replace(/\\9/g, ''); - css = `${css.trim()}\n${combineLess( - path.join(antdPath, './style/themes/default.less'), - nodeModulesPath - )}`; - - themeVars.reverse().forEach((varName) => { - css = css.replace(new RegExp(`${varName}( *):(.*);`, 'g'), ''); - css = `${varName}: ${mappings[varName]};\n${css}\n`; - }); - - css = minifyCss(css); - css = css.replace('.anticon {color: inherit;}', '/* disable anticon color */') // remove antd class for icon - - if (outputFilePath) { - fs.writeFileSync(outputFilePath, css); - console.log( - `🌈 Theme generated successfully. OutputFile: ${outputFilePath}` - ); - } else { - console.log('Theme generated successfully'); - } - cssCache = css; - return cssCache; - } catch (error) { - console.log('error', error); - return ''; - } -} - -module.exports = { - generateTheme, - isValidColor, - getLessVars, - randomColor, - minifyCss, - renderLessContent: render, -}; - -function minifyCss(css) { - // Removed all comments and empty lines - css = css - .replace(/\/\*[\s\S]*?\*\/|\/\/.*/g, '') - .replace(/^\s*$(?:\r\n?|\n)/gm, ''); - - /* - Converts from - - .abc, - .def { - color: red; - background: blue; - border: grey; - } - - to - - .abc, - .def {color: red; - background: blue; - border: grey; - } - - */ - css = css.replace(/\{(\r\n?|\n)\s+/g, '{'); - - /* - Converts from - - .abc, - .def {color: red; - } - - to - - .abc, - .def {color: red; - background: blue; - border: grey;} - - */ - css = css.replace(/;(\r\n?|\n)\}/g, ';}'); - - /* - Converts from - - .abc, - .def {color: red; - background: blue; - border: grey;} - - to - - .abc, - .def {color: red;background: blue;border: grey;} - - */ - css = css.replace(/;(\r\n?|\n)\s+/g, ';'); - - /* -Converts from - -.abc, -.def {color: red;background: blue;border: grey;} - -to - -.abc, .def {color: red;background: blue;border: grey;} - -*/ - css = css.replace(/,(\r\n?|\n)[.]/g, ', .'); - return css; -} - -function combineLess(filePath, nodeModulesPath) { - const fileContent = fs.readFileSync(filePath).toString(); - const directory = path.dirname(filePath); - return fileContent - .split('\n') - .map((line) => { - if (line.startsWith('@import')) { - let importPath = line.match(/@import\ ["'](.*)["'];/)[1]; - if (!importPath.endsWith('.less')) { - importPath += '.less'; - } - let newPath = path.join(directory, importPath); - if (importPath.startsWith('~')) { - importPath = importPath.replace('~', ''); - newPath = path.join(nodeModulesPath, `./${importPath}`); - } - return combineLess(newPath, nodeModulesPath); - } - return line; - }) - .join('\n'); -} diff --git a/plugins/antd-theme-plugin.js b/plugins/antd-theme-plugin.js deleted file mode 100644 index 36c29004..00000000 --- a/plugins/antd-theme-plugin.js +++ /dev/null @@ -1,105 +0,0 @@ -// eslint-disable-next-line @typescript-eslint/no-var-requires -const webpack = require('webpack'); -// eslint-disable-next-line @typescript-eslint/no-var-requires -const { generateTheme } = require('./ant-theme-generator'); -const { RawSource } = webpack.sources || require('webpack-sources'); - -class AntDesignThemePlugin { - constructor(options) { - const defaultOptions = { - generateOnce: false, - lessUrl: 'https://cdnjs.cloudflare.com/ajax/libs/less.js/2.7.2/less.min.js', - publicPath: '', - }; - this.options = Object.assign(defaultOptions, options); - this.generated = false; - this.version = webpack.version; - } - - apply(compiler) { - const pluginName = 'AntDesignThemePlugin'; - - if (this.version.startsWith('5.')) { - compiler.hooks.thisCompilation.tap(pluginName, (compilation) => { - compilation.hooks.processAssets.tapAsync( - { - name: pluginName, - stage: webpack.Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE, - }, - (assets, callback) => this.addAssets(compilation, assets, callback) - ); - }); - } else { - compiler.hooks.emit.tapAsync(pluginName, (compilation, callback) => - this.addAssets(compilation, compilation.assets, callback) - ); - } - } - - addAssets(compilation, assets, callback) { - this.generateIndexContent(assets, compilation); - - if (this.options.generateOnce && this.colors) { - this.generateColorStylesheet(compilation, this.colors); - return callback(); - } - - generateTheme(this.options) - .then((css) => { - if (this.options.generateOnce) { - this.colors = css; - } - this.generateColorStylesheet(compilation, css); - callback(); - }) - .catch((err) => { - callback(err); - }); - } - - generateIndexContent(assets, compilation) { - if (this.options.indexFileName && this.options.indexFileName in assets) { - const index = assets[this.options.indexFileName]; - const content = index.source(); - - if (!content.match(/\/color\.less/g)) { - const less = ` - - - - `; - - const updatedContent = content.replace(less, '').replace(//gi, `${less}`); - - if (this.version.startsWith('5.')) { - compilation.updateAsset(this.options.indexFileName, new RawSource(updatedContent), { - size: updatedContent.length, - }); - return; - } - - index.source = () => updatedContent; - index.size = () => updatedContent.length; - } - } - } - - generateColorStylesheet(compilation, source) { - if (this.version.startsWith('5.')) { - compilation.emitAsset('color.less', new RawSource(source), { size: source.length }); - return; - } - - compilation.assets['color.less'] = { - source: () => source, - size: () => source.length, - }; - } -} - -module.exports = AntDesignThemePlugin; diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 00000000..2e7af2b7 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/public/image/apps.png b/public/image/apps.png deleted file mode 100644 index 3875b519..00000000 Binary files a/public/image/apps.png and /dev/null differ diff --git a/public/image/apps.svg b/public/image/apps.svg deleted file mode 100644 index 39388393..00000000 --- a/public/image/apps.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/image/error.svg b/public/image/error.svg deleted file mode 100644 index 1f365373..00000000 --- a/public/image/error.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/image/lightning.png b/public/image/lightning.png deleted file mode 100644 index daa30462..00000000 Binary files a/public/image/lightning.png and /dev/null differ diff --git a/public/image/network/crab-dark.svg b/public/image/network/crab-dark.svg deleted file mode 100644 index c1b78718..00000000 --- a/public/image/network/crab-dark.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/public/image/network/crab.svg b/public/image/network/crab.svg deleted file mode 100644 index ba69d7b6..00000000 --- a/public/image/network/crab.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/public/image/network/darwinia-dark.svg b/public/image/network/darwinia-dark.svg deleted file mode 100644 index d6d0040c..00000000 --- a/public/image/network/darwinia-dark.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/public/image/network/darwinia.svg b/public/image/network/darwinia.svg deleted file mode 100644 index e4a0f3df..00000000 --- a/public/image/network/darwinia.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/image/network/pangolin-dark.svg b/public/image/network/pangolin-dark.svg deleted file mode 100644 index c3746877..00000000 --- a/public/image/network/pangolin-dark.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/public/image/network/pangolin.svg b/public/image/network/pangolin.svg deleted file mode 100644 index 1611c767..00000000 --- a/public/image/network/pangolin.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/public/image/network/pangoro-dark.svg b/public/image/network/pangoro-dark.svg deleted file mode 100644 index 65ee1fc1..00000000 --- a/public/image/network/pangoro-dark.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/public/image/network/pangoro.svg b/public/image/network/pangoro.svg deleted file mode 100644 index ef7eb3d4..00000000 --- a/public/image/network/pangoro.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/public/image/portal/account-migration.svg b/public/image/portal/account-migration.svg deleted file mode 100644 index 759d397c..00000000 --- a/public/image/portal/account-migration.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - Account Migration - - - - - - - - - - - - \ No newline at end of file diff --git a/public/image/portal/add.svg b/public/image/portal/add.svg deleted file mode 100644 index 8e728a14..00000000 --- a/public/image/portal/add.svg +++ /dev/null @@ -1,2 +0,0 @@ - \ No newline at end of file diff --git a/public/image/portal/celer.png b/public/image/portal/celer.png deleted file mode 100644 index b468c976..00000000 Binary files a/public/image/portal/celer.png and /dev/null differ diff --git a/public/image/portal/crust.png b/public/image/portal/crust.png deleted file mode 100644 index 16fc63f9..00000000 Binary files a/public/image/portal/crust.png and /dev/null differ diff --git a/public/image/portal/evolution-land.png b/public/image/portal/evolution-land.png deleted file mode 100644 index 80547273..00000000 Binary files a/public/image/portal/evolution-land.png and /dev/null differ diff --git a/public/image/portal/fee-market-ui.svg b/public/image/portal/fee-market-ui.svg deleted file mode 100644 index a96a1d23..00000000 --- a/public/image/portal/fee-market-ui.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - Fee Market UI - - - - - - - - - - \ No newline at end of file diff --git a/public/image/portal/fee-market.svg b/public/image/portal/fee-market.svg deleted file mode 100644 index 549a6de3..00000000 --- a/public/image/portal/fee-market.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/public/image/portal/helix.png b/public/image/portal/helix.png deleted file mode 100644 index c3e76a3a..00000000 Binary files a/public/image/portal/helix.png and /dev/null differ diff --git a/public/image/portal/ipfs.png b/public/image/portal/ipfs.png deleted file mode 100644 index ee2c7585..00000000 Binary files a/public/image/portal/ipfs.png and /dev/null differ diff --git a/public/image/portal/mathwallet.png b/public/image/portal/mathwallet.png deleted file mode 100644 index 76d93b90..00000000 Binary files a/public/image/portal/mathwallet.png and /dev/null differ diff --git a/public/image/portal/metamask.png b/public/image/portal/metamask.png deleted file mode 100644 index dbf6718e..00000000 Binary files a/public/image/portal/metamask.png and /dev/null differ diff --git a/public/image/portal/onfinality.png b/public/image/portal/onfinality.png deleted file mode 100644 index ce7a2375..00000000 Binary files a/public/image/portal/onfinality.png and /dev/null differ diff --git a/public/image/portal/polkadot.svg b/public/image/portal/polkadot.svg deleted file mode 100644 index 595779f2..00000000 --- a/public/image/portal/polkadot.svg +++ /dev/null @@ -1,4 +0,0 @@ - \ No newline at end of file diff --git a/public/image/portal/raregems.svg b/public/image/portal/raregems.svg deleted file mode 100644 index 7b2a01c8..00000000 --- a/public/image/portal/raregems.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/public/image/portal/ringonft.png b/public/image/portal/ringonft.png deleted file mode 100644 index 216325a5..00000000 Binary files a/public/image/portal/ringonft.png and /dev/null differ diff --git a/public/image/portal/snowswap.png b/public/image/portal/snowswap.png deleted file mode 100644 index bfc7c226..00000000 Binary files a/public/image/portal/snowswap.png and /dev/null differ diff --git a/public/image/portal/staking.svg b/public/image/portal/staking.svg deleted file mode 100644 index 2e487859..00000000 --- a/public/image/portal/staking.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - Staking - - - - - - - \ No newline at end of file diff --git a/public/image/portal/subscan.png b/public/image/portal/subscan.png deleted file mode 100644 index 79b92021..00000000 Binary files a/public/image/portal/subscan.png and /dev/null differ diff --git a/public/image/portal/subview.png b/public/image/portal/subview.png deleted file mode 100644 index b52acc2e..00000000 Binary files a/public/image/portal/subview.png and /dev/null differ diff --git a/public/image/portal/subwallet.png b/public/image/portal/subwallet.png deleted file mode 100644 index 716fea91..00000000 Binary files a/public/image/portal/subwallet.png and /dev/null differ diff --git a/public/image/portal/talisman.svg b/public/image/portal/talisman.svg deleted file mode 100644 index d771f80c..00000000 --- a/public/image/portal/talisman.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/public/image/portal/token-migration.png b/public/image/portal/token-migration.png deleted file mode 100644 index 7c862511..00000000 Binary files a/public/image/portal/token-migration.png and /dev/null differ diff --git a/public/image/portal/token-migration.svg b/public/image/portal/token-migration.svg deleted file mode 100644 index 7ef56600..00000000 --- a/public/image/portal/token-migration.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - Token Migration - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/image/social/discord.svg b/public/image/social/discord.svg deleted file mode 100644 index 6da37711..00000000 --- a/public/image/social/discord.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/image/social/github.svg b/public/image/social/github.svg deleted file mode 100644 index 7d4c3714..00000000 --- a/public/image/social/github.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/image/social/medium.svg b/public/image/social/medium.svg deleted file mode 100644 index b9d802ac..00000000 --- a/public/image/social/medium.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/image/social/telegram.svg b/public/image/social/telegram.svg deleted file mode 100644 index 492261db..00000000 --- a/public/image/social/telegram.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/image/social/twitter.svg b/public/image/social/twitter.svg deleted file mode 100644 index c1b97b46..00000000 --- a/public/image/social/twitter.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/public/image/token/kton.svg b/public/image/token/kton.svg deleted file mode 100644 index bf80bb60..00000000 --- a/public/image/token/kton.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/image/token/ring.svg b/public/image/token/ring.svg deleted file mode 100644 index d42cbca8..00000000 --- a/public/image/token/ring.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - 币/RING - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/image/token/token-ckton.svg b/public/image/token/token-ckton.svg deleted file mode 100644 index 566a5234..00000000 --- a/public/image/token/token-ckton.svg +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/image/token/token-crab.svg b/public/image/token/token-crab.svg deleted file mode 100644 index 7d697bc4..00000000 --- a/public/image/token/token-crab.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - Crab - - - - - - - \ No newline at end of file diff --git a/public/image/token/token-kton.svg b/public/image/token/token-kton.svg deleted file mode 100644 index 79fddfb7..00000000 --- a/public/image/token/token-kton.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - KTON@svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/image/token/token-okton.svg b/public/image/token/token-okton.svg deleted file mode 100644 index 79fddfb7..00000000 --- a/public/image/token/token-okton.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - KTON@svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/image/token/token-oring.svg b/public/image/token/token-oring.svg deleted file mode 100644 index f37f4495..00000000 --- a/public/image/token/token-oring.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - RING@svg - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/image/token/token-pkton.svg b/public/image/token/token-pkton.svg deleted file mode 100644 index 79fddfb7..00000000 --- a/public/image/token/token-pkton.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - KTON@svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/image/token/token-pring.svg b/public/image/token/token-pring.svg deleted file mode 100644 index f37f4495..00000000 --- a/public/image/token/token-pring.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - RING@svg - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/image/token/token-ring.svg b/public/image/token/token-ring.svg deleted file mode 100644 index f37f4495..00000000 --- a/public/image/token/token-ring.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - RING@svg - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/image/token/token-wckton.svg b/public/image/token/token-wckton.svg deleted file mode 100644 index c8e27bbf..00000000 --- a/public/image/token/token-wckton.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - WCKTON@svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/image/token/token-wcrab.svg b/public/image/token/token-wcrab.svg deleted file mode 100644 index 845ec51f..00000000 --- a/public/image/token/token-wcrab.svg +++ /dev/null @@ -1,36 +0,0 @@ - - - WCRING@svg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/image/wallet/polkadot-js.svg b/public/image/wallet/polkadot-js.svg deleted file mode 100644 index aa816d69..00000000 --- a/public/image/wallet/polkadot-js.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/public/image/wallet/subwallet-js.svg b/public/image/wallet/subwallet-js.svg deleted file mode 100644 index 69d0334c..00000000 --- a/public/image/wallet/subwallet-js.svg +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/image/wallet/talisman.svg b/public/image/wallet/talisman.svg deleted file mode 100644 index d771f80c..00000000 --- a/public/image/wallet/talisman.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/public/index.html b/public/index.html deleted file mode 100644 index 5a092f83..00000000 --- a/public/index.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - Apps - - - - - - -
- - - diff --git a/public/less.min.js b/public/less.min.js deleted file mode 100644 index d87b5e96..00000000 --- a/public/less.min.js +++ /dev/null @@ -1,7336 +0,0 @@ -/*! - * Less - Leaner CSS v2.7.2 - * http://lesscss.org - * - * Copyright (c) 2009-2017, Alexis Sellier - * Licensed under the Apache-2.0 License. - * - */ - -/** * @license Apache-2.0 - */ - -!(function (a) { - if ('object' == typeof exports && 'undefined' != typeof module) module.exports = a(); - else if ('function' == typeof define && define.amd) define([], a); - else { - var b; - (b = - 'undefined' != typeof window - ? window - : 'undefined' != typeof global - ? global - : 'undefined' != typeof self - ? self - : this), - (b.less = a()); - } -})(function () { - return (function a(b, c, d) { - function e(g, h) { - if (!c[g]) { - if (!b[g]) { - var i = 'function' == typeof require && require; - if (!h && i) return i(g, !0); - if (f) return f(g, !0); - var j = new Error("Cannot find module '" + g + "'"); - throw ((j.code = 'MODULE_NOT_FOUND'), j); - } - var k = (c[g] = { exports: {} }); - b[g][0].call( - k.exports, - function (a) { - var c = b[g][1][a]; - return e(c ? c : a); - }, - k, - k.exports, - a, - b, - c, - d - ); - } - return c[g].exports; - } - for (var f = 'function' == typeof require && require, g = 0; g < d.length; g++) e(d[g]); - return e; - })( - { - 1: [ - function (a, b, c) { - var d = a('./utils').addDataAttr, - e = a('./browser'); - b.exports = function (a, b) { - d(b, e.currentScript(a)), - void 0 === b.isFileProtocol && - (b.isFileProtocol = /^(file|(chrome|safari)(-extension)?|resource|qrc|app):/.test(a.location.protocol)), - (b.async = b.async || !1), - (b.fileAsync = b.fileAsync || !1), - (b.poll = b.poll || (b.isFileProtocol ? 1e3 : 1500)), - (b.env = - b.env || - ('127.0.0.1' == a.location.hostname || - '0.0.0.0' == a.location.hostname || - 'localhost' == a.location.hostname || - (a.location.port && a.location.port.length > 0) || - b.isFileProtocol - ? 'development' - : 'production')); - var c = /!dumpLineNumbers:(comments|mediaquery|all)/.exec(a.location.hash); - c && (b.dumpLineNumbers = c[1]), - void 0 === b.useFileCache && (b.useFileCache = !0), - void 0 === b.onReady && (b.onReady = !0); - }; - }, - { './browser': 3, './utils': 10 }, - ], - 2: [ - function (a, b, c) { - function d(a) { - a.filename && console.warn(a), e.async || h.removeChild(i); - } - a('promise/polyfill.js'); - var e = window.less || {}; - a('./add-default-options')(window, e); - var f = (b.exports = a('./index')(window, e)); - window.less = f; - var g, h, i; - e.onReady && - (/!watch/.test(window.location.hash) && f.watch(), - e.async || - ((g = 'body { display: none !important }'), - (h = document.head || document.getElementsByTagName('head')[0]), - (i = document.createElement('style')), - (i.type = 'text/css'), - i.styleSheet ? (i.styleSheet.cssText = g) : i.appendChild(document.createTextNode(g)), - h.appendChild(i)), - f.registerStylesheetsImmediately(), - (f.pageLoadFinished = f.refresh('development' === f.env).then(d, d))); - }, - { './add-default-options': 1, './index': 8, 'promise/polyfill.js': 97 }, - ], - 3: [ - function (a, b, c) { - var d = a('./utils'); - b.exports = { - createCSS: function (a, b, c) { - var e = c.href || '', - f = 'less:' + (c.title || d.extractId(e)), - g = a.getElementById(f), - h = !1, - i = a.createElement('style'); - i.setAttribute('type', 'text/css'), - c.media && i.setAttribute('media', c.media), - (i.id = f), - i.styleSheet || - (i.appendChild(a.createTextNode(b)), - (h = - null !== g && - g.childNodes.length > 0 && - i.childNodes.length > 0 && - g.firstChild.nodeValue === i.firstChild.nodeValue)); - var j = a.getElementsByTagName('head')[0]; - if (null === g || h === !1) { - var k = (c && c.nextSibling) || null; - k ? k.parentNode.insertBefore(i, k) : j.appendChild(i); - } - if ((g && h === !1 && g.parentNode.removeChild(g), i.styleSheet)) - try { - i.styleSheet.cssText = b; - } catch (l) { - throw new Error("Couldn't reassign styleSheet.cssText."); - } - }, - currentScript: function (a) { - var b = a.document; - return ( - b.currentScript || - (function () { - var a = b.getElementsByTagName('script'); - return a[a.length - 1]; - })() - ); - }, - }; - }, - { './utils': 10 }, - ], - 4: [ - function (a, b, c) { - b.exports = function (a, b, c) { - var d = null; - if ('development' !== b.env) - try { - d = 'undefined' == typeof a.localStorage ? null : a.localStorage; - } catch (e) {} - return { - setCSS: function (a, b, e, f) { - if (d) { - c.info('saving ' + a + ' to cache.'); - try { - d.setItem(a, f), d.setItem(a + ':timestamp', b), e && d.setItem(a + ':vars', JSON.stringify(e)); - } catch (g) { - c.error('failed to save "' + a + '" to local storage for caching.'); - } - } - }, - getCSS: function (a, b, c) { - var e = d && d.getItem(a), - f = d && d.getItem(a + ':timestamp'), - g = d && d.getItem(a + ':vars'); - if ( - ((c = c || {}), - f && - b.lastModified && - new Date(b.lastModified).valueOf() === new Date(f).valueOf() && - ((!c && !g) || JSON.stringify(c) === g)) - ) - return e; - }, - }; - }; - }, - {}, - ], - 5: [ - function (a, b, c) { - var d = a('./utils'), - e = a('./browser'); - b.exports = function (a, b, c) { - function f(b, f) { - var g, - h, - i = 'less-error-message:' + d.extractId(f || ''), - j = '
  • {content}
  • ', - k = a.document.createElement('div'), - l = [], - m = b.filename || f, - n = m.match(/([^\/]+(\?.*)?)$/)[1]; - (k.id = i), - (k.className = 'less-error-message'), - (h = - '

    ' + - (b.type || 'Syntax') + - 'Error: ' + - (b.message || 'There is an error in your .less file') + - '

    in ' + - n + - ' '); - var o = function (a, b, c) { - void 0 !== a.extract[b] && - l.push( - j - .replace(/\{line\}/, (parseInt(a.line, 10) || 0) + (b - 1)) - .replace(/\{class\}/, c) - .replace(/\{content\}/, a.extract[b]) - ); - }; - b.extract && - (o(b, 0, ''), - o(b, 1, 'line'), - o(b, 2, ''), - (h += 'on line ' + b.line + ', column ' + (b.column + 1) + ':

      ' + l.join('') + '
    ')), - b.stack && - (b.extract || c.logLevel >= 4) && - (h += '
    Stack Trace
    ' + b.stack.split('\n').slice(1).join('
    ')), - (k.innerHTML = h), - e.createCSS( - a.document, - [ - '.less-error-message ul, .less-error-message li {', - 'list-style-type: none;', - 'margin-right: 15px;', - 'padding: 4px 0;', - 'margin: 0;', - '}', - '.less-error-message label {', - 'font-size: 12px;', - 'margin-right: 15px;', - 'padding: 4px 0;', - 'color: #cc7777;', - '}', - '.less-error-message pre {', - 'color: #dd6666;', - 'padding: 4px 0;', - 'margin: 0;', - 'display: inline-block;', - '}', - '.less-error-message pre.line {', - 'color: #ff0000;', - '}', - '.less-error-message h3 {', - 'font-size: 20px;', - 'font-weight: bold;', - 'padding: 15px 0 5px 0;', - 'margin: 0;', - '}', - '.less-error-message a {', - 'color: #10a', - '}', - '.less-error-message .error {', - 'color: red;', - 'font-weight: bold;', - 'padding-bottom: 2px;', - 'border-bottom: 1px dashed red;', - '}', - ].join('\n'), - { title: 'error-message' } - ), - (k.style.cssText = [ - 'font-family: Arial, sans-serif', - 'border: 1px solid #e00', - 'background-color: #eee', - 'border-radius: 5px', - '-webkit-border-radius: 5px', - '-moz-border-radius: 5px', - 'color: #e00', - 'padding: 15px', - 'margin-bottom: 15px', - ].join(';')), - 'development' === c.env && - (g = setInterval(function () { - var b = a.document, - c = b.body; - c && - (b.getElementById(i) ? c.replaceChild(k, b.getElementById(i)) : c.insertBefore(k, c.firstChild), - clearInterval(g)); - }, 10)); - } - function g(b) { - var c = a.document.getElementById('less-error-message:' + d.extractId(b)); - c && c.parentNode.removeChild(c); - } - function h(a) {} - function i(a) { - c.errorReporting && 'html' !== c.errorReporting - ? 'console' === c.errorReporting - ? h(a) - : 'function' == typeof c.errorReporting && c.errorReporting('remove', a) - : g(a); - } - function j(a, d) { - var e = '{line} {content}', - f = a.filename || d, - g = [], - h = - (a.type || 'Syntax') + - 'Error: ' + - (a.message || 'There is an error in your .less file') + - ' in ' + - f + - ' ', - i = function (a, b, c) { - void 0 !== a.extract[b] && - g.push( - e - .replace(/\{line\}/, (parseInt(a.line, 10) || 0) + (b - 1)) - .replace(/\{class\}/, c) - .replace(/\{content\}/, a.extract[b]) - ); - }; - a.extract && - (i(a, 0, ''), - i(a, 1, 'line'), - i(a, 2, ''), - (h += 'on line ' + a.line + ', column ' + (a.column + 1) + ':\n' + g.join('\n'))), - a.stack && (a.extract || c.logLevel >= 4) && (h += '\nStack Trace\n' + a.stack), - b.logger.error(h); - } - function k(a, b) { - c.errorReporting && 'html' !== c.errorReporting - ? 'console' === c.errorReporting - ? j(a, b) - : 'function' == typeof c.errorReporting && c.errorReporting('add', a, b) - : f(a, b); - } - return { add: k, remove: i }; - }; - }, - { './browser': 3, './utils': 10 }, - ], - 6: [ - function (a, b, c) { - b.exports = function (b, c) { - function d() { - if (window.XMLHttpRequest && !('file:' === window.location.protocol && 'ActiveXObject' in window)) - return new XMLHttpRequest(); - try { - return new ActiveXObject('Microsoft.XMLHTTP'); - } catch (a) { - return c.error("browser doesn't support AJAX."), null; - } - } - var e = a('../less/environment/abstract-file-manager.js'), - f = {}, - g = function () {}; - return ( - (g.prototype = new e()), - (g.prototype.alwaysMakePathsAbsolute = function () { - return !0; - }), - (g.prototype.join = function (a, b) { - return a ? this.extractUrlParts(b, a).path : b; - }), - (g.prototype.doXHR = function (a, e, f, g) { - function h(b, c, d) { - b.status >= 200 && b.status < 300 - ? c(b.responseText, b.getResponseHeader('Last-Modified')) - : 'function' == typeof d && d(b.status, a); - } - var i = d(), - j = !b.isFileProtocol || b.fileAsync; - 'function' == typeof i.overrideMimeType && i.overrideMimeType('text/css'), - c.debug("XHR: Getting '" + a + "'"), - i.open('GET', a, j), - i.setRequestHeader('Accept', e || 'text/x-less, text/css; q=0.9, */*; q=0.5'), - i.send(null), - b.isFileProtocol && !b.fileAsync - ? 0 === i.status || (i.status >= 200 && i.status < 300) - ? f(i.responseText) - : g(i.status, a) - : j - ? (i.onreadystatechange = function () { - 4 == i.readyState && h(i, f, g); - }) - : h(i, f, g); - }), - (g.prototype.supports = function (a, b, c, d) { - return !0; - }), - (g.prototype.clearFileCache = function () { - f = {}; - }), - (g.prototype.loadFile = function (a, b, c, d, e) { - b && !this.isPathAbsolute(a) && (a = b + a), (c = c || {}); - var g = this.extractUrlParts(a, window.location.href), - h = g.url; - if (c.useFileCache && f[h]) - try { - var i = f[h]; - e(null, { contents: i, filename: h, webInfo: { lastModified: new Date() } }); - } catch (j) { - e({ filename: h, message: 'Error loading file ' + h + ' error was ' + j.message }); - } - else - this.doXHR( - h, - c.mime, - function (a, b) { - (f[h] = a), e(null, { contents: a, filename: h, webInfo: { lastModified: b } }); - }, - function (a, b) { - e({ type: 'File', message: "'" + b + "' wasn't found (" + a + ')', href: h }); - } - ); - }), - g - ); - }; - }, - { '../less/environment/abstract-file-manager.js': 15 }, - ], - 7: [ - function (a, b, c) { - b.exports = function () { - function b() { - throw { type: 'Runtime', message: 'Image size functions are not supported in browser version of less' }; - } - var c = a('./../less/functions/function-registry'), - d = { - 'image-size': function (a) { - return b(this, a), -1; - }, - 'image-width': function (a) { - return b(this, a), -1; - }, - 'image-height': function (a) { - return b(this, a), -1; - }, - }; - c.addMultiple(d); - }; - }, - { './../less/functions/function-registry': 22 }, - ], - 8: [ - function (a, b, c) { - var d = a('./utils').addDataAttr, - e = a('./browser'); - b.exports = function (b, c) { - function f(a) { - return ( - c.postProcessor && 'function' == typeof c.postProcessor && (a = c.postProcessor.call(a, a) || a), a - ); - } - function g(a) { - var b = {}; - for (var c in a) a.hasOwnProperty(c) && (b[c] = a[c]); - return b; - } - function h(a, b) { - var c = Array.prototype.slice.call(arguments, 2); - return function () { - var d = c.concat(Array.prototype.slice.call(arguments, 0)); - return a.apply(b, d); - }; - } - function i(a) { - for (var b, d = m.getElementsByTagName('style'), e = 0; e < d.length; e++) - if (((b = d[e]), b.type.match(t))) { - var f = g(c); - f.modifyVars = a; - var i = b.innerHTML || ''; - (f.filename = m.location.href.replace(/#.*$/, '')), - n.render( - i, - f, - h( - function (a, b, c) { - b - ? r.add(b, 'inline') - : ((a.type = 'text/css'), - a.styleSheet ? (a.styleSheet.cssText = c.css) : (a.innerHTML = c.css)); - }, - null, - b - ) - ); - } - } - function j(a, b, e, h, i) { - function j(c) { - var d = c.contents, - g = c.filename, - i = c.webInfo, - j = { currentDirectory: q.getPath(g), filename: g, rootFilename: g, relativeUrls: k.relativeUrls }; - if (((j.entryPath = j.currentDirectory), (j.rootpath = k.rootpath || j.currentDirectory), i)) { - i.remaining = h; - var l = s.getCSS(g, i, k.modifyVars); - if (!e && l) return (i.local = !0), void b(null, l, d, a, i, g); - } - r.remove(g), - (k.rootFileInfo = j), - n.render(d, k, function (c, e) { - c - ? ((c.href = g), b(c)) - : ((e.css = f(e.css)), - s.setCSS(a.href, i.lastModified, k.modifyVars, e.css), - b(null, e.css, d, a, i, g)); - }); - } - var k = g(c); - d(k, a), - (k.mime = a.type), - i && (k.modifyVars = i), - q.loadFile(a.href, null, k, o, function (a, c) { - return a ? void b(a) : void j(c); - }); - } - function k(a, b, c) { - for (var d = 0; d < n.sheets.length; d++) j(n.sheets[d], a, b, n.sheets.length - (d + 1), c); - } - function l() { - 'development' === n.env && - (n.watchTimer = setInterval(function () { - n.watchMode && - (q.clearFileCache(), - k(function (a, c, d, f, g) { - a ? r.add(a, a.href || f.href) : c && e.createCSS(b.document, c, f); - })); - }, c.poll)); - } - var m = b.document, - n = a('../less')(); - n.options = c; - var o = n.environment, - p = a('./file-manager')(c, n.logger), - q = new p(); - o.addFileManager(q), (n.FileManager = p), a('./log-listener')(n, c); - var r = a('./error-reporting')(b, n, c), - s = (n.cache = c.cache || a('./cache')(b, c, n.logger)); - a('./image-size')(n.environment), c.functions && n.functions.functionRegistry.addMultiple(c.functions); - var t = /^text\/(x-)?less$/; - return ( - (n.watch = function () { - return n.watchMode || ((n.env = 'development'), l()), (this.watchMode = !0), !0; - }), - (n.unwatch = function () { - return clearInterval(n.watchTimer), (this.watchMode = !1), !1; - }), - (n.registerStylesheetsImmediately = function () { - var a = m.getElementsByTagName('link'); - n.sheets = []; - for (var b = 0; b < a.length; b++) - ('stylesheet/less' === a[b].rel || (a[b].rel.match(/stylesheet/) && a[b].type.match(t))) && - n.sheets.push(a[b]); - }), - (n.registerStylesheets = function () { - return new Promise(function (a, b) { - n.registerStylesheetsImmediately(), a(); - }); - }), - (n.modifyVars = function (a) { - return n.refresh(!0, a, !1); - }), - (n.refresh = function (a, c, d) { - return ( - (a || d) && d !== !1 && q.clearFileCache(), - new Promise(function (d, f) { - var g, h, j, l; - (g = h = new Date()), - (l = n.sheets.length), - 0 === l - ? ((h = new Date()), - (j = h - g), - n.logger.info('Less has finished and no sheets were loaded.'), - d({ startTime: g, endTime: h, totalMilliseconds: j, sheets: n.sheets.length })) - : k( - function (a, c, i, k, m) { - return a - ? (r.add(a, a.href || k.href), void f(a)) - : (n.logger.info( - m.local - ? 'Loading ' + k.href + ' from cache.' - : 'Rendered ' + k.href + ' successfully.' - ), - e.createCSS(b.document, c, k), - n.logger.info('CSS for ' + k.href + ' generated in ' + (new Date() - h) + 'ms'), - l--, - 0 === l && - ((j = new Date() - g), - n.logger.info('Less has finished. CSS generated in ' + j + 'ms'), - d({ startTime: g, endTime: h, totalMilliseconds: j, sheets: n.sheets.length })), - void (h = new Date())); - }, - a, - c - ), - i(c); - }) - ); - }), - (n.refreshStyles = i), - n - ); - }; - }, - { - '../less': 31, - './browser': 3, - './cache': 4, - './error-reporting': 5, - './file-manager': 6, - './image-size': 7, - './log-listener': 9, - './utils': 10, - }, - ], - 9: [ - function (a, b, c) { - b.exports = function (a, b) { - var c = 4, - d = 3, - e = 2, - f = 1; - (b.logLevel = 'undefined' != typeof b.logLevel ? b.logLevel : 'development' === b.env ? d : f), - b.loggers || - (b.loggers = [ - { - debug: function (a) { - b.logLevel >= c && console.log(a); - }, - info: function (a) { - b.logLevel >= d && console.log(a); - }, - warn: function (a) { - b.logLevel >= e && console.warn(a); - }, - error: function (a) { - b.logLevel >= f && console.error(a); - }, - }, - ]); - for (var g = 0; g < b.loggers.length; g++) a.logger.addListener(b.loggers[g]); - }; - }, - {}, - ], - 10: [ - function (a, b, c) { - b.exports = { - extractId: function (a) { - return a - .replace(/^[a-z-]+:\/+?[^\/]+/, '') - .replace(/[\?\&]livereload=\w+/, '') - .replace(/^\//, '') - .replace(/\.[a-zA-Z]+$/, '') - .replace(/[^\.\w-]+/g, '-') - .replace(/\./g, ':'); - }, - addDataAttr: function (a, b) { - for (var c in b.dataset) - if (b.dataset.hasOwnProperty(c)) - if ('env' === c || 'dumpLineNumbers' === c || 'rootpath' === c || 'errorReporting' === c) - a[c] = b.dataset[c]; - else - try { - a[c] = JSON.parse(b.dataset[c]); - } catch (d) {} - }, - }; - }, - {}, - ], - 11: [ - function (a, b, c) { - var d = {}; - b.exports = d; - var e = function (a, b, c) { - if (a) for (var d = 0; d < c.length; d++) a.hasOwnProperty(c[d]) && (b[c[d]] = a[c[d]]); - }, - f = [ - 'paths', - 'relativeUrls', - 'rootpath', - 'strictImports', - 'insecure', - 'dumpLineNumbers', - 'compress', - 'syncImport', - 'chunkInput', - 'mime', - 'useFileCache', - 'processImports', - 'pluginManager', - ]; - d.Parse = function (a) { - e(a, this, f), 'string' == typeof this.paths && (this.paths = [this.paths]); - }; - var g = [ - 'paths', - 'compress', - 'ieCompat', - 'strictMath', - 'strictUnits', - 'sourceMap', - 'importMultiple', - 'urlArgs', - 'javascriptEnabled', - 'pluginManager', - 'importantScope', - ]; - (d.Eval = function (a, b) { - e(a, this, g), - 'string' == typeof this.paths && (this.paths = [this.paths]), - (this.frames = b || []), - (this.importantScope = this.importantScope || []); - }), - (d.Eval.prototype.inParenthesis = function () { - this.parensStack || (this.parensStack = []), this.parensStack.push(!0); - }), - (d.Eval.prototype.outOfParenthesis = function () { - this.parensStack.pop(); - }), - (d.Eval.prototype.isMathOn = function () { - return !this.strictMath || (this.parensStack && this.parensStack.length); - }), - (d.Eval.prototype.isPathRelative = function (a) { - return !/^(?:[a-z-]+:|\/|#)/i.test(a); - }), - (d.Eval.prototype.normalizePath = function (a) { - var b, - c = a.split('/').reverse(); - for (a = []; 0 !== c.length; ) - switch ((b = c.pop())) { - case '.': - break; - case '..': - 0 === a.length || '..' === a[a.length - 1] ? a.push(b) : a.pop(); - break; - default: - a.push(b); - } - return a.join('/'); - }); - }, - {}, - ], - 12: [ - function (a, b, c) { - b.exports = { - aliceblue: '#f0f8ff', - antiquewhite: '#faebd7', - aqua: '#00ffff', - aquamarine: '#7fffd4', - azure: '#f0ffff', - beige: '#f5f5dc', - bisque: '#ffe4c4', - black: '#000000', - blanchedalmond: '#ffebcd', - blue: '#0000ff', - blueviolet: '#8a2be2', - brown: '#a52a2a', - burlywood: '#deb887', - cadetblue: '#5f9ea0', - chartreuse: '#7fff00', - chocolate: '#d2691e', - coral: '#ff7f50', - cornflowerblue: '#6495ed', - cornsilk: '#fff8dc', - crimson: '#dc143c', - cyan: '#00ffff', - darkblue: '#00008b', - darkcyan: '#008b8b', - darkgoldenrod: '#b8860b', - darkgray: '#a9a9a9', - darkgrey: '#a9a9a9', - darkgreen: '#006400', - darkkhaki: '#bdb76b', - darkmagenta: '#8b008b', - darkolivegreen: '#556b2f', - darkorange: '#ff8c00', - darkorchid: '#9932cc', - darkred: '#8b0000', - darksalmon: '#e9967a', - darkseagreen: '#8fbc8f', - darkslateblue: '#483d8b', - darkslategray: '#2f4f4f', - darkslategrey: '#2f4f4f', - darkturquoise: '#00ced1', - darkviolet: '#9400d3', - deeppink: '#ff1493', - deepskyblue: '#00bfff', - dimgray: '#696969', - dimgrey: '#696969', - dodgerblue: '#1e90ff', - firebrick: '#b22222', - floralwhite: '#fffaf0', - forestgreen: '#228b22', - fuchsia: '#ff00ff', - gainsboro: '#dcdcdc', - ghostwhite: '#f8f8ff', - gold: '#ffd700', - goldenrod: '#daa520', - gray: '#808080', - grey: '#808080', - green: '#008000', - greenyellow: '#adff2f', - honeydew: '#f0fff0', - hotpink: '#ff69b4', - indianred: '#cd5c5c', - indigo: '#4b0082', - ivory: '#fffff0', - khaki: '#f0e68c', - lavender: '#e6e6fa', - lavenderblush: '#fff0f5', - lawngreen: '#7cfc00', - lemonchiffon: '#fffacd', - lightblue: '#add8e6', - lightcoral: '#f08080', - lightcyan: '#e0ffff', - lightgoldenrodyellow: '#fafad2', - lightgray: '#d3d3d3', - lightgrey: '#d3d3d3', - lightgreen: '#90ee90', - lightpink: '#ffb6c1', - lightsalmon: '#ffa07a', - lightseagreen: '#20b2aa', - lightskyblue: '#87cefa', - lightslategray: '#778899', - lightslategrey: '#778899', - lightsteelblue: '#b0c4de', - lightyellow: '#ffffe0', - lime: '#00ff00', - limegreen: '#32cd32', - linen: '#faf0e6', - magenta: '#ff00ff', - maroon: '#800000', - mediumaquamarine: '#66cdaa', - mediumblue: '#0000cd', - mediumorchid: '#ba55d3', - mediumpurple: '#9370d8', - mediumseagreen: '#3cb371', - mediumslateblue: '#7b68ee', - mediumspringgreen: '#00fa9a', - mediumturquoise: '#48d1cc', - mediumvioletred: '#c71585', - midnightblue: '#191970', - mintcream: '#f5fffa', - mistyrose: '#ffe4e1', - moccasin: '#ffe4b5', - navajowhite: '#ffdead', - navy: '#000080', - oldlace: '#fdf5e6', - olive: '#808000', - olivedrab: '#6b8e23', - orange: '#ffa500', - orangered: '#ff4500', - orchid: '#da70d6', - palegoldenrod: '#eee8aa', - palegreen: '#98fb98', - paleturquoise: '#afeeee', - palevioletred: '#d87093', - papayawhip: '#ffefd5', - peachpuff: '#ffdab9', - peru: '#cd853f', - pink: '#ffc0cb', - plum: '#dda0dd', - powderblue: '#b0e0e6', - purple: '#800080', - rebeccapurple: '#663399', - red: '#ff0000', - rosybrown: '#bc8f8f', - royalblue: '#4169e1', - saddlebrown: '#8b4513', - salmon: '#fa8072', - sandybrown: '#f4a460', - seagreen: '#2e8b57', - seashell: '#fff5ee', - sienna: '#a0522d', - silver: '#c0c0c0', - skyblue: '#87ceeb', - slateblue: '#6a5acd', - slategray: '#708090', - slategrey: '#708090', - snow: '#fffafa', - springgreen: '#00ff7f', - steelblue: '#4682b4', - tan: '#d2b48c', - teal: '#008080', - thistle: '#d8bfd8', - tomato: '#ff6347', - turquoise: '#40e0d0', - violet: '#ee82ee', - wheat: '#f5deb3', - white: '#ffffff', - whitesmoke: '#f5f5f5', - yellow: '#ffff00', - yellowgreen: '#9acd32', - }; - }, - {}, - ], - 13: [ - function (a, b, c) { - b.exports = { colors: a('./colors'), unitConversions: a('./unit-conversions') }; - }, - { './colors': 12, './unit-conversions': 14 }, - ], - 14: [ - function (a, b, c) { - b.exports = { - length: { m: 1, cm: 0.01, mm: 0.001, in: 0.0254, px: 0.0254 / 96, pt: 0.0254 / 72, pc: (0.0254 / 72) * 12 }, - duration: { s: 1, ms: 0.001 }, - angle: { rad: 1 / (2 * Math.PI), deg: 1 / 360, grad: 0.0025, turn: 1 }, - }; - }, - {}, - ], - 15: [ - function (a, b, c) { - var d = function () {}; - (d.prototype.getPath = function (a) { - var b = a.lastIndexOf('?'); - return ( - b > 0 && (a = a.slice(0, b)), - (b = a.lastIndexOf('/')), - b < 0 && (b = a.lastIndexOf('\\')), - b < 0 ? '' : a.slice(0, b + 1) - ); - }), - (d.prototype.tryAppendExtension = function (a, b) { - return /(\.[a-z]*$)|([\?;].*)$/.test(a) ? a : a + b; - }), - (d.prototype.tryAppendLessExtension = function (a) { - return this.tryAppendExtension(a, '.less'); - }), - (d.prototype.supportsSync = function () { - return !1; - }), - (d.prototype.alwaysMakePathsAbsolute = function () { - return !1; - }), - (d.prototype.isPathAbsolute = function (a) { - return /^(?:[a-z-]+:|\/|\\|#)/i.test(a); - }), - (d.prototype.join = function (a, b) { - return a ? a + b : b; - }), - (d.prototype.pathDiff = function (a, b) { - var c, - d, - e, - f, - g = this.extractUrlParts(a), - h = this.extractUrlParts(b), - i = ''; - if (g.hostPart !== h.hostPart) return ''; - for ( - d = Math.max(h.directories.length, g.directories.length), c = 0; - c < d && h.directories[c] === g.directories[c]; - c++ - ); - for (f = h.directories.slice(c), e = g.directories.slice(c), c = 0; c < f.length - 1; c++) i += '../'; - for (c = 0; c < e.length - 1; c++) i += e[c] + '/'; - return i; - }), - (d.prototype.extractUrlParts = function (a, b) { - var c, - d, - e = /^((?:[a-z-]+:)?\/{2}(?:[^\/\?#]*\/)|([\/\\]))?((?:[^\/\\\?#]*[\/\\])*)([^\/\\\?#]*)([#\?].*)?$/i, - f = a.match(e), - g = {}, - h = []; - if (!f) throw new Error("Could not parse sheet href - '" + a + "'"); - if (b && (!f[1] || f[2])) { - if (((d = b.match(e)), !d)) throw new Error("Could not parse page url - '" + b + "'"); - (f[1] = f[1] || d[1] || ''), f[2] || (f[3] = d[3] + f[3]); - } - if (f[3]) { - for (h = f[3].replace(/\\/g, '/').split('/'), c = 0; c < h.length; c++) - '.' === h[c] && (h.splice(c, 1), (c -= 1)); - for (c = 0; c < h.length; c++) '..' === h[c] && c > 0 && (h.splice(c - 1, 2), (c -= 2)); - } - return ( - (g.hostPart = f[1]), - (g.directories = h), - (g.path = (f[1] || '') + h.join('/')), - (g.fileUrl = g.path + (f[4] || '')), - (g.url = g.fileUrl + (f[5] || '')), - g - ); - }), - (b.exports = d); - }, - {}, - ], - 16: [ - function (a, b, c) { - var d = a('../logger'), - e = function (a, b) { - (this.fileManagers = b || []), (a = a || {}); - for ( - var c = ['encodeBase64', 'mimeLookup', 'charsetLookup', 'getSourceMapGenerator'], - d = [], - e = d.concat(c), - f = 0; - f < e.length; - f++ - ) { - var g = e[f], - h = a[g]; - h - ? (this[g] = h.bind(a)) - : f < d.length && this.warn('missing required function in environment - ' + g); - } - }; - (e.prototype.getFileManager = function (a, b, c, e, f) { - a || d.warn('getFileManager called with no filename.. Please report this issue. continuing.'), - null == b && d.warn('getFileManager called with null directory.. Please report this issue. continuing.'); - var g = this.fileManagers; - c.pluginManager && (g = [].concat(g).concat(c.pluginManager.getFileManagers())); - for (var h = g.length - 1; h >= 0; h--) { - var i = g[h]; - if (i[f ? 'supportsSync' : 'supports'](a, b, c, e)) return i; - } - return null; - }), - (e.prototype.addFileManager = function (a) { - this.fileManagers.push(a); - }), - (e.prototype.clearFileManagers = function () { - this.fileManagers = []; - }), - (b.exports = e); - }, - { '../logger': 33 }, - ], - 17: [ - function (a, b, c) { - function d(a, b, c) { - var d, - f, - g, - h, - i = b.alpha, - j = c.alpha, - k = []; - g = j + i * (1 - j); - for (var l = 0; l < 3; l++) - (d = b.rgb[l] / 255), - (f = c.rgb[l] / 255), - (h = a(d, f)), - g && (h = (j * f + i * (d - j * (d + f - h))) / g), - (k[l] = 255 * h); - return new e(k, g); - } - var e = a('../tree/color'), - f = a('./function-registry'), - g = { - multiply: function (a, b) { - return a * b; - }, - screen: function (a, b) { - return a + b - a * b; - }, - overlay: function (a, b) { - return (a *= 2), a <= 1 ? g.multiply(a, b) : g.screen(a - 1, b); - }, - softlight: function (a, b) { - var c = 1, - d = a; - return ( - b > 0.5 && ((d = 1), (c = a > 0.25 ? Math.sqrt(a) : ((16 * a - 12) * a + 4) * a)), - a - (1 - 2 * b) * d * (c - a) - ); - }, - hardlight: function (a, b) { - return g.overlay(b, a); - }, - difference: function (a, b) { - return Math.abs(a - b); - }, - exclusion: function (a, b) { - return a + b - 2 * a * b; - }, - average: function (a, b) { - return (a + b) / 2; - }, - negation: function (a, b) { - return 1 - Math.abs(a + b - 1); - }, - }; - for (var h in g) g.hasOwnProperty(h) && (d[h] = d.bind(null, g[h])); - f.addMultiple(d); - }, - { '../tree/color': 50, './function-registry': 22 }, - ], - 18: [ - function (a, b, c) { - function d(a) { - return Math.min(1, Math.max(0, a)); - } - function e(a) { - return h.hsla(a.h, a.s, a.l, a.a); - } - function f(a) { - if (a instanceof i) return parseFloat(a.unit.is('%') ? a.value / 100 : a.value); - if ('number' == typeof a) return a; - throw { type: 'Argument', message: 'color functions take numbers as parameters' }; - } - function g(a, b) { - return a instanceof i && a.unit.is('%') ? parseFloat((a.value * b) / 100) : f(a); - } - var h, - i = a('../tree/dimension'), - j = a('../tree/color'), - k = a('../tree/quoted'), - l = a('../tree/anonymous'), - m = a('./function-registry'); - (h = { - rgb: function (a, b, c) { - return h.rgba(a, b, c, 1); - }, - rgba: function (a, b, c, d) { - var e = [a, b, c].map(function (a) { - return g(a, 255); - }); - return (d = f(d)), new j(e, d); - }, - hsl: function (a, b, c) { - return h.hsla(a, b, c, 1); - }, - hsla: function (a, b, c, e) { - function g(a) { - return ( - (a = a < 0 ? a + 1 : a > 1 ? a - 1 : a), - 6 * a < 1 ? i + (j - i) * a * 6 : 2 * a < 1 ? j : 3 * a < 2 ? i + (j - i) * (2 / 3 - a) * 6 : i - ); - } - var i, j; - return ( - (a = (f(a) % 360) / 360), - (b = d(f(b))), - (c = d(f(c))), - (e = d(f(e))), - (j = c <= 0.5 ? c * (b + 1) : c + b - c * b), - (i = 2 * c - j), - h.rgba(255 * g(a + 1 / 3), 255 * g(a), 255 * g(a - 1 / 3), e) - ); - }, - hsv: function (a, b, c) { - return h.hsva(a, b, c, 1); - }, - hsva: function (a, b, c, d) { - (a = ((f(a) % 360) / 360) * 360), (b = f(b)), (c = f(c)), (d = f(d)); - var e, g; - (e = Math.floor((a / 60) % 6)), (g = a / 60 - e); - var i = [c, c * (1 - b), c * (1 - g * b), c * (1 - (1 - g) * b)], - j = [ - [0, 3, 1], - [2, 0, 1], - [1, 0, 3], - [1, 2, 0], - [3, 1, 0], - [0, 1, 2], - ]; - return h.rgba(255 * i[j[e][0]], 255 * i[j[e][1]], 255 * i[j[e][2]], d); - }, - hue: function (a) { - return new i(a.toHSL().h); - }, - saturation: function (a) { - return new i(100 * a.toHSL().s, '%'); - }, - lightness: function (a) { - return new i(100 * a.toHSL().l, '%'); - }, - hsvhue: function (a) { - return new i(a.toHSV().h); - }, - hsvsaturation: function (a) { - return new i(100 * a.toHSV().s, '%'); - }, - hsvvalue: function (a) { - return new i(100 * a.toHSV().v, '%'); - }, - red: function (a) { - return new i(a.rgb[0]); - }, - green: function (a) { - return new i(a.rgb[1]); - }, - blue: function (a) { - return new i(a.rgb[2]); - }, - alpha: function (a) { - return new i(a.toHSL().a); - }, - luma: function (a) { - return new i(a.luma() * a.alpha * 100, '%'); - }, - luminance: function (a) { - var b = (0.2126 * a.rgb[0]) / 255 + (0.7152 * a.rgb[1]) / 255 + (0.0722 * a.rgb[2]) / 255; - return new i(b * a.alpha * 100, '%'); - }, - saturate: function (a, b, c) { - if (!a.rgb) return null; - var f = a.toHSL(); - return ( - (f.s += 'undefined' != typeof c && 'relative' === c.value ? (f.s * b.value) / 100 : b.value / 100), - (f.s = d(f.s)), - e(f) - ); - }, - desaturate: function (a, b, c) { - var f = a.toHSL(); - return ( - (f.s -= 'undefined' != typeof c && 'relative' === c.value ? (f.s * b.value) / 100 : b.value / 100), - (f.s = d(f.s)), - e(f) - ); - }, - lighten: function (a, b, c) { - var f = a.toHSL(); - return ( - (f.l += 'undefined' != typeof c && 'relative' === c.value ? (f.l * b.value) / 100 : b.value / 100), - (f.l = d(f.l)), - e(f) - ); - }, - darken: function (a, b, c) { - var f = a.toHSL(); - return ( - (f.l -= 'undefined' != typeof c && 'relative' === c.value ? (f.l * b.value) / 100 : b.value / 100), - (f.l = d(f.l)), - e(f) - ); - }, - fadein: function (a, b, c) { - var f = a.toHSL(); - return ( - (f.a += 'undefined' != typeof c && 'relative' === c.value ? (f.a * b.value) / 100 : b.value / 100), - (f.a = d(f.a)), - e(f) - ); - }, - fadeout: function (a, b, c) { - var f = a.toHSL(); - return ( - (f.a -= 'undefined' != typeof c && 'relative' === c.value ? (f.a * b.value) / 100 : b.value / 100), - (f.a = d(f.a)), - e(f) - ); - }, - fade: function (a, b) { - var c = a.toHSL(); - return (c.a = b.value / 100), (c.a = d(c.a)), e(c); - }, - spin: function (a, b) { - var c = a.toHSL(), - d = (c.h + b.value) % 360; - return (c.h = d < 0 ? 360 + d : d), e(c); - }, - mix: function (a, b, c) { - (a.toHSL && b.toHSL) || (console.log(b.type), console.dir(b)), c || (c = new i(50)); - var d = c.value / 100, - e = 2 * d - 1, - f = a.toHSL().a - b.toHSL().a, - g = ((e * f == -1 ? e : (e + f) / (1 + e * f)) + 1) / 2, - h = 1 - g, - k = [a.rgb[0] * g + b.rgb[0] * h, a.rgb[1] * g + b.rgb[1] * h, a.rgb[2] * g + b.rgb[2] * h], - l = a.alpha * d + b.alpha * (1 - d); - return new j(k, l); - }, - greyscale: function (a) { - return h.desaturate(a, new i(100)); - }, - contrast: function (a, b, c, d) { - if (!a.rgb) return null; - if ( - ('undefined' == typeof c && (c = h.rgba(255, 255, 255, 1)), - 'undefined' == typeof b && (b = h.rgba(0, 0, 0, 1)), - b.luma() > c.luma()) - ) { - var e = c; - (c = b), (b = e); - } - return (d = 'undefined' == typeof d ? 0.43 : f(d)), a.luma() < d ? c : b; - }, - argb: function (a) { - return new l(a.toARGB()); - }, - color: function (a) { - if (a instanceof k && /^#([a-f0-9]{6}|[a-f0-9]{3})$/i.test(a.value)) return new j(a.value.slice(1)); - if (a instanceof j || (a = j.fromKeyword(a.value))) return (a.value = void 0), a; - throw { type: 'Argument', message: 'argument must be a color keyword or 3/6 digit hex e.g. #FFF' }; - }, - tint: function (a, b) { - return h.mix(h.rgb(255, 255, 255), a, b); - }, - shade: function (a, b) { - return h.mix(h.rgb(0, 0, 0), a, b); - }, - }), - m.addMultiple(h); - }, - { - '../tree/anonymous': 46, - '../tree/color': 50, - '../tree/dimension': 56, - '../tree/quoted': 73, - './function-registry': 22, - }, - ], - 19: [ - function (a, b, c) { - b.exports = function (b) { - var c = a('../tree/quoted'), - d = a('../tree/url'), - e = a('./function-registry'), - f = function (a, b) { - return new d(b, a.index, a.currentFileInfo).eval(a.context); - }, - g = a('../logger'); - e.add('data-uri', function (a, e) { - e || ((e = a), (a = null)); - var h = a && a.value, - i = e.value, - j = this.currentFileInfo, - k = j.relativeUrls ? j.currentDirectory : j.entryPath, - l = i.indexOf('#'), - m = ''; - l !== -1 && ((m = i.slice(l)), (i = i.slice(0, l))); - var n = b.getFileManager(i, k, this.context, b, !0); - if (!n) return f(this, e); - var o = !1; - if (a) o = /;base64$/.test(h); - else { - if (((h = b.mimeLookup(i)), 'image/svg+xml' === h)) o = !1; - else { - var p = b.charsetLookup(h); - o = ['US-ASCII', 'UTF-8'].indexOf(p) < 0; - } - o && (h += ';base64'); - } - var q = n.loadFileSync(i, k, this.context, b); - if (!q.contents) - return g.warn('Skipped data-uri embedding of ' + i + ' because file not found'), f(this, e || a); - var r = q.contents; - if (o && !b.encodeBase64) return f(this, e); - r = o ? b.encodeBase64(r) : encodeURIComponent(r); - var s = 'data:' + h + ',' + r + m, - t = 32768; - return s.length >= t && this.context.ieCompat !== !1 - ? (g.warn( - 'Skipped data-uri embedding of ' + - i + - ' because its size (' + - s.length + - ' characters) exceeds IE8-safe ' + - t + - ' characters!' - ), - f(this, e || a)) - : new d( - new c('"' + s + '"', s, !1, this.index, this.currentFileInfo), - this.index, - this.currentFileInfo - ); - }); - }; - }, - { '../logger': 33, '../tree/quoted': 73, '../tree/url': 80, './function-registry': 22 }, - ], - 20: [ - function (a, b, c) { - var d = a('../tree/keyword'), - e = a('./function-registry'), - f = { - eval: function () { - var a = this.value_, - b = this.error_; - if (b) throw b; - if (null != a) return a ? d.True : d.False; - }, - value: function (a) { - this.value_ = a; - }, - error: function (a) { - this.error_ = a; - }, - reset: function () { - this.value_ = this.error_ = null; - }, - }; - e.add('default', f.eval.bind(f)), (b.exports = f); - }, - { '../tree/keyword': 65, './function-registry': 22 }, - ], - 21: [ - function (a, b, c) { - var d = a('../tree/expression'), - e = function (a, b, c, d) { - (this.name = a.toLowerCase()), - (this.index = c), - (this.context = b), - (this.currentFileInfo = d), - (this.func = b.frames[0].functionRegistry.get(this.name)); - }; - (e.prototype.isValid = function () { - return Boolean(this.func); - }), - (e.prototype.call = function (a) { - return ( - Array.isArray(a) && - (a = a - .filter(function (a) { - return 'Comment' !== a.type; - }) - .map(function (a) { - if ('Expression' === a.type) { - var b = a.value.filter(function (a) { - return 'Comment' !== a.type; - }); - return 1 === b.length ? b[0] : new d(b); - } - return a; - })), - this.func.apply(this, a) - ); - }), - (b.exports = e); - }, - { '../tree/expression': 59 }, - ], - 22: [ - function (a, b, c) { - function d(a) { - return { - _data: {}, - add: function (a, b) { - (a = a.toLowerCase()), this._data.hasOwnProperty(a), (this._data[a] = b); - }, - addMultiple: function (a) { - Object.keys(a).forEach( - function (b) { - this.add(b, a[b]); - }.bind(this) - ); - }, - get: function (b) { - return this._data[b] || (a && a.get(b)); - }, - inherit: function () { - return d(this); - }, - }; - } - b.exports = d(null); - }, - {}, - ], - 23: [ - function (a, b, c) { - b.exports = function (b) { - var c = { functionRegistry: a('./function-registry'), functionCaller: a('./function-caller') }; - return ( - a('./default'), - a('./color'), - a('./color-blending'), - a('./data-uri')(b), - a('./math'), - a('./number'), - a('./string'), - a('./svg')(b), - a('./types'), - c - ); - }; - }, - { - './color': 18, - './color-blending': 17, - './data-uri': 19, - './default': 20, - './function-caller': 21, - './function-registry': 22, - './math': 25, - './number': 26, - './string': 27, - './svg': 28, - './types': 29, - }, - ], - 24: [ - function (a, b, c) { - var d = a('../tree/dimension'), - e = function () {}; - (e._math = function (a, b, c) { - if (!(c instanceof d)) throw { type: 'Argument', message: 'argument must be a number' }; - return null == b ? (b = c.unit) : (c = c.unify()), new d(a(parseFloat(c.value)), b); - }), - (b.exports = e); - }, - { '../tree/dimension': 56 }, - ], - 25: [ - function (a, b, c) { - var d = a('./function-registry'), - e = a('./math-helper.js'), - f = { - ceil: null, - floor: null, - sqrt: null, - abs: null, - tan: '', - sin: '', - cos: '', - atan: 'rad', - asin: 'rad', - acos: 'rad', - }; - for (var g in f) f.hasOwnProperty(g) && (f[g] = e._math.bind(null, Math[g], f[g])); - (f.round = function (a, b) { - var c = 'undefined' == typeof b ? 0 : b.value; - return e._math( - function (a) { - return a.toFixed(c); - }, - null, - a - ); - }), - d.addMultiple(f); - }, - { './function-registry': 22, './math-helper.js': 24 }, - ], - 26: [ - function (a, b, c) { - var d = a('../tree/dimension'), - e = a('../tree/anonymous'), - f = a('./function-registry'), - g = a('./math-helper.js'), - h = function (a, b) { - switch (((b = Array.prototype.slice.call(b)), b.length)) { - case 0: - throw { type: 'Argument', message: 'one or more arguments required' }; - } - var c, - f, - g, - h, - i, - j, - k, - l, - m = [], - n = {}; - for (c = 0; c < b.length; c++) - if (((g = b[c]), g instanceof d)) - if ( - ((h = '' === g.unit.toString() && void 0 !== l ? new d(g.value, l).unify() : g.unify()), - (j = '' === h.unit.toString() && void 0 !== k ? k : h.unit.toString()), - (k = ('' !== j && void 0 === k) || ('' !== j && '' === m[0].unify().unit.toString()) ? j : k), - (l = '' !== j && void 0 === l ? g.unit.toString() : l), - (f = void 0 !== n[''] && '' !== j && j === k ? n[''] : n[j]), - void 0 !== f) - ) - (i = '' === m[f].unit.toString() && void 0 !== l ? new d(m[f].value, l).unify() : m[f].unify()), - ((a && h.value < i.value) || (!a && h.value > i.value)) && (m[f] = g); - else { - if (void 0 !== k && j !== k) throw { type: 'Argument', message: 'incompatible types' }; - (n[j] = m.length), m.push(g); - } - else Array.isArray(b[c].value) && Array.prototype.push.apply(b, Array.prototype.slice.call(b[c].value)); - return 1 == m.length - ? m[0] - : ((b = m - .map(function (a) { - return a.toCSS(this.context); - }) - .join(this.context.compress ? ',' : ', ')), - new e((a ? 'min' : 'max') + '(' + b + ')')); - }; - f.addMultiple({ - min: function () { - return h(!0, arguments); - }, - max: function () { - return h(!1, arguments); - }, - convert: function (a, b) { - return a.convertTo(b.value); - }, - pi: function () { - return new d(Math.PI); - }, - mod: function (a, b) { - return new d(a.value % b.value, a.unit); - }, - pow: function (a, b) { - if ('number' == typeof a && 'number' == typeof b) (a = new d(a)), (b = new d(b)); - else if (!(a instanceof d && b instanceof d)) - throw { type: 'Argument', message: 'arguments must be numbers' }; - return new d(Math.pow(a.value, b.value), a.unit); - }, - percentage: function (a) { - var b = g._math( - function (a) { - return 100 * a; - }, - '%', - a - ); - return b; - }, - }); - }, - { '../tree/anonymous': 46, '../tree/dimension': 56, './function-registry': 22, './math-helper.js': 24 }, - ], - 27: [ - function (a, b, c) { - var d = a('../tree/quoted'), - e = a('../tree/anonymous'), - f = a('../tree/javascript'), - g = a('./function-registry'); - g.addMultiple({ - e: function (a) { - return new e(a instanceof f ? a.evaluated : a.value); - }, - escape: function (a) { - return new e( - encodeURI(a.value) - .replace(/=/g, '%3D') - .replace(/:/g, '%3A') - .replace(/#/g, '%23') - .replace(/;/g, '%3B') - .replace(/\(/g, '%28') - .replace(/\)/g, '%29') - ); - }, - replace: function (a, b, c, e) { - var f = a.value; - return ( - (c = 'Quoted' === c.type ? c.value : c.toCSS()), - (f = f.replace(new RegExp(b.value, e ? e.value : ''), c)), - new d(a.quote || '', f, a.escaped) - ); - }, - '%': function (a) { - for (var b = Array.prototype.slice.call(arguments, 1), c = a.value, e = 0; e < b.length; e++) - c = c.replace(/%[sda]/i, function (a) { - var c = 'Quoted' === b[e].type && a.match(/s/i) ? b[e].value : b[e].toCSS(); - return a.match(/[A-Z]$/) ? encodeURIComponent(c) : c; - }); - return (c = c.replace(/%%/g, '%')), new d(a.quote || '', c, a.escaped); - }, - }); - }, - { '../tree/anonymous': 46, '../tree/javascript': 63, '../tree/quoted': 73, './function-registry': 22 }, - ], - 28: [ - function (a, b, c) { - b.exports = function (b) { - var c = a('../tree/dimension'), - d = a('../tree/color'), - e = a('../tree/expression'), - f = a('../tree/quoted'), - g = a('../tree/url'), - h = a('./function-registry'); - h.add('svg-gradient', function (a) { - function b() { - throw { - type: 'Argument', - message: - 'svg-gradient expects direction, start_color [start_position], [color position,]..., end_color [end_position] or direction, color list', - }; - } - var h, - i, - j, - k, - l, - m, - n, - o, - p = 'linear', - q = 'x="0" y="0" width="1" height="1"', - r = { compress: !1 }, - s = a.toCSS(r); - switch ( - (2 == arguments.length - ? (arguments[1].value.length < 2 && b(), (h = arguments[1].value)) - : arguments.length < 3 - ? b() - : (h = Array.prototype.slice.call(arguments, 1)), - s) - ) { - case 'to bottom': - i = 'x1="0%" y1="0%" x2="0%" y2="100%"'; - break; - case 'to right': - i = 'x1="0%" y1="0%" x2="100%" y2="0%"'; - break; - case 'to bottom right': - i = 'x1="0%" y1="0%" x2="100%" y2="100%"'; - break; - case 'to top right': - i = 'x1="0%" y1="100%" x2="100%" y2="0%"'; - break; - case 'ellipse': - case 'ellipse at center': - (p = 'radial'), (i = 'cx="50%" cy="50%" r="75%"'), (q = 'x="-50" y="-50" width="101" height="101"'); - break; - default: - throw { - type: 'Argument', - message: - "svg-gradient direction must be 'to bottom', 'to right', 'to bottom right', 'to top right' or 'ellipse at center'", - }; - } - for ( - j = - '<' + - p + - 'Gradient id="gradient" gradientUnits="userSpaceOnUse" ' + - i + - '>', - k = 0; - k < h.length; - k += 1 - ) - h[k] instanceof e ? ((l = h[k].value[0]), (m = h[k].value[1])) : ((l = h[k]), (m = void 0)), - (l instanceof d && (((0 === k || k + 1 === h.length) && void 0 === m) || m instanceof c)) || b(), - (n = m ? m.toCSS(r) : 0 === k ? '0%' : '100%'), - (o = l.alpha), - (j += - ''); - return ( - (j += ''), - (j = encodeURIComponent(j)), - (j = 'data:image/svg+xml,' + j), - new g(new f("'" + j + "'", j, !1, this.index, this.currentFileInfo), this.index, this.currentFileInfo) - ); - }); - }; - }, - { - '../tree/color': 50, - '../tree/dimension': 56, - '../tree/expression': 59, - '../tree/quoted': 73, - '../tree/url': 80, - './function-registry': 22, - }, - ], - 29: [ - function (a, b, c) { - var d = a('../tree/keyword'), - e = a('../tree/detached-ruleset'), - f = a('../tree/dimension'), - g = a('../tree/color'), - h = a('../tree/quoted'), - i = a('../tree/anonymous'), - j = a('../tree/url'), - k = a('../tree/operation'), - l = a('./function-registry'), - m = function (a, b) { - return a instanceof b ? d.True : d.False; - }, - n = function (a, b) { - if (void 0 === b) throw { type: 'Argument', message: 'missing the required second argument to isunit.' }; - if (((b = 'string' == typeof b.value ? b.value : b), 'string' != typeof b)) - throw { type: 'Argument', message: 'Second argument to isunit should be a unit or a string.' }; - return a instanceof f && a.unit.is(b) ? d.True : d.False; - }, - o = function (a) { - var b = Array.isArray(a.value) ? a.value : Array(a); - return b; - }; - l.addMultiple({ - isruleset: function (a) { - return m(a, e); - }, - iscolor: function (a) { - return m(a, g); - }, - isnumber: function (a) { - return m(a, f); - }, - isstring: function (a) { - return m(a, h); - }, - iskeyword: function (a) { - return m(a, d); - }, - isurl: function (a) { - return m(a, j); - }, - ispixel: function (a) { - return n(a, 'px'); - }, - ispercentage: function (a) { - return n(a, '%'); - }, - isem: function (a) { - return n(a, 'em'); - }, - isunit: n, - unit: function (a, b) { - if (!(a instanceof f)) - throw { - type: 'Argument', - message: - 'the first argument to unit must be a number' + - (a instanceof k ? '. Have you forgotten parenthesis?' : ''), - }; - return (b = b ? (b instanceof d ? b.value : b.toCSS()) : ''), new f(a.value, b); - }, - 'get-unit': function (a) { - return new i(a.unit); - }, - extract: function (a, b) { - return (b = b.value - 1), o(a)[b]; - }, - length: function (a) { - return new f(o(a).length); - }, - }); - }, - { - '../tree/anonymous': 46, - '../tree/color': 50, - '../tree/detached-ruleset': 55, - '../tree/dimension': 56, - '../tree/keyword': 65, - '../tree/operation': 71, - '../tree/quoted': 73, - '../tree/url': 80, - './function-registry': 22, - }, - ], - 30: [ - function (a, b, c) { - var d = a('./contexts'), - e = a('./parser/parser'), - f = a('./plugins/function-importer'); - b.exports = function (a) { - var b = function (a, b) { - (this.rootFilename = b.filename), - (this.paths = a.paths || []), - (this.contents = {}), - (this.contentsIgnoredChars = {}), - (this.mime = a.mime), - (this.error = null), - (this.context = a), - (this.queue = []), - (this.files = {}); - }; - return ( - (b.prototype.push = function (b, c, g, h, i) { - var j = this; - this.queue.push(b); - var k = function (a, c, d) { - j.queue.splice(j.queue.indexOf(b), 1); - var e = d === j.rootFilename; - h.optional && a - ? i(null, { rules: [] }, !1, null) - : ((j.files[d] = c), a && !j.error && (j.error = a), i(a, c, e, d)); - }, - l = { - relativeUrls: this.context.relativeUrls, - entryPath: g.entryPath, - rootpath: g.rootpath, - rootFilename: g.rootFilename, - }, - m = a.getFileManager(b, g.currentDirectory, this.context, a); - if (!m) return void k({ message: 'Could not find a file-manager for ' + b }); - c && (b = m.tryAppendExtension(b, h.plugin ? '.js' : '.less')); - var n = function (a) { - var b = a.filename, - c = a.contents.replace(/^\uFEFF/, ''); - (l.currentDirectory = m.getPath(b)), - l.relativeUrls && - ((l.rootpath = m.join(j.context.rootpath || '', m.pathDiff(l.currentDirectory, l.entryPath))), - !m.isPathAbsolute(l.rootpath) && - m.alwaysMakePathsAbsolute() && - (l.rootpath = m.join(l.entryPath, l.rootpath))), - (l.filename = b); - var i = new d.Parse(j.context); - (i.processImports = !1), - (j.contents[b] = c), - (g.reference || h.reference) && (l.reference = !0), - h.plugin - ? new f(i, l).eval(c, function (a, c) { - k(a, c, b); - }) - : h.inline - ? k(null, c, b) - : new e(i, j, l).parse(c, function (a, c) { - k(a, c, b); - }); - }, - o = m.loadFile(b, g.currentDirectory, this.context, a, function (a, b) { - a ? k(a) : n(b); - }); - o && o.then(n, k); - }), - b - ); - }; - }, - { './contexts': 11, './parser/parser': 38, './plugins/function-importer': 40 }, - ], - 31: [ - function (a, b, c) { - b.exports = function (b, c) { - var d, - e, - f, - g, - h, - i = { - version: [2, 7, 2], - data: a('./data'), - tree: a('./tree'), - Environment: (h = a('./environment/environment')), - AbstractFileManager: a('./environment/abstract-file-manager'), - environment: (b = new h(b, c)), - visitors: a('./visitors'), - Parser: a('./parser/parser'), - functions: a('./functions')(b), - contexts: a('./contexts'), - SourceMapOutput: (d = a('./source-map-output')(b)), - SourceMapBuilder: (e = a('./source-map-builder')(d, b)), - ParseTree: (f = a('./parse-tree')(e)), - ImportManager: (g = a('./import-manager')(b)), - render: a('./render')(b, f, g), - parse: a('./parse')(b, f, g), - LessError: a('./less-error'), - transformTree: a('./transform-tree'), - utils: a('./utils'), - PluginManager: a('./plugin-manager'), - logger: a('./logger'), - }; - return i; - }; - }, - { - './contexts': 11, - './data': 13, - './environment/abstract-file-manager': 15, - './environment/environment': 16, - './functions': 23, - './import-manager': 30, - './less-error': 32, - './logger': 33, - './parse': 35, - './parse-tree': 34, - './parser/parser': 38, - './plugin-manager': 39, - './render': 41, - './source-map-builder': 42, - './source-map-output': 43, - './transform-tree': 44, - './tree': 62, - './utils': 83, - './visitors': 87, - }, - ], - 32: [ - function (a, b, c) { - var d = a('./utils'), - e = (b.exports = function (a, b, c) { - Error.call(this); - var e = a.filename || c; - if (b && e) { - var f = b.contents[e], - g = d.getLocation(a.index, f), - h = g.line, - i = g.column, - j = a.call && d.getLocation(a.call, f).line, - k = f.split('\n'); - (this.type = a.type || 'Syntax'), - (this.filename = e), - (this.index = a.index), - (this.line = 'number' == typeof h ? h + 1 : null), - (this.callLine = j + 1), - (this.callExtract = k[j]), - (this.column = i), - (this.extract = [k[h - 1], k[h], k[h + 1]]); - } - (this.message = a.message), (this.stack = a.stack); - }); - if ('undefined' == typeof Object.create) { - var f = function () {}; - (f.prototype = Error.prototype), (e.prototype = new f()); - } else e.prototype = Object.create(Error.prototype); - e.prototype.constructor = e; - }, - { './utils': 83 }, - ], - 33: [ - function (a, b, c) { - b.exports = { - error: function (a) { - this._fireEvent('error', a); - }, - warn: function (a) { - this._fireEvent('warn', a); - }, - info: function (a) { - this._fireEvent('info', a); - }, - debug: function (a) { - this._fireEvent('debug', a); - }, - addListener: function (a) { - this._listeners.push(a); - }, - removeListener: function (a) { - for (var b = 0; b < this._listeners.length; b++) - if (this._listeners[b] === a) return void this._listeners.splice(b, 1); - }, - _fireEvent: function (a, b) { - for (var c = 0; c < this._listeners.length; c++) { - var d = this._listeners[c][a]; - d && d(b); - } - }, - _listeners: [], - }; - }, - {}, - ], - 34: [ - function (a, b, c) { - var d = a('./less-error'), - e = a('./transform-tree'), - f = a('./logger'); - b.exports = function (a) { - var b = function (a, b) { - (this.root = a), (this.imports = b); - }; - return ( - (b.prototype.toCSS = function (b) { - var c, - g, - h = {}; - try { - c = e(this.root, b); - } catch (i) { - throw new d(i, this.imports); - } - try { - var j = Boolean(b.compress); - j && - f.warn( - 'The compress option has been deprecated. We recommend you use a dedicated css minifier, for instance see less-plugin-clean-css.' - ); - var k = { - compress: j, - dumpLineNumbers: b.dumpLineNumbers, - strictUnits: Boolean(b.strictUnits), - numPrecision: 8, - }; - b.sourceMap - ? ((g = new a(b.sourceMap)), (h.css = g.toCSS(c, k, this.imports))) - : (h.css = c.toCSS(k)); - } catch (i) { - throw new d(i, this.imports); - } - if (b.pluginManager) - for (var l = b.pluginManager.getPostProcessors(), m = 0; m < l.length; m++) - h.css = l[m].process(h.css, { sourceMap: g, options: b, imports: this.imports }); - b.sourceMap && (h.map = g.getExternalSourceMap()), (h.imports = []); - for (var n in this.imports.files) - this.imports.files.hasOwnProperty(n) && n !== this.imports.rootFilename && h.imports.push(n); - return h; - }), - b - ); - }; - }, - { './less-error': 32, './logger': 33, './transform-tree': 44 }, - ], - 35: [ - function (a, b, c) { - var d, - e = a('./contexts'), - f = a('./parser/parser'), - g = a('./plugin-manager'); - b.exports = function (b, c, h) { - var i = function (b, c, j) { - if (((c = c || {}), 'function' == typeof c && ((j = c), (c = {})), !j)) { - d || (d = 'undefined' == typeof Promise ? a('promise') : Promise); - var k = this; - return new d(function (a, d) { - i.call(k, b, c, function (b, c) { - b ? d(b) : a(c); - }); - }); - } - var l, - m, - n = new g(this); - if ((n.addPlugins(c.plugins), (c.pluginManager = n), (l = new e.Parse(c)), c.rootFileInfo)) - m = c.rootFileInfo; - else { - var o = c.filename || 'input', - p = o.replace(/[^\/\\]*$/, ''); - (m = { - filename: o, - relativeUrls: l.relativeUrls, - rootpath: l.rootpath || '', - currentDirectory: p, - entryPath: p, - rootFilename: o, - }), - m.rootpath && '/' !== m.rootpath.slice(-1) && (m.rootpath += '/'); - } - var q = new h(l, m); - new f(l, q, m).parse( - b, - function (a, b) { - return a ? j(a) : void j(null, b, q, c); - }, - c - ); - }; - return i; - }; - }, - { './contexts': 11, './parser/parser': 38, './plugin-manager': 39, promise: void 0 }, - ], - 36: [ - function (a, b, c) { - b.exports = function (a, b) { - function c(b) { - var c = h - q; - (c < 512 && !b) || !c || (p.push(a.slice(q, h + 1)), (q = h + 1)); - } - var d, - e, - f, - g, - h, - i, - j, - k, - l, - m = a.length, - n = 0, - o = 0, - p = [], - q = 0; - for (h = 0; h < m; h++) - if (((j = a.charCodeAt(h)), !((j >= 97 && j <= 122) || j < 34))) - switch (j) { - case 40: - o++, (e = h); - continue; - case 41: - if (--o < 0) return b('missing opening `(`', h); - continue; - case 59: - o || c(); - continue; - case 123: - n++, (d = h); - continue; - case 125: - if (--n < 0) return b('missing opening `{`', h); - n || o || c(); - continue; - case 92: - if (h < m - 1) { - h++; - continue; - } - return b('unescaped `\\`', h); - case 34: - case 39: - case 96: - for (l = 0, i = h, h += 1; h < m; h++) - if (((k = a.charCodeAt(h)), !(k > 96))) { - if (k == j) { - l = 1; - break; - } - if (92 == k) { - if (h == m - 1) return b('unescaped `\\`', h); - h++; - } - } - if (l) continue; - return b('unmatched `' + String.fromCharCode(j) + '`', i); - case 47: - if (o || h == m - 1) continue; - if (((k = a.charCodeAt(h + 1)), 47 == k)) - for (h += 2; h < m && ((k = a.charCodeAt(h)), !(k <= 13) || (10 != k && 13 != k)); h++); - else if (42 == k) { - for ( - f = i = h, h += 2; - h < m - 1 && ((k = a.charCodeAt(h)), 125 == k && (g = h), 42 != k || 47 != a.charCodeAt(h + 1)); - h++ - ); - if (h == m - 1) return b('missing closing `*/`', i); - h++; - } - continue; - case 42: - if (h < m - 1 && 47 == a.charCodeAt(h + 1)) return b('unmatched `/*`', h); - continue; - } - return 0 !== n - ? f > d && g > f - ? b('missing closing `}` or `*/`', d) - : b('missing closing `}`', d) - : 0 !== o - ? b('missing closing `)`', e) - : (c(!0), p); - }; - }, - {}, - ], - 37: [ - function (a, b, c) { - var d = a('./chunker'); - b.exports = function () { - function a(d) { - for ( - var e, f, j, p = k.i, q = c, s = k.i - i, t = k.i + h.length - s, u = (k.i += d), v = b; - k.i < t; - k.i++ - ) { - if (((e = v.charCodeAt(k.i)), k.autoCommentAbsorb && e === r)) { - if (((f = v.charAt(k.i + 1)), '/' === f)) { - j = { index: k.i, isLineComment: !0 }; - var w = v.indexOf('\n', k.i + 2); - w < 0 && (w = t), (k.i = w), (j.text = v.substr(j.index, k.i - j.index)), k.commentStore.push(j); - continue; - } - if ('*' === f) { - var x = v.indexOf('*/', k.i + 2); - if (x >= 0) { - (j = { index: k.i, text: v.substr(k.i, x + 2 - k.i), isLineComment: !1 }), - (k.i += j.text.length - 1), - k.commentStore.push(j); - continue; - } - } - break; - } - if (e !== l && e !== n && e !== m && e !== o) break; - } - if (((h = h.slice(d + k.i - u + s)), (i = k.i), !h.length)) { - if (c < g.length - 1) return (h = g[++c]), a(0), !0; - k.finished = !0; - } - return p !== k.i || q !== c; - } - var b, - c, - e, - f, - g, - h, - i, - j = [], - k = {}, - l = 32, - m = 9, - n = 10, - o = 13, - p = 43, - q = 44, - r = 47, - s = 57; - return ( - (k.save = function () { - (i = k.i), j.push({ current: h, i: k.i, j: c }); - }), - (k.restore = function (a) { - (k.i > e || (k.i === e && a && !f)) && ((e = k.i), (f = a)); - var b = j.pop(); - (h = b.current), (i = k.i = b.i), (c = b.j); - }), - (k.forget = function () { - j.pop(); - }), - (k.isWhitespace = function (a) { - var c = k.i + (a || 0), - d = b.charCodeAt(c); - return d === l || d === o || d === m || d === n; - }), - (k.$re = function (b) { - k.i > i && ((h = h.slice(k.i - i)), (i = k.i)); - var c = b.exec(h); - return c ? (a(c[0].length), 'string' == typeof c ? c : 1 === c.length ? c[0] : c) : null; - }), - (k.$char = function (c) { - return b.charAt(k.i) !== c ? null : (a(1), c); - }), - (k.$str = function (c) { - for (var d = c.length, e = 0; e < d; e++) if (b.charAt(k.i + e) !== c.charAt(e)) return null; - return a(d), c; - }), - (k.$quoted = function () { - var c = b.charAt(k.i); - if ("'" === c || '"' === c) { - for (var d = b.length, e = k.i, f = 1; f + e < d; f++) { - var g = b.charAt(f + e); - switch (g) { - case '\\': - f++; - continue; - case '\r': - case '\n': - break; - case c: - var h = b.substr(e, f + 1); - return a(f + 1), h; - } - } - return null; - } - }), - (k.autoCommentAbsorb = !0), - (k.commentStore = []), - (k.finished = !1), - (k.peek = function (a) { - if ('string' == typeof a) { - for (var c = 0; c < a.length; c++) if (b.charAt(k.i + c) !== a.charAt(c)) return !1; - return !0; - } - return a.test(h); - }), - (k.peekChar = function (a) { - return b.charAt(k.i) === a; - }), - (k.currentChar = function () { - return b.charAt(k.i); - }), - (k.getInput = function () { - return b; - }), - (k.peekNotNumeric = function () { - var a = b.charCodeAt(k.i); - return a > s || a < p || a === r || a === q; - }), - (k.start = function (f, j, l) { - (b = f), (k.i = c = i = e = 0), (g = j ? d(f, l) : [f]), (h = g[0]), a(0); - }), - (k.end = function () { - var a, - c = k.i >= b.length; - return ( - k.i < e && ((a = f), (k.i = e)), - { - isFinished: c, - furthest: k.i, - furthestPossibleErrorMessage: a, - furthestReachedEnd: k.i >= b.length - 1, - furthestChar: b[k.i], - } - ); - }), - k - ); - }; - }, - { './chunker': 36 }, - ], - 38: [ - function (a, b, c) { - var d = a('../less-error'), - e = a('../tree'), - f = a('../visitors'), - g = a('./parser-input'), - h = a('../utils'), - i = function j(a, b, c) { - function i(a, e) { - throw new d({ index: o.i, filename: c.filename, type: e || 'Syntax', message: a }, b); - } - function k(a, b, c) { - var d = a instanceof Function ? a.call(n) : o.$re(a); - return d - ? d - : void i( - b || - ('string' == typeof a - ? "expected '" + a + "' got '" + o.currentChar() + "'" - : 'unexpected token') - ); - } - function l(a, b) { - return o.$char(a) ? a : void i(b || "expected '" + a + "' got '" + o.currentChar() + "'"); - } - function m(a) { - var b = c.filename; - return { lineNumber: h.getLocation(a, o.getInput()).line + 1, fileName: b }; - } - var n, - o = g(); - return { - parse: function (g, h, i) { - var k, - l, - m, - n, - p = null, - q = ''; - if ( - ((l = i && i.globalVars ? j.serializeVars(i.globalVars) + '\n' : ''), - (m = i && i.modifyVars ? '\n' + j.serializeVars(i.modifyVars) : ''), - a.pluginManager) - ) - for (var r = a.pluginManager.getPreProcessors(), s = 0; s < r.length; s++) - g = r[s].process(g, { context: a, imports: b, fileInfo: c }); - (l || (i && i.banner)) && - ((q = (i && i.banner ? i.banner : '') + l), - (n = b.contentsIgnoredChars), - (n[c.filename] = n[c.filename] || 0), - (n[c.filename] += q.length)), - (g = g.replace(/\r\n?/g, '\n')), - (g = q + g.replace(/^\uFEFF/, '') + m), - (b.contents[c.filename] = g); - try { - o.start(g, a.chunkInput, function (a, e) { - throw new d({ index: e, type: 'Parse', message: a, filename: c.filename }, b); - }), - (k = new e.Ruleset(null, this.parsers.primary())), - (k.root = !0), - (k.firstRoot = !0); - } catch (t) { - return h(new d(t, b, c.filename)); - } - var u = o.end(); - if (!u.isFinished) { - var v = u.furthestPossibleErrorMessage; - v || - ((v = 'Unrecognised input'), - '}' === u.furthestChar - ? (v += ". Possibly missing opening '{'") - : ')' === u.furthestChar - ? (v += ". Possibly missing opening '('") - : u.furthestReachedEnd && (v += '. Possibly missing something')), - (p = new d({ type: 'Parse', message: v, index: u.furthest, filename: c.filename }, b)); - } - var w = function (a) { - return ( - (a = p || a || b.error), a ? (a instanceof d || (a = new d(a, b, c.filename)), h(a)) : h(null, k) - ); - }; - return a.processImports === !1 ? w() : void new f.ImportVisitor(b, w).run(k); - }, - parsers: (n = { - primary: function () { - for (var a, b = this.mixin, c = []; ; ) { - for (;;) { - if (((a = this.comment()), !a)) break; - c.push(a); - } - if (o.finished) break; - if (o.peek('}')) break; - if ((a = this.extendRule())) c = c.concat(a); - else if ( - (a = - b.definition() || - this.rule() || - this.ruleset() || - b.call() || - this.rulesetCall() || - this.entities.call() || - this.directive()) - ) - c.push(a); - else { - for (var d = !1; o.$char(';'); ) d = !0; - if (!d) break; - } - } - return c; - }, - comment: function () { - if (o.commentStore.length) { - var a = o.commentStore.shift(); - return new e.Comment(a.text, a.isLineComment, a.index, c); - } - }, - entities: { - quoted: function () { - var a, - b = o.i, - d = !1; - return ( - o.save(), - o.$char('~') && (d = !0), - (a = o.$quoted()) - ? (o.forget(), new e.Quoted(a.charAt(0), a.substr(1, a.length - 2), d, b, c)) - : void o.restore() - ); - }, - keyword: function () { - var a = o.$char('%') || o.$re(/^[_A-Za-z-][_A-Za-z0-9-]*/); - if (a) return e.Color.fromKeyword(a) || new e.Keyword(a); - }, - call: function () { - var a, - b, - d, - f, - g = o.i; - if (!o.peek(/^url\(/i)) - return ( - o.save(), - (a = o.$re(/^([\w-]+|%|progid:[\w\.]+)\(/)) - ? ((a = a[1]), - (b = a.toLowerCase()), - 'alpha' === b && (f = n.alpha()) - ? (o.forget(), f) - : ((d = this.arguments()), - o.$char(')') - ? (o.forget(), new e.Call(a, d, g, c)) - : void o.restore("Could not parse call arguments or missing ')'"))) - : void o.forget() - ); - }, - arguments: function () { - var a, - b, - c, - d = [], - f = [], - g = []; - for (o.save(); ; ) { - if (((c = n.detachedRuleset() || this.assignment() || n.expression()), !c)) break; - (b = c), - c.value && 1 == c.value.length && (b = c.value[0]), - b && g.push(b), - f.push(b), - o.$char(',') || - ((o.$char(';') || a) && - ((a = !0), g.length > 1 && (b = new e.Value(g)), d.push(b), (g = []))); - } - return o.forget(), a ? d : f; - }, - literal: function () { - return this.dimension() || this.color() || this.quoted() || this.unicodeDescriptor(); - }, - assignment: function () { - var a, b; - return ( - o.save(), - (a = o.$re(/^\w+(?=\s?=)/i)) && o.$char('=') && (b = n.entity()) - ? (o.forget(), new e.Assignment(a, b)) - : void o.restore() - ); - }, - url: function () { - var a, - b = o.i; - return ( - (o.autoCommentAbsorb = !1), - o.$str('url(') - ? ((a = this.quoted() || this.variable() || o.$re(/^(?:(?:\\[\(\)'"])|[^\(\)'"])+/) || ''), - (o.autoCommentAbsorb = !0), - l(')'), - new e.URL(null != a.value || a instanceof e.Variable ? a : new e.Anonymous(a), b, c)) - : void (o.autoCommentAbsorb = !0) - ); - }, - variable: function () { - var a, - b = o.i; - if ('@' === o.currentChar() && (a = o.$re(/^@@?[\w-]+/))) return new e.Variable(a, b, c); - }, - variableCurly: function () { - var a, - b = o.i; - if ('@' === o.currentChar() && (a = o.$re(/^@\{([\w-]+)\}/))) - return new e.Variable('@' + a[1], b, c); - }, - color: function () { - var a; - if ('#' === o.currentChar() && (a = o.$re(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/))) { - var b = a.input.match(/^#([\w]+).*/); - return ( - (b = b[1]), - b.match(/^[A-Fa-f0-9]+$/) || i('Invalid HEX color code'), - new e.Color(a[1], void 0, '#' + b) - ); - } - }, - colorKeyword: function () { - o.save(); - var a = o.autoCommentAbsorb; - o.autoCommentAbsorb = !1; - var b = o.$re(/^[_A-Za-z-][_A-Za-z0-9-]+/); - if (((o.autoCommentAbsorb = a), !b)) return void o.forget(); - o.restore(); - var c = e.Color.fromKeyword(b); - return c ? (o.$str(b), c) : void 0; - }, - dimension: function () { - if (!o.peekNotNumeric()) { - var a = o.$re(/^([+-]?\d*\.?\d+)(%|[a-z_]+)?/i); - return a ? new e.Dimension(a[1], a[2]) : void 0; - } - }, - unicodeDescriptor: function () { - var a; - if ((a = o.$re(/^U\+[0-9a-fA-F?]+(\-[0-9a-fA-F?]+)?/))) return new e.UnicodeDescriptor(a[0]); - }, - javascript: function () { - var a, - b = o.i; - o.save(); - var d = o.$char('~'), - f = o.$char('`'); - return f - ? (a = o.$re(/^[^`]*`/)) - ? (o.forget(), new e.JavaScript(a.substr(0, a.length - 1), Boolean(d), b, c)) - : void o.restore('invalid javascript definition') - : void o.restore(); - }, - }, - variable: function () { - var a; - if ('@' === o.currentChar() && (a = o.$re(/^(@[\w-]+)\s*:/))) return a[1]; - }, - rulesetCall: function () { - var a; - if ('@' === o.currentChar() && (a = o.$re(/^(@[\w-]+)\(\s*\)\s*;/))) return new e.RulesetCall(a[1]); - }, - extend: function (a) { - var b, - d, - f, - g, - h, - j = o.i; - if (o.$str(a ? '&:extend(' : ':extend(')) { - do { - for (f = null, b = null; !(f = o.$re(/^(all)(?=\s*(\)|,))/)) && (d = this.element()); ) - b ? b.push(d) : (b = [d]); - (f = f && f[1]), - b || i('Missing target selector for :extend().'), - (h = new e.Extend(new e.Selector(b), f, j, c)), - g ? g.push(h) : (g = [h]); - } while (o.$char(',')); - return k(/^\)/), a && k(/^;/), g; - } - }, - extendRule: function () { - return this.extend(!0); - }, - mixin: { - call: function () { - var a, - b, - d, - f, - g, - h, - i = o.currentChar(), - j = !1, - k = o.i; - if ('.' === i || '#' === i) { - for (o.save(); ; ) { - if (((a = o.i), (f = o.$re(/^[#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/)), !f)) - break; - (d = new e.Element(g, f, a, c)), b ? b.push(d) : (b = [d]), (g = o.$char('>')); - } - return b && - (o.$char('(') && ((h = this.args(!0).args), l(')')), n.important() && (j = !0), n.end()) - ? (o.forget(), new e.mixin.Call(b, h, k, c, j)) - : void o.restore(); - } - }, - args: function (a) { - var b, - c, - d, - f, - g, - h, - j, - k = n.entities, - l = { args: null, variadic: !1 }, - m = [], - p = [], - q = []; - for (o.save(); ; ) { - if (a) h = n.detachedRuleset() || n.expression(); - else { - if (((o.commentStore.length = 0), o.$str('...'))) { - (l.variadic = !0), o.$char(';') && !b && (b = !0), (b ? p : q).push({ variadic: !0 }); - break; - } - h = k.variable() || k.literal() || k.keyword(); - } - if (!h) break; - (f = null), h.throwAwayComments && h.throwAwayComments(), (g = h); - var r = null; - if ( - (a ? h.value && 1 == h.value.length && (r = h.value[0]) : (r = h), - r && r instanceof e.Variable) - ) - if (o.$char(':')) { - if ( - (m.length > 0 && (b && i('Cannot mix ; and , as delimiter types'), (c = !0)), - (g = n.detachedRuleset() || n.expression()), - !g) - ) { - if (!a) return o.restore(), (l.args = []), l; - i('could not understand value for named argument'); - } - f = d = r.name; - } else if (o.$str('...')) { - if (!a) { - (l.variadic = !0), - o.$char(';') && !b && (b = !0), - (b ? p : q).push({ name: h.name, variadic: !0 }); - break; - } - j = !0; - } else a || ((d = f = r.name), (g = null)); - g && m.push(g), - q.push({ name: f, value: g, expand: j }), - o.$char(',') || - ((o.$char(';') || b) && - (c && i('Cannot mix ; and , as delimiter types'), - (b = !0), - m.length > 1 && (g = new e.Value(m)), - p.push({ name: d, value: g, expand: j }), - (d = null), - (m = []), - (c = !1))); - } - return o.forget(), (l.args = b ? p : q), l; - }, - definition: function () { - var a, - b, - c, - d, - f = [], - g = !1; - if (!(('.' !== o.currentChar() && '#' !== o.currentChar()) || o.peek(/^[^{]*\}/))) - if ((o.save(), (b = o.$re(/^([#.](?:[\w-]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+)\s*\(/)))) { - a = b[1]; - var h = this.args(!1); - if (((f = h.args), (g = h.variadic), !o.$char(')'))) - return void o.restore("Missing closing ')'"); - if ( - ((o.commentStore.length = 0), - o.$str('when') && (d = k(n.conditions, 'expected condition')), - (c = n.block())) - ) - return o.forget(), new e.mixin.Definition(a, f, c, d, g); - o.restore(); - } else o.forget(); - }, - }, - entity: function () { - var a = this.entities; - return ( - this.comment() || - a.literal() || - a.variable() || - a.url() || - a.call() || - a.keyword() || - a.javascript() - ); - }, - end: function () { - return o.$char(';') || o.peek('}'); - }, - alpha: function () { - var a; - if (o.$re(/^opacity=/i)) - return ( - (a = o.$re(/^\d+/)), - a || (a = k(this.entities.variable, 'Could not parse alpha')), - l(')'), - new e.Alpha(a) - ); - }, - element: function () { - var a, - b, - d, - f = o.i; - if ( - ((b = this.combinator()), - (a = - o.$re(/^(?:\d+\.\d+|\d+)%/) || - o.$re(/^(?:[.#]?|:*)(?:[\w-]|[^\x00-\x9f]|\\(?:[A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9]))+/) || - o.$char('*') || - o.$char('&') || - this.attribute() || - o.$re(/^\([^&()@]+\)/) || - o.$re(/^[\.#:](?=@)/) || - this.entities.variableCurly()), - a || - (o.save(), - o.$char('(') - ? (d = this.selector()) && o.$char(')') - ? ((a = new e.Paren(d)), o.forget()) - : o.restore("Missing closing ')'") - : o.forget()), - a) - ) - return new e.Element(b, a, f, c); - }, - combinator: function () { - var a = o.currentChar(); - if ('/' === a) { - o.save(); - var b = o.$re(/^\/[a-z]+\//i); - if (b) return o.forget(), new e.Combinator(b); - o.restore(); - } - if ('>' === a || '+' === a || '~' === a || '|' === a || '^' === a) { - for (o.i++, '^' === a && '^' === o.currentChar() && ((a = '^^'), o.i++); o.isWhitespace(); ) - o.i++; - return new e.Combinator(a); - } - return new e.Combinator(o.isWhitespace(-1) ? ' ' : null); - }, - lessSelector: function () { - return this.selector(!0); - }, - selector: function (a) { - for ( - var b, d, f, g, h, j, l, m = o.i; - ((a && (d = this.extend())) || (a && (j = o.$str('when'))) || (g = this.element())) && - (j - ? (l = k(this.conditions, 'expected condition')) - : l - ? i('CSS guard can only be used at the end of selector') - : d - ? (h = h ? h.concat(d) : d) - : (h && i('Extend can only be used at the end of selector'), - (f = o.currentChar()), - b ? b.push(g) : (b = [g]), - (g = null)), - '{' !== f && '}' !== f && ';' !== f && ',' !== f && ')' !== f); - - ); - return b - ? new e.Selector(b, h, l, m, c) - : void (h && i('Extend must be used to extend a selector, it cannot be used on its own')); - }, - attribute: function () { - if (o.$char('[')) { - var a, - b, - c, - d = this.entities; - return ( - (a = d.variableCurly()) || (a = k(/^(?:[_A-Za-z0-9-\*]*\|)?(?:[_A-Za-z0-9-]|\\.)+/)), - (c = o.$re(/^[|~*$^]?=/)), - c && (b = d.quoted() || o.$re(/^[0-9]+%/) || o.$re(/^[\w-]+/) || d.variableCurly()), - l(']'), - new e.Attribute(a, c, b) - ); - } - }, - block: function () { - var a; - if (o.$char('{') && (a = this.primary()) && o.$char('}')) return a; - }, - blockRuleset: function () { - var a = this.block(); - return a && (a = new e.Ruleset(null, a)), a; - }, - detachedRuleset: function () { - var a = this.blockRuleset(); - if (a) return new e.DetachedRuleset(a); - }, - ruleset: function () { - var b, c, d, f; - for (o.save(), a.dumpLineNumbers && (f = m(o.i)); ; ) { - if (((c = this.lessSelector()), !c)) break; - if ( - (b ? b.push(c) : (b = [c]), - (o.commentStore.length = 0), - c.condition && b.length > 1 && i('Guards are only currently allowed on a single selector.'), - !o.$char(',')) - ) - break; - c.condition && i('Guards are only currently allowed on a single selector.'), - (o.commentStore.length = 0); - } - if (b && (d = this.block())) { - o.forget(); - var g = new e.Ruleset(b, d, a.strictImports); - return a.dumpLineNumbers && (g.debugInfo = f), g; - } - o.restore(); - }, - rule: function (b) { - var d, - f, - g, - h, - i, - j = o.i, - k = o.currentChar(); - if ('.' !== k && '#' !== k && '&' !== k && ':' !== k) - if ((o.save(), (d = this.variable() || this.ruleProperty()))) { - if ( - ((i = 'string' == typeof d), - i && (f = this.detachedRuleset()), - (o.commentStore.length = 0), - !f) - ) { - h = !i && d.length > 1 && d.pop().value; - var l = !b && (a.compress || i); - if ((l && (f = this.value()), !f && (f = this.anonymousValue()))) - return o.forget(), new e.Rule(d, f, !1, h, j, c); - l || f || (f = this.value()), (g = this.important()); - } - if (f && this.end()) return o.forget(), new e.Rule(d, f, g, h, j, c); - if ((o.restore(), f && !b)) return this.rule(!0); - } else o.forget(); - }, - anonymousValue: function () { - var a = o.$re(/^([^@+\/'"*`(;{}-]*);/); - if (a) return new e.Anonymous(a[1]); - }, - import: function () { - var a, - b, - d = o.i, - f = o.$re(/^@import?\s+/); - if (f) { - var g = (f ? this.importOptions() : null) || {}; - if ((a = this.entities.quoted() || this.entities.url())) - return ( - (b = this.mediaFeatures()), - o.$char(';') || ((o.i = d), i('missing semi-colon or unrecognised media features on import')), - (b = b && new e.Value(b)), - new e.Import(a, b, g, d, c) - ); - (o.i = d), i('malformed import statement'); - } - }, - importOptions: function () { - var a, - b, - c, - d = {}; - if (!o.$char('(')) return null; - do - if ((a = this.importOption())) { - switch (((b = a), (c = !0), b)) { - case 'css': - (b = 'less'), (c = !1); - break; - case 'once': - (b = 'multiple'), (c = !1); - } - if (((d[b] = c), !o.$char(','))) break; - } - while (a); - return l(')'), d; - }, - importOption: function () { - var a = o.$re(/^(less|css|multiple|once|inline|reference|optional)/); - if (a) return a[1]; - }, - mediaFeature: function () { - var a, - b, - d = this.entities, - f = []; - o.save(); - do - (a = d.keyword() || d.variable()), - a - ? f.push(a) - : o.$char('(') && - ((b = this.property()), - (a = this.value()), - o.$char(')') - ? b && a - ? f.push(new e.Paren(new e.Rule(b, a, null, null, o.i, c, !0))) - : a - ? f.push(new e.Paren(a)) - : i('badly formed media feature definition') - : i("Missing closing ')'", 'Parse')); - while (a); - if ((o.forget(), f.length > 0)) return new e.Expression(f); - }, - mediaFeatures: function () { - var a, - b = this.entities, - c = []; - do - if ((a = this.mediaFeature())) { - if ((c.push(a), !o.$char(','))) break; - } else if (((a = b.variable()), a && (c.push(a), !o.$char(',')))) break; - while (a); - return c.length > 0 ? c : null; - }, - media: function () { - var b, - d, - f, - g, - h = o.i; - return ( - a.dumpLineNumbers && (g = m(h)), - o.save(), - o.$str('@media') - ? ((b = this.mediaFeatures()), - (d = this.block()), - d || i('media definitions require block statements after any features'), - o.forget(), - (f = new e.Media(d, b, h, c)), - a.dumpLineNumbers && (f.debugInfo = g), - f) - : void o.restore() - ); - }, - plugin: function () { - var a, - b = o.i, - d = o.$re(/^@plugin?\s+/); - if (d) { - var f = { plugin: !0 }; - if ((a = this.entities.quoted() || this.entities.url())) - return ( - o.$char(';') || ((o.i = b), i('missing semi-colon on plugin')), new e.Import(a, null, f, b, c) - ); - (o.i = b), i('malformed plugin statement'); - } - }, - directive: function () { - var b, - d, - f, - g, - h, - j, - k, - l = o.i, - n = !0, - p = !0; - if ('@' === o.currentChar()) { - if ((d = this['import']() || this.plugin() || this.media())) return d; - if ((o.save(), (b = o.$re(/^@[a-z-]+/)))) { - switch ( - ((g = b), - '-' == b.charAt(1) && b.indexOf('-', 2) > 0 && (g = '@' + b.slice(b.indexOf('-', 2) + 1)), - g) - ) { - case '@charset': - (h = !0), (n = !1); - break; - case '@namespace': - (j = !0), (n = !1); - break; - case '@keyframes': - case '@counter-style': - h = !0; - break; - case '@document': - case '@supports': - (k = !0), (p = !1); - break; - default: - k = !0; - } - return ( - (o.commentStore.length = 0), - h - ? ((d = this.entity()), d || i('expected ' + b + ' identifier')) - : j - ? ((d = this.expression()), d || i('expected ' + b + ' expression')) - : k && - ((d = (o.$re(/^[^{;]+/) || '').trim()), - (n = '{' == o.currentChar()), - d && (d = new e.Anonymous(d))), - n && (f = this.blockRuleset()), - f || (!n && d && o.$char(';')) - ? (o.forget(), new e.Directive(b, d, f, l, c, a.dumpLineNumbers ? m(l) : null, p)) - : void o.restore('directive options not recognised') - ); - } - } - }, - value: function () { - var a, - b = []; - do if (((a = this.expression()), a && (b.push(a), !o.$char(',')))) break; - while (a); - if (b.length > 0) return new e.Value(b); - }, - important: function () { - if ('!' === o.currentChar()) return o.$re(/^! *important/); - }, - sub: function () { - var a, b; - return ( - o.save(), - o.$char('(') - ? ((a = this.addition()), - a && o.$char(')') - ? (o.forget(), (b = new e.Expression([a])), (b.parens = !0), b) - : void o.restore("Expected ')'")) - : void o.restore() - ); - }, - multiplication: function () { - var a, b, c, d, f; - if ((a = this.operand())) { - for (f = o.isWhitespace(-1); ; ) { - if (o.peek(/^\/[*\/]/)) break; - if ((o.save(), (c = o.$char('/') || o.$char('*')), !c)) { - o.forget(); - break; - } - if (((b = this.operand()), !b)) { - o.restore(); - break; - } - o.forget(), - (a.parensInOp = !0), - (b.parensInOp = !0), - (d = new e.Operation(c, [d || a, b], f)), - (f = o.isWhitespace(-1)); - } - return d || a; - } - }, - addition: function () { - var a, b, c, d, f; - if ((a = this.multiplication())) { - for (f = o.isWhitespace(-1); ; ) { - if (((c = o.$re(/^[-+]\s+/) || (!f && (o.$char('+') || o.$char('-')))), !c)) break; - if (((b = this.multiplication()), !b)) break; - (a.parensInOp = !0), - (b.parensInOp = !0), - (d = new e.Operation(c, [d || a, b], f)), - (f = o.isWhitespace(-1)); - } - return d || a; - } - }, - conditions: function () { - var a, - b, - c, - d = o.i; - if ((a = this.condition())) { - for (;;) { - if (!o.peek(/^,\s*(not\s*)?\(/) || !o.$char(',')) break; - if (((b = this.condition()), !b)) break; - c = new e.Condition('or', c || a, b, d); - } - return c || a; - } - }, - condition: function () { - function a() { - return o.$str('or'); - } - var b, c, d; - if ((b = this.conditionAnd(this))) { - if ((c = a())) { - if (((d = this.condition()), !d)) return; - b = new e.Condition(c, b, d); - } - return b; - } - }, - conditionAnd: function () { - function a(a) { - return a.negatedCondition() || a.parenthesisCondition(); - } - function b() { - return o.$str('and'); - } - var c, d, f; - if ((c = a(this))) { - if ((d = b())) { - if (((f = this.conditionAnd()), !f)) return; - c = new e.Condition(d, c, f); - } - return c; - } - }, - negatedCondition: function () { - if (o.$str('not')) { - var a = this.parenthesisCondition(); - return a && (a.negate = !a.negate), a; - } - }, - parenthesisCondition: function () { - function a(a) { - var b; - return o.save(), (b = a.condition()) && o.$char(')') ? (o.forget(), b) : void o.restore(); - } - var b; - return ( - o.save(), - o.$str('(') - ? (b = a(this)) - ? (o.forget(), b) - : (b = this.atomicCondition()) - ? o.$char(')') - ? (o.forget(), b) - : void o.restore("expected ')' got '" + o.currentChar() + "'") - : void o.restore() - : void o.restore() - ); - }, - atomicCondition: function () { - var a, - b, - c, - d, - f = this.entities, - g = o.i; - if ((a = this.addition() || f.keyword() || f.quoted())) - return ( - o.$char('>') - ? (d = o.$char('=') ? '>=' : '>') - : o.$char('<') - ? (d = o.$char('=') ? '<=' : '<') - : o.$char('=') && (d = o.$char('>') ? '=>' : o.$char('<') ? '=<' : '='), - d - ? ((b = this.addition() || f.keyword() || f.quoted()), - b ? (c = new e.Condition(d, a, b, g, !1)) : i('expected expression')) - : (c = new e.Condition('=', a, new e.Keyword('true'), g, !1)), - c - ); - }, - operand: function () { - var a, - b = this.entities; - o.peek(/^-[@\(]/) && (a = o.$char('-')); - var c = this.sub() || b.dimension() || b.color() || b.variable() || b.call() || b.colorKeyword(); - return a && ((c.parensInOp = !0), (c = new e.Negative(c))), c; - }, - expression: function () { - var a, - b, - c = []; - do - (a = this.comment()), - a - ? c.push(a) - : ((a = this.addition() || this.entity()), - a && - (c.push(a), o.peek(/^\/[\/*]/) || ((b = o.$char('/')), b && c.push(new e.Anonymous(b))))); - while (a); - if (c.length > 0) return new e.Expression(c); - }, - property: function () { - var a = o.$re(/^(\*?-?[_a-zA-Z0-9-]+)\s*:/); - if (a) return a[1]; - }, - ruleProperty: function () { - function a(a) { - var b = o.i, - c = o.$re(a); - if (c) return g.push(b), f.push(c[1]); - } - var b, - d, - f = [], - g = []; - o.save(); - var h = o.$re(/^([_a-zA-Z0-9-]+)\s*:/); - if (h) return (f = [new e.Keyword(h[1])]), o.forget(), f; - for (a(/^(\*?)/); ; ) if (!a(/^((?:[\w-]+)|(?:@\{[\w-]+\}))/)) break; - if (f.length > 1 && a(/^((?:\+_|\+)?)\s*:/)) { - for (o.forget(), '' === f[0] && (f.shift(), g.shift()), d = 0; d < f.length; d++) - (b = f[d]), - (f[d] = - '@' !== b.charAt(0) ? new e.Keyword(b) : new e.Variable('@' + b.slice(2, -1), g[d], c)); - return f; - } - o.restore(); - }, - }), - }; - }; - (i.serializeVars = function (a) { - var b = ''; - for (var c in a) - if (Object.hasOwnProperty.call(a, c)) { - var d = a[c]; - b += ('@' === c[0] ? '' : '@') + c + ': ' + d + (';' === String(d).slice(-1) ? '' : ';'); - } - return b; - }), - (b.exports = i); - }, - { '../less-error': 32, '../tree': 62, '../utils': 83, '../visitors': 87, './parser-input': 37 }, - ], - 39: [ - function (a, b, c) { - var d = function (a) { - (this.less = a), - (this.visitors = []), - (this.preProcessors = []), - (this.postProcessors = []), - (this.installedPlugins = []), - (this.fileManagers = []); - }; - (d.prototype.addPlugins = function (a) { - if (a) for (var b = 0; b < a.length; b++) this.addPlugin(a[b]); - }), - (d.prototype.addPlugin = function (a) { - this.installedPlugins.push(a), a.install(this.less, this); - }), - (d.prototype.addVisitor = function (a) { - this.visitors.push(a); - }), - (d.prototype.addPreProcessor = function (a, b) { - var c; - for (c = 0; c < this.preProcessors.length && !(this.preProcessors[c].priority >= b); c++); - this.preProcessors.splice(c, 0, { preProcessor: a, priority: b }); - }), - (d.prototype.addPostProcessor = function (a, b) { - var c; - for (c = 0; c < this.postProcessors.length && !(this.postProcessors[c].priority >= b); c++); - this.postProcessors.splice(c, 0, { postProcessor: a, priority: b }); - }), - (d.prototype.addFileManager = function (a) { - this.fileManagers.push(a); - }), - (d.prototype.getPreProcessors = function () { - for (var a = [], b = 0; b < this.preProcessors.length; b++) a.push(this.preProcessors[b].preProcessor); - return a; - }), - (d.prototype.getPostProcessors = function () { - for (var a = [], b = 0; b < this.postProcessors.length; b++) a.push(this.postProcessors[b].postProcessor); - return a; - }), - (d.prototype.getVisitors = function () { - return this.visitors; - }), - (d.prototype.getFileManagers = function () { - return this.fileManagers; - }), - (b.exports = d); - }, - {}, - ], - 40: [ - function (a, b, c) { - var d = a('../less-error'), - e = a('../tree'), - f = (b.exports = function (a, b) { - this.fileInfo = b; - }); - f.prototype.eval = function (a, b) { - var c, - f, - g = {}; - f = { - add: function (a, b) { - g[a] = b; - }, - addMultiple: function (a) { - Object.keys(a).forEach(function (b) { - g[b] = a[b]; - }); - }, - }; - try { - (c = new Function('functions', 'tree', 'fileInfo', a)), c(f, e, this.fileInfo); - } catch (h) { - b( - new d({ - message: "Plugin evaluation error: '" + h.name + ': ' + h.message.replace(/["]/g, "'") + "'", - filename: this.fileInfo.filename, - }), - null - ); - } - b(null, { functions: g }); - }; - }, - { '../less-error': 32, '../tree': 62 }, - ], - 41: [ - function (a, b, c) { - var d; - b.exports = function (b, c, e) { - var f = function (b, e, g) { - if (('function' == typeof e && ((g = e), (e = {})), !g)) { - d || (d = 'undefined' == typeof Promise ? a('promise') : Promise); - var h = this; - return new d(function (a, c) { - f.call(h, b, e, function (b, d) { - b ? c(b) : a(d); - }); - }); - } - this.parse(b, e, function (a, b, d, e) { - if (a) return g(a); - var f; - try { - var h = new c(b, d); - f = h.toCSS(e); - } catch (a) { - return g(a); - } - g(null, f); - }); - }; - return f; - }; - }, - { promise: void 0 }, - ], - 42: [ - function (a, b, c) { - b.exports = function (a, b) { - var c = function (a) { - this.options = a; - }; - return ( - (c.prototype.toCSS = function (b, c, d) { - var e = new a({ - contentsIgnoredCharsMap: d.contentsIgnoredChars, - rootNode: b, - contentsMap: d.contents, - sourceMapFilename: this.options.sourceMapFilename, - sourceMapURL: this.options.sourceMapURL, - outputFilename: this.options.sourceMapOutputFilename, - sourceMapBasepath: this.options.sourceMapBasepath, - sourceMapRootpath: this.options.sourceMapRootpath, - outputSourceFiles: this.options.outputSourceFiles, - sourceMapGenerator: this.options.sourceMapGenerator, - sourceMapFileInline: this.options.sourceMapFileInline, - }), - f = e.toCSS(c); - return ( - (this.sourceMap = e.sourceMap), - (this.sourceMapURL = e.sourceMapURL), - this.options.sourceMapInputFilename && - (this.sourceMapInputFilename = e.normalizeFilename(this.options.sourceMapInputFilename)), - f + this.getCSSAppendage() - ); - }), - (c.prototype.getCSSAppendage = function () { - var a = this.sourceMapURL; - if (this.options.sourceMapFileInline) { - if (void 0 === this.sourceMap) return ''; - a = 'data:application/json;base64,' + b.encodeBase64(this.sourceMap); - } - return a ? '/*# sourceMappingURL=' + a + ' */' : ''; - }), - (c.prototype.getExternalSourceMap = function () { - return this.sourceMap; - }), - (c.prototype.setExternalSourceMap = function (a) { - this.sourceMap = a; - }), - (c.prototype.isInline = function () { - return this.options.sourceMapFileInline; - }), - (c.prototype.getSourceMapURL = function () { - return this.sourceMapURL; - }), - (c.prototype.getOutputFilename = function () { - return this.options.sourceMapOutputFilename; - }), - (c.prototype.getInputFilename = function () { - return this.sourceMapInputFilename; - }), - c - ); - }; - }, - {}, - ], - 43: [ - function (a, b, c) { - b.exports = function (a) { - var b = function (b) { - (this._css = []), - (this._rootNode = b.rootNode), - (this._contentsMap = b.contentsMap), - (this._contentsIgnoredCharsMap = b.contentsIgnoredCharsMap), - b.sourceMapFilename && (this._sourceMapFilename = b.sourceMapFilename.replace(/\\/g, '/')), - (this._outputFilename = b.outputFilename), - (this.sourceMapURL = b.sourceMapURL), - b.sourceMapBasepath && (this._sourceMapBasepath = b.sourceMapBasepath.replace(/\\/g, '/')), - b.sourceMapRootpath - ? ((this._sourceMapRootpath = b.sourceMapRootpath.replace(/\\/g, '/')), - '/' !== this._sourceMapRootpath.charAt(this._sourceMapRootpath.length - 1) && - (this._sourceMapRootpath += '/')) - : (this._sourceMapRootpath = ''), - (this._outputSourceFiles = b.outputSourceFiles), - (this._sourceMapGeneratorConstructor = a.getSourceMapGenerator()), - (this._lineNumber = 0), - (this._column = 0); - }; - return ( - (b.prototype.normalizeFilename = function (a) { - return ( - (a = a.replace(/\\/g, '/')), - this._sourceMapBasepath && - 0 === a.indexOf(this._sourceMapBasepath) && - ((a = a.substring(this._sourceMapBasepath.length)), - ('\\' !== a.charAt(0) && '/' !== a.charAt(0)) || (a = a.substring(1))), - (this._sourceMapRootpath || '') + a - ); - }), - (b.prototype.add = function (a, b, c, d) { - if (a) { - var e, f, g, h, i; - if (b) { - var j = this._contentsMap[b.filename]; - this._contentsIgnoredCharsMap[b.filename] && - ((c -= this._contentsIgnoredCharsMap[b.filename]), - c < 0 && (c = 0), - (j = j.slice(this._contentsIgnoredCharsMap[b.filename]))), - (j = j.substring(0, c)), - (f = j.split('\n')), - (h = f[f.length - 1]); - } - if (((e = a.split('\n')), (g = e[e.length - 1]), b)) - if (d) - for (i = 0; i < e.length; i++) - this._sourceMapGenerator.addMapping({ - generated: { line: this._lineNumber + i + 1, column: 0 === i ? this._column : 0 }, - original: { line: f.length + i, column: 0 === i ? h.length : 0 }, - source: this.normalizeFilename(b.filename), - }); - else - this._sourceMapGenerator.addMapping({ - generated: { line: this._lineNumber + 1, column: this._column }, - original: { line: f.length, column: h.length }, - source: this.normalizeFilename(b.filename), - }); - 1 === e.length - ? (this._column += g.length) - : ((this._lineNumber += e.length - 1), (this._column = g.length)), - this._css.push(a); - } - }), - (b.prototype.isEmpty = function () { - return 0 === this._css.length; - }), - (b.prototype.toCSS = function (a) { - if ( - ((this._sourceMapGenerator = new this._sourceMapGeneratorConstructor({ - file: this._outputFilename, - sourceRoot: null, - })), - this._outputSourceFiles) - ) - for (var b in this._contentsMap) - if (this._contentsMap.hasOwnProperty(b)) { - var c = this._contentsMap[b]; - this._contentsIgnoredCharsMap[b] && (c = c.slice(this._contentsIgnoredCharsMap[b])), - this._sourceMapGenerator.setSourceContent(this.normalizeFilename(b), c); - } - if ((this._rootNode.genCSS(a, this), this._css.length > 0)) { - var d, - e = JSON.stringify(this._sourceMapGenerator.toJSON()); - this.sourceMapURL - ? (d = this.sourceMapURL) - : this._sourceMapFilename && (d = this._sourceMapFilename), - (this.sourceMapURL = d), - (this.sourceMap = e); - } - return this._css.join(''); - }), - b - ); - }; - }, - {}, - ], - 44: [ - function (a, b, c) { - var d = a('./contexts'), - e = a('./visitors'), - f = a('./tree'); - b.exports = function (a, b) { - b = b || {}; - var c, - g = b.variables, - h = new d.Eval(b); - 'object' != typeof g || - Array.isArray(g) || - ((g = Object.keys(g).map(function (a) { - var b = g[a]; - return ( - b instanceof f.Value || - (b instanceof f.Expression || (b = new f.Expression([b])), (b = new f.Value([b]))), - new f.Rule('@' + a, b, !1, null, 0) - ); - })), - (h.frames = [new f.Ruleset(null, g)])); - var i, - j = [], - k = [ - new e.JoinSelectorVisitor(), - new e.MarkVisibleSelectorsVisitor(!0), - new e.ExtendVisitor(), - new e.ToCSSVisitor({ compress: Boolean(b.compress) }), - ]; - if (b.pluginManager) { - var l = b.pluginManager.getVisitors(); - for (i = 0; i < l.length; i++) { - var m = l[i]; - m.isPreEvalVisitor ? j.push(m) : m.isPreVisitor ? k.splice(0, 0, m) : k.push(m); - } - } - for (i = 0; i < j.length; i++) j[i].run(a); - for (c = a.eval(h), i = 0; i < k.length; i++) k[i].run(c); - return c; - }; - }, - { './contexts': 11, './tree': 62, './visitors': 87 }, - ], - 45: [ - function (a, b, c) { - var d = a('./node'), - e = function (a) { - this.value = a; - }; - (e.prototype = new d()), - (e.prototype.type = 'Alpha'), - (e.prototype.accept = function (a) { - this.value = a.visit(this.value); - }), - (e.prototype.eval = function (a) { - return this.value.eval ? new e(this.value.eval(a)) : this; - }), - (e.prototype.genCSS = function (a, b) { - b.add('alpha(opacity='), this.value.genCSS ? this.value.genCSS(a, b) : b.add(this.value), b.add(')'); - }), - (b.exports = e); - }, - { './node': 70 }, - ], - 46: [ - function (a, b, c) { - var d = a('./node'), - e = function (a, b, c, d, e, f) { - (this.value = a), - (this.index = b), - (this.mapLines = d), - (this.currentFileInfo = c), - (this.rulesetLike = 'undefined' != typeof e && e), - (this.allowRoot = !0), - this.copyVisibilityInfo(f); - }; - (e.prototype = new d()), - (e.prototype.type = 'Anonymous'), - (e.prototype.eval = function () { - return new e( - this.value, - this.index, - this.currentFileInfo, - this.mapLines, - this.rulesetLike, - this.visibilityInfo() - ); - }), - (e.prototype.compare = function (a) { - return a.toCSS && this.toCSS() === a.toCSS() ? 0 : void 0; - }), - (e.prototype.isRulesetLike = function () { - return this.rulesetLike; - }), - (e.prototype.genCSS = function (a, b) { - b.add(this.value, this.currentFileInfo, this.index, this.mapLines); - }), - (b.exports = e); - }, - { './node': 70 }, - ], - 47: [ - function (a, b, c) { - var d = a('./node'), - e = function (a, b) { - (this.key = a), (this.value = b); - }; - (e.prototype = new d()), - (e.prototype.type = 'Assignment'), - (e.prototype.accept = function (a) { - this.value = a.visit(this.value); - }), - (e.prototype.eval = function (a) { - return this.value.eval ? new e(this.key, this.value.eval(a)) : this; - }), - (e.prototype.genCSS = function (a, b) { - b.add(this.key + '='), this.value.genCSS ? this.value.genCSS(a, b) : b.add(this.value); - }), - (b.exports = e); - }, - { './node': 70 }, - ], - 48: [ - function (a, b, c) { - var d = a('./node'), - e = function (a, b, c) { - (this.key = a), (this.op = b), (this.value = c); - }; - (e.prototype = new d()), - (e.prototype.type = 'Attribute'), - (e.prototype.eval = function (a) { - return new e( - this.key.eval ? this.key.eval(a) : this.key, - this.op, - this.value && this.value.eval ? this.value.eval(a) : this.value - ); - }), - (e.prototype.genCSS = function (a, b) { - b.add(this.toCSS(a)); - }), - (e.prototype.toCSS = function (a) { - var b = this.key.toCSS ? this.key.toCSS(a) : this.key; - return ( - this.op && ((b += this.op), (b += this.value.toCSS ? this.value.toCSS(a) : this.value)), '[' + b + ']' - ); - }), - (b.exports = e); - }, - { './node': 70 }, - ], - 49: [ - function (a, b, c) { - var d = a('./node'), - e = a('../functions/function-caller'), - f = function (a, b, c, d) { - (this.name = a), (this.args = b), (this.index = c), (this.currentFileInfo = d); - }; - (f.prototype = new d()), - (f.prototype.type = 'Call'), - (f.prototype.accept = function (a) { - this.args && (this.args = a.visitArray(this.args)); - }), - (f.prototype.eval = function (a) { - var b, - c = this.args.map(function (b) { - return b.eval(a); - }), - d = new e(this.name, a, this.index, this.currentFileInfo); - if (d.isValid()) { - try { - b = d.call(c); - } catch (g) { - throw { - type: g.type || 'Runtime', - message: 'error evaluating function `' + this.name + '`' + (g.message ? ': ' + g.message : ''), - index: this.index, - filename: this.currentFileInfo.filename, - }; - } - if (null != b) return (b.index = this.index), (b.currentFileInfo = this.currentFileInfo), b; - } - return new f(this.name, c, this.index, this.currentFileInfo); - }), - (f.prototype.genCSS = function (a, b) { - b.add(this.name + '(', this.currentFileInfo, this.index); - for (var c = 0; c < this.args.length; c++) - this.args[c].genCSS(a, b), c + 1 < this.args.length && b.add(', '); - b.add(')'); - }), - (b.exports = f); - }, - { '../functions/function-caller': 21, './node': 70 }, - ], - 50: [ - function (a, b, c) { - function d(a, b) { - return Math.min(Math.max(a, 0), b); - } - function e(a) { - return ( - '#' + - a - .map(function (a) { - return (a = d(Math.round(a), 255)), (a < 16 ? '0' : '') + a.toString(16); - }) - .join('') - ); - } - var f = a('./node'), - g = a('../data/colors'), - h = function (a, b, c) { - (this.rgb = Array.isArray(a) - ? a - : 6 == a.length - ? a.match(/.{2}/g).map(function (a) { - return parseInt(a, 16); - }) - : a.split('').map(function (a) { - return parseInt(a + a, 16); - })), - (this.alpha = 'number' == typeof b ? b : 1), - 'undefined' != typeof c && (this.value = c); - }; - (h.prototype = new f()), - (h.prototype.type = 'Color'), - (h.prototype.luma = function () { - var a = this.rgb[0] / 255, - b = this.rgb[1] / 255, - c = this.rgb[2] / 255; - return ( - (a = a <= 0.03928 ? a / 12.92 : Math.pow((a + 0.055) / 1.055, 2.4)), - (b = b <= 0.03928 ? b / 12.92 : Math.pow((b + 0.055) / 1.055, 2.4)), - (c = c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4)), - 0.2126 * a + 0.7152 * b + 0.0722 * c - ); - }), - (h.prototype.genCSS = function (a, b) { - b.add(this.toCSS(a)); - }), - (h.prototype.toCSS = function (a, b) { - var c, - e, - f = a && a.compress && !b; - if (this.value) return this.value; - if (((e = this.fround(a, this.alpha)), e < 1)) - return ( - 'rgba(' + - this.rgb - .map(function (a) { - return d(Math.round(a), 255); - }) - .concat(d(e, 1)) - .join(',' + (f ? '' : ' ')) + - ')' - ); - if (((c = this.toRGB()), f)) { - var g = c.split(''); - g[1] === g[2] && g[3] === g[4] && g[5] === g[6] && (c = '#' + g[1] + g[3] + g[5]); - } - return c; - }), - (h.prototype.operate = function (a, b, c) { - for (var d = [], e = this.alpha * (1 - c.alpha) + c.alpha, f = 0; f < 3; f++) - d[f] = this._operate(a, b, this.rgb[f], c.rgb[f]); - return new h(d, e); - }), - (h.prototype.toRGB = function () { - return e(this.rgb); - }), - (h.prototype.toHSL = function () { - var a, - b, - c = this.rgb[0] / 255, - d = this.rgb[1] / 255, - e = this.rgb[2] / 255, - f = this.alpha, - g = Math.max(c, d, e), - h = Math.min(c, d, e), - i = (g + h) / 2, - j = g - h; - if (g === h) a = b = 0; - else { - switch (((b = i > 0.5 ? j / (2 - g - h) : j / (g + h)), g)) { - case c: - a = (d - e) / j + (d < e ? 6 : 0); - break; - case d: - a = (e - c) / j + 2; - break; - case e: - a = (c - d) / j + 4; - } - a /= 6; - } - return { h: 360 * a, s: b, l: i, a: f }; - }), - (h.prototype.toHSV = function () { - var a, - b, - c = this.rgb[0] / 255, - d = this.rgb[1] / 255, - e = this.rgb[2] / 255, - f = this.alpha, - g = Math.max(c, d, e), - h = Math.min(c, d, e), - i = g, - j = g - h; - if (((b = 0 === g ? 0 : j / g), g === h)) a = 0; - else { - switch (g) { - case c: - a = (d - e) / j + (d < e ? 6 : 0); - break; - case d: - a = (e - c) / j + 2; - break; - case e: - a = (c - d) / j + 4; - } - a /= 6; - } - return { h: 360 * a, s: b, v: i, a: f }; - }), - (h.prototype.toARGB = function () { - return e([255 * this.alpha].concat(this.rgb)); - }), - (h.prototype.compare = function (a) { - return a.rgb && - a.rgb[0] === this.rgb[0] && - a.rgb[1] === this.rgb[1] && - a.rgb[2] === this.rgb[2] && - a.alpha === this.alpha - ? 0 - : void 0; - }), - (h.fromKeyword = function (a) { - var b, - c = a.toLowerCase(); - if ( - (g.hasOwnProperty(c) ? (b = new h(g[c].slice(1))) : 'transparent' === c && (b = new h([0, 0, 0], 0)), b) - ) - return (b.value = a), b; - }), - (b.exports = h); - }, - { '../data/colors': 12, './node': 70 }, - ], - 51: [ - function (a, b, c) { - var d = a('./node'), - e = function (a) { - ' ' === a - ? ((this.value = ' '), (this.emptyOrWhitespace = !0)) - : ((this.value = a ? a.trim() : ''), (this.emptyOrWhitespace = '' === this.value)); - }; - (e.prototype = new d()), (e.prototype.type = 'Combinator'); - var f = { '': !0, ' ': !0, '|': !0 }; - (e.prototype.genCSS = function (a, b) { - var c = a.compress || f[this.value] ? '' : ' '; - b.add(c + this.value + c); - }), - (b.exports = e); - }, - { './node': 70 }, - ], - 52: [ - function (a, b, c) { - var d = a('./node'), - e = a('./debug-info'), - f = function (a, b, c, d) { - (this.value = a), - (this.isLineComment = b), - (this.index = c), - (this.currentFileInfo = d), - (this.allowRoot = !0); - }; - (f.prototype = new d()), - (f.prototype.type = 'Comment'), - (f.prototype.genCSS = function (a, b) { - this.debugInfo && b.add(e(a, this), this.currentFileInfo, this.index), b.add(this.value); - }), - (f.prototype.isSilent = function (a) { - var b = a.compress && '!' !== this.value[2]; - return this.isLineComment || b; - }), - (b.exports = f); - }, - { './debug-info': 54, './node': 70 }, - ], - 53: [ - function (a, b, c) { - var d = a('./node'), - e = function (a, b, c, d, e) { - (this.op = a.trim()), (this.lvalue = b), (this.rvalue = c), (this.index = d), (this.negate = e); - }; - (e.prototype = new d()), - (e.prototype.type = 'Condition'), - (e.prototype.accept = function (a) { - (this.lvalue = a.visit(this.lvalue)), (this.rvalue = a.visit(this.rvalue)); - }), - (e.prototype.eval = function (a) { - var b = (function (a, b, c) { - switch (a) { - case 'and': - return b && c; - case 'or': - return b || c; - default: - switch (d.compare(b, c)) { - case -1: - return '<' === a || '=<' === a || '<=' === a; - case 0: - return '=' === a || '>=' === a || '=<' === a || '<=' === a; - case 1: - return '>' === a || '>=' === a; - default: - return !1; - } - } - })(this.op, this.lvalue.eval(a), this.rvalue.eval(a)); - return this.negate ? !b : b; - }), - (b.exports = e); - }, - { './node': 70 }, - ], - 54: [ - function (a, b, c) { - var d = function (a, b, c) { - var e = ''; - if (a.dumpLineNumbers && !a.compress) - switch (a.dumpLineNumbers) { - case 'comments': - e = d.asComment(b); - break; - case 'mediaquery': - e = d.asMediaQuery(b); - break; - case 'all': - e = d.asComment(b) + (c || '') + d.asMediaQuery(b); - } - return e; - }; - (d.asComment = function (a) { - return '/* line ' + a.debugInfo.lineNumber + ', ' + a.debugInfo.fileName + ' */\n'; - }), - (d.asMediaQuery = function (a) { - var b = a.debugInfo.fileName; - return ( - /^[a-z]+:\/\//i.test(b) || (b = 'file://' + b), - '@media -sass-debug-info{filename{font-family:' + - b.replace(/([.:\/\\])/g, function (a) { - return '\\' == a && (a = '/'), '\\' + a; - }) + - '}line{font-family:\\00003' + - a.debugInfo.lineNumber + - '}}\n' - ); - }), - (b.exports = d); - }, - {}, - ], - 55: [ - function (a, b, c) { - var d = a('./node'), - e = a('../contexts'), - f = function (a, b) { - (this.ruleset = a), (this.frames = b); - }; - (f.prototype = new d()), - (f.prototype.type = 'DetachedRuleset'), - (f.prototype.evalFirst = !0), - (f.prototype.accept = function (a) { - this.ruleset = a.visit(this.ruleset); - }), - (f.prototype.eval = function (a) { - var b = this.frames || a.frames.slice(0); - return new f(this.ruleset, b); - }), - (f.prototype.callEval = function (a) { - return this.ruleset.eval(this.frames ? new e.Eval(a, this.frames.concat(a.frames)) : a); - }), - (b.exports = f); - }, - { '../contexts': 11, './node': 70 }, - ], - 56: [ - function (a, b, c) { - var d = a('./node'), - e = a('../data/unit-conversions'), - f = a('./unit'), - g = a('./color'), - h = function (a, b) { - (this.value = parseFloat(a)), (this.unit = b && b instanceof f ? b : new f(b ? [b] : void 0)); - }; - (h.prototype = new d()), - (h.prototype.type = 'Dimension'), - (h.prototype.accept = function (a) { - this.unit = a.visit(this.unit); - }), - (h.prototype.eval = function (a) { - return this; - }), - (h.prototype.toColor = function () { - return new g([this.value, this.value, this.value]); - }), - (h.prototype.genCSS = function (a, b) { - if (a && a.strictUnits && !this.unit.isSingular()) - throw new Error( - 'Multiple units in dimension. Correct the units or use the unit function. Bad unit: ' + - this.unit.toString() - ); - var c = this.fround(a, this.value), - d = String(c); - if ((0 !== c && c < 1e-6 && c > -1e-6 && (d = c.toFixed(20).replace(/0+$/, '')), a && a.compress)) { - if (0 === c && this.unit.isLength()) return void b.add(d); - c > 0 && c < 1 && (d = d.substr(1)); - } - b.add(d), this.unit.genCSS(a, b); - }), - (h.prototype.operate = function (a, b, c) { - var d = this._operate(a, b, this.value, c.value), - e = this.unit.clone(); - if ('+' === b || '-' === b) - if (0 === e.numerator.length && 0 === e.denominator.length) - (e = c.unit.clone()), this.unit.backupUnit && (e.backupUnit = this.unit.backupUnit); - else if (0 === c.unit.numerator.length && 0 === e.denominator.length); - else { - if (((c = c.convertTo(this.unit.usedUnits())), a.strictUnits && c.unit.toString() !== e.toString())) - throw new Error( - "Incompatible units. Change the units or use the unit function. Bad units: '" + - e.toString() + - "' and '" + - c.unit.toString() + - "'." - ); - d = this._operate(a, b, this.value, c.value); - } - else - '*' === b - ? ((e.numerator = e.numerator.concat(c.unit.numerator).sort()), - (e.denominator = e.denominator.concat(c.unit.denominator).sort()), - e.cancel()) - : '/' === b && - ((e.numerator = e.numerator.concat(c.unit.denominator).sort()), - (e.denominator = e.denominator.concat(c.unit.numerator).sort()), - e.cancel()); - return new h(d, e); - }), - (h.prototype.compare = function (a) { - var b, c; - if (a instanceof h) { - if (this.unit.isEmpty() || a.unit.isEmpty()) (b = this), (c = a); - else if (((b = this.unify()), (c = a.unify()), 0 !== b.unit.compare(c.unit))) return; - return d.numericCompare(b.value, c.value); - } - }), - (h.prototype.unify = function () { - return this.convertTo({ length: 'px', duration: 's', angle: 'rad' }); - }), - (h.prototype.convertTo = function (a) { - var b, - c, - d, - f, - g, - i = this.value, - j = this.unit.clone(), - k = {}; - if ('string' == typeof a) { - for (b in e) e[b].hasOwnProperty(a) && ((k = {}), (k[b] = a)); - a = k; - } - g = function (a, b) { - return d.hasOwnProperty(a) ? (b ? (i /= d[a] / d[f]) : (i *= d[a] / d[f]), f) : a; - }; - for (c in a) a.hasOwnProperty(c) && ((f = a[c]), (d = e[c]), j.map(g)); - return j.cancel(), new h(i, j); - }), - (b.exports = h); - }, - { '../data/unit-conversions': 14, './color': 50, './node': 70, './unit': 79 }, - ], - 57: [ - function (a, b, c) { - var d = a('./node'), - e = a('./selector'), - f = a('./ruleset'), - g = function (a, b, c, d, f, g, h, i) { - var j; - if (((this.name = a), (this.value = b), c)) - for ( - Array.isArray(c) - ? (this.rules = c) - : ((this.rules = [c]), - (this.rules[0].selectors = new e([], null, null, this.index, f).createEmptySelectors())), - j = 0; - j < this.rules.length; - j++ - ) - this.rules[j].allowImports = !0; - (this.index = d), - (this.currentFileInfo = f), - (this.debugInfo = g), - (this.isRooted = h || !1), - this.copyVisibilityInfo(i), - (this.allowRoot = !0); - }; - (g.prototype = new d()), - (g.prototype.type = 'Directive'), - (g.prototype.accept = function (a) { - var b = this.value, - c = this.rules; - c && (this.rules = a.visitArray(c)), b && (this.value = a.visit(b)); - }), - (g.prototype.isRulesetLike = function () { - return this.rules || !this.isCharset(); - }), - (g.prototype.isCharset = function () { - return '@charset' === this.name; - }), - (g.prototype.genCSS = function (a, b) { - var c = this.value, - d = this.rules; - b.add(this.name, this.currentFileInfo, this.index), - c && (b.add(' '), c.genCSS(a, b)), - d ? this.outputRuleset(a, b, d) : b.add(';'); - }), - (g.prototype.eval = function (a) { - var b, - c, - d = this.value, - e = this.rules; - return ( - (b = a.mediaPath), - (c = a.mediaBlocks), - (a.mediaPath = []), - (a.mediaBlocks = []), - d && (d = d.eval(a)), - e && ((e = [e[0].eval(a)]), (e[0].root = !0)), - (a.mediaPath = b), - (a.mediaBlocks = c), - new g( - this.name, - d, - e, - this.index, - this.currentFileInfo, - this.debugInfo, - this.isRooted, - this.visibilityInfo() - ) - ); - }), - (g.prototype.variable = function (a) { - if (this.rules) return f.prototype.variable.call(this.rules[0], a); - }), - (g.prototype.find = function () { - if (this.rules) return f.prototype.find.apply(this.rules[0], arguments); - }), - (g.prototype.rulesets = function () { - if (this.rules) return f.prototype.rulesets.apply(this.rules[0]); - }), - (g.prototype.outputRuleset = function (a, b, c) { - var d, - e = c.length; - if (((a.tabLevel = (0 | a.tabLevel) + 1), a.compress)) { - for (b.add('{'), d = 0; d < e; d++) c[d].genCSS(a, b); - return b.add('}'), void a.tabLevel--; - } - var f = '\n' + Array(a.tabLevel).join(' '), - g = f + ' '; - if (e) { - for (b.add(' {' + g), c[0].genCSS(a, b), d = 1; d < e; d++) b.add(g), c[d].genCSS(a, b); - b.add(f + '}'); - } else b.add(' {' + f + '}'); - a.tabLevel--; - }), - (b.exports = g); - }, - { './node': 70, './ruleset': 76, './selector': 77 }, - ], - 58: [ - function (a, b, c) { - var d = a('./node'), - e = a('./paren'), - f = a('./combinator'), - g = function (a, b, c, d, e) { - (this.combinator = a instanceof f ? a : new f(a)), - (this.value = 'string' == typeof b ? b.trim() : b ? b : ''), - (this.index = c), - (this.currentFileInfo = d), - this.copyVisibilityInfo(e); - }; - (g.prototype = new d()), - (g.prototype.type = 'Element'), - (g.prototype.accept = function (a) { - var b = this.value; - (this.combinator = a.visit(this.combinator)), 'object' == typeof b && (this.value = a.visit(b)); - }), - (g.prototype.eval = function (a) { - return new g( - this.combinator, - this.value.eval ? this.value.eval(a) : this.value, - this.index, - this.currentFileInfo, - this.visibilityInfo() - ); - }), - (g.prototype.clone = function () { - return new g(this.combinator, this.value, this.index, this.currentFileInfo, this.visibilityInfo()); - }), - (g.prototype.genCSS = function (a, b) { - b.add(this.toCSS(a), this.currentFileInfo, this.index); - }), - (g.prototype.toCSS = function (a) { - a = a || {}; - var b = this.value, - c = a.firstSelector; - return ( - b instanceof e && (a.firstSelector = !0), - (b = b.toCSS ? b.toCSS(a) : b), - (a.firstSelector = c), - '' === b && '&' === this.combinator.value.charAt(0) ? '' : this.combinator.toCSS(a) + b - ); - }), - (b.exports = g); - }, - { './combinator': 51, './node': 70, './paren': 72 }, - ], - 59: [ - function (a, b, c) { - var d = a('./node'), - e = a('./paren'), - f = a('./comment'), - g = function (a) { - if (((this.value = a), !a)) throw new Error('Expression requires an array parameter'); - }; - (g.prototype = new d()), - (g.prototype.type = 'Expression'), - (g.prototype.accept = function (a) { - this.value = a.visitArray(this.value); - }), - (g.prototype.eval = function (a) { - var b, - c = this.parens && !this.parensInOp, - d = !1; - return ( - c && a.inParenthesis(), - this.value.length > 1 - ? (b = new g( - this.value.map(function (b) { - return b.eval(a); - }) - )) - : 1 === this.value.length - ? (this.value[0].parens && !this.value[0].parensInOp && (d = !0), (b = this.value[0].eval(a))) - : (b = this), - c && a.outOfParenthesis(), - this.parens && this.parensInOp && !a.isMathOn() && !d && (b = new e(b)), - b - ); - }), - (g.prototype.genCSS = function (a, b) { - for (var c = 0; c < this.value.length; c++) - this.value[c].genCSS(a, b), c + 1 < this.value.length && b.add(' '); - }), - (g.prototype.throwAwayComments = function () { - this.value = this.value.filter(function (a) { - return !(a instanceof f); - }); - }), - (b.exports = g); - }, - { './comment': 52, './node': 70, './paren': 72 }, - ], - 60: [ - function (a, b, c) { - var d = a('./node'), - e = a('./selector'), - f = function g(a, b, c, d, e) { - switch ( - ((this.selector = a), - (this.option = b), - (this.index = c), - (this.object_id = g.next_id++), - (this.parent_ids = [this.object_id]), - (this.currentFileInfo = d || {}), - this.copyVisibilityInfo(e), - (this.allowRoot = !0), - b) - ) { - case 'all': - (this.allowBefore = !0), (this.allowAfter = !0); - break; - default: - (this.allowBefore = !1), (this.allowAfter = !1); - } - }; - (f.next_id = 0), - (f.prototype = new d()), - (f.prototype.type = 'Extend'), - (f.prototype.accept = function (a) { - this.selector = a.visit(this.selector); - }), - (f.prototype.eval = function (a) { - return new f(this.selector.eval(a), this.option, this.index, this.currentFileInfo, this.visibilityInfo()); - }), - (f.prototype.clone = function (a) { - return new f(this.selector, this.option, this.index, this.currentFileInfo, this.visibilityInfo()); - }), - (f.prototype.findSelfSelectors = function (a) { - var b, - c, - d = []; - for (b = 0; b < a.length; b++) - (c = a[b].elements), - b > 0 && c.length && '' === c[0].combinator.value && (c[0].combinator.value = ' '), - (d = d.concat(a[b].elements)); - (this.selfSelectors = [new e(d)]), this.selfSelectors[0].copyVisibilityInfo(this.visibilityInfo()); - }), - (b.exports = f); - }, - { './node': 70, './selector': 77 }, - ], - 61: [ - function (a, b, c) { - var d = a('./node'), - e = a('./media'), - f = a('./url'), - g = a('./quoted'), - h = a('./ruleset'), - i = a('./anonymous'), - j = function (a, b, c, d, e, f) { - if ( - ((this.options = c), - (this.index = d), - (this.path = a), - (this.features = b), - (this.currentFileInfo = e), - (this.allowRoot = !0), - void 0 !== this.options.less || this.options.inline) - ) - this.css = !this.options.less || this.options.inline; - else { - var g = this.getPath(); - g && /[#\.\&\?\/]css([\?;].*)?$/.test(g) && (this.css = !0); - } - this.copyVisibilityInfo(f); - }; - (j.prototype = new d()), - (j.prototype.type = 'Import'), - (j.prototype.accept = function (a) { - this.features && (this.features = a.visit(this.features)), - (this.path = a.visit(this.path)), - this.options.plugin || this.options.inline || !this.root || (this.root = a.visit(this.root)); - }), - (j.prototype.genCSS = function (a, b) { - this.css && - void 0 === this.path.currentFileInfo.reference && - (b.add('@import ', this.currentFileInfo, this.index), - this.path.genCSS(a, b), - this.features && (b.add(' '), this.features.genCSS(a, b)), - b.add(';')); - }), - (j.prototype.getPath = function () { - return this.path instanceof f ? this.path.value.value : this.path.value; - }), - (j.prototype.isVariableImport = function () { - var a = this.path; - return a instanceof f && (a = a.value), !(a instanceof g) || a.containsVariables(); - }), - (j.prototype.evalForImport = function (a) { - var b = this.path; - return ( - b instanceof f && (b = b.value), - new j(b.eval(a), this.features, this.options, this.index, this.currentFileInfo, this.visibilityInfo()) - ); - }), - (j.prototype.evalPath = function (a) { - var b = this.path.eval(a), - c = this.currentFileInfo && this.currentFileInfo.rootpath; - if (!(b instanceof f)) { - if (c) { - var d = b.value; - d && a.isPathRelative(d) && (b.value = c + d); - } - b.value = a.normalizePath(b.value); - } - return b; - }), - (j.prototype.eval = function (a) { - var b = this.doEval(a); - return ( - (this.options.reference || this.blocksVisibility()) && - (b.length || 0 === b.length - ? b.forEach(function (a) { - a.addVisibilityBlock(); - }) - : b.addVisibilityBlock()), - b - ); - }), - (j.prototype.doEval = function (a) { - var b, - c, - d = this.features && this.features.eval(a); - if (this.options.plugin) - return ( - (c = a.frames[0] && a.frames[0].functionRegistry), - c && this.root && this.root.functions && c.addMultiple(this.root.functions), - [] - ); - if (this.skip && ('function' == typeof this.skip && (this.skip = this.skip()), this.skip)) return []; - if (this.options.inline) { - var f = new i( - this.root, - 0, - { - filename: this.importedFilename, - reference: this.path.currentFileInfo && this.path.currentFileInfo.reference, - }, - !0, - !0 - ); - return this.features ? new e([f], this.features.value) : [f]; - } - if (this.css) { - var g = new j(this.evalPath(a), d, this.options, this.index); - if (!g.css && this.error) throw this.error; - return g; - } - return ( - (b = new h(null, this.root.rules.slice(0))), - b.evalImports(a), - this.features ? new e(b.rules, this.features.value) : b.rules - ); - }), - (b.exports = j); - }, - { './anonymous': 46, './media': 66, './node': 70, './quoted': 73, './ruleset': 76, './url': 80 }, - ], - 62: [ - function (a, b, c) { - var d = {}; - (d.Node = a('./node')), - (d.Alpha = a('./alpha')), - (d.Color = a('./color')), - (d.Directive = a('./directive')), - (d.DetachedRuleset = a('./detached-ruleset')), - (d.Operation = a('./operation')), - (d.Dimension = a('./dimension')), - (d.Unit = a('./unit')), - (d.Keyword = a('./keyword')), - (d.Variable = a('./variable')), - (d.Ruleset = a('./ruleset')), - (d.Element = a('./element')), - (d.Attribute = a('./attribute')), - (d.Combinator = a('./combinator')), - (d.Selector = a('./selector')), - (d.Quoted = a('./quoted')), - (d.Expression = a('./expression')), - (d.Rule = a('./rule')), - (d.Call = a('./call')), - (d.URL = a('./url')), - (d.Import = a('./import')), - (d.mixin = { Call: a('./mixin-call'), Definition: a('./mixin-definition') }), - (d.Comment = a('./comment')), - (d.Anonymous = a('./anonymous')), - (d.Value = a('./value')), - (d.JavaScript = a('./javascript')), - (d.Assignment = a('./assignment')), - (d.Condition = a('./condition')), - (d.Paren = a('./paren')), - (d.Media = a('./media')), - (d.UnicodeDescriptor = a('./unicode-descriptor')), - (d.Negative = a('./negative')), - (d.Extend = a('./extend')), - (d.RulesetCall = a('./ruleset-call')), - (b.exports = d); - }, - { - './alpha': 45, - './anonymous': 46, - './assignment': 47, - './attribute': 48, - './call': 49, - './color': 50, - './combinator': 51, - './comment': 52, - './condition': 53, - './detached-ruleset': 55, - './dimension': 56, - './directive': 57, - './element': 58, - './expression': 59, - './extend': 60, - './import': 61, - './javascript': 63, - './keyword': 65, - './media': 66, - './mixin-call': 67, - './mixin-definition': 68, - './negative': 69, - './node': 70, - './operation': 71, - './paren': 72, - './quoted': 73, - './rule': 74, - './ruleset': 76, - './ruleset-call': 75, - './selector': 77, - './unicode-descriptor': 78, - './unit': 79, - './url': 80, - './value': 81, - './variable': 82, - }, - ], - 63: [ - function (a, b, c) { - var d = a('./js-eval-node'), - e = a('./dimension'), - f = a('./quoted'), - g = a('./anonymous'), - h = function (a, b, c, d) { - (this.escaped = b), (this.expression = a), (this.index = c), (this.currentFileInfo = d); - }; - (h.prototype = new d()), - (h.prototype.type = 'JavaScript'), - (h.prototype.eval = function (a) { - var b = this.evaluateJavaScript(this.expression, a); - return 'number' == typeof b - ? new e(b) - : 'string' == typeof b - ? new f('"' + b + '"', b, this.escaped, this.index) - : new g(Array.isArray(b) ? b.join(', ') : b); - }), - (b.exports = h); - }, - { './anonymous': 46, './dimension': 56, './js-eval-node': 64, './quoted': 73 }, - ], - 64: [ - function (a, b, c) { - var d = a('./node'), - e = a('./variable'), - f = function () {}; - (f.prototype = new d()), - (f.prototype.evaluateJavaScript = function (a, b) { - var c, - d = this, - f = {}; - if (void 0 !== b.javascriptEnabled && !b.javascriptEnabled) - throw { - message: 'You are using JavaScript, which has been disabled.', - filename: this.currentFileInfo.filename, - index: this.index, - }; - a = a.replace(/@\{([\w-]+)\}/g, function (a, c) { - return d.jsify(new e('@' + c, d.index, d.currentFileInfo).eval(b)); - }); - try { - a = new Function('return (' + a + ')'); - } catch (g) { - throw { - message: 'JavaScript evaluation error: ' + g.message + ' from `' + a + '`', - filename: this.currentFileInfo.filename, - index: this.index, - }; - } - var h = b.frames[0].variables(); - for (var i in h) - h.hasOwnProperty(i) && - (f[i.slice(1)] = { - value: h[i].value, - toJS: function () { - return this.value.eval(b).toCSS(); - }, - }); - try { - c = a.call(f); - } catch (g) { - throw { - message: "JavaScript evaluation error: '" + g.name + ': ' + g.message.replace(/["]/g, "'") + "'", - filename: this.currentFileInfo.filename, - index: this.index, - }; - } - return c; - }), - (f.prototype.jsify = function (a) { - return Array.isArray(a.value) && a.value.length > 1 - ? '[' + - a.value - .map(function (a) { - return a.toCSS(); - }) - .join(', ') + - ']' - : a.toCSS(); - }), - (b.exports = f); - }, - { './node': 70, './variable': 82 }, - ], - 65: [ - function (a, b, c) { - var d = a('./node'), - e = function (a) { - this.value = a; - }; - (e.prototype = new d()), - (e.prototype.type = 'Keyword'), - (e.prototype.genCSS = function (a, b) { - if ('%' === this.value) throw { type: 'Syntax', message: 'Invalid % without number' }; - b.add(this.value); - }), - (e.True = new e('true')), - (e.False = new e('false')), - (b.exports = e); - }, - { './node': 70 }, - ], - 66: [ - function (a, b, c) { - var d = a('./ruleset'), - e = a('./value'), - f = a('./selector'), - g = a('./anonymous'), - h = a('./expression'), - i = a('./directive'), - j = function (a, b, c, g, h) { - (this.index = c), (this.currentFileInfo = g); - var i = new f([], null, null, this.index, this.currentFileInfo).createEmptySelectors(); - (this.features = new e(b)), - (this.rules = [new d(i, a)]), - (this.rules[0].allowImports = !0), - this.copyVisibilityInfo(h), - (this.allowRoot = !0); - }; - (j.prototype = new i()), - (j.prototype.type = 'Media'), - (j.prototype.isRulesetLike = !0), - (j.prototype.accept = function (a) { - this.features && (this.features = a.visit(this.features)), - this.rules && (this.rules = a.visitArray(this.rules)); - }), - (j.prototype.genCSS = function (a, b) { - b.add('@media ', this.currentFileInfo, this.index), - this.features.genCSS(a, b), - this.outputRuleset(a, b, this.rules); - }), - (j.prototype.eval = function (a) { - a.mediaBlocks || ((a.mediaBlocks = []), (a.mediaPath = [])); - var b = new j(null, [], this.index, this.currentFileInfo, this.visibilityInfo()); - this.debugInfo && ((this.rules[0].debugInfo = this.debugInfo), (b.debugInfo = this.debugInfo)); - var c = !1; - a.strictMath || ((c = !0), (a.strictMath = !0)); - try { - b.features = this.features.eval(a); - } finally { - c && (a.strictMath = !1); - } - return ( - a.mediaPath.push(b), - a.mediaBlocks.push(b), - (this.rules[0].functionRegistry = a.frames[0].functionRegistry.inherit()), - a.frames.unshift(this.rules[0]), - (b.rules = [this.rules[0].eval(a)]), - a.frames.shift(), - a.mediaPath.pop(), - 0 === a.mediaPath.length ? b.evalTop(a) : b.evalNested(a) - ); - }), - (j.prototype.evalTop = function (a) { - var b = this; - if (a.mediaBlocks.length > 1) { - var c = new f([], null, null, this.index, this.currentFileInfo).createEmptySelectors(); - (b = new d(c, a.mediaBlocks)), (b.multiMedia = !0), b.copyVisibilityInfo(this.visibilityInfo()); - } - return delete a.mediaBlocks, delete a.mediaPath, b; - }), - (j.prototype.evalNested = function (a) { - var b, - c, - f = a.mediaPath.concat([this]); - for (b = 0; b < f.length; b++) - (c = f[b].features instanceof e ? f[b].features.value : f[b].features), - (f[b] = Array.isArray(c) ? c : [c]); - return ( - (this.features = new e( - this.permute(f).map(function (a) { - for ( - a = a.map(function (a) { - return a.toCSS ? a : new g(a); - }), - b = a.length - 1; - b > 0; - b-- - ) - a.splice(b, 0, new g('and')); - return new h(a); - }) - )), - new d([], []) - ); - }), - (j.prototype.permute = function (a) { - if (0 === a.length) return []; - if (1 === a.length) return a[0]; - for (var b = [], c = this.permute(a.slice(1)), d = 0; d < c.length; d++) - for (var e = 0; e < a[0].length; e++) b.push([a[0][e]].concat(c[d])); - return b; - }), - (j.prototype.bubbleSelectors = function (a) { - a && (this.rules = [new d(a.slice(0), [this.rules[0]])]); - }), - (b.exports = j); - }, - { './anonymous': 46, './directive': 57, './expression': 59, './ruleset': 76, './selector': 77, './value': 81 }, - ], - 67: [ - function (a, b, c) { - var d = a('./node'), - e = a('./selector'), - f = a('./mixin-definition'), - g = a('../functions/default'), - h = function (a, b, c, d, f) { - (this.selector = new e(a)), - (this.arguments = b || []), - (this.index = c), - (this.currentFileInfo = d), - (this.important = f), - (this.allowRoot = !0); - }; - (h.prototype = new d()), - (h.prototype.type = 'MixinCall'), - (h.prototype.accept = function (a) { - this.selector && (this.selector = a.visit(this.selector)), - this.arguments.length && (this.arguments = a.visitArray(this.arguments)); - }), - (h.prototype.eval = function (a) { - function b(b, c) { - var d, e, f; - for (d = 0; d < 2; d++) { - for (x[d] = !0, g.value(d), e = 0; e < c.length && x[d]; e++) - (f = c[e]), f.matchCondition && (x[d] = x[d] && f.matchCondition(null, a)); - b.matchCondition && (x[d] = x[d] && b.matchCondition(t, a)); - } - return x[0] || x[1] ? (x[0] != x[1] ? (x[1] ? A : B) : z) : y; - } - var c, - d, - e, - h, - i, - j, - k, - l, - m, - n, - o, - p, - q, - r, - s, - t = [], - u = [], - v = !1, - w = [], - x = [], - y = -1, - z = 0, - A = 1, - B = 2; - for (j = 0; j < this.arguments.length; j++) - if (((h = this.arguments[j]), (i = h.value.eval(a)), h.expand && Array.isArray(i.value))) - for (i = i.value, k = 0; k < i.length; k++) t.push({ value: i[k] }); - else t.push({ name: h.name, value: i }); - for ( - s = function (b) { - return b.matchArgs(null, a); - }, - j = 0; - j < a.frames.length; - j++ - ) - if ((c = a.frames[j].find(this.selector, null, s)).length > 0) { - for (n = !0, k = 0; k < c.length; k++) { - for (d = c[k].rule, e = c[k].path, m = !1, l = 0; l < a.frames.length; l++) - if (!(d instanceof f) && d === (a.frames[l].originalRuleset || a.frames[l])) { - m = !0; - break; - } - m || - (d.matchArgs(t, a) && ((o = { mixin: d, group: b(d, e) }), o.group !== y && w.push(o), (v = !0))); - } - for (g.reset(), q = [0, 0, 0], k = 0; k < w.length; k++) q[w[k].group]++; - if (q[z] > 0) p = B; - else if (((p = A), q[A] + q[B] > 1)) - throw { - type: 'Runtime', - message: 'Ambiguous use of `default()` found when matching for `' + this.format(t) + '`', - index: this.index, - filename: this.currentFileInfo.filename, - }; - for (k = 0; k < w.length; k++) - if (((o = w[k].group), o === z || o === p)) - try { - (d = w[k].mixin), - d instanceof f || - ((r = d.originalRuleset || d), - (d = new f('', [], d.rules, null, !1, null, r.visibilityInfo())), - (d.originalRuleset = r)); - var C = d.evalCall(a, t, this.important).rules; - this._setVisibilityToReplacement(C), Array.prototype.push.apply(u, C); - } catch (D) { - throw { - message: D.message, - index: this.index, - filename: this.currentFileInfo.filename, - stack: D.stack, - }; - } - if (v) return u; - } - throw n - ? { - type: 'Runtime', - message: 'No matching definition was found for `' + this.format(t) + '`', - index: this.index, - filename: this.currentFileInfo.filename, - } - : { - type: 'Name', - message: this.selector.toCSS().trim() + ' is undefined', - index: this.index, - filename: this.currentFileInfo.filename, - }; - }), - (h.prototype._setVisibilityToReplacement = function (a) { - var b, c; - if (this.blocksVisibility()) for (b = 0; b < a.length; b++) (c = a[b]), c.addVisibilityBlock(); - }), - (h.prototype.format = function (a) { - return ( - this.selector.toCSS().trim() + - '(' + - (a - ? a - .map(function (a) { - var b = ''; - return a.name && (b += a.name + ':'), (b += a.value.toCSS ? a.value.toCSS() : '???'); - }) - .join(', ') - : '') + - ')' - ); - }), - (b.exports = h); - }, - { '../functions/default': 20, './mixin-definition': 68, './node': 70, './selector': 77 }, - ], - 68: [ - function (a, b, c) { - var d = a('./selector'), - e = a('./element'), - f = a('./ruleset'), - g = a('./rule'), - h = a('./expression'), - i = a('../contexts'), - j = function (a, b, c, f, g, h, i) { - (this.name = a), - (this.selectors = [new d([new e(null, a, this.index, this.currentFileInfo)])]), - (this.params = b), - (this.condition = f), - (this.variadic = g), - (this.arity = b.length), - (this.rules = c), - (this._lookups = {}); - var j = []; - (this.required = b.reduce(function (a, b) { - return !b.name || (b.name && !b.value) ? a + 1 : (j.push(b.name), a); - }, 0)), - (this.optionalParameters = j), - (this.frames = h), - this.copyVisibilityInfo(i), - (this.allowRoot = !0); - }; - (j.prototype = new f()), - (j.prototype.type = 'MixinDefinition'), - (j.prototype.evalFirst = !0), - (j.prototype.accept = function (a) { - this.params && this.params.length && (this.params = a.visitArray(this.params)), - (this.rules = a.visitArray(this.rules)), - this.condition && (this.condition = a.visit(this.condition)); - }), - (j.prototype.evalParams = function (a, b, c, d) { - var e, - j, - k, - l, - m, - n, - o, - p, - q = new f(null, null), - r = this.params.slice(0), - s = 0; - if ( - (b.frames && - b.frames[0] && - b.frames[0].functionRegistry && - (q.functionRegistry = b.frames[0].functionRegistry.inherit()), - (b = new i.Eval(b, [q].concat(b.frames))), - c) - ) - for (c = c.slice(0), s = c.length, k = 0; k < s; k++) - if (((j = c[k]), (n = j && j.name))) { - for (o = !1, l = 0; l < r.length; l++) - if (!d[l] && n === r[l].name) { - (d[l] = j.value.eval(a)), q.prependRule(new g(n, j.value.eval(a))), (o = !0); - break; - } - if (o) { - c.splice(k, 1), k--; - continue; - } - throw { - type: 'Runtime', - message: 'Named argument for ' + this.name + ' ' + c[k].name + ' not found', - }; - } - for (p = 0, k = 0; k < r.length; k++) - if (!d[k]) { - if (((j = c && c[p]), (n = r[k].name))) - if (r[k].variadic) { - for (e = [], l = p; l < s; l++) e.push(c[l].value.eval(a)); - q.prependRule(new g(n, new h(e).eval(a))); - } else { - if ((m = j && j.value)) m = m.eval(a); - else { - if (!r[k].value) - throw { - type: 'Runtime', - message: - 'wrong number of arguments for ' + this.name + ' (' + s + ' for ' + this.arity + ')', - }; - (m = r[k].value.eval(b)), q.resetCache(); - } - q.prependRule(new g(n, m)), (d[k] = m); - } - if (r[k].variadic && c) for (l = p; l < s; l++) d[l] = c[l].value.eval(a); - p++; - } - return q; - }), - (j.prototype.makeImportant = function () { - var a = this.rules - ? this.rules.map(function (a) { - return a.makeImportant ? a.makeImportant(!0) : a; - }) - : this.rules, - b = new j(this.name, this.params, a, this.condition, this.variadic, this.frames); - return b; - }), - (j.prototype.eval = function (a) { - return new j( - this.name, - this.params, - this.rules, - this.condition, - this.variadic, - this.frames || a.frames.slice(0) - ); - }), - (j.prototype.evalCall = function (a, b, c) { - var d, - e, - j = [], - k = this.frames ? this.frames.concat(a.frames) : a.frames, - l = this.evalParams(a, new i.Eval(a, k), b, j); - return ( - l.prependRule(new g('@arguments', new h(j).eval(a))), - (d = this.rules.slice(0)), - (e = new f(null, d)), - (e.originalRuleset = this), - (e = e.eval(new i.Eval(a, [this, l].concat(k)))), - c && (e = e.makeImportant()), - e - ); - }), - (j.prototype.matchCondition = function (a, b) { - return !( - this.condition && - !this.condition.eval( - new i.Eval( - b, - [this.evalParams(b, new i.Eval(b, this.frames ? this.frames.concat(b.frames) : b.frames), a, [])] - .concat(this.frames || []) - .concat(b.frames) - ) - ) - ); - }), - (j.prototype.matchArgs = function (a, b) { - var c, - d = (a && a.length) || 0, - e = this.optionalParameters, - f = a - ? a.reduce(function (a, b) { - return e.indexOf(b.name) < 0 ? a + 1 : a; - }, 0) - : 0; - if (this.variadic) { - if (f < this.required - 1) return !1; - } else { - if (f < this.required) return !1; - if (d > this.params.length) return !1; - } - c = Math.min(f, this.arity); - for (var g = 0; g < c; g++) - if ( - !this.params[g].name && - !this.params[g].variadic && - a[g].value.eval(b).toCSS() != this.params[g].value.eval(b).toCSS() - ) - return !1; - return !0; - }), - (b.exports = j); - }, - { '../contexts': 11, './element': 58, './expression': 59, './rule': 74, './ruleset': 76, './selector': 77 }, - ], - 69: [ - function (a, b, c) { - var d = a('./node'), - e = a('./operation'), - f = a('./dimension'), - g = function (a) { - this.value = a; - }; - (g.prototype = new d()), - (g.prototype.type = 'Negative'), - (g.prototype.genCSS = function (a, b) { - b.add('-'), this.value.genCSS(a, b); - }), - (g.prototype.eval = function (a) { - return a.isMathOn() ? new e('*', [new f(-1), this.value]).eval(a) : new g(this.value.eval(a)); - }), - (b.exports = g); - }, - { './dimension': 56, './node': 70, './operation': 71 }, - ], - 70: [ - function (a, b, c) { - var d = function () {}; - (d.prototype.toCSS = function (a) { - var b = []; - return ( - this.genCSS(a, { - add: function (a, c, d) { - b.push(a); - }, - isEmpty: function () { - return 0 === b.length; - }, - }), - b.join('') - ); - }), - (d.prototype.genCSS = function (a, b) { - b.add(this.value); - }), - (d.prototype.accept = function (a) { - this.value = a.visit(this.value); - }), - (d.prototype.eval = function () { - return this; - }), - (d.prototype._operate = function (a, b, c, d) { - switch (b) { - case '+': - return c + d; - case '-': - return c - d; - case '*': - return c * d; - case '/': - return c / d; - } - }), - (d.prototype.fround = function (a, b) { - var c = a && a.numPrecision; - return null == c ? b : Number((b + 2e-16).toFixed(c)); - }), - (d.compare = function (a, b) { - if (a.compare && 'Quoted' !== b.type && 'Anonymous' !== b.type) return a.compare(b); - if (b.compare) return -b.compare(a); - if (a.type === b.type) { - if (((a = a.value), (b = b.value), !Array.isArray(a))) return a === b ? 0 : void 0; - if (a.length === b.length) { - for (var c = 0; c < a.length; c++) if (0 !== d.compare(a[c], b[c])) return; - return 0; - } - } - }), - (d.numericCompare = function (a, b) { - return a < b ? -1 : a === b ? 0 : a > b ? 1 : void 0; - }), - (d.prototype.blocksVisibility = function () { - return null == this.visibilityBlocks && (this.visibilityBlocks = 0), 0 !== this.visibilityBlocks; - }), - (d.prototype.addVisibilityBlock = function () { - null == this.visibilityBlocks && (this.visibilityBlocks = 0), - (this.visibilityBlocks = this.visibilityBlocks + 1); - }), - (d.prototype.removeVisibilityBlock = function () { - null == this.visibilityBlocks && (this.visibilityBlocks = 0), - (this.visibilityBlocks = this.visibilityBlocks - 1); - }), - (d.prototype.ensureVisibility = function () { - this.nodeVisible = !0; - }), - (d.prototype.ensureInvisibility = function () { - this.nodeVisible = !1; - }), - (d.prototype.isVisible = function () { - return this.nodeVisible; - }), - (d.prototype.visibilityInfo = function () { - return { visibilityBlocks: this.visibilityBlocks, nodeVisible: this.nodeVisible }; - }), - (d.prototype.copyVisibilityInfo = function (a) { - a && ((this.visibilityBlocks = a.visibilityBlocks), (this.nodeVisible = a.nodeVisible)); - }), - (b.exports = d); - }, - {}, - ], - 71: [ - function (a, b, c) { - var d = a('./node'), - e = a('./color'), - f = a('./dimension'), - g = function (a, b, c) { - (this.op = a.trim()), (this.operands = b), (this.isSpaced = c); - }; - (g.prototype = new d()), - (g.prototype.type = 'Operation'), - (g.prototype.accept = function (a) { - this.operands = a.visit(this.operands); - }), - (g.prototype.eval = function (a) { - var b = this.operands[0].eval(a), - c = this.operands[1].eval(a); - if (a.isMathOn()) { - if ( - (b instanceof f && c instanceof e && (b = b.toColor()), - c instanceof f && b instanceof e && (c = c.toColor()), - !b.operate) - ) - throw { type: 'Operation', message: 'Operation on an invalid type' }; - return b.operate(a, this.op, c); - } - return new g(this.op, [b, c], this.isSpaced); - }), - (g.prototype.genCSS = function (a, b) { - this.operands[0].genCSS(a, b), - this.isSpaced && b.add(' '), - b.add(this.op), - this.isSpaced && b.add(' '), - this.operands[1].genCSS(a, b); - }), - (b.exports = g); - }, - { './color': 50, './dimension': 56, './node': 70 }, - ], - 72: [ - function (a, b, c) { - var d = a('./node'), - e = function (a) { - this.value = a; - }; - (e.prototype = new d()), - (e.prototype.type = 'Paren'), - (e.prototype.genCSS = function (a, b) { - b.add('('), this.value.genCSS(a, b), b.add(')'); - }), - (e.prototype.eval = function (a) { - return new e(this.value.eval(a)); - }), - (b.exports = e); - }, - { './node': 70 }, - ], - 73: [ - function (a, b, c) { - var d = a('./node'), - e = a('./js-eval-node'), - f = a('./variable'), - g = function (a, b, c, d, e) { - (this.escaped = null == c || c), - (this.value = b || ''), - (this.quote = a.charAt(0)), - (this.index = d), - (this.currentFileInfo = e); - }; - (g.prototype = new e()), - (g.prototype.type = 'Quoted'), - (g.prototype.genCSS = function (a, b) { - this.escaped || b.add(this.quote, this.currentFileInfo, this.index), - b.add(this.value), - this.escaped || b.add(this.quote); - }), - (g.prototype.containsVariables = function () { - return this.value.match(/(`([^`]+)`)|@\{([\w-]+)\}/); - }), - (g.prototype.eval = function (a) { - function b(a, b, c) { - var d = a; - do (a = d), (d = a.replace(b, c)); - while (a !== d); - return d; - } - var c = this, - d = this.value, - e = function (b, d) { - return String(c.evaluateJavaScript(d, a)); - }, - h = function (b, d) { - var e = new f('@' + d, c.index, c.currentFileInfo).eval(a, !0); - return e instanceof g ? e.value : e.toCSS(); - }; - return ( - (d = b(d, /`([^`]+)`/g, e)), - (d = b(d, /@\{([\w-]+)\}/g, h)), - new g(this.quote + d + this.quote, d, this.escaped, this.index, this.currentFileInfo) - ); - }), - (g.prototype.compare = function (a) { - return 'Quoted' !== a.type || this.escaped || a.escaped - ? a.toCSS && this.toCSS() === a.toCSS() - ? 0 - : void 0 - : d.numericCompare(this.value, a.value); - }), - (b.exports = g); - }, - { './js-eval-node': 64, './node': 70, './variable': 82 }, - ], - 74: [ - function (a, b, c) { - function d(a, b) { - var c, - d = '', - e = b.length, - f = { - add: function (a) { - d += a; - }, - }; - for (c = 0; c < e; c++) b[c].eval(a).genCSS(a, f); - return d; - } - var e = a('./node'), - f = a('./value'), - g = a('./keyword'), - h = function (a, b, c, d, g, h, i, j) { - (this.name = a), - (this.value = b instanceof e ? b : new f([b])), - (this.important = c ? ' ' + c.trim() : ''), - (this.merge = d), - (this.index = g), - (this.currentFileInfo = h), - (this.inline = i || !1), - (this.variable = void 0 !== j ? j : a.charAt && '@' === a.charAt(0)), - (this.allowRoot = !0); - }; - (h.prototype = new e()), - (h.prototype.type = 'Rule'), - (h.prototype.genCSS = function (a, b) { - b.add(this.name + (a.compress ? ':' : ': '), this.currentFileInfo, this.index); - try { - this.value.genCSS(a, b); - } catch (c) { - throw ((c.index = this.index), (c.filename = this.currentFileInfo.filename), c); - } - b.add( - this.important + (this.inline || (a.lastRule && a.compress) ? '' : ';'), - this.currentFileInfo, - this.index - ); - }), - (h.prototype.eval = function (a) { - var b, - c = !1, - e = this.name, - f = this.variable; - 'string' != typeof e && ((e = 1 === e.length && e[0] instanceof g ? e[0].value : d(a, e)), (f = !1)), - 'font' !== e || a.strictMath || ((c = !0), (a.strictMath = !0)); - try { - if ( - (a.importantScope.push({}), (b = this.value.eval(a)), !this.variable && 'DetachedRuleset' === b.type) - ) - throw { - message: 'Rulesets cannot be evaluated on a property.', - index: this.index, - filename: this.currentFileInfo.filename, - }; - var i = this.important, - j = a.importantScope.pop(); - return ( - !i && j.important && (i = j.important), - new h(e, b, i, this.merge, this.index, this.currentFileInfo, this.inline, f) - ); - } catch (k) { - throw ( - ('number' != typeof k.index && ((k.index = this.index), (k.filename = this.currentFileInfo.filename)), - k) - ); - } finally { - c && (a.strictMath = !1); - } - }), - (h.prototype.makeImportant = function () { - return new h( - this.name, - this.value, - '!important', - this.merge, - this.index, - this.currentFileInfo, - this.inline - ); - }), - (b.exports = h); - }, - { './keyword': 65, './node': 70, './value': 81 }, - ], - 75: [ - function (a, b, c) { - var d = a('./node'), - e = a('./variable'), - f = function (a) { - (this.variable = a), (this.allowRoot = !0); - }; - (f.prototype = new d()), - (f.prototype.type = 'RulesetCall'), - (f.prototype.eval = function (a) { - var b = new e(this.variable).eval(a); - return b.callEval(a); - }), - (b.exports = f); - }, - { './node': 70, './variable': 82 }, - ], - 76: [ - function (a, b, c) { - var d = a('./node'), - e = a('./rule'), - f = a('./selector'), - g = a('./element'), - h = a('./paren'), - i = a('../contexts'), - j = a('../functions/function-registry'), - k = a('../functions/default'), - l = a('./debug-info'), - m = function (a, b, c, d) { - (this.selectors = a), - (this.rules = b), - (this._lookups = {}), - (this.strictImports = c), - this.copyVisibilityInfo(d), - (this.allowRoot = !0); - }; - (m.prototype = new d()), - (m.prototype.type = 'Ruleset'), - (m.prototype.isRuleset = !0), - (m.prototype.isRulesetLike = !0), - (m.prototype.accept = function (a) { - this.paths - ? (this.paths = a.visitArray(this.paths, !0)) - : this.selectors && (this.selectors = a.visitArray(this.selectors)), - this.rules && this.rules.length && (this.rules = a.visitArray(this.rules)); - }), - (m.prototype.eval = function (a) { - var b, - c, - d, - f, - g = this.selectors, - h = !1; - if (g && (c = g.length)) { - for ( - b = [], - k.error({ type: 'Syntax', message: 'it is currently only allowed in parametric mixin guards,' }), - f = 0; - f < c; - f++ - ) - (d = g[f].eval(a)), b.push(d), d.evaldCondition && (h = !0); - k.reset(); - } else h = !0; - var i, - l, - n = this.rules ? this.rules.slice(0) : null, - o = new m(b, n, this.strictImports, this.visibilityInfo()); - (o.originalRuleset = this), - (o.root = this.root), - (o.firstRoot = this.firstRoot), - (o.allowImports = this.allowImports), - this.debugInfo && (o.debugInfo = this.debugInfo), - h || (n.length = 0), - (o.functionRegistry = (function (a) { - for (var b, c = 0, d = a.length; c !== d; ++c) if ((b = a[c].functionRegistry)) return b; - return j; - })(a.frames).inherit()); - var p = a.frames; - p.unshift(o); - var q = a.selectors; - q || (a.selectors = q = []), - q.unshift(this.selectors), - (o.root || o.allowImports || !o.strictImports) && o.evalImports(a); - var r = o.rules, - s = r ? r.length : 0; - for (f = 0; f < s; f++) r[f].evalFirst && (r[f] = r[f].eval(a)); - var t = (a.mediaBlocks && a.mediaBlocks.length) || 0; - for (f = 0; f < s; f++) - 'MixinCall' === r[f].type - ? ((n = r[f].eval(a).filter(function (a) { - return !(a instanceof e && a.variable) || !o.variable(a.name); - })), - r.splice.apply(r, [f, 1].concat(n)), - (s += n.length - 1), - (f += n.length - 1), - o.resetCache()) - : 'RulesetCall' === r[f].type && - ((n = r[f].eval(a).rules.filter(function (a) { - return !(a instanceof e && a.variable); - })), - r.splice.apply(r, [f, 1].concat(n)), - (s += n.length - 1), - (f += n.length - 1), - o.resetCache()); - for (f = 0; f < r.length; f++) (i = r[f]), i.evalFirst || (r[f] = i = i.eval ? i.eval(a) : i); - for (f = 0; f < r.length; f++) - if ( - ((i = r[f]), - i instanceof m && i.selectors && 1 === i.selectors.length && i.selectors[0].isJustParentSelector()) - ) { - r.splice(f--, 1); - for (var u = 0; u < i.rules.length; u++) - (l = i.rules[u]), - l.copyVisibilityInfo(i.visibilityInfo()), - (l instanceof e && l.variable) || r.splice(++f, 0, l); - } - if ((p.shift(), q.shift(), a.mediaBlocks)) - for (f = t; f < a.mediaBlocks.length; f++) a.mediaBlocks[f].bubbleSelectors(b); - return o; - }), - (m.prototype.evalImports = function (a) { - var b, - c, - d = this.rules; - if (d) - for (b = 0; b < d.length; b++) - 'Import' === d[b].type && - ((c = d[b].eval(a)), - c && (c.length || 0 === c.length) - ? (d.splice.apply(d, [b, 1].concat(c)), (b += c.length - 1)) - : d.splice(b, 1, c), - this.resetCache()); - }), - (m.prototype.makeImportant = function () { - var a = new m( - this.selectors, - this.rules.map(function (a) { - return a.makeImportant ? a.makeImportant() : a; - }), - this.strictImports, - this.visibilityInfo() - ); - return a; - }), - (m.prototype.matchArgs = function (a) { - return !a || 0 === a.length; - }), - (m.prototype.matchCondition = function (a, b) { - var c = this.selectors[this.selectors.length - 1]; - return !!c.evaldCondition && !(c.condition && !c.condition.eval(new i.Eval(b, b.frames))); - }), - (m.prototype.resetCache = function () { - (this._rulesets = null), (this._variables = null), (this._lookups = {}); - }), - (m.prototype.variables = function () { - return ( - this._variables || - (this._variables = this.rules - ? this.rules.reduce(function (a, b) { - if ( - (b instanceof e && b.variable === !0 && (a[b.name] = b), - 'Import' === b.type && b.root && b.root.variables) - ) { - var c = b.root.variables(); - for (var d in c) c.hasOwnProperty(d) && (a[d] = c[d]); - } - return a; - }, {}) - : {}), - this._variables - ); - }), - (m.prototype.variable = function (a) { - return this.variables()[a]; - }), - (m.prototype.rulesets = function () { - if (!this.rules) return []; - var a, - b, - c = [], - d = this.rules, - e = d.length; - for (a = 0; a < e; a++) (b = d[a]), b.isRuleset && c.push(b); - return c; - }), - (m.prototype.prependRule = function (a) { - var b = this.rules; - b ? b.unshift(a) : (this.rules = [a]); - }), - (m.prototype.find = function (a, b, c) { - b = b || this; - var d, - e, - g = [], - h = a.toCSS(); - return h in this._lookups - ? this._lookups[h] - : (this.rulesets().forEach(function (h) { - if (h !== b) - for (var i = 0; i < h.selectors.length; i++) - if ((d = a.match(h.selectors[i]))) { - if (a.elements.length > d) { - if (!c || c(h)) { - e = h.find(new f(a.elements.slice(d)), b, c); - for (var j = 0; j < e.length; ++j) e[j].path.push(h); - Array.prototype.push.apply(g, e); - } - } else g.push({ rule: h, path: [] }); - break; - } - }), - (this._lookups[h] = g), - g); - }), - (m.prototype.genCSS = function (a, b) { - function c(a) { - return 'boolean' == typeof a.isRulesetLike - ? a.isRulesetLike - : 'function' == typeof a.isRulesetLike && a.isRulesetLike(); - } - var d, - e, - f, - g, - h, - i = [], - j = []; - (a.tabLevel = a.tabLevel || 0), this.root || a.tabLevel++; - var k, - m = a.compress ? '' : Array(a.tabLevel + 1).join(' '), - n = a.compress ? '' : Array(a.tabLevel).join(' '), - o = 0, - p = 0; - for (d = 0; d < this.rules.length; d++) - (g = this.rules[d]), - 'Comment' === g.type - ? (p === d && p++, j.push(g)) - : g.isCharset && g.isCharset() - ? (j.splice(o, 0, g), o++, p++) - : 'Import' === g.type - ? (j.splice(p, 0, g), p++) - : j.push(g); - if (((j = i.concat(j)), !this.root)) { - (f = l(a, this, n)), f && (b.add(f), b.add(n)); - var q, - r = this.paths, - s = r.length; - for (k = a.compress ? ',' : ',\n' + n, d = 0; d < s; d++) - if (((h = r[d]), (q = h.length))) - for ( - d > 0 && b.add(k), a.firstSelector = !0, h[0].genCSS(a, b), a.firstSelector = !1, e = 1; - e < q; - e++ - ) - h[e].genCSS(a, b); - b.add((a.compress ? '{' : ' {\n') + m); - } - for (d = 0; d < j.length; d++) { - (g = j[d]), d + 1 === j.length && (a.lastRule = !0); - var t = a.lastRule; - c(g) && (a.lastRule = !1), - g.genCSS ? g.genCSS(a, b) : g.value && b.add(g.value.toString()), - (a.lastRule = t), - a.lastRule ? (a.lastRule = !1) : b.add(a.compress ? '' : '\n' + m); - } - this.root || (b.add(a.compress ? '}' : '\n' + n + '}'), a.tabLevel--), - b.isEmpty() || a.compress || !this.firstRoot || b.add('\n'); - }), - (m.prototype.joinSelectors = function (a, b, c) { - for (var d = 0; d < c.length; d++) this.joinSelector(a, b, c[d]); - }), - (m.prototype.joinSelector = function (a, b, c) { - function d(a, b) { - var c, d; - if (0 === a.length) c = new h(a[0]); - else { - var e = []; - for (d = 0; d < a.length; d++) e.push(new g(null, a[d], b.index, b.currentFileInfo)); - c = new h(new f(e)); - } - return c; - } - function e(a, b) { - var c, d; - return (c = new g(null, a, b.index, b.currentFileInfo)), (d = new f([c])); - } - function i(a, b, c, d) { - var e, f, h; - if ( - ((e = []), - a.length > 0 - ? ((e = a.slice(0)), (f = e.pop()), (h = d.createDerived(f.elements.slice(0)))) - : (h = d.createDerived([])), - b.length > 0) - ) { - var i = c.combinator, - j = b[0].elements[0]; - i.emptyOrWhitespace && !j.combinator.emptyOrWhitespace && (i = j.combinator), - h.elements.push(new g(i, j.value, c.index, c.currentFileInfo)), - (h.elements = h.elements.concat(b[0].elements.slice(1))); - } - if ((0 !== h.elements.length && e.push(h), b.length > 1)) { - var k = b.slice(1); - (k = k.map(function (a) { - return a.createDerived(a.elements, []); - })), - (e = e.concat(k)); - } - return e; - } - function j(a, b, c, d, e) { - var f; - for (f = 0; f < a.length; f++) { - var g = i(a[f], b, c, d); - e.push(g); - } - return e; - } - function k(a, b) { - var c, d; - if (0 !== a.length) { - if (0 === b.length) return void b.push([new f(a)]); - for (c = 0; c < b.length; c++) - (d = b[c]), - d.length > 0 - ? (d[d.length - 1] = d[d.length - 1].createDerived(d[d.length - 1].elements.concat(a))) - : d.push(new f(a)); - } - } - function l(a, b, c) { - function f(a) { - var b; - return 'Paren' !== a.value.type ? null : ((b = a.value.value), 'Selector' !== b.type ? null : b); - } - var h, - m, - n, - o, - p, - q, - r, - s, - t, - u, - v = !1; - for (o = [], p = [[]], h = 0; h < c.elements.length; h++) - if (((s = c.elements[h]), '&' !== s.value)) { - var w = f(s); - if (null != w) { - k(o, p); - var x, - y = [], - z = []; - for (x = l(y, b, w), v = v || x, n = 0; n < y.length; n++) { - var A = e(d(y[n], s), s); - j(p, [A], s, c, z); - } - (p = z), (o = []); - } else o.push(s); - } else { - for (v = !0, q = [], k(o, p), m = 0; m < p.length; m++) - if (((r = p[m]), 0 === b.length)) - r.length > 0 && r[0].elements.push(new g(s.combinator, '', s.index, s.currentFileInfo)), - q.push(r); - else - for (n = 0; n < b.length; n++) { - var B = i(r, b[n], s, c); - q.push(B); - } - (p = q), (o = []); - } - for (k(o, p), h = 0; h < p.length; h++) - (t = p[h].length), - t > 0 && - (a.push(p[h]), (u = p[h][t - 1]), (p[h][t - 1] = u.createDerived(u.elements, c.extendList))); - return v; - } - function m(a, b) { - var c = b.createDerived(b.elements, b.extendList, b.evaldCondition); - return c.copyVisibilityInfo(a), c; - } - var n, o, p; - if (((o = []), (p = l(o, b, c)), !p)) - if (b.length > 0) - for (o = [], n = 0; n < b.length; n++) { - var q = b[n].map(m.bind(this, c.visibilityInfo())); - q.push(c), o.push(q); - } - else o = [[c]]; - for (n = 0; n < o.length; n++) a.push(o[n]); - }), - (b.exports = m); - }, - { - '../contexts': 11, - '../functions/default': 20, - '../functions/function-registry': 22, - './debug-info': 54, - './element': 58, - './node': 70, - './paren': 72, - './rule': 74, - './selector': 77, - }, - ], - 77: [ - function (a, b, c) { - var d = a('./node'), - e = a('./element'), - f = function (a, b, c, d, e, f) { - (this.elements = a), - (this.extendList = b), - (this.condition = c), - (this.currentFileInfo = e || {}), - c || (this.evaldCondition = !0), - this.copyVisibilityInfo(f); - }; - (f.prototype = new d()), - (f.prototype.type = 'Selector'), - (f.prototype.accept = function (a) { - this.elements && (this.elements = a.visitArray(this.elements)), - this.extendList && (this.extendList = a.visitArray(this.extendList)), - this.condition && (this.condition = a.visit(this.condition)); - }), - (f.prototype.createDerived = function (a, b, c) { - var d = this.visibilityInfo(); - c = null != c ? c : this.evaldCondition; - var e = new f(a, b || this.extendList, null, this.index, this.currentFileInfo, d); - return (e.evaldCondition = c), (e.mediaEmpty = this.mediaEmpty), e; - }), - (f.prototype.createEmptySelectors = function () { - var a = new e('', '&', this.index, this.currentFileInfo), - b = [new f([a], null, null, this.index, this.currentFileInfo)]; - return (b[0].mediaEmpty = !0), b; - }), - (f.prototype.match = function (a) { - var b, - c, - d = this.elements, - e = d.length; - if ((a.CacheElements(), (b = a._elements.length), 0 === b || e < b)) return 0; - for (c = 0; c < b; c++) if (d[c].value !== a._elements[c]) return 0; - return b; - }), - (f.prototype.CacheElements = function () { - if (!this._elements) { - var a = this.elements - .map(function (a) { - return a.combinator.value + (a.value.value || a.value); - }) - .join('') - .match(/[,&#\*\.\w-]([\w-]|(\\.))*/g); - a ? '&' === a[0] && a.shift() : (a = []), (this._elements = a); - } - }), - (f.prototype.isJustParentSelector = function () { - return ( - !this.mediaEmpty && - 1 === this.elements.length && - '&' === this.elements[0].value && - (' ' === this.elements[0].combinator.value || '' === this.elements[0].combinator.value) - ); - }), - (f.prototype.eval = function (a) { - var b = this.condition && this.condition.eval(a), - c = this.elements, - d = this.extendList; - return ( - (c = - c && - c.map(function (b) { - return b.eval(a); - })), - (d = - d && - d.map(function (b) { - return b.eval(a); - })), - this.createDerived(c, d, b) - ); - }), - (f.prototype.genCSS = function (a, b) { - var c, d; - if ( - ((a && a.firstSelector) || - '' !== this.elements[0].combinator.value || - b.add(' ', this.currentFileInfo, this.index), - !this._css) - ) - for (c = 0; c < this.elements.length; c++) (d = this.elements[c]), d.genCSS(a, b); - }), - (f.prototype.getIsOutput = function () { - return this.evaldCondition; - }), - (b.exports = f); - }, - { './element': 58, './node': 70 }, - ], - 78: [ - function (a, b, c) { - var d = a('./node'), - e = function (a) { - this.value = a; - }; - (e.prototype = new d()), (e.prototype.type = 'UnicodeDescriptor'), (b.exports = e); - }, - { './node': 70 }, - ], - 79: [ - function (a, b, c) { - var d = a('./node'), - e = a('../data/unit-conversions'), - f = function (a, b, c) { - (this.numerator = a ? a.slice(0).sort() : []), - (this.denominator = b ? b.slice(0).sort() : []), - c ? (this.backupUnit = c) : a && a.length && (this.backupUnit = a[0]); - }; - (f.prototype = new d()), - (f.prototype.type = 'Unit'), - (f.prototype.clone = function () { - return new f(this.numerator.slice(0), this.denominator.slice(0), this.backupUnit); - }), - (f.prototype.genCSS = function (a, b) { - var c = a && a.strictUnits; - 1 === this.numerator.length - ? b.add(this.numerator[0]) - : !c && this.backupUnit - ? b.add(this.backupUnit) - : !c && this.denominator.length && b.add(this.denominator[0]); - }), - (f.prototype.toString = function () { - var a, - b = this.numerator.join('*'); - for (a = 0; a < this.denominator.length; a++) b += '/' + this.denominator[a]; - return b; - }), - (f.prototype.compare = function (a) { - return this.is(a.toString()) ? 0 : void 0; - }), - (f.prototype.is = function (a) { - return this.toString().toUpperCase() === a.toUpperCase(); - }), - (f.prototype.isLength = function () { - return Boolean(this.toCSS().match(/px|em|%|in|cm|mm|pc|pt|ex/)); - }), - (f.prototype.isEmpty = function () { - return 0 === this.numerator.length && 0 === this.denominator.length; - }), - (f.prototype.isSingular = function () { - return this.numerator.length <= 1 && 0 === this.denominator.length; - }), - (f.prototype.map = function (a) { - var b; - for (b = 0; b < this.numerator.length; b++) this.numerator[b] = a(this.numerator[b], !1); - for (b = 0; b < this.denominator.length; b++) this.denominator[b] = a(this.denominator[b], !0); - }), - (f.prototype.usedUnits = function () { - var a, - b, - c, - d = {}; - b = function (b) { - return a.hasOwnProperty(b) && !d[c] && (d[c] = b), b; - }; - for (c in e) e.hasOwnProperty(c) && ((a = e[c]), this.map(b)); - return d; - }), - (f.prototype.cancel = function () { - var a, - b, - c = {}; - for (b = 0; b < this.numerator.length; b++) (a = this.numerator[b]), (c[a] = (c[a] || 0) + 1); - for (b = 0; b < this.denominator.length; b++) (a = this.denominator[b]), (c[a] = (c[a] || 0) - 1); - (this.numerator = []), (this.denominator = []); - for (a in c) - if (c.hasOwnProperty(a)) { - var d = c[a]; - if (d > 0) for (b = 0; b < d; b++) this.numerator.push(a); - else if (d < 0) for (b = 0; b < -d; b++) this.denominator.push(a); - } - this.numerator.sort(), this.denominator.sort(); - }), - (b.exports = f); - }, - { '../data/unit-conversions': 14, './node': 70 }, - ], - 80: [ - function (a, b, c) { - var d = a('./node'), - e = function (a, b, c, d) { - (this.value = a), (this.currentFileInfo = c), (this.index = b), (this.isEvald = d); - }; - (e.prototype = new d()), - (e.prototype.type = 'Url'), - (e.prototype.accept = function (a) { - this.value = a.visit(this.value); - }), - (e.prototype.genCSS = function (a, b) { - b.add('url('), this.value.genCSS(a, b), b.add(')'); - }), - (e.prototype.eval = function (a) { - var b, - c = this.value.eval(a); - if ( - !this.isEvald && - ((b = this.currentFileInfo && this.currentFileInfo.rootpath), - b && - 'string' == typeof c.value && - a.isPathRelative(c.value) && - (c.quote || - (b = b.replace(/[\(\)'"\s]/g, function (a) { - return '\\' + a; - })), - (c.value = b + c.value)), - (c.value = a.normalizePath(c.value)), - a.urlArgs && !c.value.match(/^\s*data:/)) - ) { - var d = c.value.indexOf('?') === -1 ? '?' : '&', - f = d + a.urlArgs; - c.value.indexOf('#') !== -1 ? (c.value = c.value.replace('#', f + '#')) : (c.value += f); - } - return new e(c, this.index, this.currentFileInfo, !0); - }), - (b.exports = e); - }, - { './node': 70 }, - ], - 81: [ - function (a, b, c) { - var d = a('./node'), - e = function (a) { - if (((this.value = a), !a)) throw new Error('Value requires an array argument'); - }; - (e.prototype = new d()), - (e.prototype.type = 'Value'), - (e.prototype.accept = function (a) { - this.value && (this.value = a.visitArray(this.value)); - }), - (e.prototype.eval = function (a) { - return 1 === this.value.length - ? this.value[0].eval(a) - : new e( - this.value.map(function (b) { - return b.eval(a); - }) - ); - }), - (e.prototype.genCSS = function (a, b) { - var c; - for (c = 0; c < this.value.length; c++) - this.value[c].genCSS(a, b), c + 1 < this.value.length && b.add(a && a.compress ? ',' : ', '); - }), - (b.exports = e); - }, - { './node': 70 }, - ], - 82: [ - function (a, b, c) { - var d = a('./node'), - e = function (a, b, c) { - (this.name = a), (this.index = b), (this.currentFileInfo = c || {}); - }; - (e.prototype = new d()), - (e.prototype.type = 'Variable'), - (e.prototype.eval = function (a) { - var b, - c = this.name; - if ( - (0 === c.indexOf('@@') && (c = '@' + new e(c.slice(1), this.index, this.currentFileInfo).eval(a).value), - this.evaluating) - ) - throw { - type: 'Name', - message: 'Recursive variable definition for ' + c, - filename: this.currentFileInfo.filename, - index: this.index, - }; - if ( - ((this.evaluating = !0), - (b = this.find(a.frames, function (b) { - var d = b.variable(c); - if (d) { - if (d.important) { - var e = a.importantScope[a.importantScope.length - 1]; - e.important = d.important; - } - return d.value.eval(a); - } - }))) - ) - return (this.evaluating = !1), b; - throw { - type: 'Name', - message: 'variable ' + c + ' is undefined', - filename: this.currentFileInfo.filename, - index: this.index, - }; - }), - (e.prototype.find = function (a, b) { - for (var c, d = 0; d < a.length; d++) if ((c = b.call(a, a[d]))) return c; - return null; - }), - (b.exports = e); - }, - { './node': 70 }, - ], - 83: [ - function (a, b, c) { - b.exports = { - getLocation: function (a, b) { - for (var c = a + 1, d = null, e = -1; --c >= 0 && '\n' !== b.charAt(c); ) e++; - return 'number' == typeof a && (d = (b.slice(0, a).match(/\n/g) || '').length), { line: d, column: e }; - }, - }; - }, - {}, - ], - 84: [ - function (a, b, c) { - var d = a('../tree'), - e = a('./visitor'), - f = a('../logger'), - g = function () { - (this._visitor = new e(this)), (this.contexts = []), (this.allExtendsStack = [[]]); - }; - g.prototype = { - run: function (a) { - return (a = this._visitor.visit(a)), (a.allExtends = this.allExtendsStack[0]), a; - }, - visitRule: function (a, b) { - b.visitDeeper = !1; - }, - visitMixinDefinition: function (a, b) { - b.visitDeeper = !1; - }, - visitRuleset: function (a, b) { - if (!a.root) { - var c, - e, - f, - g, - h = [], - i = a.rules, - j = i ? i.length : 0; - for (c = 0; c < j; c++) a.rules[c] instanceof d.Extend && (h.push(i[c]), (a.extendOnEveryPath = !0)); - var k = a.paths; - for (c = 0; c < k.length; c++) { - var l = k[c], - m = l[l.length - 1], - n = m.extendList; - for ( - g = n ? n.slice(0).concat(h) : h, - g && - (g = g.map(function (a) { - return a.clone(); - })), - e = 0; - e < g.length; - e++ - ) - (this.foundExtends = !0), - (f = g[e]), - f.findSelfSelectors(l), - (f.ruleset = a), - 0 === e && (f.firstExtendOnThisSelectorPath = !0), - this.allExtendsStack[this.allExtendsStack.length - 1].push(f); - } - this.contexts.push(a.selectors); - } - }, - visitRulesetOut: function (a) { - a.root || (this.contexts.length = this.contexts.length - 1); - }, - visitMedia: function (a, b) { - (a.allExtends = []), this.allExtendsStack.push(a.allExtends); - }, - visitMediaOut: function (a) { - this.allExtendsStack.length = this.allExtendsStack.length - 1; - }, - visitDirective: function (a, b) { - (a.allExtends = []), this.allExtendsStack.push(a.allExtends); - }, - visitDirectiveOut: function (a) { - this.allExtendsStack.length = this.allExtendsStack.length - 1; - }, - }; - var h = function () { - this._visitor = new e(this); - }; - (h.prototype = { - run: function (a) { - var b = new g(); - if (((this.extendIndices = {}), b.run(a), !b.foundExtends)) return a; - (a.allExtends = a.allExtends.concat(this.doExtendChaining(a.allExtends, a.allExtends))), - (this.allExtendsStack = [a.allExtends]); - var c = this._visitor.visit(a); - return this.checkExtendsForNonMatched(a.allExtends), c; - }, - checkExtendsForNonMatched: function (a) { - var b = this.extendIndices; - a.filter(function (a) { - return !a.hasFoundMatches && 1 == a.parent_ids.length; - }).forEach(function (a) { - var c = '_unknown_'; - try { - c = a.selector.toCSS({}); - } catch (d) {} - b[a.index + ' ' + c] || ((b[a.index + ' ' + c] = !0), f.warn("extend '" + c + "' has no matches")); - }); - }, - doExtendChaining: function (a, b, c) { - var e, - f, - g, - h, - i, - j, - k, - l, - m = [], - n = this; - for (c = c || 0, e = 0; e < a.length; e++) - for (f = 0; f < b.length; f++) - (j = a[e]), - (k = b[f]), - j.parent_ids.indexOf(k.object_id) >= 0 || - ((i = [k.selfSelectors[0]]), - (g = n.findMatch(j, i)), - g.length && - ((j.hasFoundMatches = !0), - j.selfSelectors.forEach(function (a) { - var b = k.visibilityInfo(); - (h = n.extendSelector(g, i, a, j.isVisible())), - (l = new d.Extend(k.selector, k.option, 0, k.currentFileInfo, b)), - (l.selfSelectors = h), - (h[h.length - 1].extendList = [l]), - m.push(l), - (l.ruleset = k.ruleset), - (l.parent_ids = l.parent_ids.concat(k.parent_ids, j.parent_ids)), - k.firstExtendOnThisSelectorPath && - ((l.firstExtendOnThisSelectorPath = !0), k.ruleset.paths.push(h)); - }))); - if (m.length) { - if ((this.extendChainCount++, c > 100)) { - var o = '{unable to calculate}', - p = '{unable to calculate}'; - try { - (o = m[0].selfSelectors[0].toCSS()), (p = m[0].selector.toCSS()); - } catch (q) {} - throw { - message: - 'extend circular reference detected. One of the circular extends is currently:' + - o + - ':extend(' + - p + - ')', - }; - } - return m.concat(n.doExtendChaining(m, b, c + 1)); - } - return m; - }, - visitRule: function (a, b) { - b.visitDeeper = !1; - }, - visitMixinDefinition: function (a, b) { - b.visitDeeper = !1; - }, - visitSelector: function (a, b) { - b.visitDeeper = !1; - }, - visitRuleset: function (a, b) { - if (!a.root) { - var c, - d, - e, - f, - g = this.allExtendsStack[this.allExtendsStack.length - 1], - h = [], - i = this; - for (e = 0; e < g.length; e++) - for (d = 0; d < a.paths.length; d++) - if (((f = a.paths[d]), !a.extendOnEveryPath)) { - var j = f[f.length - 1].extendList; - (j && j.length) || - ((c = this.findMatch(g[e], f)), - c.length && - ((g[e].hasFoundMatches = !0), - g[e].selfSelectors.forEach(function (a) { - var b; - (b = i.extendSelector(c, f, a, g[e].isVisible())), h.push(b); - }))); - } - a.paths = a.paths.concat(h); - } - }, - findMatch: function (a, b) { - var c, - d, - e, - f, - g, - h, - i, - j = this, - k = a.selector.elements, - l = [], - m = []; - for (c = 0; c < b.length; c++) - for (d = b[c], e = 0; e < d.elements.length; e++) - for ( - f = d.elements[e], - (a.allowBefore || (0 === c && 0 === e)) && - l.push({ pathIndex: c, index: e, matched: 0, initialCombinator: f.combinator }), - h = 0; - h < l.length; - h++ - ) - (i = l[h]), - (g = f.combinator.value), - '' === g && 0 === e && (g = ' '), - !j.isElementValuesEqual(k[i.matched].value, f.value) || - (i.matched > 0 && k[i.matched].combinator.value !== g) - ? (i = null) - : i.matched++, - i && - ((i.finished = i.matched === k.length), - i.finished && !a.allowAfter && (e + 1 < d.elements.length || c + 1 < b.length) && (i = null)), - i - ? i.finished && - ((i.length = k.length), - (i.endPathIndex = c), - (i.endPathElementIndex = e + 1), - (l.length = 0), - m.push(i)) - : (l.splice(h, 1), h--); - return m; - }, - isElementValuesEqual: function (a, b) { - if ('string' == typeof a || 'string' == typeof b) return a === b; - if (a instanceof d.Attribute) - return ( - a.op === b.op && - a.key === b.key && - (a.value && b.value - ? ((a = a.value.value || a.value), (b = b.value.value || b.value), a === b) - : !a.value && !b.value) - ); - if (((a = a.value), (b = b.value), a instanceof d.Selector)) { - if (!(b instanceof d.Selector) || a.elements.length !== b.elements.length) return !1; - for (var c = 0; c < a.elements.length; c++) { - if ( - a.elements[c].combinator.value !== b.elements[c].combinator.value && - (0 !== c || (a.elements[c].combinator.value || ' ') !== (b.elements[c].combinator.value || ' ')) - ) - return !1; - if (!this.isElementValuesEqual(a.elements[c].value, b.elements[c].value)) return !1; - } - return !0; - } - return !1; - }, - extendSelector: function (a, b, c, e) { - var f, - g, - h, - i, - j, - k = 0, - l = 0, - m = []; - for (f = 0; f < a.length; f++) - (i = a[f]), - (g = b[i.pathIndex]), - (h = new d.Element( - i.initialCombinator, - c.elements[0].value, - c.elements[0].index, - c.elements[0].currentFileInfo - )), - i.pathIndex > k && - l > 0 && - ((m[m.length - 1].elements = m[m.length - 1].elements.concat(b[k].elements.slice(l))), - (l = 0), - k++), - (j = g.elements.slice(l, i.index).concat([h]).concat(c.elements.slice(1))), - k === i.pathIndex && f > 0 - ? (m[m.length - 1].elements = m[m.length - 1].elements.concat(j)) - : ((m = m.concat(b.slice(k, i.pathIndex))), m.push(new d.Selector(j))), - (k = i.endPathIndex), - (l = i.endPathElementIndex), - l >= b[k].elements.length && ((l = 0), k++); - return ( - k < b.length && - l > 0 && - ((m[m.length - 1].elements = m[m.length - 1].elements.concat(b[k].elements.slice(l))), k++), - (m = m.concat(b.slice(k, b.length))), - (m = m.map(function (a) { - var b = a.createDerived(a.elements); - return e ? b.ensureVisibility() : b.ensureInvisibility(), b; - })) - ); - }, - visitMedia: function (a, b) { - var c = a.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length - 1]); - (c = c.concat(this.doExtendChaining(c, a.allExtends))), this.allExtendsStack.push(c); - }, - visitMediaOut: function (a) { - var b = this.allExtendsStack.length - 1; - this.allExtendsStack.length = b; - }, - visitDirective: function (a, b) { - var c = a.allExtends.concat(this.allExtendsStack[this.allExtendsStack.length - 1]); - (c = c.concat(this.doExtendChaining(c, a.allExtends))), this.allExtendsStack.push(c); - }, - visitDirectiveOut: function (a) { - var b = this.allExtendsStack.length - 1; - this.allExtendsStack.length = b; - }, - }), - (b.exports = h); - }, - { '../logger': 33, '../tree': 62, './visitor': 91 }, - ], - 85: [ - function (a, b, c) { - function d(a) { - (this.imports = []), (this.variableImports = []), (this._onSequencerEmpty = a), (this._currentDepth = 0); - } - (d.prototype.addImport = function (a) { - var b = this, - c = { callback: a, args: null, isReady: !1 }; - return ( - this.imports.push(c), - function () { - (c.args = Array.prototype.slice.call(arguments, 0)), (c.isReady = !0), b.tryRun(); - } - ); - }), - (d.prototype.addVariableImport = function (a) { - this.variableImports.push(a); - }), - (d.prototype.tryRun = function () { - this._currentDepth++; - try { - for (;;) { - for (; this.imports.length > 0; ) { - var a = this.imports[0]; - if (!a.isReady) return; - (this.imports = this.imports.slice(1)), a.callback.apply(null, a.args); - } - if (0 === this.variableImports.length) break; - var b = this.variableImports[0]; - (this.variableImports = this.variableImports.slice(1)), b(); - } - } finally { - this._currentDepth--; - } - 0 === this._currentDepth && this._onSequencerEmpty && this._onSequencerEmpty(); - }), - (b.exports = d); - }, - {}, - ], - 86: [ - function (a, b, c) { - var d = a('../contexts'), - e = a('./visitor'), - f = a('./import-sequencer'), - g = function (a, b) { - (this._visitor = new e(this)), - (this._importer = a), - (this._finish = b), - (this.context = new d.Eval()), - (this.importCount = 0), - (this.onceFileDetectionMap = {}), - (this.recursionDetector = {}), - (this._sequencer = new f(this._onSequencerEmpty.bind(this))); - }; - (g.prototype = { - isReplacing: !1, - run: function (a) { - try { - this._visitor.visit(a); - } catch (b) { - this.error = b; - } - (this.isFinished = !0), this._sequencer.tryRun(); - }, - _onSequencerEmpty: function () { - this.isFinished && this._finish(this.error); - }, - visitImport: function (a, b) { - var c = a.options.inline; - if (!a.css || c) { - var e = new d.Eval(this.context, this.context.frames.slice(0)), - f = e.frames[0]; - this.importCount++, - a.isVariableImport() - ? this._sequencer.addVariableImport(this.processImportNode.bind(this, a, e, f)) - : this.processImportNode(a, e, f); - } - b.visitDeeper = !1; - }, - processImportNode: function (a, b, c) { - var d, - e = a.options.inline; - try { - d = a.evalForImport(b); - } catch (f) { - f.filename || ((f.index = a.index), (f.filename = a.currentFileInfo.filename)), - (a.css = !0), - (a.error = f); - } - if (!d || (d.css && !e)) this.importCount--, this.isFinished && this._sequencer.tryRun(); - else { - d.options.multiple && (b.importMultiple = !0); - for (var g = void 0 === d.css, h = 0; h < c.rules.length; h++) - if (c.rules[h] === a) { - c.rules[h] = d; - break; - } - var i = this.onImported.bind(this, d, b), - j = this._sequencer.addImport(i); - this._importer.push(d.getPath(), g, d.currentFileInfo, d.options, j); - } - }, - onImported: function (a, b, c, d, e, f) { - c && (c.filename || ((c.index = a.index), (c.filename = a.currentFileInfo.filename)), (this.error = c)); - var g = this, - h = a.options.inline, - i = a.options.plugin, - j = a.options.optional, - k = e || f in g.recursionDetector; - if ( - (b.importMultiple || - (a.skip = - !!k || - function () { - return f in g.onceFileDetectionMap || ((g.onceFileDetectionMap[f] = !0), !1); - }), - !f && j && (a.skip = !0), - d && ((a.root = d), (a.importedFilename = f), !h && !i && (b.importMultiple || !k))) - ) { - g.recursionDetector[f] = !0; - var l = this.context; - this.context = b; - try { - this._visitor.visit(d); - } catch (c) { - this.error = c; - } - this.context = l; - } - g.importCount--, g.isFinished && g._sequencer.tryRun(); - }, - visitRule: function (a, b) { - 'DetachedRuleset' === a.value.type ? this.context.frames.unshift(a) : (b.visitDeeper = !1); - }, - visitRuleOut: function (a) { - 'DetachedRuleset' === a.value.type && this.context.frames.shift(); - }, - visitDirective: function (a, b) { - this.context.frames.unshift(a); - }, - visitDirectiveOut: function (a) { - this.context.frames.shift(); - }, - visitMixinDefinition: function (a, b) { - this.context.frames.unshift(a); - }, - visitMixinDefinitionOut: function (a) { - this.context.frames.shift(); - }, - visitRuleset: function (a, b) { - this.context.frames.unshift(a); - }, - visitRulesetOut: function (a) { - this.context.frames.shift(); - }, - visitMedia: function (a, b) { - this.context.frames.unshift(a.rules[0]); - }, - visitMediaOut: function (a) { - this.context.frames.shift(); - }, - }), - (b.exports = g); - }, - { '../contexts': 11, './import-sequencer': 85, './visitor': 91 }, - ], - 87: [ - function (a, b, c) { - var d = { - Visitor: a('./visitor'), - ImportVisitor: a('./import-visitor'), - MarkVisibleSelectorsVisitor: a('./set-tree-visibility-visitor'), - ExtendVisitor: a('./extend-visitor'), - JoinSelectorVisitor: a('./join-selector-visitor'), - ToCSSVisitor: a('./to-css-visitor'), - }; - b.exports = d; - }, - { - './extend-visitor': 84, - './import-visitor': 86, - './join-selector-visitor': 88, - './set-tree-visibility-visitor': 89, - './to-css-visitor': 90, - './visitor': 91, - }, - ], - 88: [ - function (a, b, c) { - var d = a('./visitor'), - e = function () { - (this.contexts = [[]]), (this._visitor = new d(this)); - }; - (e.prototype = { - run: function (a) { - return this._visitor.visit(a); - }, - visitRule: function (a, b) { - b.visitDeeper = !1; - }, - visitMixinDefinition: function (a, b) { - b.visitDeeper = !1; - }, - visitRuleset: function (a, b) { - var c, - d = this.contexts[this.contexts.length - 1], - e = []; - this.contexts.push(e), - a.root || - ((c = a.selectors), - c && - ((c = c.filter(function (a) { - return a.getIsOutput(); - })), - (a.selectors = c.length ? c : (c = null)), - c && a.joinSelectors(e, d, c)), - c || (a.rules = null), - (a.paths = e)); - }, - visitRulesetOut: function (a) { - this.contexts.length = this.contexts.length - 1; - }, - visitMedia: function (a, b) { - var c = this.contexts[this.contexts.length - 1]; - a.rules[0].root = 0 === c.length || c[0].multiMedia; - }, - visitDirective: function (a, b) { - var c = this.contexts[this.contexts.length - 1]; - a.rules && a.rules.length && (a.rules[0].root = a.isRooted || 0 === c.length || null); - }, - }), - (b.exports = e); - }, - { './visitor': 91 }, - ], - 89: [ - function (a, b, c) { - var d = function (a) { - this.visible = a; - }; - (d.prototype.run = function (a) { - this.visit(a); - }), - (d.prototype.visitArray = function (a) { - if (!a) return a; - var b, - c = a.length; - for (b = 0; b < c; b++) this.visit(a[b]); - return a; - }), - (d.prototype.visit = function (a) { - return a - ? a.constructor === Array - ? this.visitArray(a) - : !a.blocksVisibility || a.blocksVisibility() - ? a - : (this.visible ? a.ensureVisibility() : a.ensureInvisibility(), a.accept(this), a) - : a; - }), - (b.exports = d); - }, - {}, - ], - 90: [ - function (a, b, c) { - var d = a('../tree'), - e = a('./visitor'), - f = function (a) { - (this._visitor = new e(this)), (this._context = a); - }; - f.prototype = { - containsSilentNonBlockedChild: function (a) { - var b; - if (null == a) return !1; - for (var c = 0; c < a.length; c++) - if (((b = a[c]), b.isSilent && b.isSilent(this._context) && !b.blocksVisibility())) return !0; - return !1; - }, - keepOnlyVisibleChilds: function (a) { - null != a && - null != a.rules && - (a.rules = a.rules.filter(function (a) { - return a.isVisible(); - })); - }, - isEmpty: function (a) { - return null == a || null == a.rules || 0 === a.rules.length; - }, - hasVisibleSelector: function (a) { - return null != a && null != a.paths && a.paths.length > 0; - }, - resolveVisibility: function (a, b) { - if (!a.blocksVisibility()) { - if (this.isEmpty(a) && !this.containsSilentNonBlockedChild(b)) return; - return a; - } - var c = a.rules[0]; - if ((this.keepOnlyVisibleChilds(c), !this.isEmpty(c))) - return a.ensureVisibility(), a.removeVisibilityBlock(), a; - }, - isVisibleRuleset: function (a) { - return !!a.firstRoot || (!this.isEmpty(a) && !(!a.root && !this.hasVisibleSelector(a))); - }, - }; - var g = function (a) { - (this._visitor = new e(this)), (this._context = a), (this.utils = new f(a)); - }; - (g.prototype = { - isReplacing: !0, - run: function (a) { - return this._visitor.visit(a); - }, - visitRule: function (a, b) { - if (!a.blocksVisibility() && !a.variable) return a; - }, - visitMixinDefinition: function (a, b) { - a.frames = []; - }, - visitExtend: function (a, b) {}, - visitComment: function (a, b) { - if (!a.blocksVisibility() && !a.isSilent(this._context)) return a; - }, - visitMedia: function (a, b) { - var c = a.rules[0].rules; - return a.accept(this._visitor), (b.visitDeeper = !1), this.utils.resolveVisibility(a, c); - }, - visitImport: function (a, b) { - if (!a.blocksVisibility()) return a; - }, - visitDirective: function (a, b) { - return a.rules && a.rules.length - ? this.visitDirectiveWithBody(a, b) - : this.visitDirectiveWithoutBody(a, b); - }, - visitDirectiveWithBody: function (a, b) { - function c(a) { - var b = a.rules; - return 1 === b.length && (!b[0].paths || 0 === b[0].paths.length); - } - function d(a) { - var b = a.rules; - return c(a) ? b[0].rules : b; - } - var e = d(a); - return ( - a.accept(this._visitor), - (b.visitDeeper = !1), - this.utils.isEmpty(a) || this._mergeRules(a.rules[0].rules), - this.utils.resolveVisibility(a, e) - ); - }, - visitDirectiveWithoutBody: function (a, b) { - if (!a.blocksVisibility()) { - if ('@charset' === a.name) { - if (this.charset) { - if (a.debugInfo) { - var c = new d.Comment('/* ' + a.toCSS(this._context).replace(/\n/g, '') + ' */\n'); - return (c.debugInfo = a.debugInfo), this._visitor.visit(c); - } - return; - } - this.charset = !0; - } - return a; - } - }, - checkValidNodes: function (a, b) { - if (a) - for (var c = 0; c < a.length; c++) { - var e = a[c]; - if (b && e instanceof d.Rule && !e.variable) - throw { - message: 'Properties must be inside selector blocks. They cannot be in the root', - index: e.index, - filename: e.currentFileInfo && e.currentFileInfo.filename, - }; - if (e instanceof d.Call) - throw { - message: "Function '" + e.name + "' is undefined", - index: e.index, - filename: e.currentFileInfo && e.currentFileInfo.filename, - }; - if (e.type && !e.allowRoot) - throw { - message: e.type + ' node returned by a function is not valid here', - index: e.index, - filename: e.currentFileInfo && e.currentFileInfo.filename, - }; - } - }, - visitRuleset: function (a, b) { - var c, - d = []; - if ((this.checkValidNodes(a.rules, a.firstRoot), a.root)) a.accept(this._visitor), (b.visitDeeper = !1); - else { - this._compileRulesetPaths(a); - for (var e = a.rules, f = e ? e.length : 0, g = 0; g < f; ) - (c = e[g]), c && c.rules ? (d.push(this._visitor.visit(c)), e.splice(g, 1), f--) : g++; - f > 0 ? a.accept(this._visitor) : (a.rules = null), (b.visitDeeper = !1); - } - return ( - a.rules && (this._mergeRules(a.rules), this._removeDuplicateRules(a.rules)), - this.utils.isVisibleRuleset(a) && (a.ensureVisibility(), d.splice(0, 0, a)), - 1 === d.length ? d[0] : d - ); - }, - _compileRulesetPaths: function (a) { - a.paths && - (a.paths = a.paths.filter(function (a) { - var b; - for ( - ' ' === a[0].elements[0].combinator.value && (a[0].elements[0].combinator = new d.Combinator('')), - b = 0; - b < a.length; - b++ - ) - if (a[b].isVisible() && a[b].getIsOutput()) return !0; - return !1; - })); - }, - _removeDuplicateRules: function (a) { - if (a) { - var b, - c, - e, - f = {}; - for (e = a.length - 1; e >= 0; e--) - if (((c = a[e]), c instanceof d.Rule)) - if (f[c.name]) { - (b = f[c.name]), b instanceof d.Rule && (b = f[c.name] = [f[c.name].toCSS(this._context)]); - var g = c.toCSS(this._context); - b.indexOf(g) !== -1 ? a.splice(e, 1) : b.push(g); - } else f[c.name] = c; - } - }, - _mergeRules: function (a) { - if (a) { - for (var b, c, e, f = {}, g = 0; g < a.length; g++) - (c = a[g]), - c instanceof d.Rule && - c.merge && - ((e = [c.name, c.important ? '!' : ''].join(',')), - f[e] ? a.splice(g--, 1) : (f[e] = []), - f[e].push(c)); - Object.keys(f).map(function (a) { - function e(a) { - return new d.Expression( - a.map(function (a) { - return a.value; - }) - ); - } - function g(a) { - return new d.Value( - a.map(function (a) { - return a; - }) - ); - } - if (((b = f[a]), b.length > 1)) { - c = b[0]; - var h = [], - i = []; - b.map(function (a) { - '+' === a.merge && (i.length > 0 && h.push(e(i)), (i = [])), i.push(a); - }), - h.push(e(i)), - (c.value = g(h)); - } - }); - } - }, - visitAnonymous: function (a, b) { - if (!a.blocksVisibility()) return a.accept(this._visitor), a; - }, - }), - (b.exports = g); - }, - { '../tree': 62, './visitor': 91 }, - ], - 91: [ - function (a, b, c) { - function d(a) { - return a; - } - function e(a, b) { - var c, d; - for (c in a) - if (a.hasOwnProperty(c)) - switch (((d = a[c]), typeof d)) { - case 'function': - d.prototype && d.prototype.type && (d.prototype.typeIndex = b++); - break; - case 'object': - b = e(d, b); - } - return b; - } - var f = a('../tree'), - g = { visitDeeper: !0 }, - h = !1, - i = function (a) { - (this._implementation = a), (this._visitFnCache = []), h || (e(f, 1), (h = !0)); - }; - (i.prototype = { - visit: function (a) { - if (!a) return a; - var b = a.typeIndex; - if (!b) return a; - var c, - e = this._visitFnCache, - f = this._implementation, - h = b << 1, - i = 1 | h, - j = e[h], - k = e[i], - l = g; - if ( - ((l.visitDeeper = !0), - j || ((c = 'visit' + a.type), (j = f[c] || d), (k = f[c + 'Out'] || d), (e[h] = j), (e[i] = k)), - j !== d) - ) { - var m = j.call(f, a, l); - f.isReplacing && (a = m); - } - return l.visitDeeper && a && a.accept && a.accept(this), k != d && k.call(f, a), a; - }, - visitArray: function (a, b) { - if (!a) return a; - var c, - d = a.length; - if (b || !this._implementation.isReplacing) { - for (c = 0; c < d; c++) this.visit(a[c]); - return a; - } - var e = []; - for (c = 0; c < d; c++) { - var f = this.visit(a[c]); - void 0 !== f && (f.splice ? f.length && this.flatten(f, e) : e.push(f)); - } - return e; - }, - flatten: function (a, b) { - b || (b = []); - var c, d, e, f, g, h; - for (d = 0, c = a.length; d < c; d++) - if (((e = a[d]), void 0 !== e)) - if (e.splice) - for (g = 0, f = e.length; g < f; g++) - (h = e[g]), void 0 !== h && (h.splice ? h.length && this.flatten(h, b) : b.push(h)); - else b.push(e); - return b; - }, - }), - (b.exports = i); - }, - { '../tree': 62 }, - ], - 92: [ - function (a, b, c) { - 'use strict'; - function d() { - if (i.length) throw i.shift(); - } - function e(a) { - var b; - (b = h.length ? h.pop() : new f()), (b.task = a), g(b); - } - function f() { - this.task = null; - } - var g = a('./raw'), - h = [], - i = [], - j = g.makeRequestCallFromTimer(d); - (b.exports = e), - (f.prototype.call = function () { - try { - this.task.call(); - } catch (a) { - e.onerror ? e.onerror(a) : (i.push(a), j()); - } finally { - (this.task = null), (h[h.length] = this); - } - }); - }, - { './raw': 93 }, - ], - 93: [ - function (a, b, c) { - (function (a) { - 'use strict'; - function c(a) { - h.length || (g(), (i = !0)), (h[h.length] = a); - } - function d() { - for (; j < h.length; ) { - var a = j; - if (((j += 1), h[a].call(), j > k)) { - for (var b = 0, c = h.length - j; b < c; b++) h[b] = h[b + j]; - (h.length -= j), (j = 0); - } - } - (h.length = 0), (j = 0), (i = !1); - } - function e(a) { - var b = 1, - c = new l(a), - d = document.createTextNode(''); - return ( - c.observe(d, { characterData: !0 }), - function () { - (b = -b), (d.data = b); - } - ); - } - function f(a) { - return function () { - function b() { - clearTimeout(c), clearInterval(d), a(); - } - var c = setTimeout(b, 0), - d = setInterval(b, 50); - }; - } - b.exports = c; - var g, - h = [], - i = !1, - j = 0, - k = 1024, - l = a.MutationObserver || a.WebKitMutationObserver; - (g = 'function' == typeof l ? e(d) : f(d)), (c.requestFlush = g), (c.makeRequestCallFromTimer = f); - }.call( - this, - 'undefined' != typeof global - ? global - : 'undefined' != typeof self - ? self - : 'undefined' != typeof window - ? window - : {} - )); - }, - {}, - ], - 94: [ - function (a, b, c) { - 'use strict'; - function d() {} - function e(a) { - try { - return a.then; - } catch (b) { - return (r = b), s; - } - } - function f(a, b) { - try { - return a(b); - } catch (c) { - return (r = c), s; - } - } - function g(a, b, c) { - try { - a(b, c); - } catch (d) { - return (r = d), s; - } - } - function h(a) { - if ('object' != typeof this) throw new TypeError('Promises must be constructed via new'); - if ('function' != typeof a) throw new TypeError('not a function'); - (this._45 = 0), (this._81 = 0), (this._65 = null), (this._54 = null), a !== d && p(a, this); - } - function i(a, b, c) { - return new a.constructor(function (e, f) { - var g = new h(d); - g.then(e, f), j(a, new o(b, c, g)); - }); - } - function j(a, b) { - for (; 3 === a._81; ) a = a._65; - return ( - h._10 && h._10(a), - 0 === a._81 - ? 0 === a._45 - ? ((a._45 = 1), void (a._54 = b)) - : 1 === a._45 - ? ((a._45 = 2), void (a._54 = [a._54, b])) - : void a._54.push(b) - : void k(a, b) - ); - } - function k(a, b) { - q(function () { - var c = 1 === a._81 ? b.onFulfilled : b.onRejected; - if (null === c) return void (1 === a._81 ? l(b.promise, a._65) : m(b.promise, a._65)); - var d = f(c, a._65); - d === s ? m(b.promise, r) : l(b.promise, d); - }); - } - function l(a, b) { - if (b === a) return m(a, new TypeError('A promise cannot be resolved with itself.')); - if (b && ('object' == typeof b || 'function' == typeof b)) { - var c = e(b); - if (c === s) return m(a, r); - if (c === a.then && b instanceof h) return (a._81 = 3), (a._65 = b), void n(a); - if ('function' == typeof c) return void p(c.bind(b), a); - } - (a._81 = 1), (a._65 = b), n(a); - } - function m(a, b) { - (a._81 = 2), (a._65 = b), h._97 && h._97(a, b), n(a); - } - function n(a) { - if ((1 === a._45 && (j(a, a._54), (a._54 = null)), 2 === a._45)) { - for (var b = 0; b < a._54.length; b++) j(a, a._54[b]); - a._54 = null; - } - } - function o(a, b, c) { - (this.onFulfilled = 'function' == typeof a ? a : null), - (this.onRejected = 'function' == typeof b ? b : null), - (this.promise = c); - } - function p(a, b) { - var c = !1, - d = g( - a, - function (a) { - c || ((c = !0), l(b, a)); - }, - function (a) { - c || ((c = !0), m(b, a)); - } - ); - c || d !== s || ((c = !0), m(b, r)); - } - var q = a('asap/raw'), - r = null, - s = {}; - (b.exports = h), - (h._10 = null), - (h._97 = null), - (h._61 = d), - (h.prototype.then = function (a, b) { - if (this.constructor !== h) return i(this, a, b); - var c = new h(d); - return j(this, new o(a, b, c)), c; - }); - }, - { 'asap/raw': 93 }, - ], - 95: [ - function (a, b, c) { - 'use strict'; - function d(a) { - var b = new e(e._61); - return (b._81 = 1), (b._65 = a), b; - } - var e = a('./core.js'); - b.exports = e; - var f = d(!0), - g = d(!1), - h = d(null), - i = d(void 0), - j = d(0), - k = d(''); - (e.resolve = function (a) { - if (a instanceof e) return a; - if (null === a) return h; - if (void 0 === a) return i; - if (a === !0) return f; - if (a === !1) return g; - if (0 === a) return j; - if ('' === a) return k; - if ('object' == typeof a || 'function' == typeof a) - try { - var b = a.then; - if ('function' == typeof b) return new e(b.bind(a)); - } catch (c) { - return new e(function (a, b) { - b(c); - }); - } - return d(a); - }), - (e.all = function (a) { - var b = Array.prototype.slice.call(a); - return new e(function (a, c) { - function d(g, h) { - if (h && ('object' == typeof h || 'function' == typeof h)) { - if (h instanceof e && h.then === e.prototype.then) { - for (; 3 === h._81; ) h = h._65; - return 1 === h._81 - ? d(g, h._65) - : (2 === h._81 && c(h._65), - void h.then(function (a) { - d(g, a); - }, c)); - } - var i = h.then; - if ('function' == typeof i) { - var j = new e(i.bind(h)); - return void j.then(function (a) { - d(g, a); - }, c); - } - } - (b[g] = h), 0 === --f && a(b); - } - if (0 === b.length) return a([]); - for (var f = b.length, g = 0; g < b.length; g++) d(g, b[g]); - }); - }), - (e.reject = function (a) { - return new e(function (b, c) { - c(a); - }); - }), - (e.race = function (a) { - return new e(function (b, c) { - a.forEach(function (a) { - e.resolve(a).then(b, c); - }); - }); - }), - (e.prototype['catch'] = function (a) { - return this.then(null, a); - }); - }, - { './core.js': 94 }, - ], - 96: [ - function (a, b, c) { - 'function' != typeof Promise.prototype.done && - (Promise.prototype.done = function (a, b) { - var c = arguments.length ? this.then.apply(this, arguments) : this; - c.then(null, function (a) { - setTimeout(function () { - throw a; - }, 0); - }); - }); - }, - {}, - ], - 97: [ - function (a, b, c) { - a('asap'); - 'undefined' == typeof Promise && ((Promise = a('./lib/core.js')), a('./lib/es6-extensions.js')), - a('./polyfill-done.js'); - }, - { './lib/core.js': 94, './lib/es6-extensions.js': 95, './polyfill-done.js': 96, asap: 92 }, - ], - }, - {}, - [2] - )(2); -}); diff --git a/public/locales/en/translation-apps.json b/public/locales/en/translation-apps.json deleted file mode 100644 index b79d88d4..00000000 --- a/public/locales/en/translation-apps.json +++ /dev/null @@ -1,310 +0,0 @@ -{ - "Withdraw unbonded funds": "Withdraw unbonded funds", - "Current": "Current", - "Authorize transaction": "Authorize transaction", - "Sending transaction": "Sending transaction", - "The account is a stash, controlled by {{bondedId}}": "The account is a stash, controlled by {{bondedId}}", - "The account is already controlling {{stashId}}": "The account is already controlling {{stashId}}", - "The account does not have sufficient funds available to cover transaction fees": "The account does not have sufficient funds available to cover transaction fees", - "1 day": "1 day", - "1 hr": "1 hr", - "1 min": "1 min", - "1 s": "1 s", - "A wallet built on the polkadot-js stack. This version is updated alongside any changes to the code and always has the latest features.": "A wallet built on the polkadot-js stack. This version is updated alongside any changes to the code and always has the latest features.", - "Account": "Account", - "Account Migration": "Account Migration", - "Fee Market": "Fee Market", - "Add lock limit for bonded tokens": "Add lock limit for bonded tokens", - "Additional bond funds": "Additional bond funds", - "Additional deposit funds": "Additional deposit funds", - "Address": "Address", - "Invalid Account": "Invalid Account", - "Adds bonded tokens for staking to obtain more power.": "Adds bonded tokens for staking to obtain more power.", - "After setting a lock limit, you will receive an additional {{KTON}} bonus; if you unlock it in advance within the lock limit, you will be charged a penalty of 3 times the {{KTON}} reward.": "After setting a lock limit, you will receive an additional {{KTON}} bonus; if you unlock it in advance within the lock limit, you will be charged a penalty of 3 times the {{KTON}} reward.", - "Amount": "Amount", - "Amount to add to the currently bonded funds. This is adjusted using the available funds on the account.": "Amount to add to the currently bonded funds. This is adjusted using the available funds on the account.", - "Amount to add to the currently deposit funds. This is adjusted using the bonded funds on the account.": "Amount to add to the currently deposit funds. This is adjusted using the bonded funds on the account.", - "An account that is to receive the rewards.": "An account that is to receive the rewards.", - "Api connecting": "Api connecting", - "available": "available", - "Available": "Available", - "Available Balance": "Available Balance", - "Available The amount of tokens that are able to staking, bond and transfer.": "Available: The amount of tokens that are able to staking, bond and transfer.", - "Bond": "Bond", - "Bond more funds": "Bond more funds", - "Bonded": "Bonded", - "Bonded The amount of tokens that cannot be operated directly but does not have a lock limit, which is used to gain power and can be taken out at any time(with a 14-day unbonding period) or add lock limit.": "Bonded: The amount of tokens that cannot be operated directly but does not have a lock limit, which is used to gain power and can be taken out at any time(with a 14-day unbonding period) or add lock limit.", - "Bonded amount": "Bonded amount", - "Bonding preferences": "Bonding preferences", - "Validator preferences": "Validator preferences", - "Cancel": "Cancel", - "Change controller account": "Change controller account", - "Change reward destination": "Change reward destination", - "Change validator preferences": "Change validator preferences", - "Changing the key only takes effect at the start of the next session. If validating, it must be an ed25519 key.": "Changing the key only takes effect at the start of the next session. If validating, it must be an ed25519 key.", - "Changing the key only takes effect at the start of the next session. The input here is generates from the author_rotateKeys command": "Changing the key only takes effect at the start of the next session. The input here is generates from the author_rotateKeys command", - "Check it to continue": "Check it to continue", - "Claim Reward": "Claim Reward", - "Claimed": "Claimed", - "Confirm to continue": "Confirm to continue", - "Connect Wallet": "Connect Wallet", - "Switch Wallet": "Switch Wallet", - "Connect to Metamask": "Connect to Metamask", - "Connect to Polkadot": "Connect to Polkadot", - "Controller account": "Controller account", - "Copied": "Copied", - "Copy Address": "Copy Address", - "Cross Chain": "Cross Chain", - "A safe community tool for cross-chain assets.": "A safe community tool for cross-chain assets.", - "Currently in lock-up period, you will be charged a penalty of 3 times the {{KTON}} reward. Are you sure to continue?": "Currently in lock-up period, you will be charged a penalty of 3 times the {{KTON}} reward. Are you sure to continue?", - "EVM Address": "EVM Address", - "EVM Withdraw": "EVM Withdraw", - "EVM account": "EVM account", - "EVM format account ID to Darwinia network account ID": "EVM format account ID to Darwinia network account ID", - "EVM format account e.g.": "EVM format account e.g. 0x267be1...", - "Darwinia Asset": "Darwinia Asset", - "Overview": "Overview", - "Darwinia Portal": "Darwinia Portal", - "Deposit more funds": "Deposit more funds", - "Disconnect": "Disconnect", - "Display name": "Display name", - "During the limited time, staked funds will not be available": "During the limited time, funds will not be available", - "Enter or select one from these below": "Enter or select one from these below", - "Expired": "Expired", - "Export JSON": "Export JSON", - "Filter available candidates based on name, address or short account index.": "Filter available candidates based on name, address or short account index.", - "Filter candidates": "Filter candidates", - "Filter by name, address or index": "Filter by name, address or index", - "For fund security, your session key should not match your stash key.": "For fund security, your session key should not match your stash key.", - "Get Power": "Get Power", - "Go to Helix": "Go to Helix", - "How to use?": "How to use?", - "I Accept": "I Accept", - "I've known it, never show this again": "I've known it, never show this again", - "Intentions": "Intentions", - "Keys from rotateKeys": "Keys from rotateKeys", - "Legal name": "Legal name", - "Live networks": "Live networks", - "Local Accounts": "Local Accounts", - "Lock extra": "Lock extra", - "Lock limit": "Lock limit", - "Lock limit canceled": "Lock limit canceled", - "Locked": "Locked", - "Locked The amount of tokens that cannot be operated directly and has a lock limit, which is used to gain power and earn additional KTON rewards. ": " Locked: The amount of tokens that cannot be operated directly and has a lock limit, which is used to gain power and earn additional KTON rewards. ", - "Make sure you you have installed the polkadot extension first, then create an account in it and authorize": "Make sure you you have installed the polkadot extension first, then create an account in it and authorize", - "Mapping": "Mapping", - "Max": "Max", - "Max, {{eras}} eras": "Max, {{eras}} eras", - "Max, {{max}} nominees": "Max, {{max}} nominees", - "Metamask account": "Metamask account", - "No fixed term Set a lock period will get additional {{symbol}} rewards": "No fixed term (Set a lock period will get additional {{symbol}} rewards)", - "Nominate": "Nominate", - "Nominate validators": "Nominate validators", - "Nominating": "Nominating", - "Nominators loading": "Nominators loading", - "Set nominees": "Set nominees", - "Ok": "Ok", - "Only term deposit": "Only term deposit", - "Other Account": "Other Account", - "POWER = your stake / total stake": "POWER = your stake / total stake", - "Payment account": "Payment account", - "Payment destination": "Payment destination", - "Please enter a valid {{network}} address": "Please enter a valid {{network}} address", - "Please keep a little {{token}} as fee": "Please keep a little {{token}} as fee", - "Please make sure that you have some excess RING in this account as gas fee.": "Please make sure that you have some excess RING in this account as gas fee.", - "Please select from list": "Please select from list", - "Power": "Power", - "Power Manager": "Power Manager", - "Rebond funds": "Rebond funds", - "Rebond the unbonding funds": "Rebond the unbonding funds", - "Receive account": "Receive account", - "Register identity": "Register identity", - "Release": "Release", - "Reward History": "Reward History", - "Reward commission percentage": "Reward commission percentage", - "Riot name": "Riot name", - "Select active account": "Select active account", - "Send {{symbol}}": "Send {{symbol}}", - "Session Key": "Session Key", - "Session key (ed25519)": "Session key (ed25519)", - "Set on-chain identity": "Set on-chain identity", - "Set session key": "Set session key", - "Staking": "Staking", - "Staking Overview": "Staking Overview", - "Staking now": "Staking now", - "Stash account": "Stash account", - "Stash account (do not increase the amount at stake)": "Stash account (do not increase the amount at stake)", - "Stash account (increase the amount at stake)": "Stash account (increase the amount at stake)", - "Stop Nominating": "Stop Nominating", - "Stop Validating": "Stop Validating", - "Select Account": "Select Account", - "Switch Account": "Switch Account", - "Targets": "Targets", - "Test networks": "Test networks", - "Parachain networks": "Parachain networks", - "The amount of funds to unbond, this is adjusted using the bonded funds on the stash account.": "The amount of funds to unbond, this is adjusted using the bonded funds on the stash account.", - "The controller is the account that will be used to control any nominating or validating actions. Should not match another stash or controller.": "The controller is the account that will be used to control any nominating or validating actions. Should not match another stash or controller.", - "The destination account for any payments as either a nominator or validator": "The destination account for any payments as either a nominator or validator", - "The funds status will become locked after freezing period set": "The funds status will become locked after freezing period set", - "The links in the Darwinia Portal are provided as a convenience and for informational purposes only; Darwinia Apps bears no responsibility for the accuracy, legality, security or content of the external sites linked or for that of subsequent links. For any questions or comments surrounding any of the projects listed, please contact corresponding projects directly.": "The links in the Darwinia Portal are provided as a convenience and for informational purposes only; Darwinia Apps bears no responsibility for the accuracy, legality, security or content of the external sites linked or for that of subsequent links. For any questions or comments surrounding any of the projects listed, please contact corresponding projects directly.", - "The percentage reward (0-100) that should be applied for the validator": "The percentage reward (0-100) that should be applied for the validator", - "The resulting {{network}} network account id is": "The resulting {{network}} network account id is", - "The sending address and the receiving address cannot be the same": "The sending address and the receiving address cannot be the same", - "Toolbox": "Toolbox", - "Total": "Total", - "Total Penalty": "Total Penalty", - "Transfer": "Transfer", - "Unbond": "Unbond", - "Unbond amount": "Unbond amount", - "Unbond funds": "Unbond funds", - "Unbonded": "Unbonded", - "Unbonding": "Unbonding", - "Unbonding (include unbonded)": "Unbonding (include unbonded)", - "Unbonding The amount of tokens that has been unlocked but in the unbonding period.": "Unbonding: The amount of tokens that has been unlocked but in the unbonding period.", - "Unclaimed": "Unclaimed", - "Unclaimed {{amount}}": "Unclaimed {{amount}}", - "Unlock earlier": "Unlock earlier", - "Validator": "Validator", - "View in Subscan": "View in Subscan", - "Connecting to the remote node": "Connecting to the remote node", - "Waiting": "Waiting", - "Withdraw": "Withdraw", - "Withdraw amount": "Withdraw amount", - "You can transfer RING/KTON through the cross-chain bridge between Ethereum and Darwinia.": "You can transfer RING/KTON through the cross-chain bridge between Ethereum and Darwinia.", - "You can transfer CRAB/CKTON through the bridge between Crab Chain and Crab Smart Chain.": "You can transfer CRAB/CKTON through the bridge between Crab Chain and Crab Smart Chain.", - "You can transfer PRING/PKTON through the cross-chain bridge between Pangolin and Ropsten.": "You can transfer PRING/PKTON through the cross-chain bridge between Pangolin and Ropsten.", - "You can transfer ORING through the cross-chain bridge between Pangoro and Pangolin Smart Chain.": "You can transfer ORING through the cross-chain bridge between Pangoro and Pangolin Smart Chain.", - "No active accounts in this wallet. Please add one or manage website access in your wallet extension.": "No active accounts in this wallet. Please add one or manage website access in your wallet extension.", - "You must set a payee account": "You must set a payee account", - "You need to stake some KTON or RING to get POWER. The higher the POWER, the greater the share of reward.": "You need to stake some KTON or RING to get POWER. The higher the POWER, the greater the share of reward.", - "You will get {{amount}} Power": "You will get {{amount}} Power", - "You will get {{amount}} {{symbol}}": "You will get {{amount}} {{symbol}}", - "Your nomination will take effect in the next era. Before that, the POWER may be displayed as 0": "Your nomination will take effect in the next era. Before that, the POWER may be displayed as 0", - "active commission": "active commission", - "commission": "commission", - "crab": "Crab", - "darwinia": "Darwinia", - "email": "email", - "epoch": "epoch", - "era": "era", - "last #": "last #", - "last reward({{symbol}})": "last reward({{symbol}})", - "next commission": "next commission", - "nominators": "nominators", - "other stake(power)": "other stake(power)", - "overview": "overview", - "own stake(power)": "own stake(power)", - "pangolin": "Pangolin", - "pangoro": "Pangoro", - "points": "points", - "total issuance({{symbol}})": "total issuance({{symbol}})", - "total staked(Power)": "total staked(Power)", - "Transferable": "Transferable", - "twitter": "twitter", - "unbond tokens for staking, unbonded tokens become available after 14 days": "unbond tokens for staking, unbonded tokens become available after 14 days", - "validators": "validators", - "validators/nominators": "validators/nominators", - "waiting": "waiting", - "web": "web", - "{{amount}} Power": "{{amount}} Power", - "{{count}} Month": "{{count}} Month", - "{{days}} days": "{{days}} days", - "{{hours}} hrs": "{{hours}} hrs", - "{{minutes}} mins": "{{minutes}} mins", - "{{seconds}} s": "{{seconds}} s", - "One wallet for Polkadot & Ethereum.": "One wallet for Polkadot & Ethereum.", - "A crypto wallet & gateway to blockchain apps.": "A crypto wallet & gateway to blockchain apps.", - "World's First Insured Crypto Wallet.": "World's First Insured Crypto Wallet.", - "Subscan is aggregate Substrate ecological network High-precision Web3 explorer.": "Subscan is aggregate Substrate ecological network High-precision Web3 explorer.", - "OnFinality is a leading infrastructure service for some of the largest blockchain projects.": "OnFinality is a leading infrastructure service for some of the largest blockchain projects.", - "Building the best inter-blockchain and cross-layer communication platform.": "Building the best inter-blockchain and cross-layer communication platform.", - "Web3.0 Storage for the Metaverse.": "Web3.0 Storage for the Metaverse.", - "Evolution Land is the first Metaverse+Gamefi+cross-chain game.": "Evolution Land is the first Metaverse+Gamefi+cross-chain game.", - "A block explorer and analytics platform for Crab Smart Chain.": "A block explorer and analytics platform for Crab Smart Chain.", - "Trade and earn without registration.": "Trade and earn without registration.", - "SubWallet is a pioneering user-friendly Web3 Multiverse Gateway for the Polkadot and Kusama ecosystems.": "SubWallet is a pioneering user-friendly Web3 Multiverse Gateway for the Polkadot and Kusama ecosystems.", - "Github link for add portal": "https://github.com/darwinia-network/apps/blob/master/README.md#how-to-add-your-portal", - "Submit a project": "Submit a project", - "Deposits Claim": "Deposits Claim", - "Deposit list": "Deposit list", - "Claim": "Claim", - "Search deposit failed": "Search deposit failed", - "No record": "No record", - "Please select deposit": "Please select deposit", - "Claim History": "Claim History", - "Read only": "Read only", - "Asset": "Asset", - "Destination address": "Destination address", - "Coming soon": "Coming soon", - "Relayer": "Relayer", - "Relayers": "Relayers", - "Orders": "Orders", - "Total Relayers": "Total Relayers", - "Average Speed": "Average Speed", - "Current Message Fee": "Current Message Fee", - "Total Rewards": "Total Rewards", - "Total Orders": "Total Orders", - "Fee History": "Fee History", - "All": "All", - "7D": "7D", - "30D": "30D", - "All Relayers": "All Relayers", - "Assigned Relayer": "Assigned Relayer", - "Assigned Relayers": "Assigned Relayers", - "Count(orders)": "Count(orders)", - "Collateral": "Collateral", - "Quote": "Quote", - "Sum(reward)": "Sum(reward)", - "Sum(slash)": "Sum(slash)", - "Order ID": "Order ID", - "Nonce": "Nonce", - "Delivery Relayer": "Delivery Relayer", - "Confirmation Relayer": "Confirmation Relayer", - "Created At": "Created At", - "Created Time": "Created Time", - "Confirmed At": "Confirmed At", - "Confirmed Time": "Confirmed Time", - "Status": "Status", - "Finished Status": "Finished Status", - "Finished": "Finished", - "In Progress": "In Progress", - "In Slot": "In Slot", - "Out of Slot": "Out of Slot", - "Time Dimension": "Time Dimension", - "Date Range": "Date Range", - "Block": "Block", - "Slot": "Slot", - "Filter": "Filter", - "Search": "Search", - "Slot 1": "Slot 1", - "Slot 2": "Slot 2", - "Slot 3": "Slot 3", - "Orders Count": "Orders Count", - "Filter by relayer address": "Filter by relayer address", - "Sender Address": "Sender Address", - "Date": "Date", - "Reward & Slash": "Reward & Slash", - "Relayer Roles": "Relayer Roles", - "Reward": "Reward", - "Slash": "Slash", - "Detail": "Detail", - "Time": "Time", - "Lane ID": "Lane ID", - "Time Stamp": "Time Stamp", - "Source TxID": "Source TxID", - "Sender": "Sender", - "Fee": "Fee", - "Slot At": "Slot At", - "Treaury": "Treaury", - "Insufficient {{kton}} balance in stash account": "Insufficient {{kton}} balance in stash account", - "Parachain now does not support staking": "Parachain now does not support staking", - "Start block": "Start block", - "End block": "End block", - "Faucet": "Faucet", - "Extrinsic": "Extrinsic", - "Do not fill in any cold wallet address.": "Do not fill in any cold wallet address.", - "Do not fill in any cold wallet address or exchange controlled address.": "Do not fill in any cold wallet address or exchange controlled address.", - "Estimated fees of {{amount}} {{token}}": "Estimated fees of {{amount}} {{token}}", - "A tool to migrate your Darwinia Tokens to the new contract.": "A tool to migrate your Darwinia Tokens to the new contract.", - "You can check your term deposit of RING on Ethereum and claim the expired ones by connecting MetaMask.": "You can check your term deposit of RING on Ethereum and claim the expired ones by connecting MetaMask." -} diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json new file mode 100644 index 00000000..71e24544 --- /dev/null +++ b/public/locales/en/translation.json @@ -0,0 +1,3 @@ +{ + "A crypto wallet & gateway to blockchain apps.": "A crypto wallet & gateway to blockchain apps." +} diff --git a/public/locales/zh/translation-apps.json b/public/locales/zh/translation-apps.json deleted file mode 100644 index 63df0e97..00000000 --- a/public/locales/zh/translation-apps.json +++ /dev/null @@ -1,312 +0,0 @@ -{ - "Withdraw unbonded funds": "提取解绑资金", - "Current": "当前", - "Authorize transaction": "批准交易", - "Sending transaction": "正在发送交易", - "The account is a stash, controlled by {{bondedId}}": "这是个资金账户,控制账户是 {{bondedId}}", - "The account is already controlling {{stashId}}": "这个账号正在控制着 {{stashId}}", - "The account does not have sufficient funds available to cover transaction fees": "该帐户没有足够的资金来支付交易费用", - "1 day": "1 天", - "1 hr": "1 小时", - "1 min": "1 分钟", - "1 s": "1 秒", - "A wallet built on the polkadot-js stack. This version is updated alongside any changes to the code and always has the latest features.": "一个建立在 Polkadot-js 上的钱包。随代码版本一起更新,并始终拥有最新的功能。", - "Account": "账号", - "Account Migration": "账号迁移", - "Fee Market": "费用市场", - "Add lock limit for bonded tokens": "为冻结的资金添加冻结期限,状态变为锁定", - "Additional bond funds": "质押额外资金", - "Additional deposit funds": "冻结数量", - "Address": "地址", - "Invalid Account": "无效地址", - "Adds bonded tokens for staking to obtain more power.": "将可用的资金状态变更为冻结以获取更多Power", - "After setting a lock limit, you will receive an additional {{KTON}} bonus; if you unlock it in advance within the lock limit, you will be charged a penalty of 3 times the {{KTON}} reward.": "设置锁定期限后,您将获得额外的 {{KTON}} 奖励。如您在锁定期限内提前取出,需要提现3倍的 {{KTON}} 罚款。", - "Amount": "金额", - "Amount to add to the currently bonded funds. This is adjusted using the available funds on the account.": "当前质押金额的总量. 使用帐户中的可用资金进行调整.", - "Amount to add to the currently deposit funds. This is adjusted using the bonded funds on the account.": "将冻结资产转换为锁定资产的数量", - "An account that is to receive the rewards.": "用于接收奖励的账户", - "Api connecting": "Api 连接中", - "available": "可用的", - "Available": "可用的", - "Available Balance": "可用余额", - "Available The amount of tokens that are able to staking, bond and transfer.": "可用的: 当前可以操作的 token 数量,可用于质押、交易、转账等。", - "Bond": "冻结", - "Bond more funds": "质押更多资金", - "Bonded": "冻结", - "Bonded The amount of tokens that cannot be operated directly but does not have a lock limit, which is used to gain power and can be taken out at any time(with a 14-day unbonding period) or add lock limit.": "冻结: 无法直接操作但无锁定期限的的 token 数量,用于获取 power,可以随时取出(需要14天等待期限)或添加锁定期限。", - "Bonded amount": "绑定数量", - "Bonding preferences": "冻结参数", - "Validator preferences": "验证人参数", - "Cancel": "取消", - "Change controller account": "更改控制账户", - "Change reward destination": "修改收款账户", - "Change validator preferences": "配置验证人参数", - "Changing the key only takes effect at the start of the next session. If validating, it must be an ed25519 key.": "更改密钥仅在下一个会话开始时生效。 如果验证,则应该(当前)使用ed25519密钥。", - "Changing the key only takes effect at the start of the next session. The input here is generates from the author_rotateKeys command": "更改密钥仅在下一个会话开始时生效。 这里的输入是从author_rotateKeys命令生成的", - "Check it to continue": "点击以继续", - "Claim Reward": "领取奖励", - "Claimed": "已领取", - "Confirm": "确定", - "Confirm to continue": "确认以继续", - "Connect Wallet": "连接钱包", - "Switch Wallet": "切换钱包", - "Connect to Metamask": "连接 metamask", - "Connect to Polkadot": "连接到 Polkadot", - "Controller account": "控制账户", - "Copied": "已复制", - "Copy Address": "复制地址", - "Cross Chain": "跨链", - "A safe community tool for cross-chain assets.": "跨链资产的安全社区工具。", - "Currently in lock-up period, you will be charged a penalty of 3 times the {{KTON}} reward. Are you sure to continue?": "当前处于锁定期内,提前赎回将会处以3倍 {{KTON}} 罚款,确定要继续吗?", - "EVM Address": "EVM 地址", - "EVM Withdraw": "EVM 提取", - "EVM account": "EVM 账户", - "EVM format account ID to Darwinia network account ID": "将EVM地址转换为达尔文网络账户.", - "EVM format account e.g.": "EVM 格式地址,例如 0x267be1...", - "Darwinia Asset": "Darwinia 资产", - "Overview": "概览", - "Darwinia Portal": "Darwinia 应用", - "Deposit more funds": "为已质押资产设置锁定期限", - "Disconnect": " 断开连接", - "Display name": "昵称", - "During the limited time, staked funds will not be available": "在限制时间内,被质押的资金将不可以使用", - "Enter or select one from these below": "请输入或从以下列表中选择", - "Expired": "已过期", - "Export JSON": "导出 JSON", - "Filter available candidates based on name, address or short account index.": "使用姓名、地址或短账户索引筛选可用的候选人", - "Filter candidates": "输入候选人", - "Filter by name, address or index": "使用名称、地址或索引筛选", - "For fund security, your session key should not match your stash key.": "为了资金安全,您的session key 不应与资金密钥相同。", - "Get Power": "获取 Power", - "Go to Helix": "前往 Helix", - "How to use?": "如何使用", - "I Accept": "我接受", - "I've known it, never show this again": "知道了,别再提示", - "Intentions": "意向", - "Keys from rotateKeys": "来自rotateKeys的密钥", - "Legal name": "法定名称", - "Live networks": "正式网络", - "Local Accounts": "本地账户", - "Lock extra": "冻结转锁定", - "Lock limit": "锁定限制", - "Lock limit canceled": "已解除锁定期限", - "Locked": "锁定", - "Locked The amount of tokens that cannot be operated directly and has a lock limit, which is used to gain power and earn additional KTON rewards. ": "锁定: 无法直接操作的 token 且有锁定期限的 token 数量,用于获取投票权,锁定也可以获得额外的 {{KTON}} 收益。", - "Make sure you you have installed the polkadot extension first, then create an account in it and authorize": "请先确保安装了 polkadot 插件,然后在其中创建一个账户并授权。", - "Mapping": "Mapping", - "Max": "最大", - "Max, {{eras}} eras": "最大,{{eras}} eras", - "Max, {{max}} nominees": "最多可选择 {{max}} 个被提名人", - "Metamask account": "Metamask 账户", - "No fixed term Set a lock period will get additional {{symbol}} rewards": "无固定期限(设定一个锁定期将获得额外的 {{symbol}} 奖励)", - "Nominate": "提名", - "Nominate validators": "提名验证人", - "Nominating": "提名", - "Nominators loading": "提名人加载中", - "Set nominees": "设置提名人", - "OK": "确认", - "Only term deposit": "仅显示", - "Other Account": "其它账户", - "POWER = your stake / total stake": "POWER = 你的质押 / 总质押", - "Payment account": "支付账户", - "Payment destination": "收益账户", - "Please enter a valid {{network}} address": "请输入正确的 {{network}} 地址", - "Please keep a little {{token}} as fee": "请保留少许 {{token}} 作为手续费", - "Please make sure that you have some excess RING in this account as gas fee.": "请确保你在这个账户里有一些多余的RING作为手续费。", - "Please select from list": "请从列表中选择", - "Power": "Power", - "Power Manager": "Power 管理", - "Rebond funds": "撤销解冻", - "Rebond the unbonding funds": "将解冻中的资金状态变更冻结", - "Receive account": "接收账号", - "Register identity": "注册身份信息", - "Release": "释放", - "Reward History": "收益历史", - "Reward commission percentage": "奖励佣金百分比", - "Riot name": "Riot昵称", - "Select active account": "选择账户", - "Send {{symbol}}": "发送 {{symbol}}", - "Session Key": "Session 账户", - "Session key (ed25519)": "Session账户 (ed25519)", - "Set on-chain identity": "设置链上身份", - "Set session key": "设置会话key", - "Staking": "质押", - "Staking Overview": "质押概览", - "Staking now": "开始质押", - "Stash account": "资金账户", - "Stash account (do not increase the amount at stake)": "资金账户 (收益不质押,放入余额)", - "Stash account (increase the amount at stake)": "资金账户 (收益直接质押)", - "Stop Nominating": "停止提名", - "Stop Validating": "停止验证", - "Select Account": "选择账户", - "Switch Account": "切换账户", - "Targets": "目标", - "Test networks": "测试网络", - "Parachain networks": "平行链网络", - "The amount of funds to unbond, this is adjusted using the bonded funds on the stash account.": "解除担保的资金数额,这是用资金账户上的担保资金来调整的。", - "The controller is the account that will be used to control any nominating or validating actions. Should not match another stash or controller.": "控制账户是将用于控制任何提名或验证操作的帐户。 不应与其他资金账户或控制器匹配。", - "The destination account for any payments as either a nominator or validator": "作为提名人或验证人的任何付款的目标帐户", - "The funds status will become locked after freezing period set": "设置冻结期限后,资金状态将成为锁定", - "The links in the Darwinia Portal are provided as a convenience and for informational purposes only; Darwinia Apps bears no responsibility for the accuracy, legality, security or content of the external sites linked or for that of subsequent links. For any questions or comments surrounding any of the projects listed, please contact corresponding projects directly.": "Darwinia 门户网站中的链接仅供参考和方便使用;Darwinia 应用程序对所链接的外部网站或后续链接的准确性、合法性、安全性或内容不承担责任。如果对所列项目有任何疑问或意见,请直接联系相应的项目。", - "The percentage reward (0-100) that should be applied for the validator": "验证者应采用的百分比奖励(0-100)", - "The resulting {{network}} network account id is": "转换后的 {{network}} 账户为", - "The sending address and the receiving address cannot be the same": "发送地址和接收地址不能相同", - "Toolbox": "工具箱", - "Total": "总数", - "Total Penalty": "罚款", - "Transfer": "转账", - "Unbond": "解除质押", - "Unbond amount": "解冻数量", - "Unbond funds": "解除质押资金", - "Unbonded": "已解冻", - "Unbonding": "解冻中", - "Unbonding (include unbonded)": "解冻中(包括 已解冻)", - "Unbonding The amount of tokens that has been unlocked but in the unbonding period.": "解冻中: 已选择取出但在等待期限的 token。", - "Unclaimed": "未领取", - "Unclaimed {{amount}}": "未领取 {{amount}}", - "Unlock earlier": "提前解锁", - "Validator": "验证人", - "View in Subscan": "在 Subscan 中查看", - "Connecting to the remote node": "正在连接远程节点", - "Waiting": "等待中", - "Withdraw": "提取", - "Withdraw amount": "提取数量", - "You can transfer RING/KTON through the cross-chain bridge between Ethereum and Darwinia.": "你可以通过跨链桥在 Ethereum和Darwinia 之间转移 RING或KTON。", - "You can transfer CRAB/CKTON through the bridge between Crab Chain and Crab Smart Chain.": "你可以通过桥在 Crab Chain和Crab Smart Chain 之间转移 CRAB或CKTON。", - "You can transfer PRING/PKTON through the cross-chain bridge between Pangolin and Ropsten.": "你可以通过跨链桥在 Pangolin和Ropsten 之间转移 PRING或PKTON。", - "You can transfer ORING through the cross-chain bridge between Pangoro and Pangolin Smart Chain.": "你可以通过跨链桥在 Pangoro和Pangolin Smart Chain 之间转移 ORING。", - "No active accounts in this wallet. Please add one or manage website access in your wallet extension.": "此钱包中没有有效账户。请在钱包插件里添加账户,或给本网站设置访问权限。", - "You must set a payee account": "必须设置一个收载账户", - "You need to stake some KTON or RING to get POWER. The higher the POWER, the greater the share of reward.": "你需要质押一些KTON或RING来获得Power。Power越多,奖励的份额就越大。", - "You will get {{amount}} Power": "你将会得到 {{amount}} Power", - "You will get {{amount}} {{symbol}}": "你将会得到 {{amount}} {{symbol}}", - "Your nomination will take effect in the next era. Before that, the POWER may be displayed as 0": "您的提名将在下一个era生效,在此之前,POWER有可能展示为0", - "active commission": "当前佣金", - "commission": "佣金", - "crab": "Crab", - "darwinia": "Darwinia", - "email": "邮箱", - "epoch": "时期", - "era": "era", - "last #": "最新出块 #", - "last reward({{symbol}})": "最后Era的奖励({{symbol}})", - "next commission": "下轮佣金(预估)", - "nominators": "提名人", - "other stake(power)": "其它质押(power)", - "overview": "概览", - "own stake(power)": "自质押(power)", - "pangolin": "Pangolin", - "pangoro": "Pangoro", - "points": "点数", - "total issuance({{symbol}})": "总发行({{symbol}})", - "total staked(Power)": "总质押(Power)", - "Transferable": "可转账", - "twitter": "推特", - "unbond tokens for staking, unbonded tokens become available after 14 days": "将冻结的资金状态变更为解冻中,14天后转为可用", - "validators": "验证人", - "validators/nominators": "验证人 / 提名人", - "waiting": "等待中", - "web": "主页", - "{{amount}} Power": "{{amount}} Power", - "{{count}} Month": "{{count}} 月", - "{{days}} days": "{{days}} 天", - "{{hours}} hrs": "{{hours}} 小时", - "{{minutes}} mins": "{{minutes}} 分钟", - "{{seconds}} s": "{{seconds}} 秒", - "One wallet for Polkadot & Ethereum.": "支持 Polkadot 和 Ethereum的钱包。", - "A crypto wallet & gateway to blockchain apps.": "区块链应用程序的加密钱包和网关。", - "World's First Insured Crypto Wallet.": "全球首个有保险的加密钱包。", - "Subscan is aggregate Substrate ecological network High-precision Web3 explorer.": "Subscan 是聚合 Substrate 生态网络的高精度 Web3 浏览器。", - "OnFinality is a leading infrastructure service for some of the largest blockchain projects.": "OnFinality 是一些大型区块链项目的领先基础设施服务。", - "Building the best inter-blockchain and cross-layer communication platform.": "构建最好的跨链跨层通信平台。", - "Web3.0 Storage for the Metaverse.": "元宇宙的 Web3.0 存储。", - "Evolution Land is the first Metaverse+Gamefi+cross-chain game.": "进化星球是第一款元宇宙+Gamefi+跨链游戏。", - "A block explorer and analytics platform for Crab Smart Chain.": "Crab Smart Chain 的区块浏览器和分析平台。", - "Trade and earn without registration.": "无需注册即可交易和赚钱。", - "SubWallet is a pioneering user-friendly Web3 Multiverse Gateway for the Polkadot and Kusama ecosystems.": "SubWallet 是Polkadot 和 Kusama 生态系统的一个开创性的用户友好型 Web3 元宇宙网关。", - "Github link for add portal": "https://github.com/darwinia-network/apps/blob/master/README-Zh.md#how-to-add-your-portal", - "Submit a project": "提交项目", - "Deposits Claim": "存单领取", - "Deposit list": "存单列表", - "Claim": "领取", - "Search deposit failed": "查询存单失败", - "No record": "没有存单", - "Please select deposit": "请选择存单", - "Claim History": "领取记录", - "Read only": "只读", - "Asset": "资产", - "Destination address": "目标地址", - "Coming soon": "敬请期待", - "Relayer": "中继", - "Relayers": "中继", - "Orders": "订单", - "Total Relayers": "所有中继", - "Average Speed": "平均速度", - "Current Message Fee": "当前消息价格", - "Total Rewards": "总奖励", - "Total Orders": "总订单数", - "Fee History": "历史价格", - "Quote History": "历史报价", - "All": "所有", - "7D": "7天", - "30D": "30天", - "All Relayers": "所有中继", - "Assigned Relayer": "接单中继", - "Assigned Relayers": "接单中继", - "Delivery Relayer": "投递中继", - "Confirmation Relayer": "确认中继", - "Count(orders)": "累计订单数", - "Collateral": "保证金", - "Quote": "报价", - "Sum(reward)": "累计奖励", - "Sum(slash)": "累计罚金", - "Order ID": "订单号", - "Nonce": "订单号", - "Created At": "创建于", - "Created Time": "创建时间", - "Confirmed At": "确认于", - "Confirmed Time": "确认时间", - "Status": "当前状态", - "Finished Status": "完成状态", - "Finished": "已完成", - "In Progress": "进行中", - "In Slot": "未超时", - "Out of Slot": "超时", - "Time Dimension": "时间维度", - "Date Range": "时间范围", - "Block": "区块", - "Slot": "槽", - "Filter": "过滤", - "Search": "搜索", - "Slot 1": "槽位 1", - "Slot 2": "槽位 2", - "Slot 3": "槽位 3", - "Orders Count": "订单数", - "Filter by relayer address": "请输入中继者地址", - "Sender Address": "发送者", - "Date": "日期", - "Reward & Slash": "奖励与罚金", - "Relayer Roles": "中继者角色", - "Reward": "奖励", - "Slash": "罚金", - "Detail": "详情", - "Time": "时间", - "Lane ID": "通道", - "Time Stamp": "时间戳", - "Source TxID": "原链交易哈希", - "Sender": "发送者", - "Fee": "费用", - "Slot At": "槽位", - "Treaury": "国库", - "Insufficient {{kton}} balance in stash account": "资金账户的 {{kton}} 余额不足", - "Parachain now does not support staking": "平行链现在不支持质押", - "Start block": "开始区块", - "End block": "结束区块", - "Faucet": "水龙头", - "Extrinsic": "Extrinsic", - "Do not fill in any cold wallet address.": "请不要在此处填写冷钱包账户。", - "Do not fill in any cold wallet address or exchange controlled address.": "请不要在此处填写冷钱包账户或交易所控制的账户地址。", - "Estimated fees of {{amount}} {{token}}": "预估手续费为 {{amount}} {{token}}", - "A tool to migrate your Darwinia Tokens to the new contract.": "一个迁移你的 Darwinia Tokens 到新的合约的工具。", - "You can check your term deposit of RING on Ethereum and claim the expired ones by connecting MetaMask.": "你可以链接MetaMask钱包,查看并领取在以太坊上已到期的RING存单。" -} diff --git a/public/locales/zh/translation.json b/public/locales/zh/translation.json new file mode 100644 index 00000000..e481ffd5 --- /dev/null +++ b/public/locales/zh/translation.json @@ -0,0 +1,3 @@ +{ + "A crypto wallet & gateway to blockchain apps.": "一个加密钱包和区块链应用程序的网关。" +} diff --git a/public/manifest.json b/public/manifest.json index b0fa42d5..a6ae1909 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,11 +1,11 @@ { - "short_name": "Darwinia Network Apps", - "name": "Apps for interacting with a Darwinia Network node", + "short_name": "Darwinia Apps", + "name": "Darwinia Apps", "icons": [ { - "src": "favicon.png", + "src": "favicon.ico", "sizes": "64x64 32x32 24x24 16x16", - "type": "image/png" + "type": "image/x-icon" } ], "start_url": "index.html", diff --git a/src/App.tsx b/src/App.tsx index f5727052..483b2104 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,99 +1,22 @@ -import { BarsOutlined } from '@ant-design/icons'; -import { Drawer, Layout } from 'antd'; -import { useMemo, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { Routes, Route, useLocation } from 'react-router-dom'; -import { CSSTransition, TransitionGroup } from 'react-transition-group'; -import { Signer } from './components/widget/Signer'; -import { QueueStatus } from './components/widget/QueueStatus'; -import { getActiveNav, SideNav } from './components/widget/SideNav'; -import { FeeMarketDestinationSelector } from './components/widget/FeeMarketDestinationSelector'; -import { THEME } from './config'; -import { routes } from './config/routes'; -import { useApi, useFeeMarket } from './hooks'; -import { readStorage } from './utils'; - -const { Sider, Content } = Layout; - -function Logo({ withText, className = '' }: { className?: string; withText?: boolean }) { - return ( -
    - - {withText &&

    Apps

    } -
    - ); -} +import { Header } from "./components/Header"; +import { Footer } from "./components/Footer"; +import { Outlet } from "react-router-dom"; function App() { - const { t } = useTranslation(); - const { network } = useApi(); - const { destination, supportedDestinations, refresh, setDestination } = useFeeMarket(); - const [theme] = useState(readStorage().theme ?? THEME.LIGHT); - const location = useLocation(); - const [collapsed, setCollapsed] = useState(false); - const activeNav = useMemo(() => getActiveNav(location.pathname), [location.pathname]); - return ( - <> - - - setCollapsed(!collapsed)}> - - - - - setCollapsed(true)} - closable={false} - visible={!collapsed} - bodyStyle={{ padding: 0 }} - className="block lg:hidden" - > - setCollapsed(!collapsed)} /> - - - -
    -
    -
    - setCollapsed(!collapsed)} /> - -
    - -
    - - -
    -
    -
    - - - - - - {routes.map(({ path, PageComponent }) => ( - } /> - ))} - - - - -
    -
    - - - +
    +
    +
    +
    + +
    + +
    + +
    +
    +
    +
    ); } diff --git a/src/assets/app-logo.svg b/src/assets/app-logo.svg new file mode 100644 index 00000000..8210ccda --- /dev/null +++ b/src/assets/app-logo.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/hero.png b/src/assets/hero.png new file mode 100644 index 00000000..52014fa0 Binary files /dev/null and b/src/assets/hero.png differ diff --git a/src/assets/lng.svg b/src/assets/lng.svg new file mode 100644 index 00000000..a7051fc3 --- /dev/null +++ b/src/assets/lng.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/portals/account-migration-dapp.png b/src/assets/portals/account-migration-dapp.png new file mode 100644 index 00000000..697978f3 Binary files /dev/null and b/src/assets/portals/account-migration-dapp.png differ diff --git a/src/assets/portals/astar.png b/src/assets/portals/astar.png new file mode 100644 index 00000000..f8578c0c Binary files /dev/null and b/src/assets/portals/astar.png differ diff --git a/src/assets/portals/bifrost.png b/src/assets/portals/bifrost.png new file mode 100644 index 00000000..77743264 Binary files /dev/null and b/src/assets/portals/bifrost.png differ diff --git a/src/assets/portals/celer-network.png b/src/assets/portals/celer-network.png new file mode 100644 index 00000000..b8127d5d Binary files /dev/null and b/src/assets/portals/celer-network.png differ diff --git a/src/assets/portals/crab-kusama-parachain-auction.png b/src/assets/portals/crab-kusama-parachain-auction.png new file mode 100644 index 00000000..bdb3657a Binary files /dev/null and b/src/assets/portals/crab-kusama-parachain-auction.png differ diff --git a/src/assets/portals/darwinia-community-dao.png b/src/assets/portals/darwinia-community-dao.png new file mode 100644 index 00000000..8108145b Binary files /dev/null and b/src/assets/portals/darwinia-community-dao.png differ diff --git a/src/assets/portals/darwinia-polkadot-parachain-auction.png b/src/assets/portals/darwinia-polkadot-parachain-auction.png new file mode 100644 index 00000000..db5bf1f3 Binary files /dev/null and b/src/assets/portals/darwinia-polkadot-parachain-auction.png differ diff --git a/src/assets/portals/dwellir.png b/src/assets/portals/dwellir.png new file mode 100644 index 00000000..00479637 Binary files /dev/null and b/src/assets/portals/dwellir.png differ diff --git a/src/assets/portals/evolution-land.png b/src/assets/portals/evolution-land.png new file mode 100644 index 00000000..01ab9dc6 Binary files /dev/null and b/src/assets/portals/evolution-land.png differ diff --git a/src/assets/portals/fee-market-dapp.png b/src/assets/portals/fee-market-dapp.png new file mode 100644 index 00000000..d48d8c01 Binary files /dev/null and b/src/assets/portals/fee-market-dapp.png differ diff --git a/src/assets/portals/gnosis-safe-fork.png b/src/assets/portals/gnosis-safe-fork.png new file mode 100644 index 00000000..0a7eeffd Binary files /dev/null and b/src/assets/portals/gnosis-safe-fork.png differ diff --git a/src/assets/portals/helix.png b/src/assets/portals/helix.png new file mode 100644 index 00000000..f90cb1ea Binary files /dev/null and b/src/assets/portals/helix.png differ diff --git a/src/assets/portals/local-subkey-migration.png b/src/assets/portals/local-subkey-migration.png new file mode 100644 index 00000000..d955339c Binary files /dev/null and b/src/assets/portals/local-subkey-migration.png differ diff --git a/src/assets/portals/mathwallet.png b/src/assets/portals/mathwallet.png new file mode 100644 index 00000000..4263f85b Binary files /dev/null and b/src/assets/portals/mathwallet.png differ diff --git a/src/assets/portals/metamask.png b/src/assets/portals/metamask.png new file mode 100644 index 00000000..4613caf5 Binary files /dev/null and b/src/assets/portals/metamask.png differ diff --git a/src/assets/portals/moonbeam.png b/src/assets/portals/moonbeam.png new file mode 100644 index 00000000..c79ce64e Binary files /dev/null and b/src/assets/portals/moonbeam.png differ diff --git a/src/assets/portals/multichain.png b/src/assets/portals/multichain.png new file mode 100644 index 00000000..54cd36d0 Binary files /dev/null and b/src/assets/portals/multichain.png differ diff --git a/src/assets/portals/novawallet.png b/src/assets/portals/novawallet.png new file mode 100644 index 00000000..2f0a6d1e Binary files /dev/null and b/src/assets/portals/novawallet.png differ diff --git a/src/assets/portals/onfinality.png b/src/assets/portals/onfinality.png new file mode 100644 index 00000000..e043f884 Binary files /dev/null and b/src/assets/portals/onfinality.png differ diff --git a/src/assets/portals/parallel.png b/src/assets/portals/parallel.png new file mode 100644 index 00000000..5fdd7600 Binary files /dev/null and b/src/assets/portals/parallel.png differ diff --git a/src/assets/portals/phala.png b/src/assets/portals/phala.png new file mode 100644 index 00000000..a3cd41cc Binary files /dev/null and b/src/assets/portals/phala.png differ diff --git a/src/assets/portals/polkadot.js.png b/src/assets/portals/polkadot.js.png new file mode 100644 index 00000000..65aebeb8 Binary files /dev/null and b/src/assets/portals/polkadot.js.png differ diff --git a/src/assets/portals/raregems.png b/src/assets/portals/raregems.png new file mode 100644 index 00000000..93b3dc78 Binary files /dev/null and b/src/assets/portals/raregems.png differ diff --git a/src/assets/portals/ringo-nft.png b/src/assets/portals/ringo-nft.png new file mode 100644 index 00000000..79e91f5a Binary files /dev/null and b/src/assets/portals/ringo-nft.png differ diff --git a/src/assets/portals/snapshot.png b/src/assets/portals/snapshot.png new file mode 100644 index 00000000..008b4e81 Binary files /dev/null and b/src/assets/portals/snapshot.png differ diff --git a/src/assets/portals/snowswap.png b/src/assets/portals/snowswap.png new file mode 100644 index 00000000..8b28b643 Binary files /dev/null and b/src/assets/portals/snowswap.png differ diff --git a/src/assets/portals/staking-dapp.png b/src/assets/portals/staking-dapp.png new file mode 100644 index 00000000..1f51eac5 Binary files /dev/null and b/src/assets/portals/staking-dapp.png differ diff --git a/src/assets/portals/subquery.png b/src/assets/portals/subquery.png new file mode 100644 index 00000000..e91d3a06 Binary files /dev/null and b/src/assets/portals/subquery.png differ diff --git a/src/assets/portals/subscan.png b/src/assets/portals/subscan.png new file mode 100644 index 00000000..102f2fe4 Binary files /dev/null and b/src/assets/portals/subscan.png differ diff --git a/src/assets/portals/subsquare.png b/src/assets/portals/subsquare.png new file mode 100644 index 00000000..ff8d44c1 Binary files /dev/null and b/src/assets/portals/subsquare.png differ diff --git a/src/assets/portals/subview.png b/src/assets/portals/subview.png new file mode 100644 index 00000000..69690f99 Binary files /dev/null and b/src/assets/portals/subview.png differ diff --git a/src/assets/portals/subwallet.png b/src/assets/portals/subwallet.png new file mode 100644 index 00000000..c75ba1d7 Binary files /dev/null and b/src/assets/portals/subwallet.png differ diff --git a/src/assets/portals/talisman.png b/src/assets/portals/talisman.png new file mode 100644 index 00000000..63906f82 Binary files /dev/null and b/src/assets/portals/talisman.png differ diff --git a/src/assets/portals/token-migration-dapp.png b/src/assets/portals/token-migration-dapp.png new file mode 100644 index 00000000..895c270c Binary files /dev/null and b/src/assets/portals/token-migration-dapp.png differ diff --git a/src/assets/social/discord.svg b/src/assets/social/discord.svg new file mode 100644 index 00000000..7959ce08 --- /dev/null +++ b/src/assets/social/discord.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/social/element.svg b/src/assets/social/element.svg new file mode 100644 index 00000000..ccdc272a --- /dev/null +++ b/src/assets/social/element.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/social/email.svg b/src/assets/social/email.svg new file mode 100644 index 00000000..832aceb0 --- /dev/null +++ b/src/assets/social/email.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/social/github.svg b/src/assets/social/github.svg new file mode 100644 index 00000000..9a4ce475 --- /dev/null +++ b/src/assets/social/github.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/social/medium.svg b/src/assets/social/medium.svg new file mode 100644 index 00000000..bb723b6c --- /dev/null +++ b/src/assets/social/medium.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/social/telegram.svg b/src/assets/social/telegram.svg new file mode 100644 index 00000000..cdbfa96f --- /dev/null +++ b/src/assets/social/telegram.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/social/twitter.svg b/src/assets/social/twitter.svg new file mode 100644 index 00000000..b54b49c9 --- /dev/null +++ b/src/assets/social/twitter.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/components/ErrorBoundary.tsx b/src/components/ErrorBoundary.tsx new file mode 100644 index 00000000..8b3621f5 --- /dev/null +++ b/src/components/ErrorBoundary.tsx @@ -0,0 +1,25 @@ +import { useEffect, ReactNode } from "react"; +import { useRouteError, Link } from "react-router-dom"; + +interface Props { + title?: ReactNode; + message?: ReactNode; +} + +export function ErrorBoundary({ title = "Oops!", message = "Sorry, an unexpected error has occurred." }: Props) { + const error = useRouteError(); + + useEffect(() => { + console.error(error); + }, [error]); + + return ( +
    +
    +

    {title}

    + {message} + Home +
    +
    + ); +} diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx new file mode 100644 index 00000000..773413b7 --- /dev/null +++ b/src/components/Footer.tsx @@ -0,0 +1,72 @@ +import { useTranslation } from "react-i18next"; + +import twitter from "../assets/social/twitter.svg"; +import telegram from "../assets/social/telegram.svg"; +import discord from "../assets/social/discord.svg"; +import element from "../assets/social/element.svg"; +import github from "../assets/social/github.svg"; +import medium from "../assets/social/medium.svg"; +import email from "../assets/social/email.svg"; +import lng from "../assets/lng.svg"; + +const socialCfg: { icon: string; link: string; isMail?: boolean }[] = [ + { + icon: twitter, + link: "https://twitter.com/DarwiniaNetwork", + }, + { + icon: telegram, + link: "https://t.me/DarwiniaNetwork", + }, + { + icon: discord, + link: "https://discord.com/invite/aQdK9H4MZS", + }, + { + icon: element, + link: "https://app.element.io/#/room/#darwinia:matrix.org", + }, + { + icon: github, + link: "https://github.com/darwinia-network", + }, + { + icon: medium, + link: "https://medium.com/darwinianetwork", + }, + { + icon: email, + link: "mailto:hello@darwinia.network", + }, +]; + +export const Footer = () => { + const { i18n } = useTranslation(); + + return ( +
    + © {new Date().getUTCFullYear()} Darwinia Network +
    + {socialCfg.map(({ icon, link }, index) => ( + + ... + + ))} + + +
    +
    + ); +}; diff --git a/src/components/Header.tsx b/src/components/Header.tsx new file mode 100644 index 00000000..d76c4d1a --- /dev/null +++ b/src/components/Header.tsx @@ -0,0 +1,46 @@ +import logo from "../assets/app-logo.svg"; +import { Link, useMatch } from "react-router-dom"; +import { useTranslation } from "react-i18next"; +import { useWallet } from "../hooks/wallet"; + +export const Header = () => { + const { t } = useTranslation(); + const { isConnected, connect } = useWallet(); + + const isHome = useMatch("/"); + const isLocalSubkeyMigration = useMatch("/local_subkey_migration"); + + return ( +
    +
    + + ... + + {isLocalSubkeyMigration ? ( + Local Subkey Migration + ) : null} +
    + {isHome ? ( + + {t("Submit")} + + ) : null} + {isLocalSubkeyMigration ? ( + + ) : null} +
    + ); +}; diff --git a/src/components/Hero.tsx b/src/components/Hero.tsx new file mode 100644 index 00000000..65964aa6 --- /dev/null +++ b/src/components/Hero.tsx @@ -0,0 +1,14 @@ +import hero from "../assets/hero.png"; + +export const Hero = () => { + return ( +
    + ... +

    + Explore Dapps building on {"{"} + Darwinia2 + {"}"} ecosystem_ +

    +
    + ); +}; diff --git a/src/components/PortalItem.tsx b/src/components/PortalItem.tsx new file mode 100644 index 00000000..ede6565f --- /dev/null +++ b/src/components/PortalItem.tsx @@ -0,0 +1,97 @@ +import { PortalMeta } from "../types"; +import { Link } from "react-router-dom"; +import { useTranslation } from "react-i18next"; + +export const PortalItem = ({ + meta, + flipped, + onClick, +}: { + meta: PortalMeta; + flipped: string; + onClick: (name: string) => void; +}) => { + const { t } = useTranslation(); + + return ( + <> + {/* mobile */} +
    + ... + +
    + {meta.link.startsWith("//") ? ( + + {meta.name} + + ) : ( + + {meta.name} + + )} +
    + {meta.tags.slice(0, 3).map((tag) => ( + + {tag} + + ))} +
    +
    + {meta.description} +
    +
    + + {/* pc */} +
    +
    +
    + {meta.description} + {meta.link.startsWith("//") ? ( + + {t("Explore")} + + ) : ( + + {t("Explore")} + + )} +
    +
    onClick(meta.name)} + > + ... +
    {meta.name}
    +
    + {meta.tags.slice(0, 3).map((tag) => ( + + {tag} + + ))} +
    +
    +
    +
    + + ); +}; diff --git a/src/components/Portals.tsx b/src/components/Portals.tsx new file mode 100644 index 00000000..b4b7304f --- /dev/null +++ b/src/components/Portals.tsx @@ -0,0 +1,74 @@ +import { portals as getPortals } from "../config/portals"; +import { useTranslation } from "react-i18next"; +import { PortalTag } from "../types"; +import { useEffect, useRef, useState } from "react"; +import { PortalItem } from "./PortalItem"; + +type FilterTag = PortalTag | "All"; + +const ALL_TAGS: FilterTag[] = [ + "All", + "Defi", + "Wallet", + "Explorer", + "Infrastructure", + "Bridge", + "Governance", + "Gaming", + "NFT", + "DAO", + "Tool", +]; + +export const Portals = () => { + const { t } = useTranslation(); + const [selectedTag, setSelectedTag] = useState("All"); + const [flippedPortal, setFlippedPortal] = useState(""); // portal name + + const portalsRef = useRef(null); + + useEffect(() => { + const listener = (e: MouseEvent) => { + if (e.target && portalsRef.current && !portalsRef.current.contains(e.target as Node)) { + setFlippedPortal(""); + } + }; + + document.addEventListener("click", listener); + + return () => { + document.removeEventListener("click", listener); + }; + }, []); + + return ( +
    +
    +
    + {ALL_TAGS.map((tag) => ( + + ))} +
    + +
    + {getPortals(t) + .filter(({ tags }) => selectedTag === "All" || tags.includes(selectedTag)) + .map((meta) => ( + + ))} +
    +
    +
    + ); +}; diff --git a/src/components/account/AssetOverview.tsx b/src/components/account/AssetOverview.tsx deleted file mode 100644 index b0249540..00000000 --- a/src/components/account/AssetOverview.tsx +++ /dev/null @@ -1,171 +0,0 @@ -import { Button, Card, Form, Spin } from 'antd'; -import { ExclamationCircleFilled } from '@ant-design/icons'; -import { BN, BN_ZERO } from '@polkadot/util'; -import { useMemo, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useApi, useWallet, useAccount } from '../../hooks'; -import { AssetOverviewProps } from '../../model'; -import { fromWei, getUnit, insufficientBalanceRule, isRing, toWei } from '../../utils'; -import { FormModal } from '../widget/FormModal'; -import { TooltipBalance } from '../widget/TooltipBalance'; -import { BalanceControl } from '../widget/form-control/BalanceControl'; -import { AddressItem } from '../widget/form-control/AddressItem'; -// import { Faucet } from './Faucet'; - -interface TransferFormValues { - from: string; - to: string; - amount: number; - [key: string]: unknown; -} - -// eslint-disable-next-line complexity -export function AssetOverview({ asset, loading, refresh }: AssetOverviewProps) { - const { network, api } = useApi(); - const { accounts } = useWallet(); - const { account } = useAccount(); - - const { t } = useTranslation(); - const [recipient, setRecipient] = useState(accounts[0]?.displayAddress); - const [isVisible, setIsVisible] = useState(false); - const [transferable, setTransferable] = useState(null); - - // const supportFaucet = useMemo( - // () => isRing(asset.token.symbol) && (network.name === 'pangolin' || network.name === 'pangoro'), - // [asset.token, network.name] - // ); - - const tokenIconSrc = useMemo( - () => `/image/token/token-${(asset.token?.symbol || 'RING').toLowerCase()}.svg`, - [asset.token?.symbol] - ); - - const canTransferToEvm = useMemo( - () => - network.name === 'crab' || - network.name === 'darwinia' || - network.name === 'pangolin' || - network.name === 'pangoro', - [network.name] - ); - - return ( - <> - -
    -
    - -
    -

    {asset.token?.symbol}

    - - - -
    -
    - {/* {supportFaucet && account ? ( - - ) : null} */} -
    - -
    - -
    -
    - {t('Available')}: - - - -
    - - -
    -
    - - - modalProps={{ visible: isVisible, title: t('Send {{symbol}}', { symbol: asset.token.symbol }) }} - onSuccess={() => { - setIsVisible(false); - refresh(); - }} - onCancel={() => setIsVisible(false)} - onValuesChange={(value) => { - if (value?.to !== undefined) { - setRecipient(value.to); - } - }} - onEstimatedFeeChange={(estimatedFee) => { - if (estimatedFee.isZero()) { - setTransferable(null); - } else if (isRing(asset.token.symbol)) { - const max = asset.max.sub(estimatedFee); - setTransferable(max.gt(api.consts.balances?.existentialDeposit) ? max : BN_ZERO); - } else { - setTransferable(asset.max); - } - }} - initialValues={{ from: account?.displayAddress, to: recipient }} - extrinsic={(values) => { - const { to, amount } = values; - const moduleName = isRing(asset.token?.symbol) ? 'balances' : 'kton'; - - return api.tx[moduleName].transfer( - to, - toWei({ value: amount, unit: getUnit(Number(asset.token?.decimal)) ?? 'gwei' }) - ); - }} - > - - {t('Transferable')}: - {transferable === null ? ( - - ) : ( - - {fromWei({ value: transferable, unit: getUnit(Number(asset.token?.decimal)) || 'gwei' })}{' '} - {asset.token?.symbol} - - )} - - } - disabled - > - - - - - {network.name === 'darwinia' || (network.name === 'crab-parachain' && isRing(asset.token.symbol)) - ? t('Do not fill in any cold wallet address or exchange controlled address.') - : t('Do not fill in any cold wallet address.')} - -
    - } - /> - - - -
    - {asset.token?.symbol} -
    -
    -
    - - - ); -} diff --git a/src/components/account/Faucet.tsx b/src/components/account/Faucet.tsx deleted file mode 100644 index 94e3ec70..00000000 --- a/src/components/account/Faucet.tsx +++ /dev/null @@ -1,228 +0,0 @@ -import { Button, Typography, Modal, Space, Spin, notification } from 'antd'; -import { useCallback, useState, PropsWithChildren, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import { capitalize } from 'lodash'; -import { timer } from 'rxjs'; -import { millisecondsInHour, millisecondsInSecond } from 'date-fns'; - -import { rxGet, rxPost, formatTimeLeft } from '../../utils'; -import { useAccount } from '../../hooks'; -import { SubscanLink } from '../widget/SubscanLink'; -import { Network, FaucetResponse, FaucetResponseCode, FaucetThrottleData, FaucetTransferData } from '../../model'; - -const Section = ({ label, children, className }: PropsWithChildren<{ label: string; className?: string }>) => ( -
    - {label} -
    {children}
    -
    -); - -const Confirm = ({ loading, onClick = () => undefined }: { loading: boolean; onClick?: () => void }) => { - const { t } = useTranslation(); - return ( - - ); -}; - -const ThrottleLimit = ({ - throttleData: { throttleHours, lastTime }, - onFinish, -}: { - throttleData: FaucetThrottleData; - onFinish: () => void; -}) => { - const { t } = useTranslation(); - const [timeLeft, setTimeLeft] = useState({ hrs: 0, mins: 0, secs: 0 }); - - useEffect(() => { - const sub$$ = timer(0, millisecondsInSecond).subscribe(() => { - const milliSecs = throttleHours * millisecondsInHour + lastTime - Date.now(); - - if (milliSecs > 0) { - const { hours: hrs, minutes: mins, seconds: secs } = formatTimeLeft(milliSecs); - setTimeLeft({ hrs, mins, secs }); - } else { - onFinish(); - } - }); - - return () => sub$$.unsubscribe(); - }, [lastTime, throttleHours, onFinish]); - - return ( - <> - {t('Time left until the next request')} - {`${timeLeft.hrs} hrs ${timeLeft.mins} mins ${timeLeft.secs} secs`} - - ); -}; - -const Insufficient = () => { - const { t } = useTranslation(); - return ( - <> - {t('Sorry that the faucet is lack of tokens')} - - {t('Please contact us via ')} - hello@darwinia.network - - - ); -}; - -// eslint-disable-next-line complexity -export const Faucet = ({ network, address, symbol }: { network: Network; address: string; symbol: string }) => { - const { refreshAssets } = useAccount(); - const { t } = useTranslation(); - const [busy, setBusy] = useState(false); - const [loading, setLoaing] = useState(false); - const [visible, setVisible] = useState(false); - - const [message, setMessage] = useState(''); - const [throttle, setThrottle] = useState({ lastTime: 0, throttleHours: 0 }); - const [status, setStatus] = useState(null); - - const handleOpenFaucet = useCallback(() => { - setBusy(true); - rxPost>({ - url: `/api/${network}`, - params: { address }, - }).subscribe({ - next: (res) => { - if (!res) { - return; - } - - const { code, message, data } = res; - if (code === FaucetResponseCode.SUCCESS_TRANSFER) { - const { txHash, lastTime, throttleHours } = data as FaucetTransferData & FaucetThrottleData; - notification.success({ - message: t('Faucet success'), - description: , - }); - - refreshAssets(); - setThrottle({ lastTime, throttleHours }); - setVisible(false); - } else if (code === FaucetResponseCode.FAILED_EXTRINSIC) { - notification.warning({ - message, - description: ( - - ), - }); - setVisible(false); - } else if (code === FaucetResponseCode.FAILED_THROTTLE) { - setThrottle(data as FaucetThrottleData); - } - - setMessage(message); - setStatus(code); - setBusy(false); - }, - error: (err) => { - const error = err as Error; - notification.error({ - message: t('Faucet error'), - description: error.message, - }); - setBusy(false); - }, - }); - }, [network, address, t, refreshAssets]); - - useEffect(() => { - setLoaing(true); - const sub$$ = rxGet>({ - url: `/api/${network}`, - params: { address }, - }).subscribe({ - next: (res) => { - if (!res) { - return; - } - - const { code, message, data } = res; - if (code === FaucetResponseCode.FAILED_THROTTLE) { - setThrottle(data as FaucetThrottleData); - } - setMessage(message); - setStatus(code); - setLoaing(false); - }, - error: (err) => { - const error = err as Error; - notification.error({ - message: error.message, - }); - setLoaing(false); - }, - }); - - return () => { - sub$$.unsubscribe(); - setLoaing(false); - }; - }, [network, address]); - - useEffect(() => { - setStatus(null); // reset status - }, [network, symbol, address]); - - return ( - <> - - - - {!status || status === FaucetResponseCode.SUCCESS_PRECHECK ? ( - - ) : status === FaucetResponseCode.FAILED_THROTTLE || status === FaucetResponseCode.SUCCESS_TRANSFER ? ( - setStatus(null)} /> - ) : status === FaucetResponseCode.FAILED_INSUFFICIENT ? ( - - ) : ( - {message} - )} - - ) - } - width={420} - onCancel={() => setVisible(false)} - > - {busy ? ( -
    - - {t('Transaction is being processed')} -
    - ) : ( - -
    -
    - - 100 {symbol} - -
    -
    -
    - - {t( - 'This faucet sends {{symbol}} (TestToken) on {{network}} Chain to your account. You can request 100 {{symbol}} from faucet every 12h.', - { network: capitalize(network), symbol } - )} - -
    -
    - )} -
    - - ); -}; diff --git a/src/components/account/LockedRecords.tsx b/src/components/account/LockedRecords.tsx deleted file mode 100644 index 96fafaf4..00000000 --- a/src/components/account/LockedRecords.tsx +++ /dev/null @@ -1,225 +0,0 @@ -import { Table, Progress, Button, Modal } from 'antd'; -import { format } from 'date-fns'; -import { useState, useCallback, useEffect } from 'react'; -import { BN, bnToBn, BN_ZERO } from '@polkadot/util'; -import type { Balance } from '@polkadot/types/interfaces'; -import { useTranslation } from 'react-i18next'; -import type { ColumnsType } from 'antd/lib/table'; -import type { TsInMs } from '@darwinia/types'; -import type { DarwiniaStakingStructsTimeDepositItem } from '@darwinia/api-derive/types'; - -import { useApi, useQueue, useStaking, useAssets, useAccount } from '../../hooks'; -import { DATE_FORMAT, THIRTY_DAYS_IN_MILLISECOND } from '../../config'; -import { fromWei, prettyNumber, computeKtonReward, processTime, isKton } from '../../utils'; - -enum LockStatus { - LOCKING, - EXPIRED, -} - -interface DataSourceState { - index: number; - value: Balance; - reward: BN; - duration: { - startTime: TsInMs; - expireTime: TsInMs; - }; - status: LockStatus; -} - -// https://github.com/darwinia-network/darwinia-common/blob/main/frame/staking/src/lib.rs#L1548-L1553 -const computeKtonPenalty = (record: DataSourceState): BN => { - const { - value, - duration: { startTime, expireTime }, - } = record; - - const planMonths = expireTime.sub(startTime.toBn()).div(bnToBn(THIRTY_DAYS_IN_MILLISECOND)).toNumber(); - const passMonths = bnToBn(Date.now()).sub(startTime).div(bnToBn(THIRTY_DAYS_IN_MILLISECOND)).toNumber(); - - // eslint-disable-next-line no-magic-numbers - return computeKtonReward(value, planMonths).sub(computeKtonReward(value, passMonths)).muln(3); -}; - -export const LockedRecords = ({ - locks, - loading, -}: { - locks: DarwiniaStakingStructsTimeDepositItem[]; - loading: boolean; -}) => { - const { api, network } = useApi(); - const { refreshAssets } = useAccount(); - const { queueExtrinsic } = useQueue(); - const { controllerAccount, stashAccount, updateStakingDerive } = useStaking(); - const { assets: stashAssets } = useAssets(stashAccount); - const { t } = useTranslation(); - const [dataSource, setDataSource] = useState([]); - - const handleUnlockEarlier = useCallback( - (record: DataSourceState) => { - const extrinsic = api.tx.staking.tryClaimDepositsWithPunish(record.duration.expireTime); - queueExtrinsic({ - signAddress: controllerAccount, - extrinsic, - txSuccessCb: () => { - refreshAssets(); - updateStakingDerive(); - }, - }); - }, - [api, controllerAccount, queueExtrinsic, refreshAssets, updateStakingDerive] - ); - - useEffect(() => { - setDataSource( - locks.map((lock, index) => { - const { value, startTime, expireTime } = lock; - - const months = expireTime - .unwrap() - .sub(startTime.unwrap().toBn()) - // eslint-disable-next-line no-magic-numbers - .div(new BN(THIRTY_DAYS_IN_MILLISECOND)) - .toNumber(); - - return { - index, - value: value.unwrap(), - reward: computeKtonReward(value.unwrap(), months), - duration: { - startTime: lock.startTime.unwrap(), - expireTime: lock.expireTime.unwrap(), - }, - status: expireTime.unwrap().toNumber() < Date.now() ? LockStatus.EXPIRED : LockStatus.LOCKING, - }; - }) - ); - }, [locks]); - - const columns: ColumnsType = [ - { - title: 'No.', - key: 'index', - dataIndex: 'index', - width: '6%', - align: 'center', - render: (value) => value + 1, - }, - { - title: 'Amount', - key: 'value', - dataIndex: 'value', - align: 'center', - render: (value) => ( - - {fromWei({ value }, prettyNumber)} {network.tokens.ring.symbol} - - ), - }, - { - title: 'Duration', - key: 'duration', - dataIndex: 'duration', - width: '30%', - align: 'center', - render: (value: { startTime: TsInMs; expireTime: TsInMs }) => ( -
    -
    - {format(new Date(value.startTime.toNumber()), DATE_FORMAT)} - - - {format(new Date(value.expireTime.toNumber()), DATE_FORMAT)} -
    - -
    - ), - }, - { - title: 'Reward', - key: 'reward', - dataIndex: 'reward', - align: 'center', - render: (value) => ( - - {fromWei({ value }, prettyNumber)} {network.tokens.kton.symbol} - - ), - }, - { - title: 'Action', - key: 'status', - dataIndex: 'status', - align: 'center', - render: (value: LockStatus, record: DataSourceState) => ( -
    - {value === LockStatus.LOCKING ? ( - - ) : ( - - )} -
    - ), - }, - ]; - - return ( - - ); -}; diff --git a/src/components/account/StakingRecords.tsx b/src/components/account/StakingRecords.tsx deleted file mode 100644 index af43c5dc..00000000 --- a/src/components/account/StakingRecords.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import { Card, Tabs } from 'antd'; -import { useEffect, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import type { Option } from '@polkadot/types'; -import type { BlockNumber, Balance } from '@polkadot/types/interfaces'; -import type { DarwiniaStakingStructsStakingLedger } from '@darwinia/api-derive/types'; -import { StakingRecordType, UnbondDataSourceState, UnbondType } from '../staking/interface'; -import { useApi, useBestNumber, useStaking } from '../../hooks'; -import { CustomTab } from '../widget/CustomTab'; -import { UnbondRecords } from './UnbondRecords'; -import { LockedRecords } from './LockedRecords'; - -const calcuUnbondedOrUnbonding = ( - unbondeds: UnbondDataSourceState[], - unbondings: UnbondDataSourceState[], - symbol: string, - amount: Balance, - until: BlockNumber, - currentHeight: number | null | undefined -): [UnbondDataSourceState[], UnbondDataSourceState[]] => { - if (until.ltn(currentHeight || 0)) { - return [unbondeds.concat([{ amount, until, status: UnbondType.UNBONDED, symbol }]), [...unbondings]]; - } else { - return [[...unbondeds], unbondings.concat([{ amount, until, status: UnbondType.UNBONDING, symbol }])]; - } -}; - -export function StakingRecords() { - const { api, network } = useApi(); - const { controllerAccount } = useStaking(); - const { bestNumber } = useBestNumber(); - const { t } = useTranslation(); - const [loading, setLoading] = useState(false); - const [activeKey, setActiveKey] = useState(StakingRecordType.LOCKED); - const [ledger, setLedger] = useState(); - const [unbondedDataSource, setUnondedDataSource] = useState([]); - const [unbondingDataSource, setUnondingDataSource] = useState([]); - - useEffect(() => { - if (!controllerAccount) { - setLedger(null); - return; - } - - setLoading(true); - let unsub: () => void = () => undefined; - - (async () => { - unsub = await api.query.staking.ledger(controllerAccount, (res: Option) => { - setLedger(res.isSome ? res.unwrap() : null); - setLoading(false); - }); - })(); - - return () => unsub(); - }, [api, controllerAccount]); - - useEffect(() => { - const [ringUnbondeds, ringUnbondings] = ledger?.ringStakingLock.unbondings.reduce( - ([unbondeds, unbondings], { amount, until }) => { - return calcuUnbondedOrUnbonding(unbondeds, unbondings, network.tokens.ring.symbol, amount, until, bestNumber); - }, - [[], []] as [UnbondDataSourceState[], UnbondDataSourceState[]] - ) || [[], []]; - - const [ktonUnbondeds, ktonUnbondings] = ledger?.ktonStakingLock.unbondings.reduce( - ([unbondeds, unbondings], { amount, until }) => { - return calcuUnbondedOrUnbonding(unbondeds, unbondings, network.tokens.kton.symbol, amount, until, bestNumber); - }, - [[], []] as [UnbondDataSourceState[], UnbondDataSourceState[]] - ) || [[], []]; - - setUnondedDataSource(ringUnbondeds.concat(ktonUnbondeds).sort((a, b) => a.until.cmp(b.until))); - setUnondingDataSource(ringUnbondings.concat(ktonUnbondings).sort((a, b) => a.until.cmp(b.until))); - }, [ledger, bestNumber, network.tokens]); - - return ( - - setActiveKey(key as StakingRecordType)} - className={`overflow-x-scroll page-account-tabs page-account-tabs-${network.name}`} - > - } - > - - - - } - > - - - - } - > - - - - - ); -} diff --git a/src/components/account/UnbondRecords.tsx b/src/components/account/UnbondRecords.tsx deleted file mode 100644 index 2a52346b..00000000 --- a/src/components/account/UnbondRecords.tsx +++ /dev/null @@ -1,143 +0,0 @@ -import type { BlockNumber } from '@polkadot/types/interfaces'; -import type { u64 } from '@polkadot/types'; -import type { ColumnsType } from 'antd/lib/table'; -import { useCallback, useEffect, useState } from 'react'; -import { Button, Table, Progress } from 'antd'; -import { useTranslation } from 'react-i18next'; -import { format } from 'date-fns'; -import { forkJoin, from } from 'rxjs'; - -import { useApi, useAccount, useQueue, useStaking, useSlashingSpans, useBlockTime } from '../../hooks'; -import { UnbondType, UnbondDataSourceState } from '../staking/interface'; -import { fromWei, prettyNumber, processTime } from '../../utils'; -import { DATE_FORMAT, FOURTEEN_DAYS_IN_MILLISECOND } from '../../config'; -import { Rebond } from '../staking/action'; - -type CurrentBlockTime = { block: number; time: number }; - -const calcuStakingTime = (until: BlockNumber, current: CurrentBlockTime | undefined, period: number) => { - let startTime = 0; - let expireTime = 0; - - if (current && period) { - expireTime = (until.toNumber() - current.block) * period + current.time; - startTime = expireTime - FOURTEEN_DAYS_IN_MILLISECOND; - } - return { startTime, expireTime }; -}; - -export const UnbondRecords = ({ dataSource, loading }: { dataSource: UnbondDataSourceState[]; loading: boolean }) => { - const { api } = useApi(); - const { refreshAssets } = useAccount(); - const { queueExtrinsic } = useQueue(); - const [blockTime] = useBlockTime(1); // milliseconds - const { controllerAccount, stashAccount, updateStakingDerive } = useStaking(); - const { spanCount } = useSlashingSpans(stashAccount); - const { t } = useTranslation(); - const [currentBlockTime, setCurrentBlockTime] = useState(); - - const handleWithdraw = useCallback(() => { - queueExtrinsic({ - signAddress: controllerAccount, - extrinsic: - api.tx.staking.withdrawUnbonded?.meta.args.length === 1 - ? api.tx.staking.withdrawUnbonded(spanCount) - : // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - api.tx.staking.withdrawUnbonded(), - txSuccessCb: () => { - refreshAssets(); - updateStakingDerive(); - }, - }); - }, [api, controllerAccount, spanCount, queueExtrinsic, refreshAssets, updateStakingDerive]); - - useEffect(() => { - const sub$$ = forkJoin([api.rpc.chain.getHeader(), from(api.query.timestamp.now() as Promise)]).subscribe( - ([header, now]) => { - setCurrentBlockTime({ - block: header.number.toNumber(), - time: now.toNumber(), - }); - } - ); - - return () => sub$$.unsubscribe(); - }, [api]); - - const columns: ColumnsType = [ - { - title: 'No.', - key: 'index', - dataIndex: 'index', - width: '6%', - align: 'center', - render: (_1, _2, index) => index + 1, - }, - { - title: 'Amount', - key: 'amount', - dataIndex: 'amount', - align: 'center', - render: (value, row) => ( - - {fromWei({ value }, prettyNumber)} {row.symbol} - - ), - }, - { - title: 'Duration', - key: 'until', - dataIndex: 'until', - align: 'center', - width: '30%', - render: (value: BlockNumber) => { - const { startTime, expireTime } = calcuStakingTime(value, currentBlockTime, blockTime); - - return ( -
    -
    - {format(new Date(startTime), DATE_FORMAT)} - - - {format(new Date(expireTime), DATE_FORMAT)} -
    - -
    - ); - }, - }, - { - title: 'Action', - key: 'status', - dataIndex: 'status', - align: 'center', - render: (value: UnbondType) => ( -
    - {value === UnbondType.UNBONDED ? ( - - ) : ( - - )} -
    - ), - }, - ]; - - return ( -
    `${record.amount.toString()}-${record.status}-${record.symbol}-${record.until.toString()}`} - columns={columns} - dataSource={dataSource} - loading={loading} - className="whitespace-nowrap" - /> - ); -}; diff --git a/src/components/feemarket/FeeHistoryChart.tsx b/src/components/feemarket/FeeHistoryChart.tsx deleted file mode 100644 index 95471afd..00000000 --- a/src/components/feemarket/FeeHistoryChart.tsx +++ /dev/null @@ -1,130 +0,0 @@ -import { useEffect, useState, useMemo, useRef } from 'react'; -import { useTranslation } from 'react-i18next'; -import Highcharts from 'highcharts/highstock'; -import HighchartsReact from 'highcharts-react-official'; - -import { useApi } from 'src/hooks'; - -export const FeeHistoryChart = ({ data, loading }: { data: [number, number][]; loading?: boolean }) => { - const { network } = useApi(); - const { t } = useTranslation(); - const [options, setOptions] = useState({}); - const chartComponentRef = useRef(null); - - const mainColor = useMemo(() => { - switch (network.name) { - case 'darwinia': - return '#FF0083'; - case 'crab': - case 'pangolin': - case 'pangoro': - default: - return '#8085e9'; - } - }, [network.name]); - - useEffect(() => { - if (loading) { - chartComponentRef.current?.chart.showLoading(); - } else { - chartComponentRef.current?.chart.hideLoading(); - } - }, [loading]); - - useEffect(() => { - setOptions({ - chart: { - spacingLeft: 30, - spacingRight: 30, - spacingBottom: 0, - spacingTop: 20, - }, - title: { - text: t('Fee History'), - align: 'left', - margin: 0, - }, - series: [ - { - type: 'line', - name: t('Fee'), - color: mainColor, - data: [...data], - }, - ], - tooltip: { - borderRadius: 12, - dateTimeLabelFormats: { - millisecond: '%Y/%m/%d(+UTC)', - second: '%Y/%m/%d(+UTC)', - minute: '%Y/%m/%d(+UTC)', - hour: '%Y/%m/%d(+UTC)', - day: '%Y/%m/%d(+UTC)', - }, - }, - credits: { - enabled: false, - }, - navigator: { - enabled: false, - }, - scrollbar: { - enabled: false, - }, - xAxis: { - labels: { - format: '{value:%e. %b}', - }, - }, - yAxis: [ - { - opposite: false, - }, - ], - rangeSelector: { - inputEnabled: false, - labelStyle: { - display: 'none', - width: 0, - }, - buttonTheme: { - r: 4, - }, - buttonPosition: { - align: 'right', - y: -20, - }, - buttons: [ - { - type: 'all', - text: t('All'), - title: t('View all'), - }, - { - type: 'week', - count: 1, - text: t('7D'), - title: t('View 7 days'), - }, - { - type: 'month', - count: 1, - text: t('30D'), - title: t('View 30 days'), - }, - ], - selected: 0, - }, - }); - }, [t, data, mainColor]); - - return ( - - ); -}; diff --git a/src/components/feemarket/OrderDetail.tsx b/src/components/feemarket/OrderDetail.tsx deleted file mode 100644 index 05be9593..00000000 --- a/src/components/feemarket/OrderDetail.tsx +++ /dev/null @@ -1,278 +0,0 @@ -import { Card, Descriptions, Badge, Breadcrumb, Spin } from 'antd'; -import { NavLink, useLocation } from 'react-router-dom'; -import { formatDistance, format } from 'date-fns'; -import { useTranslation } from 'react-i18next'; -import { useEffect } from 'react'; -import { capitalize } from 'lodash'; - -import { ORDER_DETAIL, DATE_TIME_FORMATE } from '../../config'; -import { - DarwiniaChain, - SlotState, - FeeMarketTab, - OrderStatus, - RelayerRole, - OrderEntity, - SlashEntity, - RelayerEntity, - RewardEntity, -} from '../../model'; -import { useApi, useCustomQuery } from '../../hooks'; -import { SubscanLink } from '../widget/SubscanLink'; -import { fromWei, prettyNumber } from '../../utils'; -import { AccountName } from '../widget/account/AccountName'; - -const getSlotText = (slotIndex?: number | null): string => { - switch (slotIndex) { - case SlotState.OUT_OF_SLOT: - return 'Out of Slot'; - case SlotState.SLOT_1: - return 'Slot 1'; - case SlotState.SLOT_2: - return 'Slot 2'; - case SlotState.SLOT_3: - return 'Slot 3'; - default: - return '-'; - } -}; - -const renderRelayersReward = ({ label, values }: { label: string; values: { amount: string; relayer: string }[] }) => - values.map(({ amount, relayer }, index) => { - const { network } = useApi(); - - return ( - - - -   - {`| +${fromWei({ value: amount }, prettyNumber)} ${network.tokens.ring.symbol}`} - - - ); - }); - -// eslint-disable-next-line complexity -export const OrderDetail = ({ - lane, - nonce, - destination, - setRefresh, -}: { - lane: string; - nonce: string; - destination: DarwiniaChain; - setRefresh: (fn: () => void) => void; -}) => { - const { network } = useApi(); - const { t } = useTranslation(); - const { pathname } = useLocation(); - - const { - loading: orderDetailLoading, - data: orderDetailData, - refetch: refetchOrderDetail, - } = useCustomQuery< - { - order: - | (Pick< - OrderEntity, - | 'lane' - | 'nonce' - | 'fee' - | 'sender' - | 'sourceTxHash' - | 'slotIndex' - | 'slotTime' - | 'outOfSlotBlock' - | 'status' - | 'createBlockTime' - | 'finishBlockTime' - | 'createBlockNumber' - | 'finishBlockNumber' - | 'treasuryAmount' - | 'assignedRelayersAddress' - > & { - slashes: { - nodes: (Pick & { - relayer: Pick; - })[]; - } | null; - rewards: { - nodes: (Pick & { - relayer: Pick; - })[]; - } | null; - }) - | null; - }, - { orderId: string } - >(ORDER_DETAIL, { - variables: { orderId: `${destination}-${lane}-${nonce}` }, - }); - - useEffect(() => { - setRefresh(() => () => { - refetchOrderDetail(); - }); - }, [setRefresh, refetchOrderDetail]); - - return ( - <> - - - {t('Orders')} - - {nonce} - - - - - {t('Detail')}}> - {nonce} - {lane} - - {orderDetailData?.order?.createBlockTime - ? `${capitalize( - formatDistance(new Date(`${orderDetailData.order.createBlockTime}Z`), Date.now(), { - addSuffix: true, - }) - )} ( ${format(new Date(`${orderDetailData.order.createBlockTime}Z`), DATE_TIME_FORMATE)} +UTC)` - : '-'} - - - {orderDetailData?.order?.sourceTxHash ? ( - - ) : ( - '-' - )} - - - {orderDetailData?.order?.sender ? ( - - ) : ( - '-' - )} - - - {orderDetailData?.order?.status === OrderStatus.FINISHED ? ( - - ) : ( - - )} - - - {orderDetailData?.order?.fee - ? `${fromWei({ value: orderDetailData.order.fee }, prettyNumber)} ${network.tokens.ring.symbol}` - : '-'} - - - {orderDetailData?.order?.createBlockNumber ? ( - - ) : ( - '-' - )} - - - {orderDetailData?.order?.finishBlockNumber ? ( - - ) : ( - '-' - )} - - - {t(getSlotText(orderDetailData?.order?.slotIndex))} - - -
    - {orderDetailData?.order?.assignedRelayersAddress.map((relayer) => ( - - ))} -
    -
    -
    - - {orderDetailData?.order?.rewards?.nodes.length ? ( - <> - {t('Reward')}} - > - {orderDetailData.order.rewards.nodes[0].extrinsicIndex && ( - - - - )} - {renderRelayersReward({ - label: t('Assigned Relayer'), - values: orderDetailData.order.rewards.nodes - .filter((item) => item.relayerRole === RelayerRole.ASSIGNED) - .map((item) => ({ amount: item.amount, relayer: item.relayer?.address as string } || [])), - })} - {renderRelayersReward({ - label: t('Delivery Relayer'), - values: orderDetailData.order.rewards.nodes - .filter((item) => item.relayerRole === RelayerRole.DELIVERY) - .map((item) => ({ amount: item.amount, relayer: item.relayer?.address as string } || [])), - })} - {renderRelayersReward({ - label: t('Confirmation Relayer'), - values: orderDetailData.order.rewards.nodes - .filter((item) => item.relayerRole === RelayerRole.CONFIRMATION) - .map((item) => ({ amount: item.amount, relayer: item.relayer?.address as string } || [])), - })} - {orderDetailData.order.treasuryAmount && ( - {`+${fromWei( - { value: orderDetailData.order.treasuryAmount }, - prettyNumber - )} ${network.tokens.ring.symbol}`} - )} - - - ) : null} - - {orderDetailData?.order?.slashes?.nodes.length ? ( - <> - {t('Slash')}}> - {orderDetailData.order.slashes.nodes[0].extrinsicIndex && ( - - - - )} - {orderDetailData.order.slashes.nodes.map((slash, index) => ( - - - -  {`| -${fromWei({ value: slash.amount }, prettyNumber)} ${network.tokens.ring.symbol}`} - - - ))} - - - ) : null} -
    -
    - - ); -}; diff --git a/src/components/feemarket/Orders.tsx b/src/components/feemarket/Orders.tsx deleted file mode 100644 index 38882fe0..00000000 --- a/src/components/feemarket/Orders.tsx +++ /dev/null @@ -1,490 +0,0 @@ -import { Card, Statistic, Table, Select, Input, Button, Form, DatePicker, Badge, InputNumber, Spin } from 'antd'; -import { ColumnsType } from 'antd/lib/table'; -import { CheckCircleOutlined, ClockCircleOutlined, ExclamationCircleOutlined } from '@ant-design/icons'; -import { useCallback, useEffect, useRef, useState } from 'react'; -import { NavLink } from 'react-router-dom'; -import type { Moment } from 'moment'; -import { format } from 'date-fns'; -import moment from 'moment'; -import { useTranslation } from 'react-i18next'; - -import { ORDERS_STATISTICS, ORDERS_OVERVIEW, DATE_TIME_FORMATE } from '../../config'; -import { useApi, useCustomQuery } from '../../hooks'; -import { - DarwiniaChain, - SearchParamsKey, - FeeMarketTab, - SlotState, - OrderStatus, - OrderEntity, - MarketEntity, - RelayerEntity, -} from '../../model'; -import { IdentAccountName } from '../widget/account/IdentAccountName'; -import { SubscanLink } from '../widget/SubscanLink'; -import { OrdersStatisticsChart } from './OrdersStatisticsChart'; - -enum SearchType { - ORDER_ID, - SENDER_ADDRESS, -} - -type SearchData = { - type: SearchType; - value: string; -}; - -enum TimeDimension { - DATE, - BLOCK, -} - -enum EnumAll { - ALL = 'All', -} - -type FilterStatus = EnumAll | OrderStatus; -const FilterStatus = { ...EnumAll, ...OrderStatus }; - -type FilterSlot = EnumAll | SlotState; -const FilterSlot = { ...EnumAll, ...SlotState }; - -interface BlockRange { - start?: number | null; - end?: number | null; -} - -interface FilterData { - dimension: TimeDimension; - status: FilterStatus; - slot: FilterSlot; - block?: BlockRange | null; - duration?: [start: Moment, end: Moment] | null; -} - -interface DataSourceState - extends Pick< - OrderEntity, - | 'lane' - | 'nonce' - | 'sender' - | 'status' - | 'createBlockTime' - | 'finishBlockTime' - | 'createBlockNumber' - | 'finishBlockNumber' - | 'slotIndex' - > { - deliveredRelayer?: string | null; - confirmedRelayer?: string | null; -} - -const BlockRangeInput = ({ - value, - onChange = (_) => undefined, -}: { - value?: BlockRange; - onChange?: (range: BlockRange) => void; -}) => { - const { t } = useTranslation(); - - return ( -
    - { - onChange({ start: v, end: value?.end }); - }} - className="w-28" - /> - - - { - onChange({ - start: value?.start, - end: v, - }); - }} - className="w-28" - /> -
    - ); -}; - -// eslint-disable-next-line complexity -export const Orders = ({ - destination, - setRefresh, -}: { - destination: DarwiniaChain; - setRefresh: (fn: () => void) => void; -}) => { - const { network } = useApi(); - const { t } = useTranslation(); - - const dataSourceRef = useRef([]); - const [dataSource, setDataSource] = useState([]); - - const [search, setSearch] = useState({ type: SearchType.ORDER_ID, value: '' }); - const [filter, setFilter] = useState({ - dimension: TimeDimension.DATE, - status: FilterStatus.ALL, - slot: FilterSlot.ALL, - }); - - const { - loading: ordersStatisticsLoading, - data: ordersStatisticsData, - refetch: refetchOrdersStatistics, - } = useCustomQuery< - { market: Pick | null }, - { destination: string } - >(ORDERS_STATISTICS, { - variables: { destination }, - }); - - const { - loading: ordersOverviewLoading, - data: ordersOverviewData, - refetch: refetchOrdersOverview, - } = useCustomQuery< - { - orders: { - nodes: (Pick< - OrderEntity, - | 'lane' - | 'nonce' - | 'sender' - | 'createBlockTime' - | 'finishBlockTime' - | 'createBlockNumber' - | 'finishBlockNumber' - | 'status' - | 'slotIndex' - > & { - deliveryRelayers: { nodes: { deliveryRelayer: Pick }[] } | null; - confirmationRelayers: { nodes: { confirmationRelayer: Pick }[] } | null; - })[]; - } | null; - }, - { destination: string } - >(ORDERS_OVERVIEW, { - variables: { destination }, - }); - - const columns: ColumnsType = [ - { - title: t('Order ID'), - width: '10%', - align: 'center', - render: (_, record) => { - const searchParams = new URLSearchParams(); - searchParams.set(SearchParamsKey.RPC, encodeURIComponent(network.provider.rpc)); - searchParams.set(SearchParamsKey.DESTINATION, destination); - searchParams.set(SearchParamsKey.TAB, FeeMarketTab.OREDERS); - searchParams.set(SearchParamsKey.LANE, record.lane); - searchParams.set(SearchParamsKey.NONCE, record.nonce); - return ( -
    - {record.status === 'Finished' ? : } - {record.nonce} -
    - ); - }, - }, - { - title: t('Delivery Relayer'), - align: 'center', - render: (_, record) => - record.deliveredRelayer ? ( - - ) : ( -
    - - -
    - ), - }, - { - title: t('Confirmation Relayer'), - align: 'center', - render: (_, record) => - record.confirmedRelayer ? ( - - ) : ( -
    - - -
    - ), - }, - { - title: t('Created At'), - align: 'center', - render: (_, record) => ( -
    - - {format(new Date(`${record.createBlockTime}Z`), DATE_TIME_FORMATE)} (+UTC) -
    - ), - }, - { - title: t('Confirmed At'), - align: 'center', - render: (_, record) => - record.finishBlockNumber && record.finishBlockTime ? ( -
    - - {record.finishBlockTime ? ( - {format(new Date(`${record.finishBlockTime}Z`), DATE_TIME_FORMATE)} (+UTC) - ) : null} -
    - ) : ( - '-' - ), - }, - ]; - - const handleSearch = useCallback(() => { - if (search.value) { - if (search.type === SearchType.ORDER_ID) { - setDataSource(dataSourceRef.current.filter((item) => item.nonce === search.value)); - } else if (search.type === SearchType.SENDER_ADDRESS) { - setDataSource(dataSourceRef.current.filter((item) => item.sender === search.value)); - } - } else { - setDataSource(dataSourceRef.current); - } - }, [search]); - - const handleFilter = useCallback((values: FilterData) => { - const { duration, block, status, slot } = values; - - setDataSource( - // eslint-disable-next-line complexity - dataSourceRef.current.filter((item) => { - if (duration) { - const momentFormat = 'YYYY-MM-DD'; - const filterStart = duration[0].format(momentFormat); - const filterEnd = duration[1].format(momentFormat); - - const createTime = moment(item.createBlockTime.split('T')[0]); - const finishTime = item.finishBlockTime ? moment(item.finishBlockTime.split('T')[0]) : null; - - const match = - createTime.isBetween(filterStart, filterEnd, undefined, '[]') || - (finishTime && finishTime.isBetween(filterStart, filterEnd, undefined, '[]')); - - if (!match) { - return false; - } - } - - if (block) { - const match = - (block.start ? block.start <= item.createBlockNumber : true) && - (block.end && item.finishBlockNumber ? item.finishBlockNumber <= block.end : true); - - if (!match) { - return false; - } - } - - switch (status) { - case FilterStatus.FINISHED: - if (item.status !== OrderStatus.FINISHED) { - return false; - } - break; - case FilterStatus.IN_PROGRESS: - if (item.status !== OrderStatus.IN_PROGRESS) { - return false; - } - break; - } - - switch (slot) { - case FilterSlot.SLOT_1: - if (item.slotIndex !== FilterSlot.SLOT_1) { - return false; - } - break; - case FilterSlot.SLOT_2: - if (item.slotIndex !== FilterSlot.SLOT_2) { - return false; - } - break; - case FilterSlot.SLOT_3: - if (item.slotIndex !== FilterSlot.SLOT_3) { - return false; - } - break; - case FilterSlot.OUT_OF_SLOT: - if (item.slotIndex !== FilterSlot.OUT_OF_SLOT) { - return false; - } - break; - } - - return true; - }) - ); - }, []); - - useEffect(() => { - dataSourceRef.current = (ordersOverviewData?.orders?.nodes || []) - .map((node) => { - return { - ...node, - deliveredRelayer: node.deliveryRelayers?.nodes.length - ? node.deliveryRelayers.nodes[0].deliveryRelayer.address - : undefined, - confirmedRelayer: node.confirmationRelayers?.nodes.length - ? node.confirmationRelayers.nodes[0].confirmationRelayer.address - : undefined, - }; - }) - .sort((a, b) => b.createBlockNumber - a.createBlockNumber); - setDataSource(dataSourceRef.current); - }, [ordersOverviewData?.orders?.nodes]); - - useEffect(() => { - setRefresh(() => () => { - refetchOrdersStatistics(); - refetchOrdersOverview(); - }); - }, [setRefresh, refetchOrdersStatistics, refetchOrdersOverview]); - - return ( - <> - -
    - -
    - - {t('Finished')} -
    - - } - valueStyle={{ textAlign: 'center' }} - /> - -
    - - {`${t('In Progress')} (${t('In Slot')})`} -
    - - } - valueStyle={{ textAlign: 'center' }} - /> - -
    - - {`${t('In Progress')} (${t('Out of Slot')})`} -
    - - } - valueStyle={{ textAlign: 'center' }} - /> - -
    -
    - -
    - setSearch((prev) => ({ ...prev, type }))} - className="w-36" - > - {t('Order ID')} - {t('Sender Address')} - - } - className="w-96" - onChange={(e) => setSearch((prev) => ({ ...prev, value: e.target.value }))} - /> - -
    - - - layout="inline" - className="mt-6" - onValuesChange={(changedValues: Partial) => { - const { dimension } = changedValues; - - if (dimension !== undefined) { - setFilter((prev) => ({ ...prev, dimension })); - } - }} - initialValues={{ dimension: filter.dimension, status: filter.status, slot: filter.slot }} - onFinish={handleFilter} - > - - - - {filter.dimension === TimeDimension.DATE ? ( - - - - ) : ( - - - - )} - - - - - - - - - - -
    - -
    `${record.lane}-${record.nonce}`} - loading={ordersOverviewLoading} - /> - - - ); -}; diff --git a/src/components/feemarket/OrdersStatisticsChart.tsx b/src/components/feemarket/OrdersStatisticsChart.tsx deleted file mode 100644 index 819058c6..00000000 --- a/src/components/feemarket/OrdersStatisticsChart.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import { useEffect, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import Highcharts from 'highcharts'; -import HighchartsReact from 'highcharts-react-official'; - -export const OrdersStatisticsChart = ({ - finished, - inSlot, - outOfSlot, -}: { - finished: number; - inSlot: number; - outOfSlot: number; -}) => { - const { t } = useTranslation(); - const [options, setOptions] = useState({}); - - useEffect(() => { - setOptions({ - title: { - style: { - display: 'none', - }, - }, - legend: { - enabled: true, - align: 'right', - verticalAlign: 'middle', - layout: 'vertical', - width: '65%', - x: -10, - margin: 0, - itemWidth: 300, - itemMarginTop: 2, - itemMarginBottom: 2, - }, - plotOptions: { - pie: { - size: 80, - dataLabels: { - enabled: false, - }, - showInLegend: true, - center: ['50%', -20], // eslint-disable-line - }, - }, - credits: { - enabled: false, - }, - tooltip: { - borderRadius: 12, - }, - series: [ - { - type: 'pie', - name: t('Orders Count'), - innerSize: '70%', - data: [ - { - y: finished, - name: `${t('Finished')}`, - color: '#90ed7d', - }, - { - y: inSlot, - name: `${t('In Progress')} (${t('In Slot')})`, - color: '#8085e9', - }, - { - y: outOfSlot, - name: `${t('In Progress')} (${t('Out of Slot')})`, - color: '#f45b5b', - }, - ], - }, - ], - }); - }, [t, finished, inSlot, outOfSlot]); - - return ( - - ); -}; diff --git a/src/components/feemarket/Overview.tsx b/src/components/feemarket/Overview.tsx deleted file mode 100644 index 904c23d7..00000000 --- a/src/components/feemarket/Overview.tsx +++ /dev/null @@ -1,227 +0,0 @@ -import { Card, Spin } from 'antd'; -import { useTranslation } from 'react-i18next'; -import { useCallback, useEffect, useState } from 'react'; -import type { Option, Vec, u128 } from '@polkadot/types'; -import { Balance, AccountId32 } from '@polkadot/types/interfaces'; -import { switchMap, from, forkJoin, EMPTY } from 'rxjs'; -import { formatDistanceStrict } from 'date-fns'; - -import { Statistics } from '../widget/Statistics'; -import { FEE_MARKET_OVERVIEW, TOTAL_ORDERS_OVERVIEW, FEE_HISTORY } from '../../config'; -import { useApi, useCustomQuery } from '../../hooks'; -import { getFeeMarketApiSection, transformTotalOrdersOverview, transformFeeHistory } from '../../utils'; -import { PalletFeeMarketRelayer, DarwiniaChain, MarketEntity, OrderEntity, FeeEntity } from '../../model'; -import { TooltipBalance } from '../../components/widget/TooltipBalance'; -import { TotalOrdersChart } from './TotalOrdersChart'; -import { FeeHistoryChart } from './FeeHistoryChart'; - -// eslint-disable-next-line complexity -export const Overview = ({ - destination, - setRefresh, -}: { - destination: DarwiniaChain; - setRefresh: (fn: () => void) => void; -}) => { - const { api, network } = useApi(); - const { t } = useTranslation(); - - const [currentFee, setCurrentFee] = useState<{ value?: Balance; loading: boolean }>({ loading: true }); - const [totalRelayers, setTotalRelayers] = useState<{ total: number; active: number; loading: boolean }>({ - total: 0, - active: 0, - loading: true, - }); - - const { - data: feeMarketOverviewData, - loading: feeMarketOverviewLoading, - refetch: refetchFeeMarketOverview, - } = useCustomQuery< - { market: Pick | null }, - { destination: DarwiniaChain } - >(FEE_MARKET_OVERVIEW, { - variables: { - destination, - }, - }); - - const { transformedData: totalOrdersOverviewData, refetch: refetchTotalOrdersOverview } = useCustomQuery< - { orders: { nodes: Pick[] } | null }, - { destination: DarwiniaChain }, - [number, number][] - >( - TOTAL_ORDERS_OVERVIEW, - { - variables: { - destination, - }, - }, - transformTotalOrdersOverview - ); - - const { transformedData: feeHistoryData, refetch: refetchFeeHistory } = useCustomQuery< - { feeHistory: Pick | null }, - { destination: DarwiniaChain }, - [number, number][] - >( - FEE_HISTORY, - { - variables: { - destination, - }, - }, - transformFeeHistory - ); - - const updateTotalRelayers = useCallback(() => { - const apiSection = getFeeMarketApiSection(api, destination); - - if (apiSection) { - setTotalRelayers((prev) => ({ ...prev, loading: true })); - - return from(api.query[apiSection].relayers>()) - .pipe( - switchMap((total) => { - return total.length - ? forkJoin(total.map((relayer) => api.query[apiSection].relayersMap(relayer))) - : EMPTY; - }) - ) - .subscribe({ - next: (relayers) => { - let active = 0; - const collateralPerOrder = api.consts[apiSection].collateralPerOrder as u128; - - relayers.forEach((relayer) => { - if (relayer.collateral.gte(collateralPerOrder)) { - // https://github.com/darwinia-network/apps/issues/314 - active++; - } - }); - - setTotalRelayers({ - active, - total: relayers.length, - loading: false, - }); - }, - complete: () => setTotalRelayers((prev) => ({ ...prev, loading: false })), - error: () => setTotalRelayers((prev) => ({ ...prev, loading: false })), - }); - } - - return EMPTY.subscribe(); - }, [api, destination]); - - const updateCurrentFee = useCallback(() => { - const apiSection = getFeeMarketApiSection(api, destination); - - if (apiSection) { - setCurrentFee((prev) => ({ ...prev, loading: true })); - - return from(api.query[apiSection].assignedRelayers>>()).subscribe((res) => { - if (res.isSome) { - const lastOne = res.unwrap().pop(); - setCurrentFee({ loading: false, value: lastOne?.fee }); - } else { - setCurrentFee({ loading: false, value: undefined }); - } - }); - } - - return EMPTY.subscribe(); - }, [api, destination]); - - useEffect(() => { - setRefresh(() => () => { - updateTotalRelayers(); - updateCurrentFee(); - refetchFeeMarketOverview(); - refetchTotalOrdersOverview(); - refetchFeeHistory(); - }); - }, [ - setRefresh, - updateTotalRelayers, - updateCurrentFee, - refetchFeeMarketOverview, - refetchTotalOrdersOverview, - refetchFeeHistory, - ]); - - useEffect(() => { - const sub$$ = updateTotalRelayers(); - return () => sub$$.unsubscribe(); - }, [updateTotalRelayers]); - - useEffect(() => { - const sub$$ = updateCurrentFee(); - return () => sub$$.unsubscribe(); - }, [updateCurrentFee]); - - return ( - <> - -
    - - {`${totalRelayers.active} / ${totalRelayers.total}`} - - } - /> - - - {formatDistanceStrict(Date.now(), Date.now() + (feeMarketOverviewData?.market?.averageSpeed || 0))} - - - } - /> - - - {network.tokens.ring.symbol} - - } - /> - - - {network.tokens.ring.symbol} - - } - /> - - {feeMarketOverviewData?.market?.totalOrders || 0} - - } - /> -
    -
    -
    - - -
    - - ); -}; diff --git a/src/components/feemarket/QuoteHistoryChart.tsx b/src/components/feemarket/QuoteHistoryChart.tsx deleted file mode 100644 index 0419159c..00000000 --- a/src/components/feemarket/QuoteHistoryChart.tsx +++ /dev/null @@ -1,120 +0,0 @@ -import { useEffect, useState, useMemo } from 'react'; -import { useTranslation } from 'react-i18next'; -import Highcharts from 'highcharts/highstock'; -import HighchartsReact from 'highcharts-react-official'; - -import { useApi } from 'src/hooks'; - -export const QuoteHistoryChart = ({ data }: { data: [number, number][] }) => { - const { network } = useApi(); - const { t } = useTranslation(); - const [options, setOptions] = useState({}); - - const mainColor = useMemo(() => { - switch (network.name) { - case 'darwinia': - return '#FF0083'; - case 'crab': - case 'pangolin': - case 'pangoro': - default: - return '#8085e9'; - } - }, [network.name]); - - useEffect(() => { - setOptions({ - chart: { - spacingLeft: 30, - spacingRight: 30, - spacingBottom: 0, - spacingTop: 20, - }, - title: { - text: t('Quote History'), - align: 'left', - margin: 0, - }, - series: [ - { - type: 'line', - name: t('Quote'), - color: mainColor, - data: [...data], - }, - ], - tooltip: { - borderRadius: 12, - dateTimeLabelFormats: { - millisecond: '%Y/%m/%d(+UTC)', - second: '%Y/%m/%d(+UTC)', - minute: '%Y/%m/%d(+UTC)', - hour: '%Y/%m/%d(+UTC)', - day: '%Y/%m/%d(+UTC)', - }, - }, - credits: { - enabled: false, - }, - navigator: { - enabled: false, - }, - scrollbar: { - enabled: false, - }, - xAxis: { - labels: { - format: '{value:%e. %b}', - }, - }, - yAxis: [ - { - opposite: false, - }, - ], - rangeSelector: { - inputEnabled: false, - labelStyle: { - display: 'none', - width: 0, - }, - buttonTheme: { - r: 4, - }, - buttonPosition: { - align: 'right', - y: -20, - }, - buttons: [ - { - type: 'all', - text: t('All'), - title: t('View all'), - }, - { - type: 'week', - count: 1, - text: t('7D'), - title: t('View 7 days'), - }, - { - type: 'month', - count: 1, - text: t('30D'), - title: t('View 30 days'), - }, - ], - selected: 0, - }, - }); - }, [t, data, mainColor]); - - return ( - - ); -}; diff --git a/src/components/feemarket/RelayerDetail.tsx b/src/components/feemarket/RelayerDetail.tsx deleted file mode 100644 index b71e067f..00000000 --- a/src/components/feemarket/RelayerDetail.tsx +++ /dev/null @@ -1,207 +0,0 @@ -import { Card, Breadcrumb, Table } from 'antd'; -import { NavLink, Link, useLocation } from 'react-router-dom'; -import { ColumnsType } from 'antd/lib/table'; -import { useEffect } from 'react'; -import { formatDistanceStrict } from 'date-fns'; -import { BN } from '@polkadot/util'; -import { useTranslation } from 'react-i18next'; - -import { - SearchParamsKey, - RelayerRole, - FeeMarketTab, - DarwiniaChain, - RelayerOrdersDataSource, - SlashEntity, - RewardEntity, - QuoteEntity, - OrderEntity, -} from '../../model'; -import { AccountName } from '../widget/account/AccountName'; -import { RELAYER_REWARD_SLASH, QUOTE_HISTORY, RELAYER_ORDERS } from '../../config'; -import { useApi, useCustomQuery } from '../../hooks'; -import { - fromWei, - prettyNumber, - transformRelayerQuotes, - transformRelayerOrders, - transformRelayerRewardSlash, -} from '../../utils'; -import { RewardAndSlashChart } from './RewardAndSlashChart'; -import { QuoteHistoryChart } from './QuoteHistoryChart'; - -export const RelayerDetail = ({ - relayer: relayerAddress, - destination, - setRefresh, -}: { - relayer: string; - destination: DarwiniaChain; - setRefresh: (fn: () => void) => void; -}) => { - const { network } = useApi(); - const { t } = useTranslation(); - const { pathname } = useLocation(); - - const { transformedData: rewardSlashData, refetch: refetchRewardAndSlash } = useCustomQuery< - { - relayer: { - slashes: { nodes: Pick[] } | null; - rewards: { nodes: Pick[] } | null; - } | null; - }, - { relayerId: string }, - { rewards: [number, number][]; slashs: [number, number][] } - >( - RELAYER_REWARD_SLASH, - { - variables: { - relayerId: `${destination}-${relayerAddress}`, - }, - }, - transformRelayerRewardSlash - ); - - const { transformedData: quoteData, refetch: refetchQuote } = useCustomQuery< - { quoteHistory: Pick | null }, - { relayerId: string }, - [number, number][] - >( - QUOTE_HISTORY, - { - variables: { - relayerId: `${destination}-${relayerAddress}`, - }, - }, - transformRelayerQuotes - ); - - const { - loading: relayerOrdersLoading, - transformedData: relayerOrdersData, - refetch: refetchRelayerOrders, - } = useCustomQuery< - { - relayer?: { - slashes: { - nodes: (Pick & { - order: Pick | null; - })[]; - } | null; - rewards: { - nodes: (Pick & { - order: Pick | null; - })[]; - } | null; - } | null; - }, - { relayerId: string }, - RelayerOrdersDataSource[] - >( - RELAYER_ORDERS, - { - variables: { - relayerId: `${destination}-${relayerAddress}`, - }, - }, - transformRelayerOrders - ); - - useEffect(() => { - setRefresh(() => () => { - refetchRewardAndSlash(); - refetchQuote(); - refetchRelayerOrders(); - }); - }, [setRefresh, refetchRewardAndSlash, refetchQuote, refetchRelayerOrders]); - - const columns: ColumnsType = [ - { - title: t('Order ID'), - align: 'center', - render: (_, record) => { - const searchParams = new URLSearchParams(); - searchParams.set(SearchParamsKey.RPC, encodeURIComponent(network.provider.rpc)); - searchParams.set(SearchParamsKey.DESTINATION, destination); - searchParams.set(SearchParamsKey.TAB, FeeMarketTab.OREDERS); - searchParams.set(SearchParamsKey.LANE, record.lane); - searchParams.set(SearchParamsKey.NONCE, record.nonce); - return {record.nonce}; - }, - }, - { - title: t('Relayer Roles'), - key: 'relayerRoles', - dataIndex: 'relayerRoles', - align: 'center', - render: (value: RelayerRole[]) => ( -
    - {value.map((role) => ( - {t(role)} - ))} -
    - ), - }, - { - title: t('Reward'), - key: 'reward', - dataIndex: 'reward', - align: 'center', - render: (value: BN) => - value.isZero() ? ( - '0' - ) : ( - - {fromWei({ value }, prettyNumber)} {network.tokens.ring.symbol} - - ), - }, - { - title: t('Slash'), - key: 'slash', - dataIndex: 'slash', - align: 'center', - render: (value: BN) => - value.isZero() ? ( - '0' - ) : ( - - {fromWei({ value }, prettyNumber)} {network.tokens.ring.symbol} - - ), - }, - { - title: t('Time'), - align: 'center', - render: (_, record) => - formatDistanceStrict(new Date(`${record.createBlockTime}Z`), Date.now(), { addSuffix: true }), - }, - ]; - - return ( - <> - - - {t('Relayers')} - - - - - - -
    - - -
    - - -
    `${record.lane}-${record.nonce}`} - loading={relayerOrdersLoading} - /> - - - ); -}; diff --git a/src/components/feemarket/Relayers.tsx b/src/components/feemarket/Relayers.tsx deleted file mode 100644 index 2d826add..00000000 --- a/src/components/feemarket/Relayers.tsx +++ /dev/null @@ -1,233 +0,0 @@ -import { useEffect, useState, useRef, useCallback } from 'react'; -import { Table, Input, Radio, Card } from 'antd'; -import type { ColumnsType } from 'antd/lib/table'; -import { NavLink } from 'react-router-dom'; -import { from, switchMap, forkJoin, Subscription, EMPTY } from 'rxjs'; -import type { Option, Vec } from '@polkadot/types'; -import { BN, bnToBn } from '@polkadot/util'; -import type { Balance, AccountId32 } from '@polkadot/types/interfaces'; -import { useApolloClient } from '@apollo/client'; -import { useTranslation } from 'react-i18next'; - -import { getFeeMarketApiSection, fromWei, prettyNumber } from '../../utils'; -import { useApi } from '../../hooks'; -import { PalletFeeMarketRelayer, DarwiniaChain, SearchParamsKey, FeeMarketTab, RelayerEntity } from '../../model'; -import { RELAYER_OVERVIEW } from '../../config'; -import { IdentAccountName } from '../widget/account/IdentAccountName'; - -enum RelayerTab { - ALL, - ASSIGNED, -} - -interface DataSourceState { - relayer: string; - orders: number; - collateral: Balance; - quote: Balance; - reward: BN; - slash: BN; -} - -const renderBalance = (value: Balance | string | number, symbol: string): string => - bnToBn(value).isZero() ? '0' : `${fromWei({ value }, prettyNumber)} ${symbol}`; - -export const Relayers = ({ - destination, - setRefresh, -}: { - destination: DarwiniaChain; - setRefresh: (fn: () => void) => void; -}) => { - const { api, network } = useApi(); - const apollo = useApolloClient(); - const { t } = useTranslation(); - const dataSourceRef = useRef([]); - const [activeKey, setActiveKey] = useState(RelayerTab.ALL); - const [loading, setLoading] = useState(false); - const [dataSource, setDataSource] = useState([]); - const [relayers, setRelayers] = useState([]); - - const columns: ColumnsType = [ - { - title: ( -
    - {t('Relayer')} -
    - ), - key: 'relayer', - dataIndex: 'relayer', - render: (value) => { - const searchParams = new URLSearchParams(); - searchParams.set(SearchParamsKey.RPC, encodeURIComponent(network.provider.rpc)); - searchParams.set(SearchParamsKey.DESTINATION, destination); - searchParams.set(SearchParamsKey.TAB, FeeMarketTab.RELAYERS); - searchParams.set(SearchParamsKey.RELAYER, value); - return ( - - - - ); - }, - }, - { - title: t('Count(orders)'), - key: 'orders', - dataIndex: 'orders', - align: 'center', - sorter: (a, b) => a.orders - b.orders, - }, - { - title: t('Collateral'), - key: 'collateral', - dataIndex: 'collateral', - align: 'center', - render: (value) => renderBalance(value, network.tokens.ring.symbol), - sorter: (a, b) => a.collateral.cmp(b.collateral), - }, - { - title: t('Quote'), - key: 'quote', - dataIndex: 'quote', - align: 'center', - render: (value) => renderBalance(value, network.tokens.ring.symbol), - sorter: (a, b) => a.quote.cmp(b.quote), - }, - { - title: t('Sum(reward)'), - key: 'reward', - dataIndex: 'reward', - align: 'center', - render: (value) => renderBalance(value, network.tokens.ring.symbol), - sorter: (a, b) => a.reward.cmp(b.reward), - }, - { - title: t('Sum(slash)'), - key: 'slash', - dataIndex: 'slash', - align: 'center', - render: (value) => renderBalance(value, network.tokens.ring.symbol), - sorter: (a, b) => a.slash.cmp(b.slash), - }, - ]; - - const handleFilterChange = useCallback((e) => { - if (e.target.value) { - setDataSource( - dataSourceRef.current.filter((item) => item.relayer.toLowerCase().includes(e.target.value.toLowerCase())) - ); - } else { - setDataSource(dataSourceRef.current); - } - }, []); - - const updateRelayers = useCallback(() => { - const apiSection = getFeeMarketApiSection(api, destination); - - if (apiSection) { - if (activeKey === RelayerTab.ALL) { - setLoading(true); - - from(api.query[apiSection].relayers>()) - .pipe( - switchMap((res) => - forkJoin(res.map((item) => api.query[apiSection].relayersMap(item))) - ) - ) - .subscribe({ - next: (res) => { - setLoading(false); - setRelayers(res); - }, - complete: () => setLoading(false), - }); - } else if (activeKey === RelayerTab.ASSIGNED) { - setLoading(true); - - from(api.query[apiSection].assignedRelayers>>()).subscribe((res) => { - setLoading(false); - setRelayers(res.isSome ? res.unwrap() : []); - }); - } - } - - return EMPTY.subscribe(); - }, [api, destination, activeKey]); - - useEffect(() => { - let sub$$: Subscription; - - if (relayers.length) { - setLoading(true); - - sub$$ = forkJoin( - relayers.map((relayer) => - apollo.query< - { relayer: Pick | null }, - { relayerId: string } - >({ - query: RELAYER_OVERVIEW, - variables: { relayerId: `${destination}-${relayer.id.toString()}` }, - }) - ) - ).subscribe((res) => { - dataSourceRef.current = res.map(({ data }, index) => { - const relayer = relayers[index]; - return { - relayer: relayer.id.toString(), - orders: data.relayer?.totalOrders || 0, - collateral: relayer.collateral, - quote: relayer.fee, - slash: bnToBn(data.relayer?.totalSlashes), - reward: bnToBn(data.relayer?.totalRewards), - }; - }); - setDataSource(dataSourceRef.current); - setLoading(false); - }); - } else { - dataSourceRef.current = []; - setDataSource([]); - } - - return () => { - setLoading(false); - sub$$?.unsubscribe(); - }; - }, [relayers, apollo, destination]); - - useEffect(() => { - setRefresh(() => () => { - updateRelayers(); - }); - }, [setRefresh, updateRelayers]); - - useEffect(() => { - const sub$$ = updateRelayers(); - return () => sub$$.unsubscribe(); - }, [updateRelayers]); - - return ( - <> -
    - setActiveKey(e.target.value)} value={activeKey}> - - {t('All Relayers')} - - - {t('Assigned Relayers')} - - - -
    - -
    - - - ); -}; diff --git a/src/components/feemarket/RewardAndSlashChart.tsx b/src/components/feemarket/RewardAndSlashChart.tsx deleted file mode 100644 index 39d9337a..00000000 --- a/src/components/feemarket/RewardAndSlashChart.tsx +++ /dev/null @@ -1,120 +0,0 @@ -import { useEffect, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import Highcharts from 'highcharts/highstock'; -import HighchartsReact from 'highcharts-react-official'; - -// https://api.highcharts.com/highcharts/colors -// const colors = ["#7cb5ec", "#434348", "#90ed7d", "#f7a35c", "#8085e9", "#f15c80", "#e4d354", "#2b908f", "#f45b5b", "#91e8e1"]; // highcharts default colors - -export const RewardAndSlashChart = ({ - rewardData, - slashData, -}: { - rewardData: [number, number][]; - slashData: [number, number][]; -}) => { - const { t } = useTranslation(); - const [options, setOptions] = useState({}); - - useEffect(() => { - setOptions({ - chart: { - spacingLeft: 30, - spacingRight: 30, - spacingBottom: 0, - spacingTop: 20, - }, - title: { - text: t('Reward & Slash'), - align: 'left', - margin: 0, - }, - series: [ - { - type: 'column', - name: t('Reward'), - color: '#90ed7d', - data: [...rewardData], - }, - { - type: 'column', - name: t('Slash'), - color: '#f45b5b', - data: [...slashData], - }, - ], - tooltip: { - borderRadius: 12, - dateTimeLabelFormats: { - millisecond: '%Y/%m/%d(+UTC)', - second: '%Y/%m/%d(+UTC)', - minute: '%Y/%m/%d(+UTC)', - hour: '%Y/%m/%d(+UTC)', - day: '%Y/%m/%d(+UTC)', - }, - }, - credits: { - enabled: false, - }, - navigator: { - enabled: false, - }, - scrollbar: { - enabled: false, - }, - xAxis: { - labels: { - format: '{value:%e. %b}', - }, - }, - yAxis: [ - { - opposite: false, - }, - ], - rangeSelector: { - inputEnabled: false, - labelStyle: { - display: 'none', - width: 0, - }, - buttonTheme: { - r: 4, - }, - buttonPosition: { - align: 'right', - y: -20, - }, - buttons: [ - { - type: 'all', - text: t('All'), - title: t('View all'), - }, - { - type: 'week', - count: 1, - text: t('7D'), - title: t('View 7 days'), - }, - { - type: 'month', - count: 1, - text: t('30D'), - title: t('View 30 days'), - }, - ], - selected: 0, - }, - }); - }, [t, rewardData, slashData]); - - return ( - - ); -}; diff --git a/src/components/feemarket/TotalOrdersChart.tsx b/src/components/feemarket/TotalOrdersChart.tsx deleted file mode 100644 index 56db499d..00000000 --- a/src/components/feemarket/TotalOrdersChart.tsx +++ /dev/null @@ -1,120 +0,0 @@ -import { useEffect, useMemo, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import Highcharts from 'highcharts/highstock'; -import HighchartsReact from 'highcharts-react-official'; - -import { useApi } from 'src/hooks'; - -export const TotalOrdersChart = ({ data }: { data: [number, number][] }) => { - const { network } = useApi(); - const { t } = useTranslation(); - const [options, setOptions] = useState({}); - - const mainColor = useMemo(() => { - switch (network.name) { - case 'darwinia': - return '#FF0083'; - case 'crab': - case 'pangolin': - case 'pangoro': - default: - return '#8085e9'; - } - }, [network.name]); - - useEffect(() => { - setOptions({ - chart: { - spacingLeft: 30, - spacingRight: 30, - spacingBottom: 0, - spacingTop: 20, - }, - title: { - text: t('Total Orders'), - align: 'left', - margin: 0, - }, - series: [ - { - type: 'column', - name: t('Orders'), - color: mainColor, - data: [...data], - }, - ], - tooltip: { - borderRadius: 12, - dateTimeLabelFormats: { - millisecond: '%Y/%m/%d(+UTC)', - second: '%Y/%m/%d(+UTC)', - minute: '%Y/%m/%d(+UTC)', - hour: '%Y/%m/%d(+UTC)', - day: '%Y/%m/%d(+UTC)', - }, - }, - credits: { - enabled: false, - }, - navigator: { - enabled: false, - }, - scrollbar: { - enabled: false, - }, - xAxis: { - labels: { - format: '{value:%e. %b}', - }, - }, - yAxis: [ - { - opposite: false, - }, - ], - rangeSelector: { - inputEnabled: false, - labelStyle: { - display: 'none', - width: 0, - }, - buttonTheme: { - r: 4, - }, - buttonPosition: { - align: 'right', - y: -20, - }, - buttons: [ - { - type: 'all', - text: t('All'), - title: t('View all'), - }, - { - type: 'week', - count: 1, - text: t('7D'), - title: t('View 7 days'), - }, - { - type: 'month', - count: 1, - text: t('30D'), - title: t('View 30 days'), - }, - ], - selected: 0, - }, - }); - }, [t, data, mainColor]); - - return ( - - ); -}; diff --git a/src/components/icons/account.tsx b/src/components/icons/account.tsx deleted file mode 100644 index d3f7072c..00000000 --- a/src/components/icons/account.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Icon() { - return ( - - - - - - - - - - - - ); -} - -export const AccountIcon = svgIconFactory(Icon); diff --git a/src/components/icons/chart.tsx b/src/components/icons/chart.tsx deleted file mode 100644 index b73f4a9d..00000000 --- a/src/components/icons/chart.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Chart() { - return ( - - - - ); -} - -export const ChartIcon = svgIconFactory(Chart); diff --git a/src/components/icons/close.tsx b/src/components/icons/close.tsx deleted file mode 100644 index f7e3d4f2..00000000 --- a/src/components/icons/close.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Close() { - return ( - - - - - - - ); -} - -export const CloseIcon = svgIconFactory(Close); diff --git a/src/components/icons/copy.tsx b/src/components/icons/copy.tsx deleted file mode 100644 index 3749fe20..00000000 --- a/src/components/icons/copy.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Copy() { - return ( - - - - - - - ); -} - -export const CopyIcon = svgIconFactory(Copy); diff --git a/src/components/icons/crab.tsx b/src/components/icons/crab.tsx deleted file mode 100644 index 315ec605..00000000 --- a/src/components/icons/crab.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Icon() { - return ( - - C1 - - - - - - - - - - ); -} - -export const CrabIcon = svgIconFactory(Icon); diff --git a/src/components/icons/darwinia.tsx b/src/components/icons/darwinia.tsx deleted file mode 100644 index fa6a8f3f..00000000 --- a/src/components/icons/darwinia.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Icon() { - return ( - - - - - - ); -} - -export const DarwiniaIcon = svgIconFactory(Icon); diff --git a/src/components/icons/down.tsx b/src/components/icons/down.tsx deleted file mode 100644 index dd00713b..00000000 --- a/src/components/icons/down.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Down() { - return ( - - - - - - - - - - - - - ); -} - -export const DownIcon = svgIconFactory(Down); diff --git a/src/components/icons/earth.tsx b/src/components/icons/earth.tsx deleted file mode 100644 index 4e288d65..00000000 --- a/src/components/icons/earth.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Earth() { - return ( - - - - - - - - - - ); -} - -export const EarthIcon = svgIconFactory(Earth); diff --git a/src/components/icons/email.tsx b/src/components/icons/email.tsx deleted file mode 100644 index 53892d7a..00000000 --- a/src/components/icons/email.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Email() { - return ( - - icon/mail - Created with Sketch. - - - - - - ); -} - -export const EmailIcon = svgIconFactory(Email); diff --git a/src/components/icons/github.tsx b/src/components/icons/github.tsx deleted file mode 100644 index a3f59154..00000000 --- a/src/components/icons/github.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Swap() { - return ( - - - - - - - - - - - ); -} - -export const GithubIcon = svgIconFactory(Swap); diff --git a/src/components/icons/icon-factory.tsx b/src/components/icons/icon-factory.tsx deleted file mode 100644 index e4fb5b63..00000000 --- a/src/components/icons/icon-factory.tsx +++ /dev/null @@ -1,381 +0,0 @@ -import Icon from '@ant-design/icons'; -import { CustomIconComponentProps, IconComponentProps } from '@ant-design/icons/lib/components/Icon'; -import React from 'react'; - -export type IconProps = Pick< - IconComponentProps, - | 'max' - | 'required' - | 'default' - | 'high' - | 'low' - | 'disabled' - | 'start' - | 'open' - | 'media' - | 'hidden' - | 'cite' - | 'data' - | 'dir' - | 'form' - | 'label' - | 'slot' - | 'span' - | 'style' - | 'summary' - | 'title' - | 'pattern' - | 'async' - | 'defer' - | 'manifest' - | 'color' - | 'content' - | 'size' - | 'wrap' - | 'multiple' - | 'height' - | 'rotate' - | 'translate' - | 'width' - | 'prefix' - | 'src' - | 'children' - | 'key' - | 'list' - | 'step' - | 'value' - | 'aria-label' - | 'viewBox' - | 'component' - | 'ariaLabel' - | 'spin' - | 'accept' - | 'acceptCharset' - | 'action' - | 'allowFullScreen' - | 'allowTransparency' - | 'alt' - | 'as' - | 'autoComplete' - | 'autoFocus' - | 'autoPlay' - | 'capture' - | 'cellPadding' - | 'cellSpacing' - | 'charSet' - | 'challenge' - | 'checked' - | 'classID' - | 'cols' - | 'colSpan' - | 'controls' - | 'coords' - | 'crossOrigin' - | 'dateTime' - | 'download' - | 'encType' - | 'formAction' - | 'formEncType' - | 'formMethod' - | 'formNoValidate' - | 'formTarget' - | 'frameBorder' - | 'headers' - | 'href' - | 'hrefLang' - | 'htmlFor' - | 'httpEquiv' - | 'integrity' - | 'keyParams' - | 'keyType' - | 'kind' - | 'loop' - | 'marginHeight' - | 'marginWidth' - | 'maxLength' - | 'mediaGroup' - | 'method' - | 'min' - | 'minLength' - | 'muted' - | 'name' - | 'nonce' - | 'noValidate' - | 'optimum' - | 'placeholder' - | 'playsInline' - | 'poster' - | 'preload' - | 'readOnly' - | 'rel' - | 'reversed' - | 'rows' - | 'rowSpan' - | 'sandbox' - | 'scope' - | 'scoped' - | 'scrolling' - | 'seamless' - | 'selected' - | 'shape' - | 'sizes' - | 'srcDoc' - | 'srcLang' - | 'srcSet' - | 'target' - | 'type' - | 'useMap' - | 'wmode' - | 'defaultChecked' - | 'defaultValue' - | 'suppressContentEditableWarning' - | 'suppressHydrationWarning' - | 'accessKey' - | 'className' - | 'contentEditable' - | 'contextMenu' - | 'draggable' - | 'id' - | 'lang' - | 'spellCheck' - | 'tabIndex' - | 'radioGroup' - | 'role' - | 'about' - | 'datatype' - | 'inlist' - | 'property' - | 'resource' - | 'typeof' - | 'vocab' - | 'autoCapitalize' - | 'autoCorrect' - | 'autoSave' - | 'itemProp' - | 'itemScope' - | 'itemType' - | 'itemID' - | 'itemRef' - | 'results' - | 'security' - | 'unselectable' - | 'inputMode' - | 'is' - | 'aria-activedescendant' - | 'aria-atomic' - | 'aria-autocomplete' - | 'aria-busy' - | 'aria-checked' - | 'aria-colcount' - | 'aria-colindex' - | 'aria-colspan' - | 'aria-controls' - | 'aria-current' - | 'aria-describedby' - | 'aria-details' - | 'aria-disabled' - | 'aria-dropeffect' - | 'aria-errormessage' - | 'aria-expanded' - | 'aria-flowto' - | 'aria-grabbed' - | 'aria-haspopup' - | 'aria-hidden' - | 'aria-invalid' - | 'aria-keyshortcuts' - | 'aria-labelledby' - | 'aria-level' - | 'aria-live' - | 'aria-modal' - | 'aria-multiline' - | 'aria-multiselectable' - | 'aria-orientation' - | 'aria-owns' - | 'aria-placeholder' - | 'aria-posinset' - | 'aria-pressed' - | 'aria-readonly' - | 'aria-relevant' - | 'aria-required' - | 'aria-roledescription' - | 'aria-rowcount' - | 'aria-rowindex' - | 'aria-rowspan' - | 'aria-selected' - | 'aria-setsize' - | 'aria-sort' - | 'aria-valuemax' - | 'aria-valuemin' - | 'aria-valuenow' - | 'aria-valuetext' - | 'dangerouslySetInnerHTML' - | 'onCopy' - | 'onCopyCapture' - | 'onCut' - | 'onCutCapture' - | 'onPaste' - | 'onPasteCapture' - | 'onCompositionEnd' - | 'onCompositionEndCapture' - | 'onCompositionStart' - | 'onCompositionStartCapture' - | 'onCompositionUpdate' - | 'onCompositionUpdateCapture' - | 'onFocus' - | 'onFocusCapture' - | 'onBlur' - | 'onBlurCapture' - | 'onChange' - | 'onChangeCapture' - | 'onBeforeInput' - | 'onBeforeInputCapture' - | 'onInput' - | 'onInputCapture' - | 'onReset' - | 'onResetCapture' - | 'onSubmit' - | 'onSubmitCapture' - | 'onInvalid' - | 'onInvalidCapture' - | 'onLoad' - | 'onLoadCapture' - | 'onError' - | 'onErrorCapture' - | 'onKeyDown' - | 'onKeyDownCapture' - | 'onKeyPress' - | 'onKeyPressCapture' - | 'onKeyUp' - | 'onKeyUpCapture' - | 'onAbort' - | 'onAbortCapture' - | 'onCanPlay' - | 'onCanPlayCapture' - | 'onCanPlayThrough' - | 'onCanPlayThroughCapture' - | 'onDurationChange' - | 'onDurationChangeCapture' - | 'onEmptied' - | 'onEmptiedCapture' - | 'onEncrypted' - | 'onEncryptedCapture' - | 'onEnded' - | 'onEndedCapture' - | 'onLoadedData' - | 'onLoadedDataCapture' - | 'onLoadedMetadata' - | 'onLoadedMetadataCapture' - | 'onLoadStart' - | 'onLoadStartCapture' - | 'onPause' - | 'onPauseCapture' - | 'onPlay' - | 'onPlayCapture' - | 'onPlaying' - | 'onPlayingCapture' - | 'onProgress' - | 'onProgressCapture' - | 'onRateChange' - | 'onRateChangeCapture' - | 'onSeeked' - | 'onSeekedCapture' - | 'onSeeking' - | 'onSeekingCapture' - | 'onStalled' - | 'onStalledCapture' - | 'onSuspend' - | 'onSuspendCapture' - | 'onTimeUpdate' - | 'onTimeUpdateCapture' - | 'onVolumeChange' - | 'onVolumeChangeCapture' - | 'onWaiting' - | 'onWaitingCapture' - | 'onAuxClick' - | 'onAuxClickCapture' - | 'onClick' - | 'onClickCapture' - | 'onContextMenu' - | 'onContextMenuCapture' - | 'onDoubleClick' - | 'onDoubleClickCapture' - | 'onDrag' - | 'onDragCapture' - | 'onDragEnd' - | 'onDragEndCapture' - | 'onDragEnter' - | 'onDragEnterCapture' - | 'onDragExit' - | 'onDragExitCapture' - | 'onDragLeave' - | 'onDragLeaveCapture' - | 'onDragOver' - | 'onDragOverCapture' - | 'onDragStart' - | 'onDragStartCapture' - | 'onDrop' - | 'onDropCapture' - | 'onMouseDown' - | 'onMouseDownCapture' - | 'onMouseEnter' - | 'onMouseLeave' - | 'onMouseMove' - | 'onMouseMoveCapture' - | 'onMouseOut' - | 'onMouseOutCapture' - | 'onMouseOver' - | 'onMouseOverCapture' - | 'onMouseUp' - | 'onMouseUpCapture' - | 'onSelect' - | 'onSelectCapture' - | 'onTouchCancel' - | 'onTouchCancelCapture' - | 'onTouchEnd' - | 'onTouchEndCapture' - | 'onTouchMove' - | 'onTouchMoveCapture' - | 'onTouchStart' - | 'onTouchStartCapture' - | 'onPointerDown' - | 'onPointerDownCapture' - | 'onPointerMove' - | 'onPointerMoveCapture' - | 'onPointerUp' - | 'onPointerUpCapture' - | 'onPointerCancel' - | 'onPointerCancelCapture' - | 'onPointerEnter' - | 'onPointerEnterCapture' - | 'onPointerLeave' - | 'onPointerLeaveCapture' - | 'onPointerOver' - | 'onPointerOverCapture' - | 'onPointerOut' - | 'onPointerOutCapture' - | 'onGotPointerCapture' - | 'onGotPointerCaptureCapture' - | 'onLostPointerCapture' - | 'onLostPointerCaptureCapture' - | 'onScroll' - | 'onScrollCapture' - | 'onWheel' - | 'onWheelCapture' - | 'onAnimationStart' - | 'onAnimationStartCapture' - | 'onAnimationEnd' - | 'onAnimationEndCapture' - | 'onAnimationIteration' - | 'onAnimationIterationCapture' - | 'onTransitionEnd' - | 'onTransitionEndCapture' -> & - React.RefAttributes; - -export const svgIconFactory = - ( - Component: React.ComponentType> - // eslint-disable-next-line react/display-name - ) => - (props: IconProps) => - ; diff --git a/src/components/icons/index.ts b/src/components/icons/index.ts deleted file mode 100644 index ef88ddff..00000000 --- a/src/components/icons/index.ts +++ /dev/null @@ -1,24 +0,0 @@ -export * from './close'; -export * from './copy'; -export * from './crab'; -export * from './darwinia'; -export * from './telegram'; -export * from './down'; -export * from './earth'; -export * from './email'; -export * from './users'; -export * from './jazzicon'; -export * from './medium'; -export * from './moon'; -export * from './pangolin'; -export * from './pangoro'; -export * from './staking'; -export * from './right-circle'; -export * from './toolbox'; -export * from './sun'; -export * from './account'; -export * from './github'; -export * from './twitter'; -export * from './txSend'; -export * from './view-browser'; -export * from './chart'; diff --git a/src/components/icons/jazzicon.tsx b/src/components/icons/jazzicon.tsx deleted file mode 100644 index 59a25bf8..00000000 --- a/src/components/icons/jazzicon.tsx +++ /dev/null @@ -1,59 +0,0 @@ -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore -import jazzicon from '@metamask/jazzicon'; -import { CSSProperties, useEffect, useRef } from 'react'; - -interface JazzIconProps { - address: string; - className?: string; - diameter?: number; - style?: CSSProperties; -} - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -const cache: { [key: string]: any } = {}; - -function generateIdenticonSvg(address: string, diameter: number) { - const cacheId = `${address}:${diameter}`; - // check cache, lazily generate and populate cache - const identicon = cache[cacheId] || (cache[cacheId] = generateNewIdenticon(address, diameter)); - // create a clean copy so you can modify it - const cleanCopy = identicon.cloneNode(true); - - return cleanCopy; -} - -function generateNewIdenticon(address: string, diameter: number): HTMLDivElement { - const numericRepresentation = jsNumberForAddress(address); - const identicon = jazzicon(diameter, numericRepresentation); - - return identicon; -} - -function jsNumberForAddress(address: string): number { - // eslint-disable-next-line no-magic-numbers - const addr = address.slice(2, 10); - const seed = parseInt(addr, 16); - - return seed; -} - -export function JazzIcon({ - address, - className = '', - style = {}, - // eslint-disable-next-line no-magic-numbers - diameter = 46, -}: JazzIconProps): JSX.Element { - const container = useRef(); - - useEffect(() => { - const element = generateIdenticonSvg(address, diameter); - - container.current?.childNodes.forEach((node) => container.current?.removeChild(node)); - container.current?.appendChild(element); - }, [address, diameter]); - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - return
    ; -} diff --git a/src/components/icons/medium.tsx b/src/components/icons/medium.tsx deleted file mode 100644 index 03c5bea9..00000000 --- a/src/components/icons/medium.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Icon() { - return ( - - - - - - - - - - - ); -} - -export const MediumIcon = svgIconFactory(Icon); diff --git a/src/components/icons/moon.tsx b/src/components/icons/moon.tsx deleted file mode 100644 index 9c2deccd..00000000 --- a/src/components/icons/moon.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Moon() { - return ( - - moon - - - - - - - - - - - - - - - - - - - - ); -} - -export const MoonIcon = svgIconFactory(Moon); diff --git a/src/components/icons/pangolin.tsx b/src/components/icons/pangolin.tsx deleted file mode 100644 index 505792b6..00000000 --- a/src/components/icons/pangolin.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Icon() { - return ( - - Pangolin - - - - - - - - ); -} - -export const PangolinIcon = svgIconFactory(Icon); diff --git a/src/components/icons/pangoro.tsx b/src/components/icons/pangoro.tsx deleted file mode 100644 index 12af5767..00000000 --- a/src/components/icons/pangoro.tsx +++ /dev/null @@ -1,84 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Icon() { - return ( - - 编组 2 - - - - - - - - - - - - - - - - - - - - ); -} - -export const PangoroIcon = svgIconFactory(Icon); diff --git a/src/components/icons/right-circle.tsx b/src/components/icons/right-circle.tsx deleted file mode 100644 index f57875a8..00000000 --- a/src/components/icons/right-circle.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function RightCircle() { - return ( - - - - - - - - - - - - - - ); -} - -export const RightCircleIcon = svgIconFactory(RightCircle); diff --git a/src/components/icons/staking.tsx b/src/components/icons/staking.tsx deleted file mode 100644 index 1eca86ff..00000000 --- a/src/components/icons/staking.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Icon() { - return ( - - - - - - - - - ); -} - -export const StakingIcon = svgIconFactory(Icon); diff --git a/src/components/icons/sun.tsx b/src/components/icons/sun.tsx deleted file mode 100644 index c3751e0f..00000000 --- a/src/components/icons/sun.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Sun() { - return ( - - sun - - - - - - - - - - - - - - - - - - - - - ); -} - -export const SunIcon = svgIconFactory(Sun); diff --git a/src/components/icons/telegram.tsx b/src/components/icons/telegram.tsx deleted file mode 100644 index 59323d64..00000000 --- a/src/components/icons/telegram.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Icon() { - return ( - - - - - - - - - - - ); -} - -export const TelegramIcon = svgIconFactory(Icon); diff --git a/src/components/icons/toolbox.tsx b/src/components/icons/toolbox.tsx deleted file mode 100644 index e26a9c62..00000000 --- a/src/components/icons/toolbox.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Icon() { - return ( - - - - - ); -} -export const ToolboxIcon = svgIconFactory(Icon); diff --git a/src/components/icons/twitter.tsx b/src/components/icons/twitter.tsx deleted file mode 100644 index eb9f7626..00000000 --- a/src/components/icons/twitter.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Swap() { - return ( - - - - - - - - - - - ); -} - -export const TwitterIcon = svgIconFactory(Swap); diff --git a/src/components/icons/txSend.tsx b/src/components/icons/txSend.tsx deleted file mode 100644 index b8e7826c..00000000 --- a/src/components/icons/txSend.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Icon() { - return ( - - 形状 - - - - - - - - - - - ); -} - -export const TxSendIcon = svgIconFactory(Icon); diff --git a/src/components/icons/users.tsx b/src/components/icons/users.tsx deleted file mode 100644 index 56e95ecf..00000000 --- a/src/components/icons/users.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function Icon() { - return ( - - - - - ); -} - -export const UsersIcon = svgIconFactory(Icon); diff --git a/src/components/icons/view-browser.tsx b/src/components/icons/view-browser.tsx deleted file mode 100644 index b90ed412..00000000 --- a/src/components/icons/view-browser.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { svgIconFactory } from './icon-factory'; - -function ViewBrowser() { - return ( - - - - - - - ); -} - -export const ViewBrowserIcon = svgIconFactory(ViewBrowser); diff --git a/src/components/migration/index.tsx b/src/components/migration/index.tsx deleted file mode 100644 index d57d1f6b..00000000 --- a/src/components/migration/index.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import Identicon from '@polkadot/react-identicon'; -import { Button, Card, List } from 'antd'; -import AntdLink from 'antd/lib/typography/Link'; -import FileSaver from 'file-saver'; -import { Trans, useTranslation } from 'react-i18next'; -import { EllipsisMiddle } from '../widget/EllipsisMiddle'; -import { useWallet } from '../../hooks'; -import { LOCAL_SOURCE } from '../../config'; - -const SubkeyMigration = () => { - const { t } = useTranslation(); - const { accounts } = useWallet(); - const localAccounts = accounts.filter((item) => item.meta.source === LOCAL_SOURCE); - - return ( -
    - - - {`Here are the accounts you generated on the Darwinia Apps of the old version. You can restore them in the Polkadot{.js} by importing the JSON files. `} - - Tutorial refers here. - - - - - {t('Local Accounts')}} - className="shadow-xxl" - > - ( - - } - title={{item.meta.name}} - description={} - className="flex item-center" - /> - - - - )} - /> - -
    - ); -}; - -export default SubkeyMigration; diff --git a/src/components/staking/AssetOverview.tsx b/src/components/staking/AssetOverview.tsx deleted file mode 100644 index 94b18101..00000000 --- a/src/components/staking/AssetOverview.tsx +++ /dev/null @@ -1,83 +0,0 @@ -import { QuestionCircleFilled } from '@ant-design/icons'; -import { Skeleton, Tooltip, Spin } from 'antd'; -import { useMemo } from 'react'; -import { useTranslation } from 'react-i18next'; -import type { BN } from '@polkadot/util'; -import type { Balance } from '@polkadot/types/interfaces'; -import { useStaking } from '../../hooks'; -import { AssetOverviewProps } from '../../model'; -import { isRing, getLedger } from '../../utils'; -import { TooltipBalance } from '../widget/TooltipBalance'; - -function Description({ title, value }: { title: string; value: Balance | BN | string | number | null | undefined }) { - return ( -
    - - {title} - - -
    - ); -} - -export function AssetOverview({ asset, loading }: AssetOverviewProps) { - const { t } = useTranslation(); - const { stakingDerive, isStakingLedgerEmpty, isStakingDeriveLoading } = useStaking(); - const tokenIconSrc = useMemo( - () => `/image/token/token-${(asset.token?.symbol || 'RING').toLowerCase()}.svg`, - [asset.token?.symbol] - ); - - const ledger = useMemo( - () => getLedger(asset.token.symbol, isStakingLedgerEmpty, stakingDerive), - [asset, isStakingLedgerEmpty, stakingDerive] - ); - - if (isStakingDeriveLoading) { - return ; - } - - return ( -
    -
    -
    - -

    {asset.token?.symbol}

    -
    - - - - - - {isRing(asset.token.symbol) && } - - - -
    - -

    {t('Available The amount of tokens that are able to staking, bond and transfer.')}

    - {isRing(asset.token.symbol) && ( -

    - {t( - 'Locked The amount of tokens that cannot be operated directly and has a lock limit, which is used to gain power and earn additional KTON rewards. ' - )} -

    - )} -

    - {t( - 'Bonded The amount of tokens that cannot be operated directly but does not have a lock limit, which is used to gain power and can be taken out at any time(with a 14-day unbonding period) or add lock limit.' - )} -

    -

    {t('Unbonding The amount of tokens that has been unlocked but in the unbonding period.')}

    -
    - } - placement="right" - className="absolute top-4 right-4 text-gray-400" - > - - - - ); -} diff --git a/src/components/staking/ChartLink.tsx b/src/components/staking/ChartLink.tsx deleted file mode 100644 index 0c7ea2e6..00000000 --- a/src/components/staking/ChartLink.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { LineChartOutlined } from '@ant-design/icons'; -import { useMemo } from 'react'; -import { useApi } from '../../hooks'; -import { IconProps } from '../icons/icon-factory'; - -interface ChartLinkProps extends IconProps { - account: string; -} - -export function ChartLink({ account, className, ...rest }: ChartLinkProps) { - const { network } = useApi(); - const url = useMemo(() => { - const { - provider: { rpc }, - } = network; - const encodedRpc = encodeURIComponent(rpc); - - return `https://polkadot.js.org/apps/?rpc=${encodedRpc}#/staking/query/${account}`; - }, [account, network]); - - return ( - { - window.open(url, '_blank'); - }} - /> - ); -} diff --git a/src/components/staking/HidablePanel.tsx b/src/components/staking/HidablePanel.tsx deleted file mode 100644 index 7d7270fc..00000000 --- a/src/components/staking/HidablePanel.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { Collapse, CollapsePanelProps } from 'antd'; -import { PropsWithChildren } from 'react'; -import { useIsAccountFuzzyMatch } from '../../hooks'; -import { useOverview } from './overview/overview'; - -interface PanelProps extends CollapsePanelProps, PropsWithChildren { - account: string; - match: string; -} - -export function HidablePanel({ account, match, children, ...rest }: PanelProps) { - const isMatch = useIsAccountFuzzyMatch(); - const { accountInfo } = useOverview(); - const canDisplay = isMatch(account, match, accountInfo); - - return ( - - {children} - - ); -} diff --git a/src/components/staking/action/BondMore.tsx b/src/components/staking/action/BondMore.tsx deleted file mode 100644 index cec0bcda..00000000 --- a/src/components/staking/action/BondMore.tsx +++ /dev/null @@ -1,112 +0,0 @@ -import { DeriveBalancesAll } from '@polkadot/api-derive/types'; -import { Button } from 'antd'; -import { useEffect, useMemo, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { from } from 'rxjs'; -import { useApi, useStaking, useAccount } from '../../../hooks'; -import { Fund } from '../../../model'; -import { fundParam } from '../../../utils'; -import { AddressItem } from '../../widget/form-control/AddressItem'; -import { FundItem } from '../../widget/form-control/FundItem'; -import { Label } from '../../widget/form-control/Label'; -import { PromiseMonthItem } from '../../widget/form-control/PromiseMonthItem'; -import { FormModal } from '../../widget/FormModal'; -import { KtonReward } from '../power/KtonReward'; -import { PowerReward } from '../power/PowerReward'; -import type { StakingActionProps } from './interface'; - -interface BondMoreFormValues { - stash: string; - controller: string; - fund: Fund; - promiseMonth: number; - [key: string]: unknown; -} - -export function BondMore({ type = 'text', className = '', size }: StakingActionProps) { - const { t } = useTranslation(); - const { api } = useApi(); - const [isVisible, setIsVisible] = useState(false); - const { refreshAssets } = useAccount(); - const { stashAccount, updateValidators, updateStakingDerive } = useStaking(); - const [balances, setBalances] = useState(null); - const [selectedAsset, setSelectedAsset] = useState(null); - const hasFreeBalance = useMemo(() => balances && balances.freeBalance.gtn(0), [balances]); - const [duration, setDuration] = useState(0); - - useEffect(() => { - if (!stashAccount) { - setBalances(null); - return; - } - - const sub$$ = from(api.derive.balances.all(stashAccount)).subscribe((res) => { - setBalances(res); - }); - - return () => sub$$.unsubscribe(); - }, [api, stashAccount]); - - return ( - <> - - - - modalProps={{ - visible: isVisible, - title:
    - {t('Validator')} - - - - - {t('other stake(power)')} - - - {t('own stake(power)')} - - - {t('active commission')} - - - {t('next commission')} - - - {t('points')} - - - {t('last #')} - - - - - - -
    - {sourceData.map(({ account }, index) => ( - - - -
    event.stopPropagation()} - className="flex items-center gap-4 pl-4" - > - - - - - - - - - - - - - - - - - - - - - {byAuthor[account]} - - - - - - - { - window.open(`https://${network.name}.subscan.io/validator/${account}`, '_blank'); - }} - /> - - - - - } - key={account} - > - - - - - ))} - - - - ); -} diff --git a/src/components/staking/overview/overview-widgets.tsx b/src/components/staking/overview/overview-widgets.tsx deleted file mode 100644 index 6f1a0229..00000000 --- a/src/components/staking/overview/overview-widgets.tsx +++ /dev/null @@ -1,123 +0,0 @@ -import { MailOutlined } from '@ant-design/icons'; -import { DeriveHeartbeats } from '@polkadot/api-derive/types'; -import { Power } from '@darwinia/types'; -import { EraRewardPoints, Perbill } from '@polkadot/types/interfaces'; -import { BN_ZERO } from '@polkadot/util'; -import { Tag } from 'antd'; -import { useMemo } from 'react'; -import { getAddressMeta, isSameAddress, prettyNumber } from '../../../utils'; -import { IdentAccountAddress } from '../../widget/account/IdentAccountAddress'; -import { IdentAccountName } from '../../widget/account/IdentAccountName'; -import { Favorite } from '../../widget/Favorite'; -import { useOverview } from './overview'; - -export function Account({ account, heartbeats }: { account: string; heartbeats: DeriveHeartbeats | null }) { - const count = heartbeats?.[account]?.blockCount.toNumber(); - const hasMsg = heartbeats?.[account]?.hasMessage; - - return ( - <> - - -
    - {!!count && {count}} - {!count && hasMsg && } -
    - - - - ); -} - -export function StakerOther() { - const { stakingInfo } = useOverview(); - - const count = useMemo(() => { - const { exposure } = stakingInfo; - const other = exposure?.totalPower.sub(exposure.ownPower); - - return other || BN_ZERO; - }, [stakingInfo]); - - const nominators = useMemo(() => stakingInfo.exposure?.others.map((item) => item.who.toString()), [stakingInfo]); - - if (count?.lte(BN_ZERO)) { - return null; - } - - return ( - - {prettyNumber(count, { decimal: 0 })} {`(${nominators?.length})`} - - ); -} - -export function Nominators({ data }: { data?: [string, number][] }) { - const { stakingInfo } = useOverview(); - const nominators = useMemo<[string, Power][]>( - () => stakingInfo.exposure?.others.map((item) => [item.who.toString(), item.power]) || [], - [stakingInfo.exposure?.others] - ); - - return ( - - {(data || nominators)?.map(([acc]) => { - const meta = getAddressMeta(acc); - - return ( - - ); - })} - - ); -} - -export function StakerOwn() { - const { stakingInfo } = useOverview(); - const count = useMemo(() => { - const { exposure } = stakingInfo; - - return exposure?.ownPower; - }, [stakingInfo]); - - return !count || count.lt(BN_ZERO) ? null : {prettyNumber(count, { decimal: 0 })}; -} - -function Commission({ value }: { value: Perbill | null | undefined }) { - const base = 10_000_000; - const decimal = 2; - const percent = value ? (value.toNumber() / base).toFixed(decimal) + '%' : '-'; - - return {percent}; -} - -export function ActiveCommission() { - const { validatorPrefs } = useOverview(); - - return ; -} - -export function NextCommission() { - const { stakingInfo } = useOverview(); - - return ; -} - -export function Points({ points, account }: { points: EraRewardPoints | null; account: string }) { - if (!points) { - return null; - } - - const entry = [...points.individual.entries()].find(([address]) => isSameAddress(address.toString(), account)); - - if (!entry) { - return null; - } - - return {entry[1].toString()}; -} diff --git a/src/components/staking/overview/overview.tsx b/src/components/staking/overview/overview.tsx deleted file mode 100644 index fa0c08bb..00000000 --- a/src/components/staking/overview/overview.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { ValidatorPrefs } from '@darwinia/types'; -import { DeriveAccountInfo } from '@polkadot/api-derive/types'; -import { Skeleton } from 'antd'; -import { createContext, useContext, useEffect, useState } from 'react'; -import { from } from 'rxjs'; -import type { DeriveStakingQuery } from '@darwinia/api-derive/types'; -import { useApi } from '../../../hooks'; -import { useValidatorPrefs } from '../../../hooks/staking'; - -interface Overview { - accountInfo: DeriveAccountInfo; - stakingInfo: DeriveStakingQuery; - validatorPrefs: ValidatorPrefs; -} - -export const OverviewContext = createContext(null); - -export const useOverview = () => useContext(OverviewContext) as Exclude; - -export const OverviewProvider = ({ children, account }: React.PropsWithChildren<{ account: string }>) => { - const { api } = useApi(); - const { validatorPrefs } = useValidatorPrefs(account); - const [accountInfo, setAccountInfo] = useState(null); - const [stakingInfo, setStakingInfo] = useState(null); - - useEffect(() => { - const account$$ = from(api.derive.accounts.info(account)).subscribe((res) => { - setAccountInfo(res); - }); - - const staking$$ = from(api.derive.staking.query(account, { withLedger: true })).subscribe((res) => - setStakingInfo(res as unknown as DeriveStakingQuery) - ); - - return () => { - account$$.unsubscribe(); - staking$$.unsubscribe(); - }; - }, [account, api]); - - if (!accountInfo || !stakingInfo || !validatorPrefs) { - return ; - } - - return ( - {children} - ); -}; diff --git a/src/components/staking/power/Actions.tsx b/src/components/staking/power/Actions.tsx deleted file mode 100644 index 69191789..00000000 --- a/src/components/staking/power/Actions.tsx +++ /dev/null @@ -1,186 +0,0 @@ -import { SettingFilled } from '@ant-design/icons'; -import { u8aConcat, u8aToHex } from '@polkadot/util'; -import { Button, Dropdown, Menu } from 'antd'; -import { useMemo, useCallback, useEffect, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { from, EMPTY } from 'rxjs'; -import type { DeriveStakingAccount } from '@darwinia/api-derive/types'; -import { useApi, useStaking, useQueue, useSlashingSpans, useAccount, useWallet } from '../../../hooks'; -import { - BondMore, - ClaimRewards, - Deposit, - Nominate, - Rebond, - SetController, - SetPayee, - SetSession, - SetValidator, - Unbond, -} from '../action'; - -interface ActionsProps { - disabled?: boolean; - eraSelectionIndex: number; -} - -// eslint-disable-next-line complexity -export function Actions({ eraSelectionIndex, disabled }: ActionsProps) { - const { t } = useTranslation(); - const { api } = useApi(); - const { accounts } = useWallet(); - const { refreshAssets } = useAccount(); - const { queueExtrinsic } = useQueue(); - const { - stakingDerive, - isValidating, - isNominating, - stashAccount, - controllerAccount, - updateStakingDerive, - updateValidators, - } = useStaking(); - const { spanCount } = useSlashingSpans(stashAccount); - const [stakingAccount, setStakingAccount] = useState(); - - const sessionAccounts = useMemo(() => { - if (!stakingDerive) { - return []; - } - - const { sessionIds, nextSessionIds } = stakingDerive; - - return nextSessionIds.length ? nextSessionIds : sessionIds; - }, [stakingDerive]); - - const nextSessionAccount = useMemo(() => { - if (!stakingDerive) { - return ''; - } - - const { nextSessionIds } = stakingDerive; - const nextConcat = u8aConcat(...nextSessionIds.map((id) => id.toU8a())); - const len = 48; - - return u8aToHex(nextConcat, len); - }, [stakingDerive]); - - const isOwnController = useMemo( - () => !!controllerAccount && accounts.map((item) => item.displayAddress).includes(controllerAccount), - [accounts, controllerAccount] - ); - - const refreshStakingAccount = useCallback(() => { - if (stashAccount) { - return from(api.derive.staking.account(stashAccount) as unknown as Promise).subscribe( - setStakingAccount - ); - } else { - return EMPTY.subscribe(); - } - }, [api, stashAccount]); - - const withdrawFunds = useCallback(() => { - queueExtrinsic({ - signAddress: controllerAccount, - extrinsic: - api.tx.staking.withdrawUnbonded?.meta.args.length === 1 - ? api.tx.staking.withdrawUnbonded(spanCount) - : // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - api.tx.staking.withdrawUnbonded(), - txSuccessCb: () => { - refreshAssets(); - updateStakingDerive(); - refreshStakingAccount(); - }, - }); - }, [api, controllerAccount, queueExtrinsic, refreshStakingAccount, refreshAssets, updateStakingDerive, spanCount]); - - useEffect(() => { - const sub$$ = refreshStakingAccount(); - return () => sub$$.unsubscribe(); - }, [refreshStakingAccount]); - - return ( -
    - {isNominating || isValidating ? ( - - ) : ( - <> - {!sessionAccounts.length || nextSessionAccount === '0x' ? ( - - ) : ( - - )} - - - )} - - {[ - , - , - , - , - , - , - , - , - isValidating ? : null, - isNominating ? ( - - ) : ( - - ), - ].map((component, index) => - component ? ( - - {component} - - ) : null - )} - - } - className={`lg:static absolute right-6 top-6 ${disabled ? `cursor-not-allowed` : 'cursor-pointer'}`} - > - - -
    - ); -} diff --git a/src/components/staking/power/Earnings.tsx b/src/components/staking/power/Earnings.tsx deleted file mode 100644 index 772350fd..00000000 --- a/src/components/staking/power/Earnings.tsx +++ /dev/null @@ -1,114 +0,0 @@ -import { Button, Card, Radio, Spin } from 'antd'; -import { upperCase } from 'lodash'; -import { useEffect, useMemo, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { switchMapTo, takeWhile, timer } from 'rxjs'; -import { LONG_DURATION } from '../../../config'; -import { useAccount, useApi, useIsMounted, useStaking, useStakingRewards } from '../../../hooks'; -import { fromWei, isRing, prettyNumber, rxPost } from '../../../utils'; -import { Statistics } from '../../widget/Statistics'; -import { SubscanLink } from '../../widget/SubscanLink'; -import { ClaimRewards } from '../action'; -import { StakingNow } from './StakingNow'; - -interface PowerDetailProps { - updateEraIndex: (num: number) => void; -} - -export function Earnings({ updateEraIndex }: PowerDetailProps) { - const { t } = useTranslation(); - const { network } = useApi(); - const { assets, account } = useAccount(); - const { stashAccount } = useStaking(); - const [eraSelectionIndex, setEraSelectionIndex] = useState(0); - const [claimed, setClaimed] = useState('-'); - - const { - stakingRewards: { payoutTotal }, - eraSelection, - isLoadingRewards, - refresh, - } = useStakingRewards(eraSelectionIndex); - const isMounted = useIsMounted(); - const ringAsset = useMemo(() => assets.find((item) => isRing(item.token.symbol)), [assets]); - - useEffect(() => { - if (!stashAccount) { - return; - } - - const times = 3; - const sub$$ = timer(0, LONG_DURATION * times) - .pipe( - takeWhile(() => isMounted), - switchMapTo( - rxPost<{ data: { sum: string } }>({ - url: `https://${network.name}.webapi.subscan.io/api/scan/staking_history`, - params: { page: 0, row: 10, address: stashAccount }, - }) - ) - ) - .subscribe((res) => { - setClaimed(fromWei({ value: res.data.sum }, prettyNumber)); - }); - - return () => sub$$.unsubscribe(); - }, [stashAccount, isMounted, network]); - - return !stashAccount ? ( - - - - ) : ( - - { - const value = +event.target.value; - const idx = eraSelection.findIndex((item) => item.value === value); - - setEraSelectionIndex(idx); - updateEraIndex(idx); - }} - className="staking-earnings-time" - > - {eraSelection.map((item, index) => ( - - {item.text} - - ))} - - -
    - - - - ) : ( - `${fromWei({ value: payoutTotal }, prettyNumber)} ${upperCase(ringAsset?.token.symbol)}` - ) - } - /> - -
    - - -
    -
    -
    - ); -} diff --git a/src/components/staking/power/KtonReward.tsx b/src/components/staking/power/KtonReward.tsx deleted file mode 100644 index 9f49b2ba..00000000 --- a/src/components/staking/power/KtonReward.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { useMemo } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useAccount } from '../../../hooks'; -import { Fund } from '../../../model'; -import { fromWei, isKton, isRing, computeKtonReward, toWei } from '../../../utils'; - -interface KtonRewardProps { - selectedAsset: Fund | null; - promiseMonth: number; -} - -export function KtonReward({ selectedAsset, promiseMonth }: KtonRewardProps) { - const { t } = useTranslation(); - const { assets } = useAccount(); - const target = useMemo(() => assets.find((item) => isKton(item.token.symbol))!, [assets]); - - return isRing(selectedAsset?.token.symbol) && promiseMonth > 0 ? ( -

    - {t('You will get {{amount}} {{symbol}}', { - amount: fromWei({ value: computeKtonReward(toWei({ value: selectedAsset?.amount }), promiseMonth) }), - symbol: target.token.symbol.toUpperCase(), - })} -

    - ) : null; -} diff --git a/src/components/staking/power/Nominating.tsx b/src/components/staking/power/Nominating.tsx deleted file mode 100644 index d1f92115..00000000 --- a/src/components/staking/power/Nominating.tsx +++ /dev/null @@ -1,120 +0,0 @@ -import { Power } from '@darwinia/types'; -import { Card, Empty, Skeleton } from 'antd'; -import { isNull } from 'lodash'; -import { useEffect, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { from, takeWhile } from 'rxjs'; -import type { DeriveStakingQuery } from '@darwinia/api-derive/types'; -import { useApi, useIsMounted, useStaking } from '../../../hooks'; -import { IdentAccountName } from '../../widget/account/IdentAccountName'; -import { prettyNumber } from '../../../utils'; - -interface NominateItemProps { - source: [string, Power | null][]; -} - -function NominateItem({ source }: NominateItemProps) { - const { t } = useTranslation(); - - if (!source.length) { - return ; - } - - return ( - <> - {source.map(([account, power], index) => ( -
    - - - {t('{{amount}} Power', { amount: isNull(power) ? 0 : prettyNumber(power.toString(), { decimal: 0 }) })} - -
    - ))} - - ); -} - -function Nominators() { - const { api } = useApi(); - const { stashAccount } = useStaking(); - const [nominators, setNominators] = useState<[string, Power][] | null>(null); - - useEffect(() => { - if (!stashAccount) { - setNominators(null); - return; - } - - const sub$$ = from(api.derive.staking.query(stashAccount, { withLedger: true })).subscribe((stakingInfo) => - setNominators( - (stakingInfo as unknown as DeriveStakingQuery).exposure?.others.map((item) => [ - item.who.toString(), - item.power, - ]) || [] - ) - ); - - return () => { - sub$$.unsubscribe(); - }; - }, [api, stashAccount]); - - return ; -} - -function Nominees() { - const { api } = useApi(); - const { stashAccount, stakingDerive } = useStaking(); - const [nominees, setNominees] = useState<[string, Power | null][]>([]); - const isMounted = useIsMounted(); - - useEffect(() => { - if (!stakingDerive?.nominators) { - return; - } - - const accounts = stakingDerive.nominators.map((item) => item.toString()); - const sub$$ = from( - api.derive.staking.queryMulti(accounts, { withLedger: true }) as unknown as Promise - ) - .pipe(takeWhile(() => isMounted)) - .subscribe((res) => { - const exps = res.map((item) => { - const { exposure } = item; - - return exposure ? exposure.others.filter((exp) => exp.who.eq(stashAccount))[0] : null; - }); - - setNominees(accounts.map((account, index) => [account, exps[index]?.power ?? null])); - }); - - return () => sub$$.unsubscribe(); - }, [api, isMounted, stakingDerive, stashAccount]); - - return ; -} - -export function Nominating() { - const { t } = useTranslation(); - const { isValidating, isNominating } = useStaking(); - - return ( - -

    {t('Nominating')}

    - - {isValidating && } - - {isNominating && ( - <> -

    - {t('Your nomination will take effect in the next era. Before that, the POWER may be displayed as 0')} -

    - - - - )} - - {!isValidating && !isNominating && } -
    - ); -} diff --git a/src/components/staking/power/Power.tsx b/src/components/staking/power/Power.tsx deleted file mode 100644 index 106b67d0..00000000 --- a/src/components/staking/power/Power.tsx +++ /dev/null @@ -1,80 +0,0 @@ -import { QuestionCircleFilled } from '@ant-design/icons'; -import { Card, Col, Row, Tooltip } from 'antd'; -import { BN } from '@polkadot/util'; -import { useMemo, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useAccount, usePower, useStaking, useApi } from '../../../hooks'; -import { assetToPower, prettyNumber } from '../../../utils'; -import { IdentAccountAddress } from '../../widget/account/IdentAccountAddress'; -import { AssetOverview } from '../AssetOverview'; -import { Actions } from './Actions'; -import { Earnings } from './Earnings'; -import { Nominating } from './Nominating'; - -export function Power() { - const { network } = useApi(); - const { t } = useTranslation(); - const [eraSelectionIndex, setEraSelectionIndex] = useState(0); - const { account, assets, assetsLoading, refreshAssets } = useAccount(); - const { stakingDerive, isStakingLedgerEmpty, stashAccount } = useStaking(); - const { pool } = usePower(); - - const power = useMemo(() => { - if (isStakingLedgerEmpty) { - return assetToPower(new BN(0), new BN(0), pool.ring, pool.kton); - } - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - const { active, activeKton, activeRing } = stakingDerive.stakingLedger; - - return assetToPower( - new BN((active || activeRing)?.toString()), - new BN(activeKton.toString()), - pool.ring, - pool.kton - ); - }, [pool, stakingDerive, isStakingLedgerEmpty]); - - return ( - <> - {account && ( - -
    - - - -
    -
    - )} - - {/* eslint-disable-next-line no-magic-numbers */} - -
    -
    -
    -
    -

    {t('Power')}

    - {prettyNumber(power.toString())} -
    - -
    - - - - -
    - - - {assets.map((item, index) => ( - - - - ))} - - - setEraSelectionIndex(idx)} /> - - - - ); -} diff --git a/src/components/staking/power/PowerReward.tsx b/src/components/staking/power/PowerReward.tsx deleted file mode 100644 index 5f7b139d..00000000 --- a/src/components/staking/power/PowerReward.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { useTranslation } from 'react-i18next'; -import { usePower } from '../../../hooks'; -import { Asset, Fund } from '../../../model'; - -interface PowerRewardProps { - selectedAsset: Fund | Asset | null; -} - -export function PowerReward({ selectedAsset }: PowerRewardProps) { - const { t } = useTranslation(); - const { calcPower } = usePower(); - const power = calcPower(selectedAsset); - - return selectedAsset && Number(power) > 0 ?

    {t('You will get {{amount}} Power', { amount: power })}

    : null; -} diff --git a/src/components/staking/power/StakingNow.tsx b/src/components/staking/power/StakingNow.tsx deleted file mode 100644 index de31861b..00000000 --- a/src/components/staking/power/StakingNow.tsx +++ /dev/null @@ -1,125 +0,0 @@ -import { Button } from 'antd'; -import { useForm } from 'antd/lib/form/Form'; -import { useEffect, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useAccount, useApi, useStaking } from '../../../hooks'; -import { Fund } from '../../../model'; -import { fundParam } from '../../../utils'; -import { AddressItem } from '../../widget/form-control/AddressItem'; -import { FundItem } from '../../widget/form-control/FundItem'; -import { Label } from '../../widget/form-control/Label'; -import { Payee } from '../../widget/form-control/PayeeControl'; -import { PayeeItem } from '../../widget/form-control/PayeeItem'; -import { PromiseMonthItem } from '../../widget/form-control/PromiseMonthItem'; -import { FormModal } from '../../widget/FormModal'; -import { KtonReward } from './KtonReward'; -import { PowerReward } from './PowerReward'; - -interface StakingFormValue { - stash: string; - controller: string; - payee: Payee; - promiseMonth: number; - amount: string; - [key: string]: unknown; -} - -// eslint-disable-next-line complexity -export function StakingNow() { - const { t } = useTranslation(); - const { api } = useApi(); - const [form] = useForm(); - const { account, assets, refreshAssets } = useAccount(); - const { updateStakingDerive, refreshControllerAccount, refreshStashAccount } = useStaking(); - const [isVisible, setIsVisible] = useState(false); - const [selectedAsset, setSelectedAsset] = useState(null); - const [duration, setDuration] = useState(0); - - useEffect(() => { - if (assets.length) { - setSelectedAsset({ ...assets[0], amount: '0' }); - } - }, [form, assets]); - - return ( - <> -

    {t('Get Power')}

    -
      -
    • - {t( - 'You need to stake some KTON or RING to get POWER. The higher the POWER, the greater the share of reward.' - )} -
    • -
    • {t('Please make sure that you have some excess RING in this account as gas fee.')}
    • -
    - - - - - modalProps={{ - visible: isVisible, - title: t('Bonding preferences'), - }} - extrinsic={(value) => { - const { - controller, - amount, - promiseMonth, - payee: { type, account: acc }, - } = value; - const balance = fundParam({ ...selectedAsset!, amount: (amount as unknown as Fund).amount }); - const destination = type === 'Account' ? { Account: acc } : type; - - return api.tx.staking.bond(controller, balance, destination, promiseMonth); - }} - onCancel={() => setIsVisible(false)} - onSuccess={() => { - setIsVisible(false); - refreshAssets(); - updateStakingDerive(); - refreshControllerAccount(); - refreshStashAccount(); - }} - initialValues={{ - stash: account?.displayAddress, - controller: account?.displayAddress, - payee: { type: 'Staked', account: '' }, - promiseMonth: 0, - }} - > - - - - - } - name="amount" - onChange={setSelectedAsset} - rules={[{ required: true }]} - /> - - - } - /> - - setDuration(+value)} - /> - - - - - - - ); -} diff --git a/src/components/staking/targets/MaxBadge.tsx b/src/components/staking/targets/MaxBadge.tsx deleted file mode 100644 index 87497e3d..00000000 --- a/src/components/staking/targets/MaxBadge.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { RightCircleOutlined } from '@ant-design/icons'; -import { useApi } from '../../../hooks'; -import { IconProps } from '../../icons/icon-factory'; - -interface MaxBadgeProps extends IconProps { - nominatorCount: number; -} - -export function MaxBadge({ nominatorCount, className }: MaxBadgeProps) { - const { api } = useApi(); - - const max = api.consts.staking.maxNominatorRewardedPerValidator; - - if (!nominatorCount || !max || max.gten(nominatorCount)) { - return null; - } - - return ; -} diff --git a/src/components/staking/targets/Targets.tsx b/src/components/staking/targets/Targets.tsx deleted file mode 100644 index e55b649d..00000000 --- a/src/components/staking/targets/Targets.tsx +++ /dev/null @@ -1,119 +0,0 @@ -import { Balance } from '@polkadot/types/interfaces'; -import { BN_ZERO, BN } from '@polkadot/util'; -import { Card, Skeleton, Spin } from 'antd'; -import { useEffect, useMemo, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { from, switchMap } from 'rxjs'; -import { useAccount, useApi, useElectedNominators, useIsMountedOperator, useWaitingNominators } from '../../../hooks'; -import { fromWei, isKton, isRing, prettyNumber } from '../../../utils'; -import { Statistics } from '../../widget/Statistics'; -import { Validators } from './Validators'; - -const formatNum = (value: string) => prettyNumber(value, { decimal: 0 }); - -// eslint-disable-next-line complexity -export function Targets() { - const { t } = useTranslation(); - const { totalStaked, nominators, sourceData: elected } = useElectedNominators(); - const { totalWaiting, sourceData: waiting } = useWaitingNominators(); - const { api } = useApi(); - const { assets } = useAccount(); - const ringSymbol = useMemo(() => assets.find((item) => isRing(item.token.symbol))?.token.symbol ?? 'ring', [assets]); - const ktonSymbol = useMemo(() => assets.find((item) => isKton(item.token.symbol))?.token.symbol ?? 'kton', [assets]); - const total = useMemo(() => totalStaked.add(totalWaiting), [totalStaked, totalWaiting]); - const validatorCount = useMemo( - () => (elected && waiting ? prettyNumber(elected.info.length + waiting.info.length, { decimal: 0 }) : '0'), - [elected, waiting] - ); - - const [issuance, setIssuance] = useState(null); - const [issuanceKton, setIssuanceKton] = useState(null); - const [lastReward, setLastReward] = useState(null); - const { takeWhileIsMounted } = useIsMountedOperator(); - - useEffect(() => { - const issuance$$ = from(api.query.balances.totalIssuance()) - .pipe(takeWhileIsMounted()) - .subscribe((res) => { - setIssuance(res as Balance); - }); - const issuanceKton$$ = from(api.query.kton.totalIssuance()) - .pipe(takeWhileIsMounted()) - .subscribe((res) => { - setIssuanceKton(res as Balance); - }); - - const last$$ = from(api.derive.session.indexes()) - .pipe( - switchMap(({ activeEra }) => { - const last = activeEra.gtn(0) ? activeEra.subn(1) : BN_ZERO; - - return api.query.staking.erasValidatorReward(last); - }), - takeWhileIsMounted() - ) - .subscribe((res) => { - if (res.isSome) { - setLastReward(res.toString()); - } - }); - - return () => { - issuance$$.unsubscribe(); - issuanceKton$$.unsubscribe(); - last$$.unsubscribe(); - }; - }, [api, takeWhileIsMounted]); - - return ( - <> - -
    - } - /> - } - /> - } - /> - - {validatorCount} - / - {nominators?.length} - - ) : ( - - ) - } - /> - } - /> -
    -
    - - {elected && waiting ? ( - - ) : ( - - - - )} - - ); -} diff --git a/src/components/staking/targets/Validators.tsx b/src/components/staking/targets/Validators.tsx deleted file mode 100644 index f89567c5..00000000 --- a/src/components/staking/targets/Validators.tsx +++ /dev/null @@ -1,292 +0,0 @@ -import { LineChartOutlined } from '@ant-design/icons'; -import { ExposureT, Power } from '@darwinia/types'; -import { DeriveAccountInfo, DeriveStakingWaiting } from '@polkadot/api-derive/types'; -import { ValidatorPrefs, ValidatorPrefsTo196 } from '@polkadot/types/interfaces'; -import { Card, Input, Table, Tooltip } from 'antd'; -import { ColumnsType } from 'antd/lib/table'; -import { BN } from '@polkadot/util'; -import { Reducer, useEffect, useMemo, useReducer, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { from, map, mergeMap, reduce } from 'rxjs'; -import type { IDeriveStakingElected } from '@darwinia/api-derive/staking'; -import { THEME } from '../../../config'; -import { useApi, useStaking, useIsAccountFuzzyMatch, useIsMountedOperator } from '../../../hooks'; -import { prettyNumber, readStorage } from '../../../utils'; -import { IdentAccountName } from '../../widget/account/IdentAccountName'; -import { Favorite } from '../../widget/Favorite'; -import { Nominate } from '../action'; -import { MaxBadge } from './MaxBadge'; - -interface ValidatorsProps { - data: { elected: IDeriveStakingElected; waiting: DeriveStakingWaiting }; - lastReward: BN; -} - -interface ValidatorInfoRank { - rankBondOther: number; - rankBondOwn: number; - rankBondTotal: number; - rankComm: number; - rankActiveComm: number; - rankOverall: number; - rankPayment: number; - rankReward: number; -} - -interface ValidatorInfo extends ValidatorInfoRank { - id: string; - accountInfo: DeriveAccountInfo; - account: string; - nominatorCount: number; - currentEraCommissionPer: number; - commissionPer: number; - bondedTotal: Power; - bondedOwn: Power; - validatorPayment: BN; - rewardSplit: BN; - rewardPayout: BN; - // isFavorite: boolean; -} - -const toPercent = (value: number) => { - const decimal = 2; - - return value.toFixed(decimal) + '%'; -}; - -function sortValidators(list: ValidatorInfo[]): ValidatorInfo[] { - const mapIndex = (mapBy: keyof ValidatorInfoRank): ((info: ValidatorInfo, index: number) => ValidatorInfo) => { - return (info, index): ValidatorInfo => { - info[mapBy] = index + 1; - - return info; - }; - }; - - return list - .sort((a, b) => b.commissionPer - a.commissionPer) - .map(mapIndex('rankComm')) - .sort((a, b) => b.currentEraCommissionPer - a.currentEraCommissionPer) - .map(mapIndex('rankActiveComm')) - .sort((a, b) => b.bondedTotal.sub(b.bondedOwn).cmp(a.bondedTotal.sub(a.bondedOwn))) - .map(mapIndex('rankBondOther')) - .sort((a, b) => b.bondedOwn.cmp(a.bondedOwn)) - .map(mapIndex('rankBondOwn')) - .sort((a, b) => b.bondedTotal.cmp(a.bondedTotal)) - .map(mapIndex('rankBondTotal')) - .sort((a, b) => b.validatorPayment.cmp(a.validatorPayment)) - .map(mapIndex('rankPayment')) - .sort((a, b) => a.rewardSplit.cmp(b.rewardSplit)) - .map(mapIndex('rankReward')) - .sort((a, b): number => { - const cmp = b.rewardPayout.cmp(a.rewardPayout); - - return cmp !== 0 - ? cmp - : a.rankReward === b.rankReward - ? a.rankPayment === b.rankPayment - ? b.rankBondTotal - a.rankBondTotal - : b.rankPayment - a.rankPayment - : b.rankReward - a.rankReward; - }) - .map(mapIndex('rankOverall')); -} - -export function Validators({ data, lastReward }: ValidatorsProps) { - const { t } = useTranslation(); - const { api, network } = useApi(); - const { favorites } = useStaking(); - const isMatch = useIsAccountFuzzyMatch(); - const [searchName, setSearchName] = useState(''); - const [rowData, setRowData] = useReducer>((_, payload) => payload, []); - const { takeWhileIsMounted } = useIsMountedOperator(); - const [selectedAccounts, setSelectedAccounts] = useState([]); - const theme = readStorage().theme ?? THEME.LIGHT; - - const sourceData = useMemo( - () => - rowData - .filter(({ account, accountInfo }) => isMatch(account, searchName, accountInfo)) - .sort((a, b) => { - const isFavA = favorites.includes(a.account); - const isFavB = favorites.includes(b.account); - - return isFavA === isFavB ? 0 : isFavA ? -1 : 1; - }), - [favorites, isMatch, rowData, searchName] - ); - - const columns: ColumnsType = [ - { - title: t('Validator'), - dataIndex: 'account', - render(account, record) { - return ( -
    - - - {prettyNumber(record.rankOverall, { decimal: 0 })} - -
    - ); - }, - }, - { - title: t('active commission'), - dataIndex: 'currentEraCommissionPer', - sorter(a, b) { - return a.currentEraCommissionPer - b.currentEraCommissionPer; - }, - render: toPercent, - }, - { - title: t('next commission'), - dataIndex: 'commissionPer', - sorter(a, b) { - return a.commissionPer - b.commissionPer; - }, - render: toPercent, - }, - { - title: t('total stake(Power)'), - dataIndex: 'bondedTotal', - sorter(a, b) { - return a.bondedTotal.sub(b.bondedTotal).toNumber(); - }, - render: (value) => prettyNumber(value, { decimal: 0 }), - }, - { - title: t('own stake(power)'), - dataIndex: 'bondedOwn', - sorter(a, b) { - return a.bondedOwn.sub(b.bondedOwn).toNumber(); - }, - render: (value) => prettyNumber(value, { decimal: 0 }), - }, - { - title: t('other stake(power)'), - key: 'bondedOther', - sorter(a, b) { - return a.bondedTotal.sub(a.bondedOwn).sub(b.bondedTotal.sub(b.bondedOwn)).toNumber(); - }, - render(_, record) { - return ( - - {prettyNumber(record.bondedTotal.sub(record.bondedOwn), { decimal: 0 })} ({record.nominatorCount}) - - ); - }, - }, - { - key: 'action', - render() { - return ( - - - - ); - }, - }, - ]; - - useEffect(() => { - const { elected, waiting } = data; - const billion = 10_000_000; - const amount = new BN('1000000000000'); // TODO: In old version: new BN('1'.padEnd(formatBalance.getDefaults().decimals + 4, '0')); formatBalance.getDefaults().decimals = 9 - const sub$$ = from([...elected.info, ...waiting.info]) - .pipe( - mergeMap(({ accountId, exposure, validatorPrefs }, index) => - from(api.derive.accounts.info(accountId.toString())).pipe( - map((accountInfo) => { - const perValidatorReward = lastReward.divn(elected.info.length); - const validatorPayment = (validatorPrefs as unknown as ValidatorPrefsTo196).validatorPayment - ? ((validatorPrefs as unknown as ValidatorPrefsTo196).validatorPayment.unwrap() as BN) - : (validatorPrefs as unknown as ValidatorPrefs).commission - .unwrap() - .mul(perValidatorReward) - .div(new BN(billion)); - const rewardSplit = perValidatorReward.sub(validatorPayment); - const bondedTotal = (exposure as unknown as ExposureT).totalPower; - const rewardPayout = rewardSplit.gtn(0) - ? amount.mul(rewardSplit).div(amount.add(bondedTotal)) - : new BN(0); - - return { - id: accountId.toString() + '-' + index, - accountInfo, - account: accountId.toString(), - nominatorCount: exposure.others.length, - currentEraCommissionPer: - (elected.activeCommissions[index]?.commission?.unwrap() || new BN(0)).toNumber() / billion, - commissionPer: validatorPrefs.commission.unwrap().toNumber() / billion, - bondedOwn: (exposure as unknown as ExposureT).ownPower, - bondedTotal, - rankBondOther: 0, - rankBondOwn: 0, - rankBondTotal: 0, - rankComm: 0, - rankActiveComm: 0, - rankOverall: 0, - rankPayment: 0, - rankReward: 0, - validatorPayment, - rewardPayout, - rewardSplit, - }; - }) - ) - ), - takeWhileIsMounted(), - reduce((acc: ValidatorInfo[], cur: ValidatorInfo) => [...acc, cur], []) - ) - .subscribe((res) => { - setRowData(sortValidators(res)); - }); - - return () => sub$$.unsubscribe(); - }, [api, data, lastReward, takeWhileIsMounted]); - - return ( - <> -
    - { - setSearchName(event.target.value); - }} - size="large" - placeholder={t('Filter by name, address or index')} - className="my-8 mr-2 lg:w-1/3" - /> - - -
    - - -
    { - const accounts = keys.map((item) => (item as string).split('-')[0]); - - setSelectedAccounts(accounts); - }, - }} - dataSource={sourceData} - columns={columns} - pagination={false} - className={theme === THEME.DARK ? 'dark-table' : ''} - style={{ minWidth: 1080 }} - /> - - - ); -} diff --git a/src/components/staking/waiting/Validators.tsx b/src/components/staking/waiting/Validators.tsx deleted file mode 100644 index 247180db..00000000 --- a/src/components/staking/waiting/Validators.tsx +++ /dev/null @@ -1,155 +0,0 @@ -import { LineChartOutlined } from '@ant-design/icons'; -import { DeriveStakingOverview } from '@polkadot/api-derive/staking/types'; -import { DeriveHeartbeats } from '@polkadot/api-derive/types'; -import { Col, Collapse, Input, Row, Spin, Tooltip } from 'antd'; -import { useEffect, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { from, switchMap, timer } from 'rxjs'; -import { MIDDLE_DURATION } from '../../../config'; -import { useApi, useIsMountedOperator, useNominatorEntries, useStaking } from '../../../hooks'; -import { AccountWithClassifiedInfo, createClassifiedStakingOverview } from '../../../utils'; -import { HidablePanel } from '../HidablePanel'; -import { OverviewProvider } from '../overview/overview'; -import { Account, ActiveCommission, NextCommission, Nominators } from '../overview/overview-widgets'; - -interface ValidatorsProps { - overview: DeriveStakingOverview; -} - -export function Validators({ overview }: ValidatorsProps) { - const { t } = useTranslation(); - const { api, network } = useApi(); - const { favorites, stashAccounts } = useStaking(); - const [searchName, setSearchName] = useState(''); - const [sourceData, setSourceData] = useState([]); - const [heartbeats, setHeartbeats] = useState(null); - const { nominatedBy } = useNominatorEntries(); - const { takeWhileIsMounted } = useIsMountedOperator(); - - useEffect(() => { - const validators = overview.validators.map((item) => item.toString()); - const { elected, waiting } = createClassifiedStakingOverview( - overview, - favorites, - stashAccounts.filter((item) => !validators.includes(item)) - ); - - setSourceData([...elected, ...waiting]); - }, [stashAccounts, favorites, overview]); - - useEffect(() => { - const sub$$ = timer(0, MIDDLE_DURATION) - .pipe( - switchMap((_) => from(api.derive.imOnline.receivedHeartbeats())), - takeWhileIsMounted() - ) - .subscribe((res) => { - setHeartbeats(res); - }); - - return () => { - sub$$.unsubscribe(); - }; - }, [api, takeWhileIsMounted]); - - return ( - <> - { - setSearchName(event.target.value); - }} - size="large" - placeholder={t('Filter by name, address or index')} - className="mt-4 mb-8 lg:w-1/3" - /> - -
    - -
    - {t('Intentions')} - - - - - {t('commission')} - - - {t('next commission')} - - - - - - -
    - {/* eslint-disable-next-line complexity */} - {sourceData.map(({ account }, index) => ( - - - -
    event.stopPropagation()} - className="flex items-center gap-4 pl-4" - > - - - - - - - - - - - - - - - - - - - } - extra={ - !nominatedBy && ( - - - - ) - } - key={account} - > - {nominatedBy && } - - - - ))} - - - - ); -} diff --git a/src/components/staking/waiting/Waiting.tsx b/src/components/staking/waiting/Waiting.tsx deleted file mode 100644 index f2652e7f..00000000 --- a/src/components/staking/waiting/Waiting.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { DeriveStakingOverview } from '@polkadot/api-derive/staking/types'; -import { Card, Skeleton } from 'antd'; -import { useEffect, useState } from 'react'; -import { from } from 'rxjs'; -import { useApi, useIsMountedOperator, useStaking } from '../../../hooks'; -import { Validators } from './Validators'; - -export function Waiting() { - const { api } = useApi(); - const { stashAccount } = useStaking(); - const [overview, setOverview] = useState(null); - const { takeWhileIsMounted } = useIsMountedOperator(); - - useEffect(() => { - const sub$$ = from(api.derive.staking.overview()) - .pipe(takeWhileIsMounted()) - .subscribe((res) => { - setOverview(res); - }); - - return () => { - sub$$.unsubscribe(); - }; - }, [api, stashAccount, takeWhileIsMounted]); - - return overview ? ( - - ) : ( - - - - ); -} diff --git a/src/components/toolbox/address/ConvertAddress.tsx b/src/components/toolbox/address/ConvertAddress.tsx deleted file mode 100644 index 1616122e..00000000 --- a/src/components/toolbox/address/ConvertAddress.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import { Form, Input, Typography, Card } from 'antd'; -import { useState } from 'react'; -import web3 from 'web3'; -import { Trans, useTranslation } from 'react-i18next'; -import { useApi } from '../../../hooks'; -import { Label } from '../../../components/widget/form-control/Label'; -import { convertToSS58, evmAddressToAccountId } from '../../../utils'; - -export const ConvertAddress = () => { - const { network } = useApi(); - const { t } = useTranslation(); - const [address, setAddress] = useState(''); - - const { ss58Prefix, name } = network; - - return ( - -
    - - Ethereum-compatible Smart Chain Address starting with 0x. More details please refer{' '} - - here - {' '} - . - - } - /> - } - name="address" - rules={[ - { - validator(_, value) { - return web3.utils.isAddress(value) ? Promise.resolve() : Promise.reject(); - }, - message: t('Invalid Account'), - }, - ]} - > - { - const value = event.target.value; - const addr = web3.utils.isAddress(value) ? value : ''; - - setAddress(addr); - }} - placeholder={t('EVM format account e.g.')} - allowClear - size="large" - /> - - - {address && ( - -
    - - {convertToSS58(evmAddressToAccountId(address).toString(), ss58Prefix)} - -
    -
    - )} - -
    - ); -}; diff --git a/src/components/toolbox/address/index.tsx b/src/components/toolbox/address/index.tsx deleted file mode 100644 index 181b972e..00000000 --- a/src/components/toolbox/address/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export * from './ConvertAddress'; diff --git a/src/components/toolbox/deposits/deposits.tsx b/src/components/toolbox/deposits/deposits.tsx deleted file mode 100644 index 2eea6f5f..00000000 --- a/src/components/toolbox/deposits/deposits.tsx +++ /dev/null @@ -1,147 +0,0 @@ -import { Form, Card, Button } from 'antd'; -import { useCallback, useMemo, useState, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import { from, Observable, Subscriber } from 'rxjs'; -import { useAccount, useRecordsQuery } from '../../../hooks'; -import { useMetamask } from '../../../hooks/ metamask'; -import { DepositItem } from '../../widget/form-control/DepositItem'; -import { - validateMessages, - ETHEREUM_CLAIM_DEPOSIT, - ethereumConfig, - EvoApiPath, - EVOLUTION_DOMAIN, -} from '../../../config'; -import i18n from '../../../config/i18n'; -import { abi } from '../../../config/abi'; -import { apiUrl } from '../../../utils'; -import { entrance } from '../../../utils/network'; -import { Deposit, DepositResponse } from '../../../model'; -import { ClaimHistory } from './history'; - -type DepositForm = { - deposit: Deposit; -}; - -export const Deposits = () => { - const { account } = useAccount(); - const { - connection: { status, accounts }, - connectNetwork, - disconnect, - } = useMetamask(); - const { t } = useTranslation(); - const [busy, setBusy] = useState(false); - - const activeAccount = useMemo(() => accounts[0]?.address, [accounts]); - - const response = useRecordsQuery({ - url: apiUrl(EVOLUTION_DOMAIN.product, EvoApiPath.deposit), - params: { owner: activeAccount, 'EVO-NETWORK': 'Eth' }, - }); - const { refetch } = response; - - useEffect(() => { - if (refetch && activeAccount) { - refetch({ - url: apiUrl(EVOLUTION_DOMAIN.product, EvoApiPath.deposit), - params: { owner: activeAccount, 'EVO-NETWORK': 'Eth' }, - }); - } - }, [refetch, activeAccount]); - - const recipient = useMemo(() => account?.displayAddress || '', [account]); - const disableConnect = useMemo(() => status !== 'success' && status !== 'pending', [status]); - - const handleClaim = useCallback( - ({ deposit }: DepositForm) => { - const obs = new Observable((subscriber: Subscriber) => { - try { - subscriber.next(true); - - const web3 = entrance.web3.getInstance(entrance.web3.defaultProvider); - const contract = new web3.eth.Contract(abi.bankABI, ETHEREUM_CLAIM_DEPOSIT); - - contract.methods - .claimDeposit(deposit.deposit_id) - .send({ from: activeAccount }) - .on('receipt', () => { - subscriber.next(false); - subscriber.complete(); - }) - .catch((error: { code: number; message: string }) => { - subscriber.error(error); - }); - } catch (error) { - console.error(error); - subscriber.error(error); - } - }); - - from(obs).subscribe({ - next: setBusy, - error: () => setBusy(false), - }); - }, - [activeAccount] - ); - - return ( - -
    - {activeAccount ? ( - <> - {t('Metamask account')}: - {activeAccount} - - ) : ( - {t('Connect to Metamask')}: - )} - - {status === 'success' && ( - - )} - - {status === 'pending' && ( - - )} -
    - -
    - - {t('You can check your term deposit of RING on Ethereum and claim the expired ones by connecting MetaMask.')} - -
    - - - layout="vertical" - initialValues={{ - recipient, - }} - className="max-w-xl lg:w-144" - validateMessages={validateMessages[i18n.language as 'en' | 'zh-CN' | 'zh']} - onFinish={handleClaim} - > - - - - - - - -
    - ); -}; diff --git a/src/components/toolbox/deposits/history.tsx b/src/components/toolbox/deposits/history.tsx deleted file mode 100644 index 4d6b7bd9..00000000 --- a/src/components/toolbox/deposits/history.tsx +++ /dev/null @@ -1,90 +0,0 @@ -import { Table, Typography } from 'antd'; -import { useMemo } from 'react'; -import { ColumnsType } from 'antd/es/table'; -import { format, fromUnixTime } from 'date-fns'; -import { useTranslation } from 'react-i18next'; -import { RecordsHook } from '../../../hooks'; -import { DepositResponse } from '../../../model'; -import { DATE_FORMAT, ethereumConfig } from '../../../config'; -import { ViewBrowserIcon } from '../../../components/icons'; - -interface HistoryState { - depositId: number; - amount: string; // RING - reward: string; // KTON - withdrawTime: number; - withdrawTx: string; -} - -const columns: ColumnsType = [ - { - key: 'depositId', - title: 'Deposit Id', - dataIndex: 'depositId', - align: 'center', - }, - { - key: 'amount', - title: 'Amount (RING)', - dataIndex: 'amount', - align: 'center', - }, - { - key: 'reward', - title: 'Reward (KTON)', - dataIndex: 'reward', - align: 'center', - }, - { - key: 'withdrawTime', - title: 'Withdraw Time', - dataIndex: 'withdrawTime', - align: 'center', - render: (time) => (time ? format(fromUnixTime(time), DATE_FORMAT) : 'Transferred'), - }, - { - key: 'withdrawTx', - title: 'Transaction', - dataIndex: 'withdrawTx', - align: 'center', - render: (hash) => - hash ? ( - - - - ) : ( - - - ), - }, -]; - -export const ClaimHistory = ({ response }: { response: RecordsHook }) => { - const { t } = useTranslation(); - const { loading, error, data } = response; - - const claimed = useMemo( - () => data?.list.filter((item) => item.withdraw_tx || item.map_status === 'sent') || [], - [data?.list] - ); - - const dataSource = useMemo( - () => - claimed.map((item) => ({ - key: item.deposit_id, - depositId: item.deposit_id, - amount: item.amount, - reward: item.reward, - withdrawTime: item.withdraw_time, - withdrawTx: item.withdraw_tx, - })) || [], - [claimed] - ); - - return error || !claimed.length ? null : ( -
    t('Claim History')} loading={loading} columns={columns} dataSource={dataSource} /> - ); -}; diff --git a/src/components/toolbox/deposits/index.tsx b/src/components/toolbox/deposits/index.tsx deleted file mode 100644 index 81c398a2..00000000 --- a/src/components/toolbox/deposits/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export * from './deposits'; diff --git a/src/components/toolbox/faucet/Faucet.tsx b/src/components/toolbox/faucet/Faucet.tsx deleted file mode 100644 index 1eeb4c65..00000000 --- a/src/components/toolbox/faucet/Faucet.tsx +++ /dev/null @@ -1,244 +0,0 @@ -import { Card, Typography, Spin, Button, Form, Modal, notification } from 'antd'; -import { useState, useCallback, useEffect, PropsWithChildren } from 'react'; -import { useTranslation } from 'react-i18next'; -import { isRing, rxGet, rxPost, formatTimeLeft, isValidAddress } from 'src/utils'; -import { capitalize } from 'lodash'; -import { useAccount, useApi } from 'src/hooks'; -import { AddressItem } from 'src/components/widget/form-control/AddressItem'; -import { timer } from 'rxjs'; -import { millisecondsInHour, millisecondsInSecond } from 'date-fns'; -import { SubscanLink } from 'src/components/widget/SubscanLink'; -import { FaucetResponse, FaucetResponseCode, FaucetThrottleData, FaucetTransferData } from 'src/model'; - -// eslint-disable-next-line complexity -export const Faucet = () => { - const { t } = useTranslation(); - const { network } = useApi(); - const { assets, refreshAssets } = useAccount(); - const [busy, setBusy] = useState(false); - const [loading, setLoaing] = useState(false); - const [address, setAddress] = useState(null); - - const [message, setMessage] = useState(''); - const [throttle, setThrottle] = useState({ lastTime: 0, throttleHours: 0 }); - const [status, setStatus] = useState(null); - - const symbol = assets.find((item) => isRing(item.token.symbol))?.token.symbol; - - const handleOpenFaucet = useCallback(() => { - setBusy(true); - rxPost>({ - url: `/api/${network.name}`, - params: { address }, - }).subscribe({ - next: (res) => { - if (!res) { - return; - } - - const { code, message, data } = res; - if (code === FaucetResponseCode.SUCCESS_TRANSFER) { - const { txHash, lastTime, throttleHours } = data as FaucetTransferData & FaucetThrottleData; - notification.success({ - message: t('Faucet success'), - description: , - }); - - refreshAssets(); - setThrottle({ lastTime, throttleHours }); - } else if (code === FaucetResponseCode.FAILED_EXTRINSIC) { - notification.warning({ - message, - description: ( - - ), - }); - } else if (code === FaucetResponseCode.FAILED_THROTTLE) { - setThrottle(data as FaucetThrottleData); - } - - setMessage(message); - setStatus(code); - setBusy(false); - }, - error: (err) => { - const error = err as Error; - notification.error({ - message: t('Faucet error'), - description: error.message, - }); - setBusy(false); - }, - }); - }, [network.name, address, t, refreshAssets]); - - useEffect(() => { - if (!address || !isValidAddress(address)) { - return; - } - - setLoaing(true); - const sub$$ = rxGet>({ - url: `/api/${network.name}`, - params: { address }, - }).subscribe({ - next: (res) => { - if (!res) { - return; - } - - const { code, message, data } = res; - if (code === FaucetResponseCode.FAILED_THROTTLE) { - setThrottle(data as FaucetThrottleData); - } - setMessage(message); - setStatus(code); - setLoaing(false); - }, - error: (err) => { - const error = err as Error; - notification.error({ - message: error.message, - }); - setLoaing(false); - }, - }); - - return () => { - sub$$.unsubscribe(); - setLoaing(false); - setStatus(null); - }; - }, [network.name, address]); - - return ( - <> - - - layout="vertical" - className="max-w-xl lg:w-144" - onValuesChange={({ address }) => { - setAddress(address); - }} - onFinish={({ address }) => { - console.log(address); - }} - > -
    - - {t( - 'This faucet sends {{symbol}} (TestToken) on {{network}} Chain to your account. You can request 100 {{symbol}} from faucet every 12h.', - { network: capitalize(network.name), symbol } - )} - -
    - -
    -
    - 100 {symbol} -
    -
    - - - - - -
    - -
    - {!status || status === FaucetResponseCode.SUCCESS_PRECHECK ? null : status === - FaucetResponseCode.FAILED_THROTTLE || status === FaucetResponseCode.SUCCESS_TRANSFER ? ( - setStatus(null)} /> - ) : status === FaucetResponseCode.FAILED_INSUFFICIENT ? ( - - ) : ( - {message} - )} -
    -
    - -
    - - setBusy(false)} footer={null} width={460}> -
    - - {t('Transaction is being processed')} -
    -
    - - ); -}; - -const Section = ({ label, children, className }: PropsWithChildren<{ label?: string; className?: string }>) => ( -
    - {label &&
    {label}
    } - {children} -
    -); - -const Request = ({ - loading, - disabled, - onClick = () => undefined, -}: { - loading: boolean; - disabled: boolean; - onClick?: () => void; -}) => { - const { t } = useTranslation(); - return ( - - ); -}; - -const ThrottleLimit = ({ - throttleData: { throttleHours, lastTime }, - onFinish, -}: { - throttleData: FaucetThrottleData; - onFinish: () => void; -}) => { - const { t } = useTranslation(); - const [timeLeft, setTimeLeft] = useState({ hrs: 0, mins: 0, secs: 0 }); - - useEffect(() => { - const sub$$ = timer(0, millisecondsInSecond).subscribe(() => { - const milliSecs = throttleHours * millisecondsInHour + lastTime - Date.now(); - - if (milliSecs > 0) { - const { hours: hrs, minutes: mins, seconds: secs } = formatTimeLeft(milliSecs); - setTimeLeft({ hrs, mins, secs }); - } else { - onFinish(); - } - }); - - return () => sub$$.unsubscribe(); - }, [lastTime, throttleHours, onFinish]); - - return ( - <> - {t('Time left until the next request')} - {`${timeLeft.hrs} hrs ${timeLeft.mins} mins ${timeLeft.secs} secs`} - - ); -}; - -const Insufficient = () => { - const { t } = useTranslation(); - return ( - <> - {t('Sorry that the faucet is lack of tokens')} - - {t('Please contact us via ')} - hello@darwinia.network - - - ); -}; diff --git a/src/components/toolbox/faucet/index.tsx b/src/components/toolbox/faucet/index.tsx deleted file mode 100644 index 75889484..00000000 --- a/src/components/toolbox/faucet/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export * from './Faucet'; diff --git a/src/components/toolbox/withdraw/ImportToken.tsx b/src/components/toolbox/withdraw/ImportToken.tsx deleted file mode 100644 index 81b056c0..00000000 --- a/src/components/toolbox/withdraw/ImportToken.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { Button } from 'antd'; -import { EVMToken } from '../../../model'; - -export const ImportToken = ({ disabled, token }: { disabled: boolean; token?: EVMToken | null }) => - token ? ( - - ) : null; diff --git a/src/components/toolbox/withdraw/Withdraw.tsx b/src/components/toolbox/withdraw/Withdraw.tsx deleted file mode 100644 index ddad93cb..00000000 --- a/src/components/toolbox/withdraw/Withdraw.tsx +++ /dev/null @@ -1,332 +0,0 @@ -import { SubmittableExtrinsic } from '@polkadot/api/types'; -import { BN, BN_ZERO, u8aToHex } from '@polkadot/util'; -import { Button, Card, Select, Modal, Checkbox, notification } from 'antd'; -import type { CheckboxValueType } from 'antd/es/checkbox/Group'; -import Form from 'antd/lib/form'; -import { useForm } from 'antd/lib/form/Form'; -import { useCallback, useEffect, useMemo, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { from } from 'rxjs'; -import { validateMessages } from '../../../config'; -import { abi } from '../../../config/abi'; -import i18n from '../../../config/i18n'; -import { useAccount, useApi } from '../../../hooks'; -import { useMetamask } from '../../../hooks/ metamask'; -import { - entrance, - getEvmBalances, - fromWei, - toWei, - convertToEvm, - handleEthTxResult, - prettyNumber, - insufficientBalanceRule, -} from '../../../utils'; -import { AddressItem } from '../../widget/form-control/AddressItem'; -import { BalanceControl } from '../../widget/form-control/BalanceControl'; -import { EVMChainConfig } from '../../../model'; -import { ImportToken } from './ImportToken'; - -interface WithdrawFormValues { - destination: string; - asset: string; - amount: string; -} - -const EVM_DISPATCH_ADDRESS = '0x0000000000000000000000000000000000000401'; - -const capitalLetters = (str: string) => { - // eslint-disable-next-line no-magic-numbers - if (str.length < 2) { - return str; - } - - return str.slice(0, 1).toUpperCase() + str.slice(1).toLowerCase(); -}; - -// eslint-disable-next-line complexity -export function Withdraw() { - const { t } = useTranslation(); - const { api, network } = useApi(); - const [form] = useForm(); - const { - busy: metamaskBusy, - connection: { status, accounts }, - connectNetwork, - disconnect, - } = useMetamask(); - const { account, refreshAssets } = useAccount(); - const [visibleAttention, setVisibleAttention] = useState(false); - const [attentionState, setAttentionState] = useState([]); - const [busy, setBusy] = useState(false); - const [evmBalances, setEvmBalances] = useState(['0', '0']); // [ring, kton] - - const { ring, kton } = (network as EVMChainConfig).evm; - - const [withdrawFormValue, setWithdrawFormValue] = useState({ - destination: account?.displayAddress || '', - asset: ring.symbol, - amount: '0', - }); - - const activeAccount = useMemo(() => accounts[0]?.address, [accounts]); - const disableConnect = useMemo(() => status !== 'success' && status !== 'pending', [status]); - const disableWithdraw = useMemo( - () => status !== 'success' || !activeAccount || Number(withdrawFormValue.amount) === 0 || busy, - [status, activeAccount, withdrawFormValue.amount, busy] - ); - - const refreshEvmBalances = useCallback( - () => from(getEvmBalances(kton?.address || '', activeAccount || '')).subscribe(setEvmBalances), - [activeAccount, kton?.address] - ); - - // eslint-disable-next-line complexity - const handleWithdraw = useCallback(() => { - try { - setBusy(true); - - const { destination, asset } = withdrawFormValue; - const amount = toWei({ value: withdrawFormValue.amount, unit: 'ether' }); - const web3 = entrance.web3.getInstance(entrance.web3.defaultProvider); - - if ( - asset === ring.symbol || - network.name === 'crab' || - network.name === 'darwinia' || - network.name === 'pangolin' || - network.name === 'pangoro' - ) { - const transfer = asset === ring.symbol ? api.tx.balances.transfer : api.tx.kton.transfer; - const extrinsic = transfer( - destination, - fromWei({ value: amount }).split('.')[0] // use substrate precision here!! use split to remove possible decimals - ) as SubmittableExtrinsic<'promise'>; - - from( - web3.eth.estimateGas({ - from: activeAccount, - to: EVM_DISPATCH_ADDRESS, - data: u8aToHex(extrinsic.method.toU8a()), - }) - ).subscribe((gas) => { - const maxFeePerGas = new BN(toWei({ value: 10, unit: 'Gwei' })); - const fee = asset === ring.symbol ? maxFeePerGas.muln(gas) : BN_ZERO; - - const want = new BN(amount); - const max = asset === ring.symbol ? new BN(evmBalances[0]) : new BN(evmBalances[1]); - const transferable = want.add(fee).lt(max) ? want : max.sub(fee); - - if (transferable.gt(BN_ZERO)) { - const extrinsic = transfer( - destination, - fromWei({ value: transferable }).split('.')[0] // use substrate precision here!! use split to remove possible decimals - ) as SubmittableExtrinsic<'promise'>; - - const tx = web3.eth.sendTransaction({ - from: activeAccount, - to: EVM_DISPATCH_ADDRESS, - data: u8aToHex(extrinsic.method.toU8a()), - gas, - }); - - handleEthTxResult(tx, { - txSuccessCb: () => { - refreshAssets(); // substrate balance - refreshEvmBalances(); - setBusy(false); - setVisibleAttention(false); - }, - txFailedCb: () => setBusy(false), - }); - } else { - notification.warning({ - message: 'Transaction failed', - description: 'Out of gas', - }); - setBusy(false); - } - }); - } else if (asset === kton?.symbol) { - const contract = new web3.eth.Contract(abi.ktonABI, kton.address); - - const tx = contract.methods.withdraw(convertToEvm(destination), amount).send({ from: activeAccount }); - - handleEthTxResult(tx, { - txSuccessCb: () => { - refreshAssets(); // substrate balance - refreshEvmBalances(); - setBusy(false); - setVisibleAttention(false); - }, - txFailedCb: () => setBusy(false), - }); - } - } catch (error) { - setBusy(false); - console.error(error); - notification.error({ - message: 'Transaction failed', - description: (error as Error).message, - }); - } - }, [activeAccount, ring, kton, withdrawFormValue, api, evmBalances, network.name, refreshAssets, refreshEvmBalances]); - - useEffect(() => { - const sub$$ = refreshEvmBalances(); - - return () => sub$$.unsubscribe(); - }, [refreshEvmBalances]); - - useEffect(() => { - const amount = withdrawFormValue.asset === ring.symbol ? new BN(evmBalances[0]) : new BN(evmBalances[1]); - - const amountDisplay = prettyNumber(fromWei({ value: amount.isNeg() ? BN_ZERO : amount, unit: 'ether' }), { - decimal: Number(network.tokens.ring.decimal), - }); - - form.setFieldsValue({ - amount: amountDisplay, - }); - setWithdrawFormValue((prev) => ({ ...prev, amount: amountDisplay })); - }, [withdrawFormValue.asset, evmBalances, ring.symbol, form, network.tokens.ring]); - - const attentionsOpts = useMemo( - () => [ - { - label: `I am trying to transfer from 「${capitalLetters(network.name)} Smart Address 」to 「${capitalLetters( - network.name - )} Substrate Address」.`, - value: 0, - }, - { - label: `I have confirmed that the「${capitalLetters(network.name)} Substrate Address」: ${ - withdrawFormValue.destination - } is safe and available.`, - value: 1, - }, - { - label: 'I have confirmed that the address above is not an exchange address or cloud wallet address.', - value: 2, - }, - ], - [network.name, withdrawFormValue.destination] - ); - - return ( - <> - -
    - {activeAccount && ( -
    -
    - ... -
    {network.name}
    -
    Smart
    -
    - -
    - )} - - {status === 'success' && ( -
    - - - -
    - )} - - {status === 'pending' && ( - - )} -
    - - - form={form} - initialValues={withdrawFormValue} - className="max-w-xl lg:w-144" - validateMessages={validateMessages[i18n.language as 'en' | 'zh-CN' | 'zh']} - layout="vertical" - onValuesChange={({ asset }) => { - if (asset) { - setWithdrawFormValue((prev) => ({ ...prev, asset })); - } - }} - onFinish={({ destination, asset, amount }) => { - setVisibleAttention(true); - setWithdrawFormValue({ destination, asset, amount }); - }} - > - - - - - - ) : null; -}; diff --git a/src/components/widget/FormModal.tsx b/src/components/widget/FormModal.tsx deleted file mode 100644 index 1d7e5f8f..00000000 --- a/src/components/widget/FormModal.tsx +++ /dev/null @@ -1,150 +0,0 @@ -import { SubmittableExtrinsic } from '@polkadot/api/types'; -import { ISubmittableResult } from '@polkadot/types/types'; -import { isFunction, BN_HUNDRED, BN_ZERO, BN } from '@polkadot/util'; -import { Button, Form } from 'antd'; -import { useForm } from 'antd/lib/form/Form'; -import Modal, { ModalProps } from 'antd/lib/modal'; -import { PropsWithChildren, useEffect, useMemo, useState } from 'react'; -import { catchError, from, tap, NEVER } from 'rxjs'; -import { useTranslation } from 'react-i18next'; -import { validateMessages } from '../../config'; -import i18n from '../../config/i18n'; -import { fromWei } from '../../utils'; -import { useAccount, useQueue, useApi } from '../../hooks'; -import { TxFailedCallback, TxCallback, WithNull } from '../../model'; - -interface ModalFormProps> { - extrinsic: (val: Values) => SubmittableExtrinsic<'promise', ISubmittableResult>; - initialValues?: WithNull>; - modalProps: ModalProps; - signer?: string | null; - onFail?: TxFailedCallback; - onSuccess?: TxCallback; - onCancel: () => void; - onValuesChange?: (changedValues?: Partial, allValues?: Values) => void; - onEstimatedFeeChange?: (estimatedFee: BN) => void; -} - -export function FormModal>({ - modalProps, - children, - initialValues, - extrinsic, - signer, - onSuccess = () => { - // - }, - onFail = () => { - // - }, - onCancel, - onValuesChange, - onEstimatedFeeChange = (_) => undefined, -}: PropsWithChildren>) { - const [form] = useForm(); - const { api, network } = useApi(); - const { account } = useAccount(); - const { queueExtrinsic } = useQueue(); - const { visible, ...others } = modalProps; - const { t } = useTranslation(); - const [busy, setBusy] = useState(false); - const [estimatedFee, setEstimatedFee] = useState(BN_ZERO); - - const signAddress = useMemo(() => signer ?? account?.displayAddress, [signer, account]); - - useEffect(() => { - if (visible) { - // Reset to 「initialValues」 every time we open the modal - form.resetFields(); - } - }, [form, visible]); - - useEffect(() => { - if (account && isFunction(api.rpc.payment?.queryInfo)) { - try { - extrinsic(form.getFieldsValue()) - .paymentInfo(account.address) - .then(({ partialFee }) => { - // eslint-disable-next-line no-magic-numbers - const adjFee = partialFee.muln(110).div(BN_HUNDRED); - - setEstimatedFee(adjFee); - onEstimatedFeeChange(adjFee); - }); - } catch (_) { - setEstimatedFee(BN_ZERO); - onEstimatedFeeChange(BN_ZERO); - } - } - }, [api, account, form, extrinsic, onEstimatedFeeChange]); - - return ( - - {estimatedFee.gtn(0) && ( - - {t('Estimated fees of {{amount}} {{token}}', { - amount: fromWei({ value: estimatedFee }), - token: network.tokens.ring.symbol, - })} - - )} - - - - } - > -
    - {children} - -
    - ); -} diff --git a/src/components/widget/Language.tsx b/src/components/widget/Language.tsx deleted file mode 100644 index d58c75bc..00000000 --- a/src/components/widget/Language.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import { Button, ButtonProps, Dropdown, Menu } from 'antd'; -import { useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { NETWORK_THEME, THEME } from '../../config'; -import { Network } from '../../model'; -import { EarthIcon } from '../icons'; - -export interface LanguageProps extends ButtonProps { - className?: string; - color?: string; - network?: Network; - mode?: 'full' | 'icon' | 'text'; - theme?: THEME; -} - -const lang: { name: string; short: string }[] = [ - { name: '中文', short: 'zh' }, - { name: 'English', short: 'en' }, -]; - -// eslint-disable-next-line complexity -export function Language({ - network, - color, - theme = THEME.LIGHT, - mode = 'full', - className = '', - ...other -}: LanguageProps) { - const { t, i18n } = useTranslation(); - const [current, setCurrent] = useState(i18n.language.includes('-') ? i18n.language.split('-')[0] : i18n.language); - const textColor = network ? 'text-' + network + '-main' : ''; - const calcColor = network && NETWORK_THEME[theme][network]['@project-primary']; - - return ( - - {lang.map((item) => ( - { - if (current !== item.name) { - setCurrent(item.short); - i18n.changeLanguage(item.short); - } - }} - key={item.short} - > - {t(item.name)} - - ))} - - } - className={className} - > - {mode === 'icon' ? ( - - ) : ( - - )} - - ); -} diff --git a/src/components/widget/Page404.tsx b/src/components/widget/Page404.tsx deleted file mode 100644 index 599d1333..00000000 --- a/src/components/widget/Page404.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { Button, Result } from 'antd'; -import { Trans } from 'react-i18next'; -import { Link } from 'react-router-dom'; -import { Path } from '../../config/routes'; - -export function Page404() { - return ( - - - Back Home - - - } - /> - ); -} diff --git a/src/components/widget/QueueStatus.tsx b/src/components/widget/QueueStatus.tsx deleted file mode 100644 index 7c9cda00..00000000 --- a/src/components/widget/QueueStatus.tsx +++ /dev/null @@ -1,125 +0,0 @@ -import { Typography, notification } from 'antd'; -import { SyncOutlined } from '@ant-design/icons'; -import { Trans } from 'react-i18next'; -import { useEffect, ReactNode } from 'react'; -import { SubmittableResult } from '@polkadot/api'; -import { useQueue, useApi, useNetworkColor } from '../../hooks'; -import { SubscanLink } from './SubscanLink'; - -type NotificationConfig = { - key?: string; - message?: ReactNode; - duration?: number; - icon?: ReactNode; - description: ReactNode; - type: 'success' | 'error' | 'info' | 'warning' | 'open'; -}; - -export const QueueStatus = () => { - const { txqueue } = useQueue(); - const { network } = useApi(); - const { color } = useNetworkColor(); - - useEffect(() => { - // eslint-disable-next-line complexity - txqueue.forEach(({ error, status, extrinsic, rpc, id, result }) => { - let config: NotificationConfig | undefined = undefined; - - if (status === 'error') { - if (error?.message && error.message.includes('Unable to retrieve keypair')) { - config = { - type: 'error', - description: ( - {error.message}. Check on the Tools Page or restore your account with your backup files. - ), - }; - } else { - config = { - type: 'error', - description: error?.message, - }; - } - } else if (status === 'signing') { - config = { - type: 'info', - description: Waiting for approve, you need to approve this transaction in your wallet, - }; - } else if (status === 'broadcast') { - config = { - type: 'info', - description: Has been broadcast, waiting for the node to receive, - icon: , - }; - } else if (status === 'cancelled') { - config = { - type: 'warning', - description: The transaction has been cancelled, - }; - } else if (status === 'finalized' || status === 'inblock') { - (result as SubmittableResult).events - .filter(({ event: { section } }) => section === 'system') - .forEach(({ event: { method } }): void => { - const txHash = (result as SubmittableResult).txHash.toHex(); - if (method === 'ExtrinsicFailed') { - config = { - type: 'error', - description: ( -
    -

    - The transaction has been failed, you can check the transaction in the explorer. -

    - - - {txHash} - - -
    - ), - }; - } else if (method === 'ExtrinsicSuccess') { - config = { - type: 'success', - description: ( -
    -

    - - The transaction has been sent, please check the transaction progress in the history or explorer. - -

    - - - {txHash} - - -
    - ), - }; - } - }); - } - - if (config) { - let { method, section } = rpc; - const { key, message, duration, icon, description, type } = config; - - if (extrinsic) { - const found = extrinsic.registry.findMetaCall(extrinsic.callIndex); - if (found.section !== 'unknown') { - method = found.method; - section = found.section; - } - } - - notification[type]({ - key: key ?? id.toString(), - message: message ?? `${section}.${method}`, - duration: duration ?? null, - description, - icon, - }); - } - }); - }, [txqueue, network.name, color]); - - return null; -}; diff --git a/src/components/widget/SideNav.tsx b/src/components/widget/SideNav.tsx deleted file mode 100644 index dd6bdb28..00000000 --- a/src/components/widget/SideNav.tsx +++ /dev/null @@ -1,117 +0,0 @@ -import { CaretLeftFilled } from '@ant-design/icons'; -import { Menu } from 'antd'; -import { PropsWithChildren, useEffect, useMemo } from 'react'; -import { useTranslation } from 'react-i18next'; -import { Link, useLocation } from 'react-router-dom'; -import { SearchParamsKey } from '../../model'; -import { THEME } from '../../config'; -import { Path, routes } from '../../config/routes'; -import { useApi } from '../../hooks'; -import { DarwiniaIcon, ToolboxIcon } from '../icons'; -import { IconProps } from '../icons/icon-factory'; -import { toggleTheme } from './ThemeSwitch'; - -interface SideNavProps { - collapsed: boolean; - theme: THEME; - toggle: () => void; -} - -interface Nav { - label: string; - path: string; - Icon: (Props: IconProps) => JSX.Element; - className?: string; -} - -const navigators: Nav[] = [ - { label: 'Portal', path: Path.portal, Icon: DarwiniaIcon }, - // { label: 'Account', path: Path.account, Icon: AccountIcon }, - // { label: 'Staking', path: Path.staking, Icon: StakingIcon }, - { label: 'Toolbox', path: Path.toolbox, Icon: ToolboxIcon }, - // { label: 'Account Migration', path: Path.migration, Icon: UsersIcon, className: 'migration' }, - // { label: 'Fee Market', path: Path.feemarket, Icon: ChartIcon }, -]; - -export const getActiveNav = (path: string) => { - return routes - .filter((item) => path === item.path) - .map((item) => { - const urlPath = item.path === Path.root ? Path.portal : (item.path as string); - - return navigators.find((nav) => nav.path.startsWith(urlPath)); - }) - .filter((item) => !!item) as Nav[]; -}; - -// eslint-disable-next-line complexity -export function SideNav({ collapsed, theme, toggle, children }: PropsWithChildren) { - const { t } = useTranslation(); - const { network } = useApi(); - const location = useLocation(); - const selectedNavMenu = useMemo(() => { - const nav = getActiveNav(location.pathname); - - return [nav.length ? nav[0].path : '']; - }, [location?.pathname]); - - useEffect(() => { - toggleTheme(theme, 'darwinia'); - }, [theme]); - - const searchParams = new URLSearchParams(); - searchParams.set(SearchParamsKey.RPC, encodeURIComponent(network.provider.rpc)); - - return ( -
    -
    {children}
    - - - {navigators.map(({ Icon, path, label, className }) => ( - } key={path} className={className}> - - {t(label)} - - - ))} - - -
    -
    - {/* TODO: Icon can not display on drawer */} - - - - - - - - - - - - -
    -
    - -
    - -
    -
    - ); -} diff --git a/src/components/widget/Signer.tsx b/src/components/widget/Signer.tsx deleted file mode 100644 index ff9b1eda..00000000 --- a/src/components/widget/Signer.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { notification } from 'antd'; -import { ClockCircleOutlined } from '@ant-design/icons'; -import { useMemo, useEffect } from 'react'; -import { useTranslation } from 'react-i18next'; -import { signAndSendTx, sendRpc, extractCurrent } from '../../utils'; -import { useQueue, useApi, useNetworkColor, useWallet } from '../../hooks'; - -export const Signer = () => { - const { color } = useNetworkColor(); - const { api, network } = useApi(); - const { signer } = useWallet(); - const { t } = useTranslation(); - const { txqueue, queueSetTxStatus } = useQueue(); - const { count, currentItem, isRpc, isExtrinsic } = useMemo(() => extractCurrent(txqueue), [txqueue]); - - useEffect((): void => { - if (currentItem && isRpc) { - sendRpc(api, currentItem, queueSetTxStatus); - } - }, [api, isRpc, currentItem, queueSetTxStatus]); - - useEffect(() => { - if (currentItem && isExtrinsic && signer) { - signAndSendTx(currentItem, queueSetTxStatus, signer); - } - }, [currentItem, isExtrinsic, signer, queueSetTxStatus]); - - useEffect(() => { - const key = 'Authorize transaction'; - - if (currentItem) { - const { extrinsic, rpc } = currentItem; - let { section, method } = rpc; - if (extrinsic) { - const found = extrinsic.registry.findMetaCall(extrinsic.callIndex); - if (found.section !== 'unknown') { - method = found.method; - section = found.section; - } - } - - notification.open({ - icon: , - message: `${t('Authorize transaction')} (1/${count})`, - description: `${t('Current')}: ${section}.${method}`, - key, - duration: null, - }); - } else { - notification.close(key); - } - }, [t, color, count, currentItem, network]); - - return null; -}; diff --git a/src/components/widget/Statistics.tsx b/src/components/widget/Statistics.tsx deleted file mode 100644 index efa6a924..00000000 --- a/src/components/widget/Statistics.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { ReactElement } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useApi } from '../../hooks'; - -export function Statistics({ - title, - value, - className, -}: { - title: string; - value: string | number | ReactElement; - className?: string; -}) { - const { network } = useApi(); - const { t } = useTranslation(); - - return ( -
    -
    -

    {t(title)}

    -
    {value}
    -
    -
    - ); -} diff --git a/src/components/widget/SubscanLink.tsx b/src/components/widget/SubscanLink.tsx deleted file mode 100644 index 8d5c2b06..00000000 --- a/src/components/widget/SubscanLink.tsx +++ /dev/null @@ -1,80 +0,0 @@ -import { Typography } from 'antd'; -import { CSSProperties, PropsWithChildren, ReactNode } from 'react'; -import { Network } from '../../model'; - -const { Link } = Typography; - -interface SubscanLinkProps extends PropsWithChildren { - address?: string; - block?: string; - className?: string; - copyable?: boolean; - extrinsic?: { height: string | number; index: number | string }; - network: Network; - style?: CSSProperties; - txHash?: string; - query?: string; - prefix?: ReactNode; -} - -// eslint-disable-next-line complexity -export function SubscanLink({ - network, - address, - extrinsic, - children, - copyable, - block, - txHash, - query, - prefix, - className, - ...other -}: SubscanLinkProps) { - if (address) { - return ( - - {children || address} - - ); - } - - if (extrinsic) { - const { height, index } = extrinsic; - - return ( - - {children || `${height}-${index}`} - - ); - } - - if (txHash) { - return ( - - {children || txHash} - - ); - } - - if (block) { - return ( - - {prefix} - {children || block} - - ); - } - - return null; -} diff --git a/src/components/widget/ThemeSwitch.tsx b/src/components/widget/ThemeSwitch.tsx deleted file mode 100644 index aa6d418d..00000000 --- a/src/components/widget/ThemeSwitch.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import { Button, Switch, SwitchProps } from 'antd'; -import { useCallback, useEffect, useMemo, useState } from 'react'; -import { NETWORK_THEME, SKIN_THEME, THEME } from '../../config'; -import { Network } from '../../model'; -import { readStorage, updateStorage } from '../../utils/helper/storage'; -import { MoonIcon, SunIcon } from '../icons'; - -export const toggleTheme = (theme: THEME, network: Network = 'pangolin') => { - const networkTheme = NETWORK_THEME[theme ?? THEME.DARK]; - - window.less - .modifyVars({ - ...SKIN_THEME[theme], - ...SKIN_THEME.vars, - ...networkTheme[network], - }) - .then(() => { - updateStorage({ theme }); - // Do not read theme from localStorage other than this file. Use readStorage instead. - localStorage.setItem('theme', theme); - }) - .catch((error: unknown) => { - console.log('%c [ error ]-22', 'font-size:13px; background:pink; color:#bf2c9f;', error); - }); -}; - -interface ThemeSwitchProps extends SwitchProps { - network?: Network; - defaultTheme?: THEME; - onThemeChange?: (theme: THEME) => void; - mode?: 'switcher' | 'btn'; -} - -export function ThemeSwitch({ - network, - mode = 'switcher', - onThemeChange, - defaultTheme = THEME.LIGHT, - className, - ...others -}: ThemeSwitchProps) { - const [theme, setTheme] = useState(readStorage()?.theme || defaultTheme); - const toggle = useCallback(() => { - const current = theme === THEME.DARK ? THEME.LIGHT : THEME.DARK; - - setTheme(current); - - if (onThemeChange) { - onThemeChange(current); - } - }, [onThemeChange, theme]); - const Icon = useMemo(() => (theme === THEME.DARK ? MoonIcon : SunIcon), [theme]); - - useEffect(() => { - toggleTheme(theme, network); - - if (theme === THEME.DARK) { - document.documentElement.classList.add('dark'); - } else { - document.documentElement.classList.remove('dark'); - } - }, [network, theme]); - - return mode === 'switcher' ? ( - - ) : ( - - ); -} diff --git a/src/components/widget/TooltipBalance.tsx b/src/components/widget/TooltipBalance.tsx deleted file mode 100644 index 25bd65df..00000000 --- a/src/components/widget/TooltipBalance.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { Tooltip } from 'antd'; -import type { BN } from '@polkadot/util'; -import type { Balance } from '@polkadot/types/interfaces'; - -import { useApi } from '../../hooks'; -import { fromWei, getUnit, prettyNumber } from '../../utils'; - -interface Props { - value: Balance | BN | string | number | null | undefined; - precision?: number; - className?: string; - integerClassName?: string; - decimalClassName?: string; -} - -export const TooltipBalance = ({ value, precision, className, integerClassName, decimalClassName }: Props) => { - const { network } = useApi(); - - const balance = fromWei({ value, unit: getUnit(precision || Number(network.tokens.ring.decimal)) }); - const [integer, decimal] = prettyNumber(balance).split('.'); - - return ( - - - {decimal ? `${integer}.` : integer} - {decimal && {decimal}} - - - ); -}; diff --git a/src/components/widget/account/AccountName.tsx b/src/components/widget/account/AccountName.tsx deleted file mode 100644 index 94062c2f..00000000 --- a/src/components/widget/account/AccountName.tsx +++ /dev/null @@ -1,174 +0,0 @@ -import { CheckCircleFilled, LinkOutlined, MinusCircleFilled, CheckOutlined } from '@ant-design/icons'; -import { DeriveAccountRegistration } from '@polkadot/api-derive/accounts/types'; -import { TypeRegistry } from '@polkadot/types/create'; -import { AccountId, AccountIndex, Address } from '@polkadot/types/interfaces'; -import { stringToU8a } from '@polkadot/util'; -import { isFunction } from 'lodash'; -import { ReactNode, useEffect, useState } from 'react'; -import { from, of, delay } from 'rxjs'; -import { CopyToClipboard } from 'react-copy-to-clipboard'; -import { useApi } from '../../../hooks'; -import { CopyIcon } from '../../icons'; -import { getAddressName } from '../../../utils'; -import { SHORT_DURATION } from '../../../config'; - -interface AccountNameProps { - account: string; - copyable?: boolean; - className?: string; -} - -const registry = new TypeRegistry(); -const PAD = 32; -const KNOWN: [AccountId, string][] = [ - [registry.createType('AccountId', stringToU8a('modlpy/socie'.padEnd(PAD, '\0'))), 'Society'], - [registry.createType('AccountId', stringToU8a('modlpy/trsry'.padEnd(PAD, '\0'))), 'Treasury'], -]; -const displayCache = new Map(); -const indexCache = new Map(); -const parentCache = new Map(); - -export function getParentAccount(value: string): string | undefined { - return parentCache.get(value); -} - -// eslint-disable-next-line complexity -function defaultOrAddr( - address: AccountId | AccountIndex | Address | string | Uint8Array, - index?: AccountIndex, - defaultName = '' -): [React.ReactNode, boolean, boolean, boolean] { - const known = KNOWN.find(([addr]) => addr.eq(address)); - - if (known) { - return [known[1], false, false, true]; - } - - const accountId = address.toString(); - - if (!accountId) { - return [defaultName, false, false, false]; - } - - const [isAddressExtracted, , extracted] = getAddressName(accountId, null, defaultName); - const accountIndex = (index || '').toString() || indexCache.get(accountId); - - if (isAddressExtracted && accountIndex) { - indexCache.set(accountId, accountIndex); - - return [accountIndex, false, true, false]; - } - - return [extracted, !isAddressExtracted, isAddressExtracted, false]; -} - -// eslint-disable-next-line complexity -function extractName(address: string, accountIndex?: AccountIndex): React.ReactNode { - const displayCached = displayCache.get(address); - - if (displayCached) { - return displayCached; - } - - const [displayName, isLocal, isAddress, isSpecial] = defaultOrAddr(address, accountIndex); - - return ( -
    - {isSpecial && } - - {displayName} - -
    - ); -} - -function createIdElem( - nameElem: React.ReactNode, - color: 'green' | 'red' | 'gray', - icon: 'check' | 'minus' | 'link' -): React.ReactNode { - return ( -
    - {icon === 'check' && } - {icon === 'minus' && } - {icon === 'link' && } - {nameElem} -
    - ); -} - -// eslint-disable-next-line complexity -function extractIdentity(address: string, identity: DeriveAccountRegistration): React.ReactNode { - const judgements = identity.judgements.filter(([, judgement]) => !judgement.isFeePaid); - const isGood = judgements.some(([, judgement]) => judgement.isKnownGood || judgement.isReasonable); - const isBad = judgements.some(([, judgement]) => judgement.isErroneous || judgement.isLowQuality); - const displayName = isGood ? identity.display : identity.display || ''; // at polkadot apps: .replace(/[^\x20-\x7E]/g, ''); - const displayParent = - identity.displayParent && (isGood ? identity.displayParent : identity.displayParent.replace(/[^\x20-\x7E]/g, '')); - const elem = createIdElem( - - {displayParent || displayName} - {displayParent && {`/${displayName || ''}`}} - , - isBad ? 'red' : isGood ? 'green' : 'gray', - identity.parent ? 'link' : isGood && !isBad ? 'check' : 'minus' - ); - - displayCache.set(address, elem); - - return elem; -} - -export const AccountName = ({ account, copyable, className }: AccountNameProps) => { - const [name, setName] = useState(() => extractName(account)); - const { api } = useApi(); - const [isCopied, setIsCopied] = useState(false); - - useEffect(() => { - // eslint-disable-next-line complexity - const sub$$ = from(api.derive.accounts.info(account)).subscribe((data) => { - const { accountId, accountIndex, identity, nickname } = data; - const cacheAddr = (accountId || account || '').toString(); - - if (identity?.parent) { - parentCache.set(cacheAddr, identity.parent.toString()); - } - - if (isFunction(api.query.identity?.identityOf)) { - const node = identity?.display ? extractIdentity(cacheAddr, identity) : extractName(cacheAddr, accountIndex); - setName(node); - } else if (nickname) { - setName(nickname); - } else { - setName(defaultOrAddr(cacheAddr, accountIndex)); - } - }); - - return () => sub$$.unsubscribe(); - }, [account, api]); - - useEffect(() => { - if (isCopied) { - of(false).pipe(delay(SHORT_DURATION)).subscribe(setIsCopied); - } - }, [isCopied]); - - return ( - - {name} - {copyable && ( - setIsCopied(true)}> - {isCopied ? : } - - )} - - ); -}; diff --git a/src/components/widget/account/AccountSelector.tsx b/src/components/widget/account/AccountSelector.tsx deleted file mode 100644 index 3b11cca1..00000000 --- a/src/components/widget/account/AccountSelector.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { SettingFilled } from '@ant-design/icons'; -import { Button } from 'antd'; -import { useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useApi, useWallet, useAccount } from '../../../hooks'; -import { SelectAccountModal } from './SelectAccountModal'; - -export function AccountSelector({ onSuccess = () => undefined }: { onSuccess?: () => void }) { - const { network } = useApi(); - const { accounts } = useWallet(); - const { account, selectAccount } = useAccount(); - const { t } = useTranslation(); - const [visible, setVisible] = useState(false); - - return ( - <> - {!account ? ( - - ) : accounts.length > 1 ? ( - <> - - - setVisible(true)} - className={`lg:hidden inline-flex items-center text-2xl h-8 text-${network.name}-main`} - /> - - ) : null} - setVisible(false)} - onSelect={(acc) => { - if (acc !== account?.displayAddress) { - selectAccount(acc); - } - setVisible(false); - onSuccess(); - }} - footer={null} - /> - - ); -} diff --git a/src/components/widget/account/ActiveAccount.tsx b/src/components/widget/account/ActiveAccount.tsx deleted file mode 100644 index a07989d8..00000000 --- a/src/components/widget/account/ActiveAccount.tsx +++ /dev/null @@ -1,163 +0,0 @@ -import BaseIdentityIcon, { Identicon } from '@polkadot/react-identicon'; -import { Card, Col, Modal, Row, Badge } from 'antd'; -import React, { CSSProperties, useEffect, useMemo, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { CopyToClipboard } from 'react-copy-to-clipboard'; -import { delay, of } from 'rxjs'; -import isMobile from 'is-mobile'; -import { useApi, useWallet, useAccount } from '../../../hooks'; -import { toShortAddress } from '../../../utils'; -import { ViewBrowserIcon, CopyIcon } from '../../icons'; -import { SHORT_DURATION, SEARCH_PARAMS_SOURCE } from '../../../config'; -import { AccountName } from '../account/AccountName'; -import { IdentAccountName } from '../account/IdentAccountName'; -import { Account } from '../../../model'; -import { AccountSelector } from './AccountSelector'; - -function AccountWithNetwork({ - logoStyle, - containerStyle, - isLargeRounded = true, - className = '', - account, - onClick = () => undefined, -}: React.PropsWithChildren<{ - isLargeRounded?: boolean; - logoStyle?: CSSProperties; - containerStyle?: CSSProperties; - className?: string; - textClassName?: string; - account: Account; - onClick?: React.MouseEventHandler; -}>) { - const { network } = useApi(); - const { walletToUse } = useWallet(); - const containerCls = useMemo( - () => - `flex items-center justify-center space-x-2 px-3 leading-normal whitespace-nowrap p-1 overflow-hidden bg-${ - network.name - } - ${isLargeRounded ? 'rounded-xl ' : 'rounded-lg '} - ${className}`, - [isLargeRounded, className, network] - ); - - return ( -
    - - {walletToUse && ( - {walletToUse.logo.alt} - )} -
    - ); -} - -// eslint-disable-next-line complexity -export const ActiveAccount = () => { - const { network } = useApi(); - const { walletToUse } = useWallet(); - const { account } = useAccount(); - const { t } = useTranslation(); - const [visible, setVisible] = useState(false); - const [isCopied, setIsCopied] = useState(false); - - const copyText = useMemo(() => (isCopied ? t('Copied') : t('Copy Address')), [isCopied, t]); - - useEffect(() => { - if (isCopied) { - of(false).pipe(delay(SHORT_DURATION)).subscribe(setIsCopied); - } - }, [isCopied]); - - if (isMobile()) { - return account ? : null; - } else if (!walletToUse) { - return null; - } - - return account ? ( - <> -
    - {account && ( - <> - - { - setVisible(true); - }} - account={account} - className="text-white hidden lg:flex cursor-pointer" - logoStyle={{ width: 24, height: 24 }} - isLargeRounded={true} - /> - - - setVisible(true)} className="lg:hidden flex"> - - - - )} -
    - setVisible(false)} - destroyOnClose={true} - bodyStyle={{ maxHeight: '80vh', overflow: 'hidden' }} - > - - -
    - - - - - -
    - - setVisible(false)} /> -
    - {toShortAddress(account.displayAddress)} - - - - - - - - {t('View in Subscan')} - - - - setIsCopied(true)}> - - - {copyText} - - - - - - - - - - ) : ( - - ); -}; diff --git a/src/components/widget/account/IdentAccountAddress.tsx b/src/components/widget/account/IdentAccountAddress.tsx deleted file mode 100644 index 73a22226..00000000 --- a/src/components/widget/account/IdentAccountAddress.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import Identicon from '@polkadot/react-identicon'; -import { Account } from '../../../model'; -import { EllipsisMiddle } from '../EllipsisMiddle'; -import { AccountName } from '../../../components/widget/account/AccountName'; - -interface IdentAccountProps { - account: Account | undefined; - className?: string; - iconSize?: number; -} - -const defaultSize = 32; - -export function IdentAccountAddress({ account, className = '', iconSize = defaultSize }: IdentAccountProps) { - if (!account) { - return null; - } - const { displayAddress } = account; - - return ( -
    - - - - - -
    - ); -} diff --git a/src/components/widget/account/IdentAccountName.tsx b/src/components/widget/account/IdentAccountName.tsx deleted file mode 100644 index 5c101e9c..00000000 --- a/src/components/widget/account/IdentAccountName.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import Identicon from '@polkadot/react-identicon'; -import { AccountName } from './AccountName'; - -interface IdentAccountProps { - account: string; - className?: string; - iconSize?: number; -} - -// eslint-disable-next-line no-magic-numbers -export function IdentAccountName({ account, iconSize = 32, className = '' }: IdentAccountProps) { - return ( - - - - - ); -} diff --git a/src/components/widget/account/SelectAccountModal.tsx b/src/components/widget/account/SelectAccountModal.tsx deleted file mode 100644 index fccb95e4..00000000 --- a/src/components/widget/account/SelectAccountModal.tsx +++ /dev/null @@ -1,120 +0,0 @@ -import React from 'react'; -import BaseIdentityIcon from '@polkadot/react-identicon'; -import { QuestionCircleFilled } from '@ant-design/icons'; -import { Empty, Modal, Radio, Spin, Tooltip } from 'antd'; -import { useTranslation } from 'react-i18next'; -import { useApi, useAssets, useWallet } from '../../../hooks'; -import { EllipsisMiddle } from '../EllipsisMiddle'; -import { Account } from '../../../model'; -import { TooltipBalance } from '../TooltipBalance'; -import { AccountName } from './AccountName'; - -type Props = { - visible: boolean; - value?: string; - defaultValue?: string; - title?: React.ReactNode; - footer?: React.ReactNode; - onSelect: (address: string) => void; - onCancel: () => void; -}; - -const iconSize = 36; - -const AccountWithIdentify = ({ value }: { value: Account }) => { - const { assets, loading } = useAssets(value.displayAddress); - - return ( - <> - - -
    - - - {assets.length ? ( - assets.map((item, index) => ( - - {index > 0 && |} - - {item.token.symbol} - - )) - ) : ( - - )} - -
    - -
    - - ); -}; - -export const SelectAccountModal: React.FC = ({ - visible, - value, - defaultValue, - title, - footer, - onSelect, - onCancel, -}) => { - const { network } = useApi(); - const { accounts } = useWallet(); - const { t } = useTranslation(); - - return ( - - {t('Select active account')} - - - - - ) - } - destroyOnClose - visible={visible} - onCancel={onCancel} - bodyStyle={{ - maxHeight: '70vh', - overflow: 'scroll', - }} - footer={footer} - > - {accounts?.length ? ( - onSelect(event.target.value)} - > - {accounts.map((item) => ( - - - - ))} - - ) : ( - - )} - - ); -}; diff --git a/src/components/widget/form-control/AddressItem.tsx b/src/components/widget/form-control/AddressItem.tsx deleted file mode 100644 index 5814dab8..00000000 --- a/src/components/widget/form-control/AddressItem.tsx +++ /dev/null @@ -1,77 +0,0 @@ -import { createRef, useMemo } from 'react'; -import { AutoComplete, Form, Input, InputProps, Select } from 'antd'; -import { isString, upperFirst } from 'lodash'; -import { useTranslation } from 'react-i18next'; -import { useAccount, useApi, useWallet } from '../../../hooks'; -import { CustomFormItemProps } from '../../../model'; -import { fromWei, isSpecifiedSS58Address, prettyNumber, isValidEthAddress } from '../../../utils'; -import { IdentAccountAddress } from '../account/IdentAccountAddress'; - -export function AddressItem({ - label, - canEth, - disabled, - rules = [], - ...rest -}: CustomFormItemProps & InputProps & { canEth?: boolean }) { - const { t } = useTranslation(); - const { network } = useApi(); - const { accounts } = useWallet(); - const { assets } = useAccount(); - const autoCompleteInputRef = createRef(); - const autoCompleteOptions = useMemo<{ value: string; label: JSX.Element }[]>( - () => accounts.map((item) => ({ value: item.displayAddress, label: })), - [accounts] - ); - - return ( - - {t('Available')}: - {assets.map((item) => ( - - {fromWei({ value: item.max }, prettyNumber)} - {item.token.symbol} - - ))} - - } - {...rest} - rules={[ - { required: true }, - { - validator(_, value) { - return isSpecifiedSS58Address(value, network.ss58Prefix) || (canEth ? isValidEthAddress(value) : false) - ? Promise.resolve() - : Promise.reject(); - }, - message: t('Please enter a valid {{network}} address', { network: upperFirst(network.name) }), - }, - ...rules, - ]} - > - {disabled ? ( - - ) : ( - - autoCompleteInputRef.current?.select()} - onClick={() => autoCompleteInputRef.current?.select()} - /> - - )} - - ); -} diff --git a/src/components/widget/form-control/BalanceControl.tsx b/src/components/widget/form-control/BalanceControl.tsx deleted file mode 100644 index a274e4c4..00000000 --- a/src/components/widget/form-control/BalanceControl.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import { Button, Input, InputNumber, InputNumberProps } from 'antd'; -import { GroupProps } from 'antd/lib/input'; -import { omit } from 'lodash'; -import { PropsWithChildren, useCallback, useEffect, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { CustomFormControlProps } from '../../../model'; -import { getPrecisionByUnit } from '../../../utils'; - -type BalanceControlProps = CustomFormControlProps & - Omit, 'value'> & - PropsWithChildren & - GroupProps & { max?: string }; - -export function BalanceControl({ - value, - onChange, - children, - className, - max, - precision = getPrecisionByUnit('gwei'), - ...other -}: BalanceControlProps) { - const { t } = useTranslation(); - const [data, setData] = useState(value); - const triggerChange = useCallback( - (val: string) => { - if (onChange) { - onChange(val); - } - }, - [onChange] - ); - const getValue = useCallback( - (inputValue: string) => { - const [integer, decimal] = inputValue.split('.'); - - if (!decimal) { - return integer; - } - - return decimal?.length > precision ? `${integer}.${decimal.slice(0, precision)}` : inputValue; - }, - [precision] - ); - - useEffect(() => { - setData(value); - }, [value]); - - return ( - - - {...omit(other, 'compact')} - className={className} - value={data} - min="0" - stringMode - onChange={(event) => { - const inputValue = event ? event.replace(/,/g, '') : ''; - const val = getValue(inputValue); - - setData(val); - triggerChange(val); - }} - onKeyDown={(e) => e.stopPropagation()} - /> - {children} - {max && ( - - )} - - ); -} diff --git a/src/components/widget/form-control/DepositItem.tsx b/src/components/widget/form-control/DepositItem.tsx deleted file mode 100644 index 8597b8fd..00000000 --- a/src/components/widget/form-control/DepositItem.tsx +++ /dev/null @@ -1,97 +0,0 @@ -import { isString } from 'lodash'; -import { useMemo, useCallback } from 'react'; -import { useTranslation } from 'react-i18next'; -import { Form, Select } from 'antd'; -import { format } from 'date-fns'; -import { Deposit, DepositResponse, CustomFormItemProps } from '../../../model'; -import { RecordsHook } from '../../../hooks'; -import { getTimeRange } from '../../../utils'; -import { DATE_FORMAT } from '../../../config'; - -const getSencondFromMonth = (month: number) => { - // eslint-disable-next-line no-magic-numbers - return month * 30 * 24 * 60 * 60; -}; - -const isEnding = (startTime: number, durationTime: number) => { - const current = Date.now(); - // eslint-disable-next-line no-magic-numbers - const start = startTime * 1000; - // eslint-disable-next-line no-magic-numbers - const duration = getSencondFromMonth(durationTime) * 1000; - return current >= start + duration; -}; - -const Selector = ({ - response, - onChange = () => undefined, -}: { - onChange?: (value: Deposit) => void; - response: RecordsHook; -}) => { - const { t } = useTranslation(); - const { loading, error, data } = response; - - const unclaim = useMemo( - () => data?.list.filter((item) => !(item.withdraw_tx || item.map_status)) || [], - [data?.list] - ); - - const [disableDeposit, placeholderDeposit] = useMemo( - () => [ - !!error || !unclaim.length, - error ? t('Search deposit failed') : unclaim.length ? t('Please select deposit') : t('No record'), - ], - [error, unclaim, t] - ); - - const triggerChange = useCallback( - (id: number) => { - const deposit = unclaim.find((item) => item.deposit_id === id); - if (deposit) { - onChange(deposit); - } - }, - [unclaim, onChange] - ); - - return ( - - ); -}; - -export const DepositItem = ({ - label, - name, - response, -}: CustomFormItemProps & { response: RecordsHook }) => { - const { t } = useTranslation(); - - return ( - - - - ); -}; diff --git a/src/components/widget/form-control/FundControl.tsx b/src/components/widget/form-control/FundControl.tsx deleted file mode 100644 index 57860166..00000000 --- a/src/components/widget/form-control/FundControl.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import { Select } from 'antd'; -import { useMemo } from 'react'; -import { useCallback, useEffect, useState } from 'react'; -import { useAccount } from '../../../hooks'; -import { Asset, Fund, CustomFormControlProps } from '../../../model'; -import { BalanceControl } from './BalanceControl'; - -export interface FundControlProps extends CustomFormControlProps { - max?: string; - hiddenAssets?: (asset: Asset) => boolean; -} - -export function FundControl({ onChange, max, hiddenAssets }: FundControlProps) { - const { assets: assetAll } = useAccount(); - const [selectedAsset, setSelectedAsset] = useState(null); - const [amount, setAmount] = useState(''); - const assets = useMemo( - () => (hiddenAssets && assetAll ? assetAll.filter((item) => !hiddenAssets(item)) : assetAll), - [assetAll, hiddenAssets] - ); - const triggerChange = useCallback( - (val: Fund) => { - if (onChange) { - onChange(val); - } - }, - [onChange] - ); - - useEffect(() => { - if (selectedAsset === null && assets.length) { - setSelectedAsset(assets[0]); - triggerChange({ amount: amount || '-0', ...assets[0] }); - } - }, [assets, selectedAsset, amount, triggerChange]); - - return ( - { - setAmount(value); - - if (selectedAsset) { - triggerChange({ amount: value, ...selectedAsset }); - } - }} - max={max} - size="large" - className="flex-1" - > - - onChange={(unit) => { - const cur = assets.find((item) => item.token?.symbol === unit); - - if (cur) { - setSelectedAsset(cur); - triggerChange({ ...cur, amount }); - } - }} - value={selectedAsset?.token?.symbol} - size="large" - style={{ border: 'none' }} - > - {assets.map((item) => { - const { token } = item; - - return ( - - {token.symbol} - - ); - })} - - - ); -} diff --git a/src/components/widget/form-control/FundItem.tsx b/src/components/widget/form-control/FundItem.tsx deleted file mode 100644 index 917f1fc5..00000000 --- a/src/components/widget/form-control/FundItem.tsx +++ /dev/null @@ -1,79 +0,0 @@ -import FormItem from 'antd/lib/form/FormItem'; -import { isString, isUndefined, omit } from 'lodash'; -import { useMemo } from 'react'; -import { useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useAccount } from '../../../hooks'; -import { Asset, CustomFormItemProps, DarwiniaAsset, Fund } from '../../../model'; -import { fromWei, insufficientBalanceRule, isRing } from '../../../utils'; -import { FundControl, FundControlProps } from './FundControl'; - -interface FundItemProps extends CustomFormItemProps, Pick { - max?: { [key in DarwiniaAsset]?: string }; -} - -// eslint-disable-next-line complexity -export function FundItem({ label, name, extra, max, hiddenAssets, rules = [], onChange }: FundItemProps) { - const { t } = useTranslation(); - const { assets } = useAccount(); - const [asset, setAsset] = useState(null); - const maxValue = useMemo( - () => (max && asset ? max[isRing(asset.token.symbol) ? DarwiniaAsset.ring : DarwiniaAsset.kton] : undefined), - [asset, max] - ); - - return ( - { - const { amount } = val; - - // As untouched - if (amount === '-0') { - return Promise.resolve(); - } - - return amount && Number(amount) > 0 ? Promise.resolve() : Promise.reject(); - }, - message: t(`${name} is required`, { name }), - }, - asset - ? insufficientBalanceRule({ - t, - compared: maxValue ?? asset.max, - token: asset.token, - }) - : {}, - ...rules, - ]} - extra={ - isUndefined(extra) ? ( - - {t('Please keep a little {{token}} as fee', { - token: assets.find((item) => isRing(item.token.symbol))?.token?.symbol ?? 'RING', - })} - - ) : ( - extra - ) - } - > - { - if (onChange) { - onChange(value); - } - - const data = omit(value, 'amount'); - - setAsset(data); - }} - max={maxValue && fromWei({ value: maxValue })} - hiddenAssets={hiddenAssets} - /> - - ); -} diff --git a/src/components/widget/form-control/Label.tsx b/src/components/widget/form-control/Label.tsx deleted file mode 100644 index d5fba616..00000000 --- a/src/components/widget/form-control/Label.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { QuestionCircleOutlined } from '@ant-design/icons'; -import { Tooltip } from 'antd'; -import { ReactNode } from 'react'; - -interface LabelProps { - text: string | ReactNode; - info?: string | ReactNode; - className?: string; -} - -export function Label({ text, info, className = '' }: LabelProps) { - return ( - - {text} - {info && ( - - - - )} - - ); -} diff --git a/src/components/widget/form-control/PayeeControl.tsx b/src/components/widget/form-control/PayeeControl.tsx deleted file mode 100644 index e9b11a2f..00000000 --- a/src/components/widget/form-control/PayeeControl.tsx +++ /dev/null @@ -1,100 +0,0 @@ -import { Select } from 'antd'; -import FormItem from 'antd/lib/form/FormItem'; -import { useState, useCallback, useMemo } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useStaking, useWallet } from '../../../hooks'; -import { CustomFormControlProps } from '../../../model'; -import { IdentAccountAddress } from '../account/IdentAccountAddress'; -import { Label } from './Label'; - -export type PayeeType = 'Staked' | 'Stash' | 'Controller' | 'Account'; - -export interface Payee { - type: PayeeType; - account: string; -} - -export function PayeeControl({ onChange, value }: CustomFormControlProps) { - const { t } = useTranslation(); - const { controllerAccount, stashAccount } = useStaking(); - const [type, setType] = useState(value?.type ?? 'Staked'); - const { accounts } = useWallet(); - const triggerChange = useCallback( - (val: Payee) => { - if (onChange) { - onChange(val); - } - }, - [onChange] - ); - const options = useMemo<(Payee & { label: string })[]>( - () => [ - { - type: 'Staked', - account: stashAccount || '', - label: t('Stash account (increase the amount at stake)'), - }, - { - type: 'Stash', - account: stashAccount || '', - label: t('Stash account (do not increase the amount at stake)'), - }, - { - type: 'Controller', - account: controllerAccount || '', - label: t('Controller account'), - }, - { - type: 'Account', - account: '', - label: t('Other Account'), - }, - ], - [controllerAccount, stashAccount, t] - ); - - return ( - <> - - size="large" - onChange={(opt) => { - setType(opt); - triggerChange({ - account: options.find((item) => item.type === opt)?.account ?? stashAccount ?? '', - type: opt, - }); - }} - value={value?.type} - > - {options.map((item) => ( - - {item.label} - - ))} - - - {type === 'Account' && ( - } - rules={[{ required: true }]} - className="mt-4" - required - > - - - )} - - ); -} diff --git a/src/components/widget/form-control/PayeeItem.tsx b/src/components/widget/form-control/PayeeItem.tsx deleted file mode 100644 index 75f99163..00000000 --- a/src/components/widget/form-control/PayeeItem.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import FormItem from 'antd/lib/form/FormItem'; -import { isString } from 'lodash'; -import { useTranslation } from 'react-i18next'; -import { CustomFormItemProps } from '../../../model'; -import { Payee, PayeeControl } from './PayeeControl'; - -export function PayeeItem({ label, rules = [], onChange, ...rest }: CustomFormItemProps) { - const { t } = useTranslation(); - - return ( - - - - ); -} diff --git a/src/components/widget/form-control/PromiseMonthItem.tsx b/src/components/widget/form-control/PromiseMonthItem.tsx deleted file mode 100644 index c6181000..00000000 --- a/src/components/widget/form-control/PromiseMonthItem.tsx +++ /dev/null @@ -1,99 +0,0 @@ -import { Select, Checkbox } from 'antd'; -import FormItem from 'antd/lib/form/FormItem'; -import { isString, upperCase } from 'lodash'; -import { useMemo } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useAccount } from '../../../hooks'; -import { Asset, CustomFormItemProps } from '../../../model'; -import { isRing, isKton } from '../../../utils'; -import { Label } from './Label'; - -const MAX_PERIOD = 36; - -interface PromiseMonthItemProps extends CustomFormItemProps { - selectedAsset: Asset | null; - duration: number; - forcePromise?: boolean; -} - -// eslint-disable-next-line complexity -export function PromiseMonthItem({ - selectedAsset, - label, - name, - forcePromise, - duration, - onChange, -}: PromiseMonthItemProps) { - const { t } = useTranslation(); - const { assets } = useAccount(); - - const lockPeriod = useMemo(() => { - const period = [...new Array(MAX_PERIOD).fill(0).map((_, index) => index + 1)]; - return forcePromise ? period : [0, ...period]; - }, [forcePromise]); - - return selectedAsset ? ( - <> - {isRing(selectedAsset?.token.symbol) && ( - - } - rules={[{ required: true }]} - extra={

    {t('The funds status will become locked after freezing period set')}

    } - > - - size="large" - onChange={(value) => { - if (onChange) { - onChange(value); - } - }} - > - {lockPeriod.map((item, index) => ( - - {!item - ? t('No fixed term Set a lock period will get additional {{symbol}} rewards', { - symbol: upperCase(assets.find((asset) => isKton(asset.token.symbol))?.token.symbol ?? 'kton'), - }) - : t('{{count}} Month', { count: item })} - - ))} - -
    - )} - - {!!duration && isRing(selectedAsset?.token.symbol) && ( - { - return !value ? Promise.reject() : Promise.resolve(); - }, - message: t('Check it to continue'), - }, - ]} - className="border p-4 rounded-lg bg-gray-200" - extra={ -

    - {t( - 'After setting a lock limit, you will receive an additional {{KTON}} bonus; if you unlock it in advance within the lock limit, you will be charged a penalty of 3 times the {{KTON}} reward.', - { KTON: assets.find((item) => isKton(item.token.symbol))?.token.symbol } - )} -

    - } - valuePropName="checked" - > - {t('I Accept')} -
    - )} - - ) : null; -} diff --git a/src/config/abi/bankABI.json b/src/config/abi/bankABI.json deleted file mode 100644 index 68968642..00000000 --- a/src/config/abi/bankABI.json +++ /dev/null @@ -1,993 +0,0 @@ -[ - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "userTotalDeposit", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_USER_POINTS", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "uint256" - } - ], - "name": "userDeposits", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_benificiary", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_months", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "owner_", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_WATER_ERC20_TOKEN", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_GOLD_ERC20_TOKEN", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "depositCount", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_RING_ERC20_TOKEN", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UINT_AUCTION_CUT", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UINT_BANK_UNIT_INTEREST", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_TOKEN_LOCATION", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_depositID", - "type": "uint256" - } - ], - "name": "computePenalty", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_benificiary", - "type": "address" - }, - { - "name": "_depositID", - "type": "uint256" - } - ], - "name": "transferDeposit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_value", - "type": "uint256" - }, - { - "name": "_month", - "type": "uint256" - }, - { - "name": "_unitInterest", - "type": "uint256" - } - ], - "name": "computeInterest", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_KTON_ERC20_TOKEN", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_WOOD_ERC20_TOKEN", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_depositID", - "type": "uint256" - } - ], - "name": "claimDeposit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_FIRE_ERC20_TOKEN", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UINT_BANK_PENALTY_MULTIPLIER", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_depositID", - "type": "uint256" - } - ], - "name": "isClaimRequirePenalty", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_LAND_BASE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "authority_", - "type": "address" - } - ], - "name": "setAuthority", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "registry", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_INTERSTELLAR_ENCODER", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_PET_BASE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_SOIL_ERC20_TOKEN", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_id", - "type": "uint256" - } - ], - "name": "getDeposit", - "outputs": [ - { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "uint128" - }, - { - "name": "", - "type": "uint128" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "uint256" - }, - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_OBJECT_OWNERSHIP", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_TOKEN_USE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_registry", - "type": "address" - } - ], - "name": "setRegistry", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "uint256" - } - ], - "name": "deposits", - "outputs": [ - { - "name": "depositor", - "type": "address" - }, - { - "name": "months", - "type": "uint48" - }, - { - "name": "startAt", - "type": "uint48" - }, - { - "name": "value", - "type": "uint128" - }, - { - "name": "unitInterest", - "type": "uint64" - }, - { - "name": "claimed", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_registry", - "type": "address" - } - ], - "name": "initializeContract", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_ERC721_BRIDGE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_REVENUE_POOL", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "authority", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_from", - "type": "address" - }, - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_data", - "type": "bytes" - } - ], - "name": "tokenFallback", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_user", - "type": "address" - } - ], - "name": "getDepositIds", - "outputs": [ - { - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "_encodedParam", - "type": "bytes" - } - ], - "name": "bytesToUint256", - "outputs": [ - { - "name": "a", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_LAND_RESOURCE", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "MONTH", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UINT_REFERER_CUT", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_token", - "type": "address" - } - ], - "name": "claimTokens", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_amount", - "type": "uint256" - }, - { - "name": "_months", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_depositID", - "type": "uint256" - } - ], - "name": "claimDepositWithPenalty", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "UINT_TOKEN_OFFER_CUT", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "CONTRACT_DIVIDENDS_POOL", - "outputs": [ - { - "name": "", - "type": "bytes32" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "_depositID", - "type": "uint256" - }, - { - "name": "_data", - "type": "bytes" - } - ], - "name": "burnAndRedeem", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_token", - "type": "address" - }, - { - "indexed": true, - "name": "_owner", - "type": "address" - }, - { - "indexed": false, - "name": "_amount", - "type": "uint256" - } - ], - "name": "ClaimedTokens", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_depositID", - "type": "uint256" - }, - { - "indexed": true, - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "name": "_value", - "type": "uint256" - }, - { - "indexed": false, - "name": "_month", - "type": "uint256" - }, - { - "indexed": false, - "name": "_interest", - "type": "uint256" - } - ], - "name": "NewDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_depositID", - "type": "uint256" - }, - { - "indexed": true, - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "name": "_value", - "type": "uint256" - }, - { - "indexed": false, - "name": "isPenalty", - "type": "bool" - }, - { - "indexed": false, - "name": "penaltyAmount", - "type": "uint256" - } - ], - "name": "ClaimedDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_depositID", - "type": "uint256" - }, - { - "indexed": true, - "name": "_oldDepositor", - "type": "address" - }, - { - "indexed": true, - "name": "_newDepositor", - "type": "address" - } - ], - "name": "TransferDeposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "_depositID", - "type": "uint256" - }, - { - "indexed": false, - "name": "_depositor", - "type": "address" - }, - { - "indexed": false, - "name": "_months", - "type": "uint48" - }, - { - "indexed": false, - "name": "_startAt", - "type": "uint48" - }, - { - "indexed": false, - "name": "_unitInterest", - "type": "uint64" - }, - { - "indexed": false, - "name": "_value", - "type": "uint128" - }, - { - "indexed": false, - "name": "_data", - "type": "bytes" - } - ], - "name": "BurnAndRedeem", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "authority", - "type": "address" - } - ], - "name": "LogSetAuthority", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "owner", - "type": "address" - } - ], - "name": "LogSetOwner", - "type": "event" - } -] diff --git a/src/config/abi/index.ts b/src/config/abi/index.ts deleted file mode 100644 index 4ad9a19f..00000000 --- a/src/config/abi/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { AbiItem } from 'web3-utils'; -import bankABI from './bankABI.json'; -import ktonABI from './ktonABI.json'; - -type keys = 'bankABI' | 'ktonABI'; - -export const abi = { - bankABI, - ktonABI, -} as { - [key in keys]: AbiItem[]; -}; diff --git a/src/config/abi/ktonABI.json b/src/config/abi/ktonABI.json deleted file mode 100644 index 5c5a41b7..00000000 --- a/src/config/abi/ktonABI.json +++ /dev/null @@ -1,301 +0,0 @@ -[ - { - "constant": false, - "inputs": [ - { - "name": "to", - "type": "bytes32" - }, - { - "name": "wad", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "name", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "guy", - "type": "address" - }, - { - "name": "wad", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "src", - "type": "address" - }, - { - "name": "dst", - "type": "address" - }, - { - "name": "wad", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "decimals", - "outputs": [ - { - "name": "", - "type": "uint8" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "from", - "type": "address" - }, - { - "name": "value", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "symbol", - "outputs": [ - { - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "name": "dst", - "type": "address" - }, - { - "name": "wad", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "KTON_PRECOMPILE", - "outputs": [ - { - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "name": "", - "type": "address" - }, - { - "name": "", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "src", - "type": "address" - }, - { - "indexed": true, - "name": "guy", - "type": "address" - }, - { - "indexed": false, - "name": "wad", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "src", - "type": "address" - }, - { - "indexed": true, - "name": "dst", - "type": "address" - }, - { - "indexed": false, - "name": "wad", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "dst", - "type": "address" - }, - { - "indexed": false, - "name": "wad", - "type": "uint256" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "name": "src", - "type": "bytes32" - }, - { - "indexed": false, - "name": "wad", - "type": "uint256" - } - ], - "name": "Withdrawal", - "type": "event" - } -] diff --git a/src/config/aos.ts b/src/config/aos.ts new file mode 100644 index 00000000..aa5c25d2 --- /dev/null +++ b/src/config/aos.ts @@ -0,0 +1,11 @@ +import "aos/dist/aos.css"; +import AOS from "aos"; + +AOS.init({ + duration: 700, + easing: "ease-out-quad", + once: false, + startEvent: "load", + offset: 150, + anchorPlacement: "top-bottom", +}); diff --git a/src/config/api/evolution.ts b/src/config/api/evolution.ts deleted file mode 100644 index feb34b17..00000000 --- a/src/config/api/evolution.ts +++ /dev/null @@ -1,8 +0,0 @@ -export enum EvoApiPath { - deposit = 'bank/trade_list', -} - -export const EVOLUTION_DOMAIN = { - product: 'https://backend.evolution.land', - dev: 'https://www.evolution.land.l2me.com', -}; diff --git a/src/config/api/index.ts b/src/config/api/index.ts deleted file mode 100644 index ee37c799..00000000 --- a/src/config/api/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './evolution'; diff --git a/src/config/constant.ts b/src/config/constant.ts deleted file mode 100644 index 0ae6cfa9..00000000 --- a/src/config/constant.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* eslint-disable no-magic-numbers */ -export const SHORT_DURATION = 3 * 1000; - -export const MIDDLE_DURATION = 6 * 1000; - -export const LONG_DURATION = 10 * 1000; - -export const LONG_LONG_DURATION = 30 * 1000; - -export const ONE_DAY_IN_MILLISECOND = 24 * 60 * 60 * 1000; - -export const SEVEN_DAYS_IN_MILLISECOND = 7 * ONE_DAY_IN_MILLISECOND; - -export const FOURTEEN_DAYS_IN_MILLISECOND = 14 * ONE_DAY_IN_MILLISECOND; - -export const THIRTY_DAYS_IN_MILLISECOND = 30 * ONE_DAY_IN_MILLISECOND; - -export const DATE_FORMAT = 'yyyy/MM/dd'; - -export const DATE_TIME_FORMATE = 'yyyy/MM/dd HH:mm:ss'; - -export const ETHEREUM_CLAIM_DEPOSIT = '0x649fdf6ee483a96e020b889571e93700fbd82d88'; - -export const DAPP_NAME = 'darwinia/apps'; - -export const LOCAL_SOURCE = 'local'; - -export const SEARCH_PARAMS_SOURCE = 'search-params'; diff --git a/src/config/feemarket.ts b/src/config/feemarket.ts deleted file mode 100644 index 7359619d..00000000 --- a/src/config/feemarket.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { FeeMarketApiSection, DarwiniaChain } from '../model'; - -export const marketApiSections = { - Crab: { - Darwinia: ['feeMarket', 'darwiniaFeeMarket'], - 'Crab Parachain': ['crabParachainFeeMarket'], - }, - Darwinia: { - Crab: ['feeMarket', 'crabFeeMarket'], - }, - Pangolin: { - Pangoro: ['feeMarket', 'pangoroFeeMarket'], - 'Pangolin Parachain': ['pangolinParachainFeeMarket'], - }, - Pangoro: { - Pangolin: ['feeMarket', 'pangolinFeeMarket'], - }, -} as Record>; diff --git a/src/config/gql.ts b/src/config/gql.ts deleted file mode 100644 index fa9df097..00000000 --- a/src/config/gql.ts +++ /dev/null @@ -1,181 +0,0 @@ -import { gql } from '@apollo/client'; - -export const FEE_MARKET_OVERVIEW = gql` - query feeMarketOverview($destination: String!) { - market(id: $destination) { - averageSpeed - totalReward - totalOrders - } - } -`; - -export const TOTAL_ORDERS_OVERVIEW = gql` - query totalOrdersOverview($destination: String!) { - orders(filter: { id: { startsWith: $destination } }, orderBy: CREATE_BLOCK_TIME_ASC) { - nodes { - createBlockTime - } - } - } -`; - -export const RELAYER_OVERVIEW = gql` - query relayerOverview($relayerId: String!) { - relayer(id: $relayerId) { - totalOrders - totalSlashes - totalRewards - } - } -`; - -export const ORDERS_STATISTICS = gql` - query ordersStatistics($destination: String!) { - market(id: $destination) { - finishedOrders - unfinishedInSlotOrders - unfinishedOutOfSlotOrders - } - } -`; - -export const ORDERS_OVERVIEW = gql` - query ordersOverview($destination: String!) { - orders(filter: { id: { startsWith: $destination } }, orderBy: CREATE_EVENT_INDEX_DESC) { - nodes { - lane - nonce - sender - deliveryRelayers { - nodes { - deliveryRelayer { - address - } - } - } - confirmationRelayers { - nodes { - confirmationRelayer { - address - } - } - } - createBlockNumber - finishBlockNumber - createBlockTime - finishBlockTime - status - slotIndex - } - } - } -`; - -export const ORDER_DETAIL = gql` - query orderDetail($orderId: String!) { - order(id: $orderId) { - lane - nonce - fee - sender - sourceTxHash - slotTime - outOfSlotBlock - slotIndex - status - createBlockTime - finishBlockTime - createBlockNumber - finishBlockNumber - assignedRelayersAddress - slashes { - nodes { - amount - relayer { - address - } - relayerRole - blockNumber - extrinsicIndex - } - } - rewards { - nodes { - amount - relayer { - address - } - relayerRole - blockNumber - extrinsicIndex - } - } - treasuryAmount - } - } -`; - -export const RELAYER_REWARD_SLASH = gql` - query relayerRewardSlash($relayerId: String!) { - relayer(id: $relayerId) { - slashes { - nodes { - amount - blockTime - } - } - rewards { - nodes { - amount - blockTime - } - } - } - } -`; - -export const QUOTE_HISTORY = gql` - query quoteHistory($relayerId: String!) { - quoteHistory(id: $relayerId) { - data - } - } -`; - -export const RELAYER_ORDERS = gql` - query relayerOrders($relayerId: String!) { - relayer(id: $relayerId) { - slashes { - nodes { - order { - lane - nonce - createBlockTime - } - amount - relayerRole - } - } - rewards { - nodes { - order { - lane - nonce - createBlockTime - } - amount - relayerRole - } - } - } - } -`; - -export const FEE_HISTORY = gql` - query feeHistory($destination: String!) { - feeHistory(id: $destination) { - data - } - } -`; diff --git a/src/config/i18n.ts b/src/config/i18n.ts index 8040eb3c..5581c75c 100644 --- a/src/config/i18n.ts +++ b/src/config/i18n.ts @@ -1,67 +1,22 @@ -import i18n from 'i18next'; -import detector from 'i18next-browser-languagedetector'; -import { initReactI18next } from 'react-i18next'; +import i18n from "i18next"; +import { initReactI18next } from "react-i18next"; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -type Callback = (error: string | null, data: any) => void; +import Backend from "i18next-http-backend"; +import LanguageDetector from "i18next-browser-languagedetector"; -type LoadResult = [string | null, Record | boolean]; - -const languageCache: Record> = {}; -const loaders: Record> = {}; - -const isCy = process.env.REACT_APP_HOST_TYPE === 'cy'; - -class Backend { - type = 'backend'; - - static type: 'backend' = 'backend'; - - async read(lng: string, _namespace: string, responder: Callback): Promise { - if (languageCache[lng]) { - return responder(null, languageCache[lng]); - } - - // eslint-disable-next-line @typescript-eslint/no-misused-promises - if (!loaders[lng]) { - loaders[lng] = this.createLoader(lng); - } - - const [error, data] = await loaders[lng]; - - return responder(error, data); - } - - async createLoader(lng: string): Promise { - try { - const response = await fetch(`/${isCy ? 'public/' : ''}locales/${lng}/translation-apps.json`, {}); - - if (!response.ok) { - // eslint-disable-next-line no-magic-numbers - return [`i18n: failed loading ${lng}`, response.status >= 500 && response.status < 600]; - } else { - languageCache[lng] = (await response.json()) as Record; - - return [null, languageCache[lng]]; - } - } catch (error) { - return [(error as Error).message, false]; - } - } -} +// https://react.i18next.com/latest/using-with-hooks#configure-i18next i18n - .use(detector) .use(Backend) - .use(initReactI18next) // passes i18n down to react-i18next + .use(LanguageDetector) + .use(initReactI18next) .init({ - fallbackLng: 'en', + fallbackLng: "en", debug: false, - saveMissing: true, + interpolation: { - escapeValue: false, // react already safes from xss + escapeValue: false, // not needed for react as it escapes by default }, - backend: {}, }); export default i18n; diff --git a/src/config/index.ts b/src/config/index.ts deleted file mode 100644 index c2f43abf..00000000 --- a/src/config/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export * from './constant'; -export * from './i18n'; -export * from './network'; -export * from './theme'; -export * from './validate-msg'; -export * from './api'; -export * from './wallet'; -export * from './gql'; -export * from './feemarket'; diff --git a/src/config/network/crab-parachain.ts b/src/config/network/crab-parachain.ts deleted file mode 100644 index 67732636..00000000 --- a/src/config/network/crab-parachain.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PolkadotChainConfig } from '../../model'; - -export const crabParachainConfig: PolkadotChainConfig = { - facade: { - logo: '/image/network/crab.svg', - }, - category: 'parachain', - name: 'crab-parachain', - provider: { - rpc: 'wss://crab-parachain-rpc.darwinia.network/', - }, - ss58Prefix: 42, - type: ['polkadot', 'darwinia'], - tokens: { - ring: { decimal: '18', symbol: 'CRAB' }, - kton: { decimal: '18', symbol: 'CKTON' }, - }, -}; diff --git a/src/config/network/crab.ts b/src/config/network/crab.ts deleted file mode 100644 index 79c7b15b..00000000 --- a/src/config/network/crab.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { EVMChainConfig } from '../../model'; - -export const crabConfig: EVMChainConfig = { - evm: { - kton: { - address: '0x0000000000000000000000000000000000000402', - symbol: 'CKTON', - decimals: 18, - }, - ring: { - address: '0x2d2b97ea380b0185e9fdf8271d1afb5d2bf18329', - symbol: 'CRAB', - decimals: 18, - }, - }, - ethereumChain: { - blockExplorerUrls: ['https://crab.subscan.io/'], - chainId: '44', - chainName: 'Crab Smart Chain', - nativeCurrency: { - decimals: 18, - symbol: 'CRAB', - }, - rpcUrls: ['https://crab-rpc.darwinia.network/'], - }, - facade: { - logo: '/image/network/crab.svg', - }, - category: 'live', - name: 'crab', - provider: { - rpc: 'wss://crab-rpc.darwinia.network', - }, - type: ['polkadot', 'darwinia'], - ss58Prefix: 42, - tokens: { - ring: { decimal: '9', symbol: 'CRAB' }, - kton: { decimal: '9', symbol: 'CKTON' }, - }, - subquery: { - endpoint: 'https://subql.darwinia.network/subql-apps-crab/', - }, -}; diff --git a/src/config/network/darwinia.ts b/src/config/network/darwinia.ts deleted file mode 100644 index be7c415c..00000000 --- a/src/config/network/darwinia.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { EVMChainConfig } from '../../model'; - -export const darwiniaConfig: EVMChainConfig = { - evm: { - kton: { - address: '0x0000000000000000000000000000000000000402', - symbol: 'KTON', - decimals: 18, - }, - ring: { - address: '', - symbol: 'RING', - decimals: 18, - }, - }, - ethereumChain: { - blockExplorerUrls: ['https://darwinia.subscan.io/'], - chainId: '46', - chainName: 'Darwinia Smart Chain', - nativeCurrency: { - decimals: 18, - symbol: 'RING', - }, - rpcUrls: ['https://rpc.darwinia.network/'], - }, - facade: { - logo: '/image/network/darwinia.svg', - }, - category: 'live', - name: 'darwinia', - provider: { - rpc: 'wss://rpc.darwinia.network', - }, - ss58Prefix: 18, - type: ['polkadot', 'darwinia'], - tokens: { - ring: { decimal: '9', symbol: 'RING' }, - kton: { decimal: '9', symbol: 'KTON' }, - }, - subquery: { - endpoint: 'https://subql.darwinia.network/subql-apps-darwinia/', - }, -}; diff --git a/src/config/network/ethereum.ts b/src/config/network/ethereum.ts deleted file mode 100644 index 3ba79ef4..00000000 --- a/src/config/network/ethereum.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { AddEthereumChainParameter } from '../../model/metamask'; - -export const ethereumConfig: AddEthereumChainParameter = { - blockExplorerUrls: ['https://etherscan.io/'], - chainId: '1', - chainName: 'Ethereum Mainnet', - nativeCurrency: { - symbol: 'ETH', - decimals: 18, - }, - rpcUrls: ['https://mainnet.infura.io/v3/'], -}; diff --git a/src/config/network/index.ts b/src/config/network/index.ts deleted file mode 100644 index 936390ff..00000000 --- a/src/config/network/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './crab'; -export * from './darwinia'; -export * from './networks'; -export * from './pangolin'; -export * from './pangoro'; -export * from './ethereum'; diff --git a/src/config/network/networks.ts b/src/config/network/networks.ts deleted file mode 100644 index 1e4b85ff..00000000 --- a/src/config/network/networks.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { darwiniaConfig } from './darwinia'; - -export const SYSTEM_NETWORK_CONFIGURATIONS = [darwiniaConfig]; diff --git a/src/config/network/pangolin-parachain.ts b/src/config/network/pangolin-parachain.ts deleted file mode 100644 index 6d29b5b7..00000000 --- a/src/config/network/pangolin-parachain.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PolkadotChainConfig } from '../../model'; - -export const pangolinParachainConfig: PolkadotChainConfig = { - facade: { - logo: '/image/network/pangolin.svg', - }, - category: 'parachain', - name: 'pangolin-parachain', - provider: { - rpc: 'wss://pangolin-parachain-rpc.darwinia.network', - }, - ss58Prefix: 18, - type: ['polkadot', 'darwinia'], - tokens: { - ring: { decimal: '18', symbol: 'PRING' }, - kton: { decimal: '18', symbol: 'PKTON' }, - }, -}; diff --git a/src/config/network/pangolin.ts b/src/config/network/pangolin.ts deleted file mode 100644 index d2b762cc..00000000 --- a/src/config/network/pangolin.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { EVMChainConfig } from '../../model'; - -export const pangolinConfig: EVMChainConfig = { - evm: { - kton: { - address: '0x0000000000000000000000000000000000000402', - symbol: 'PKTON', - decimals: 18, - }, - ring: { - address: '0xc52287b259b2431ba0f61BC7EBD0eD793B0b7044', - symbol: 'PRING', - decimals: 18, - }, - }, - ethereumChain: { - blockExplorerUrls: ['https://pangolin.subscan.io/'], - chainId: '43', - chainName: 'Pangolin Smart Chain', - nativeCurrency: { - decimals: 18, - symbol: 'PRING', - }, - rpcUrls: ['https://pangolin-rpc.darwinia.network/'], - }, - facade: { - logo: '/image/network/pangolin.svg', - }, - category: 'test', - name: 'pangolin', - provider: { - rpc: 'wss://pangolin-rpc.darwinia.network', - }, - ss58Prefix: 42, - type: ['polkadot', 'darwinia'], - tokens: { - ring: { decimal: '9', symbol: 'PRING' }, - kton: { decimal: '9', symbol: 'PKTON' }, - }, - subquery: { - endpoint: 'https://subql.darwinia.network/subql-apps-pangolin/', - }, -}; diff --git a/src/config/network/pangoro.ts b/src/config/network/pangoro.ts deleted file mode 100644 index 5ab9c97d..00000000 --- a/src/config/network/pangoro.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { EVMChainConfig } from '../../model'; - -export const pangoroConfig: EVMChainConfig = { - evm: { - kton: { - address: '0x0000000000000000000000000000000000000402', - symbol: 'OKTON', - decimals: 18, - }, - ring: { - address: '', - symbol: 'ORING', - decimals: 18, - }, - }, - ethereumChain: { - blockExplorerUrls: ['https://pangoro.subscan.io/'], - chainId: '45', - chainName: 'Pangoro Smart Chain', - nativeCurrency: { - decimals: 18, - symbol: 'ORING', - }, - rpcUrls: ['https://pangoro-rpc.darwinia.network/'], - }, - facade: { - logo: '/image/network/pangoro.svg', - }, - category: 'test', - name: 'pangoro', - provider: { - rpc: 'wss://pangoro-rpc.darwinia.network', - }, - ss58Prefix: 18, - type: ['polkadot', 'darwinia'], - tokens: { - ring: { decimal: '9', symbol: 'ORING' }, - kton: { decimal: '9', symbol: 'OKTON' }, - }, - subquery: { - endpoint: 'https://subql.darwinia.network/subql-apps-pangoro/', - }, -}; diff --git a/src/config/portals.ts b/src/config/portals.ts new file mode 100644 index 00000000..cc9aef58 --- /dev/null +++ b/src/config/portals.ts @@ -0,0 +1,324 @@ +import type { TFunction } from "i18next"; +import { PortalMeta } from "../types"; + +import metamask from "../assets/portals/metamask.png"; +import gnosisSafeFork from "../assets/portals/gnosis-safe-fork.png"; +import multichain from "../assets/portals/multichain.png"; +import celerNetwork from "../assets/portals/celer-network.png"; +import moonbeam from "../assets/portals/moonbeam.png"; +import subscan from "../assets/portals/subscan.png"; +import helix from "../assets/portals/helix.png"; +import snapshot from "../assets/portals/snapshot.png"; +import mathwallet from "../assets/portals/mathwallet.png"; +import talisman from "../assets/portals/talisman.png"; +import onfinality from "../assets/portals/onfinality.png"; +import subview from "../assets/portals/subview.png"; +import subsquare from "../assets/portals/subsquare.png"; +import astar from "../assets/portals/astar.png"; +import dwellir from "../assets/portals/dwellir.png"; +import snowswap from "../assets/portals/snowswap.png"; +import evolutionLand from "../assets/portals/evolution-land.png"; +import subwallet from "../assets/portals/subwallet.png"; +import polkadotJs from "../assets/portals/polkadot.js.png"; +import subquery from "../assets/portals/subquery.png"; +import darwiniaCommunityDao from "../assets/portals/darwinia-community-dao.png"; +import phala from "../assets/portals/phala.png"; +import bifrost from "../assets/portals/bifrost.png"; +import parallel from "../assets/portals/parallel.png"; +import novawallet from "../assets/portals/novawallet.png"; +import raregems from "../assets/portals/raregems.png"; +import ringoNft from "../assets/portals/ringo-nft.png"; +import accountMigrationDapp from "../assets/portals/account-migration-dapp.png"; +import stakingDapp from "../assets/portals/staking-dapp.png"; +import feeMarketDapp from "../assets/portals/fee-market-dapp.png"; +import tokenMigrationDapp from "../assets/portals/token-migration-dapp.png"; +import localSubkeyMigration from "../assets/portals/local-subkey-migration.png"; +import darwiniaPolkadotParachainAuction from "../assets/portals/darwinia-polkadot-parachain-auction.png"; +import crabKusamaParachainAuction from "../assets/portals/crab-kusama-parachain-auction.png"; + +export const portals = (t: TFunction): PortalMeta[] => [ + { + logo: metamask, + name: t("MetaMask"), + link: t("https://metamask.io/"), + description: t("A crypto wallet & gateway to blockchain apps."), + tags: ["Wallet"], + }, + { + logo: gnosisSafeFork, + name: t("Gnosis Safe (Fork)"), + link: t("https://multisig.darwinia.network/welcome"), + description: t( + "Gnosis Safe is the most trusted decentralized custody protocol and collective asset management platform on Ethereum and the EVM." + ), + tags: ["Infrastructure"], + }, + { + logo: multichain, + name: t("Multichain"), + link: t("https://multichain.org/"), + description: t( + "Multichain is the ultimate Router for web3. It is an infrastructure developed for arbitrary cross-chain interactions." + ), + tags: ["Bridge"], + }, + { + logo: celerNetwork, + name: t("Celer Network"), + link: t("https://celer.network/"), + description: t( + "Celer is a blockchain interoperability protocol enabling a one-click user experience accessing tokens, DeFi, GameFi, NFTs, governance, and more across multiple chains." + ), + tags: ["Bridge"], + }, + { + logo: moonbeam, + name: t("Moonbeam"), + link: t("https://moonbeam.network/"), + description: t( + "Moonbeam is a smart contract platform for building cross-chain connected applications that can access users, assets, and services on any chain." + ), + tags: ["Infrastructure"], + }, + { + logo: subscan, + name: t("Subscan"), + link: t("https://www.subscan.io/"), + description: t("Subscan is a high-precision multi-chain explorer built for Substrate-based blockchains."), + tags: ["Explorer"], + }, + { + logo: helix, + name: t("Helix"), + link: t("https://helixbridge.app/"), + description: t( + "Helix integrates the best asset bridging projects in the industry, providing users with a filtered list of asset bridges and a cross-chain portal." + ), + tags: ["Bridge", "Infrastructure"], + }, + { + logo: snapshot, + name: t("Snapshot"), + link: t("https://snapshot.org/#/"), + description: t( + "Snapshot is a free and flexible voting framework that allows DAOs to make decisions transparently." + ), + tags: ["Governance", "DAO"], + }, + { + logo: mathwallet, + name: t("MathWallet"), + link: t("https://mathwallet.org/"), + description: t("Web3 multichain crypto wallet for 2.5 million users, 100+ blockchains."), + tags: ["Wallet"], + }, + { + logo: talisman, + name: t("Talisman"), + link: t("https://www.talisman.xyz/"), + description: t( + "Talisman is a Polkadot and Ethereum wallet that unlocks a new world of multichain web3 applications." + ), + tags: ["Wallet"], + }, + { + logo: onfinality, + name: t("OnFinality"), + link: t("https://onfinality.io/"), + description: t( + "OnFinality is a SaaS platform providing infrastructure services for the Kusama/Substrate community. Their mission is to support blockchain developers of all shapes and sizes by providing infrastructure services so they can focus on building the next dApp." + ), + tags: ["Infrastructure"], + }, + { + logo: subview, + name: t("Subview"), + link: t("https://darwinia.subview.xyz/"), + description: t("A block explorer and analytics platform for EVM blockchains."), + tags: ["Explorer"], + }, + { + logo: subsquare, + name: t("SubSquare"), + link: t("https://www.subsquare.io/"), + description: t( + "SubSquare provides a very clear visualization for the on-chain governance process and neat interfaces for community members to discuss proposals." + ), + tags: ["Governance"], + }, + { + logo: astar, + name: t("Astar"), + link: t("https://astar.network/"), + description: t( + "Astar Network supports the building of dApps with EVM and WASM smart contracts and offers developers true interoperability, with cross-consensus messaging (XCM)." + ), + tags: ["Infrastructure"], + }, + { + logo: dwellir, + name: t("Dwellir"), + link: t("https://dwellir.com/"), + description: t( + "Dwellir is a blockchain node infrastructure. They have deployed world-class RPC infrastructure for 30 blockchains and processed more than 50 million requests per day." + ), + tags: ["Infrastructure"], + }, + { + logo: snowswap, + name: t("SnowSwap"), + link: t("https://darwinia.snowswap.xyz/#/"), + description: t( + "SnowSwap is an automated market-making (AMM) decentralized exchange (DEX) that offers an integrated gateway to the DeFi world. Users can trade and earn without registration." + ), + tags: ["Defi"], + }, + { + logo: evolutionLand, + name: t("Evolution Land"), + link: t("https://www.evolution.land/"), + description: t( + "Evolution Land is the first Metaverse+Gamefi+cross-chain game with each continent built on different blockchain networks, such as the first Atlantis continent. The game will have up to 26 continents, each of which is deployed on a different public chain." + ), + tags: ["Gaming"], + }, + { + logo: subwallet, + name: t("SubWallet"), + link: t("https://subwallet.app/"), + description: t( + "SubWallet is a pioneering user-friendly Web3 Multiverse Gateway for the Polkadot and Kusama ecosystems." + ), + tags: ["Wallet"], + }, + { + logo: polkadotJs, + name: t("Polkadot.js"), + link: t("https://polkadot.js.org/"), + description: t( + "Polkadot.js is a very simple scaffolding browser extension that injects a Polkadot API Signer into a page, along with any associated accounts, allowing for use by any DApp." + ), + tags: ["Wallet"], + }, + { + logo: subquery, + name: t("SubQuery"), + link: t("https://subquery.network/"), + description: t( + "SubQuery is a data aggregation layer that operates between the layer-1 blockchains and DApps. This service unlocks blockchain data and transforms it to a queryable state so that it can be used in intuitive applications." + ), + tags: ["Infrastructure"], + }, + { + logo: darwiniaCommunityDao, + name: t("Darwinia Community DAO"), + link: t("https://twitter.com/realDCDAO2023"), + description: t( + "Darwinia Community DAO(DCDAO) is a community self-organized workgroup(WG) contributing to the growth of the Darwinia community." + ), + tags: ["DAO"], + }, + { + logo: phala, + name: t("Phala"), + link: t("https://www.phala.network/en/"), + description: t( + "Phala Network tackles the issue of trust in the computation cloud. Organizing a decentralized network of computation nodes around the world, it offers high-performance services without relying on any cloud vendor." + ), + tags: ["Infrastructure"], + }, + { + logo: bifrost, + name: t("Bifrost"), + link: t("https://bifrost.finance/"), + description: t( + "Bifrost is a web3 derivatives protocol that provides decentralized cross-chain liquidity for staked assets. By leveraging on the cross-consensus message (XCM), it can provide cross-chain liquid staking services for multiple chains." + ), + tags: ["Defi"], + }, + { + logo: parallel, + name: t("Parallel"), + link: t("https://parallel.fi/"), + description: t( + "Parallel Finance (with its Kusama-based Heiko network) is the Polkadot network-based DeFi super DApp protocol that features a composable and interoperable ecosystem of community-focused decentralized applications." + ), + tags: ["Defi"], + }, + { + logo: novawallet, + name: t("NovaWallet"), + link: t("https://novawallet.io/"), + description: t( + "Nova wallet is a universal cryptocurrency wallet that aims to provide exceptional blockchain experiences for users." + ), + tags: ["Wallet"], + }, + { + logo: raregems, + name: t("RareGems"), + link: t("https://raregems.io/"), + description: t( + "RareGems is a non-custodial multichain NFT marketplace, which has supported Crab2, Energy Web, Velas, Celo, Moonbeam, Moonriver, Oasis Emerald, Astar Network, and Avalanche. " + ), + tags: ["NFT"], + }, + { + logo: ringoNft, + name: t("RINGO NFT"), + link: t("https://ringonft.art/"), + description: t("NFT Avatar Collection on Crab2."), + tags: ["NFT"], + }, + { + logo: accountMigrationDapp, + name: t("Account Migration Dapp"), + link: t("https://migration.darwinia.network/"), + description: t("A tool to migrate your Darwinia1 account to Darwinia2."), + tags: ["Tool"], + }, + { + logo: stakingDapp, + name: t("Staking Dapp"), + link: t("https://staking.darwinia.network/"), + description: t("The easiest way to stake on Darwinia2."), + tags: ["Tool"], + }, + { + logo: feeMarketDapp, + name: t("Fee Market Dapp"), + link: t("https://feemarket.darwinia.network/"), + description: t("To Provide data statistics and relayer operation functions for Darwinia2."), + tags: ["Tool"], + }, + { + logo: tokenMigrationDapp, + name: t("Token Migration Dapp"), + link: t("https://token-migration.darwinia.network/"), + description: t("A tool to migrate your Darwinia Tokens to the new contract."), + tags: ["Tool"], + }, + { + logo: localSubkeyMigration, + name: t("Local Subkey Migration"), + link: t("/local_subkey_migration"), + description: t( + "Here are the Darwinia1 accounts you generated on the Darwinia Apps of the old version. You can restore them in the polkadot.js by importing the JSON files." + ), + tags: ["Tool"], + }, + { + logo: darwiniaPolkadotParachainAuction, + name: t("Darwinia Polkadot Parachain Auction"), + link: t("https://darwinia-network.github.io/home-v1/plo"), + description: t("Do not contribute any more DOT at this time. Metaverse NFT Package rewards can be claimed now!"), + tags: ["Tool"], + }, + { + logo: crabKusamaParachainAuction, + name: t("Crab Kusama Parachain Auction"), + link: t("https://darwinia-network.github.io/crab-home-v1/plo_contribute"), + description: t("Do not contribute any more KSM at this time. Metaverse NFT Package rewards can be claimed now!"), + tags: ["Tool"], + }, +]; diff --git a/src/config/router.tsx b/src/config/router.tsx new file mode 100644 index 00000000..68941d9a --- /dev/null +++ b/src/config/router.tsx @@ -0,0 +1,24 @@ +import { createBrowserRouter } from "react-router-dom"; + +import App from "../App"; +import Home from "../pages/Home"; +import LocalSubkeyMigration from "../pages/LocalSubkeyMigration"; +import { ErrorBoundary } from "../components/ErrorBoundary"; + +export const router = createBrowserRouter([ + { + errorElement: , + path: "/", + element: , + children: [ + { + index: true, + element: , + }, + { + path: "local_subkey_migration", + element: , + }, + ], + }, +]); diff --git a/src/config/routes.ts b/src/config/routes.ts deleted file mode 100644 index 9d88b276..00000000 --- a/src/config/routes.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { RouteProps } from 'react-router-dom'; - -import { Account } from '../pages/Account'; -import { Portal } from '../pages/Portal'; -import { Staking } from '../pages/Staking'; -import { Toolbox } from '../pages/Toolbox'; -// import { FeeMarket } from '../pages/FeeMarket'; -import { Page404 } from '../components/widget/Page404'; - -export enum Path { - root = '/', - account = '/account', - staking = '/staking', - toolbox = '/toolbox', - portal = '/portal', - feemarket = '/feemarket', -} - -export const routes: (RouteProps & { PageComponent: React.ComponentType })[] = [ - { - path: Path.root, - PageComponent: Portal, - }, - { - path: Path.account, - PageComponent: Account, - }, - { - path: Path.staking, - PageComponent: Staking, - }, - { - path: Path.toolbox, - PageComponent: Toolbox, - }, - { - path: Path.portal, - PageComponent: Portal, - }, - // { - // path: Path.feemarket, - // PageComponent: FeeMarket, - // }, - { - path: '*', - PageComponent: Page404, - }, -]; diff --git a/src/config/theme.ts b/src/config/theme.ts deleted file mode 100644 index c0015473..00000000 --- a/src/config/theme.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { NetworkThemeConfig } from '../model'; -import dark from '../theme/antd/dark.json'; -import light from '../theme/antd/light.json'; -import vars from '../theme/antd/vars.json'; -import crab from '../theme/network/crab.json'; -import crabDark from '../theme/network/dark/crab.json'; -import darwiniaDark from '../theme/network/dark/darwinia.json'; -import pangolinDark from '../theme/network/dark/pangolin.json'; -import pangoroDark from '../theme/network/dark/pangoro.json'; -import darwinia from '../theme/network/darwinia.json'; -import pangolin from '../theme/network/pangolin.json'; -import pangoro from '../theme/network/pangoro.json'; - -const NETWORK_LIGHT_THEME: NetworkThemeConfig<{ [key in keyof typeof darwinia]: string }> = { - crab, - darwinia, - pangolin, - pangoro, - 'crab-parachain': crab, - 'pangolin-parachain': pangolin, - ethereum: pangolin, - ropsten: pangolin, - tron: pangolin, -}; - -export const SKIN_THEME = { - dark, - light, - vars, -}; - -const NETWORK_DARK_THEME: NetworkThemeConfig<{ [key in keyof typeof darwiniaDark]: string }> = { - crab: crabDark, - darwinia: darwiniaDark, - pangolin: pangolinDark, - pangoro: pangoroDark, - 'crab-parachain': crabDark, - 'pangolin-parachain': pangolinDark, - ethereum: pangolinDark, - ropsten: pangolinDark, - tron: pangolinDark, -}; - -export enum THEME { - LIGHT = 'light', - DARK = 'dark', -} - -export const NETWORK_THEME = { [THEME.LIGHT]: NETWORK_LIGHT_THEME, [THEME.DARK]: NETWORK_DARK_THEME }; diff --git a/src/config/validate-msg.ts b/src/config/validate-msg.ts deleted file mode 100644 index 1fb8307b..00000000 --- a/src/config/validate-msg.ts +++ /dev/null @@ -1,107 +0,0 @@ -/* eslint-disable no-template-curly-in-string */ -const typeTemplateEn = '${name} is not a valid ${type}'; -const typeTemplateZh = '${label}不是合法的 ${type}'; -/* eslint-disable */ -const en = { - default: 'Validation error on field ${name}', - required: '${name} is required', - enum: '${name} must be one of [${enum}]', - whitespace: '${name} cannot be empty', - date: { - format: '${name} is invalid for format date', - parse: '${name} could not be parsed as date', - invalid: '${name} is invalid date', - }, - types: { - string: typeTemplateEn, - method: typeTemplateEn, - array: typeTemplateEn, - object: typeTemplateEn, - number: typeTemplateEn, - date: typeTemplateEn, - boolean: typeTemplateEn, - integer: typeTemplateEn, - float: typeTemplateEn, - regexp: typeTemplateEn, - email: typeTemplateEn, - url: typeTemplateEn, - hex: typeTemplateEn, - }, - string: { - len: '${name} must be exactly ${len} characters', - min: '${name} must be at least ${min} characters', - max: '${name} cannot be longer than ${max} characters', - range: '${name} must be between ${min} and ${max} characters', - }, - number: { - len: '${name} must equal ${len}', - min: '${name} cannot be less than ${min}', - max: '${name} cannot be greater than ${max}', - range: '${name} must be between ${min} and ${max}', - }, - array: { - len: '${name} must be exactly ${len} in length', - min: '${name} cannot be less than ${min} in length', - max: '${name} cannot be greater than ${max} in length', - range: '${name} must be between ${min} and ${max} in length', - }, - pattern: { - mismatch: '${name} format is invalid', - }, -}; - -const zh = { - default: '验证失败 ${name}', - required: '${name} 是必填项', - enum: '${name} 必须是 [${enum}] 中的一个值', - whitespace: '${name} 不能为空', - date: { - format: '${name} 不符合日期格式', - parse: '${name} 不能转换为日期', - invalid: '${name} 是非法日期', - }, - types: { - string: typeTemplateZh, - method: typeTemplateZh, - array: typeTemplateZh, - object: typeTemplateZh, - number: typeTemplateZh, - date: typeTemplateZh, - boolean: typeTemplateZh, - integer: typeTemplateZh, - float: typeTemplateZh, - regexp: typeTemplateZh, - email: typeTemplateZh, - url: typeTemplateZh, - hex: typeTemplateZh, - }, - string: { - len: '${name} 必须等于 ${len} 个字符', - min: '${name} 不能少于 ${min} 个字符', - max: '${name} 不能多于 ${max} 个字符', - range: '${name} 必须大于 ${min} 并且小于 ${max} 个字符', - }, - number: { - len: '${name} 必须等于 ${len}', - min: '${name} 必须大于 ${min}', - max: '${name} 不能大于 ${max}', - range: '${name} 必须介于 ${min} 和 ${max} 之间', - }, - array: { - len: '${name} 的长度必须等于 ${len}', - min: '${name} 的长度必须小于 ${min}', - max: '${name} 的长度不能大于 ${max}', - range: '${name} 的长度必须介于 ${min} 和 ${max} 之间', - }, - pattern: { - mismatch: '${label}格式不匹配', - }, -}; -/* eslint-enable */ - -export const validateMessages = { - en, - zh, - 'zh-CN': zh, - 'en-US': en, -}; diff --git a/src/config/wallet.ts b/src/config/wallet.ts deleted file mode 100644 index 1a2b4e24..00000000 --- a/src/config/wallet.ts +++ /dev/null @@ -1,53 +0,0 @@ -import type { Injected } from '@polkadot/extension-inject/types'; -import type { Wallet } from '../model'; -import { checkBrower } from '../utils'; - -export const supportedWallets: Omit[] = [ - { - title: 'Polkadot{.js}', - extensionName: 'polkadot-js', - logo: { - src: '/image/wallet/polkadot-js.svg', - alt: 'Polkadotjs Logo', - }, - getProvider: () => { - const injecteds = window.injectedWeb3; - return injecteds && (injecteds['polkadot-js'] || injecteds['"polkadot-js"']); - }, - getInstallUrl: () => { - return 'https://polkadot.js.org/extension/'; - }, - }, - { - title: 'Talisman', - extensionName: 'talisman', - logo: { - src: '/image/wallet/talisman.svg', - alt: 'Talisman Logo', - }, - getProvider: () => { - const injecteds = window.injectedWeb3; - return injecteds && (injecteds['talisman'] || injecteds['"talisman"']); - }, - getInstallUrl: () => { - return checkBrower() === 'Google Chrome or Chromium' - ? 'https://chrome.google.com/webstore/detail/talisman-wallet/fijngjgcjhjmmpcmkeiomlglpeiijkld' - : 'https://addons.mozilla.org/en-US/firefox/addon/talisman-wallet-extension/'; - }, - }, - { - extensionName: 'subwallet-js', - title: 'SubWallet', - logo: { - src: '/image/wallet/subwallet-js.svg', - alt: 'Subwallet Logo', - }, - getProvider: () => { - const injecteds = window.injectedWeb3; - return injecteds && (injecteds['subwallet-js'] || injecteds['"subwallet-js"']); - }, - getInstallUrl: () => { - return 'https://subwallet.app/download.html'; - }, - }, -]; diff --git a/src/fonts/JetBrainsMono-Bold.woff2 b/src/fonts/JetBrainsMono-Bold.woff2 new file mode 100644 index 00000000..4917f434 Binary files /dev/null and b/src/fonts/JetBrainsMono-Bold.woff2 differ diff --git a/src/fonts/JetBrainsMono-Light.woff2 b/src/fonts/JetBrainsMono-Light.woff2 new file mode 100644 index 00000000..65384987 Binary files /dev/null and b/src/fonts/JetBrainsMono-Light.woff2 differ diff --git a/src/fonts/JetBrainsMono-Regular.woff2 b/src/fonts/JetBrainsMono-Regular.woff2 new file mode 100644 index 00000000..40da4276 Binary files /dev/null and b/src/fonts/JetBrainsMono-Regular.woff2 differ diff --git a/src/fonts/JetBrainsMono-Thin.woff2 b/src/fonts/JetBrainsMono-Thin.woff2 new file mode 100644 index 00000000..17270e45 Binary files /dev/null and b/src/fonts/JetBrainsMono-Thin.woff2 differ diff --git a/src/global.d.ts b/src/global.d.ts deleted file mode 100644 index 0168fd91..00000000 --- a/src/global.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { WalletSource } from './model'; - -declare module '*.svg' { - const content: Record; -} - -export declare global { - interface Window { - /* eslint-disable */ - less: any; - web3: Web3; - ethereum: any; - tronWeb: any; - tronLink: any; - injectedWeb3: Record; - /* eslint-enable */ - } -} - -declare module '@metamask/contract-metadata' {} diff --git a/src/hooks/ metamask.tsx b/src/hooks/ metamask.tsx deleted file mode 100644 index 7c25d110..00000000 --- a/src/hooks/ metamask.tsx +++ /dev/null @@ -1,4 +0,0 @@ -import { useContext } from 'react'; -import { MetamaskContext, MetamaskCtx } from '../providers/metamask'; - -export const useMetamask = () => useContext(MetamaskContext) as Exclude; diff --git a/src/hooks/account.tsx b/src/hooks/account.tsx deleted file mode 100644 index 2d9c139f..00000000 --- a/src/hooks/account.tsx +++ /dev/null @@ -1,5 +0,0 @@ -/* eslint-disable react-hooks/exhaustive-deps */ -import { useContext } from 'react'; -import { AccountContext, AccountCtx } from '../providers'; - -export const useAccount = () => useContext(AccountContext) as Exclude; diff --git a/src/hooks/api.tsx b/src/hooks/api.tsx deleted file mode 100644 index 283462f3..00000000 --- a/src/hooks/api.tsx +++ /dev/null @@ -1,4 +0,0 @@ -import { useContext } from 'react'; -import { ApiContext, ApiCtx } from '../providers'; - -export const useApi = () => useContext(ApiContext) as Exclude; diff --git a/src/hooks/assets.tsx b/src/hooks/assets.tsx deleted file mode 100644 index 25b2ee48..00000000 --- a/src/hooks/assets.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { useState, useCallback, useEffect } from 'react'; -import { from, EMPTY } from 'rxjs'; -import { BN_ZERO } from '@polkadot/util'; -import { useApi } from '../hooks'; -import { Asset } from '../model'; -import { getDarwiniaBalances } from '../utils'; - -export const useAssets = (account?: string | null) => { - const { network, api, chain } = useApi(); - const [loading, setLoading] = useState(false); - const [assets, setAssets] = useState([ - { - max: BN_ZERO, - total: BN_ZERO, - token: network.tokens.ring, - }, - { - max: BN_ZERO, - total: BN_ZERO, - token: network.tokens.kton, - }, - ]); - - const getAssets = useCallback(() => { - if (account && chain.ss58Format === network.ss58Prefix.toString()) { - setLoading(true); - - return from(getDarwiniaBalances(api, account)).subscribe({ - next: ([ringBalance, ktonBalance, freeRing, freeKton]) => { - setAssets([ - { - max: ringBalance, - total: freeRing, - token: network.tokens.ring, - }, - { - max: ktonBalance, - total: freeKton, - token: network.tokens.kton, - }, - ]); - setLoading(false); - }, - error: () => setLoading(false), - }); - } else { - return EMPTY.subscribe(); - } - }, [account, api, network, chain]); - - useEffect(() => { - const sub$$ = getAssets(); - - return () => { - sub$$.unsubscribe(); - setLoading(false); - }; - }, [getAssets]); - - return { assets, loading, refresh: getAssets }; -}; diff --git a/src/hooks/bestNumber.tsx b/src/hooks/bestNumber.tsx deleted file mode 100644 index 47746c9f..00000000 --- a/src/hooks/bestNumber.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { useState, useEffect, useRef } from 'react'; - -import { useApi } from '../hooks'; - -export const useBestNumber = () => { - const { api } = useApi(); - const unsubRef = useRef<() => void>(); - const [bestNumber, setBestNumber] = useState(); - - useEffect(() => { - (async () => { - unsubRef.current = await api.rpc.chain.subscribeNewHeads((lastHeader) => { - setBestNumber(lastHeader.number.toNumber()); - }); - })(); - - return () => { - if (unsubRef.current) { - unsubRef.current(); - } - }; - }, [api]); - - return { bestNumber }; -}; diff --git a/src/hooks/blockTime.tsx b/src/hooks/blockTime.tsx deleted file mode 100644 index c1a31fbb..00000000 --- a/src/hooks/blockTime.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { BN, bnToBn, BN_ONE, BN_THOUSAND, BN_TWO, extractTime } from '@polkadot/util'; -import type { Time } from '@polkadot/util/types'; -import { useMemo } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useApi } from './api'; - -type Result = [number, string, Time]; - -// eslint-disable-next-line no-magic-numbers -const DEFAULT_TIME = new BN(6_000); - -// Some chains incorrectly use these, i.e. it is se to values such as 0 or even 2 -// Use a low minimum validity threshold to check these against -const THRESHOLD = BN_THOUSAND.div(BN_TWO); - -export function useBlockTime(blocks: number | BN = BN_ONE): Result { - const { t } = useTranslation(); - const { api } = useApi(); - - // eslint-disable-next-line complexity - return useMemo((): Result => { - const blockTime = - api.consts.babe?.expectedBlockTime || - api.consts.difficulty?.targetBlockTime || - api.consts.subspace?.expectedBlockTime || - (api.consts.timestamp?.minimumPeriod.gte(THRESHOLD) - ? api.consts.timestamp.minimumPeriod.mul(BN_TWO) - : api.query.parachainSystem - ? DEFAULT_TIME.mul(BN_TWO) - : DEFAULT_TIME); - - const value = blockTime.mul(bnToBn(blocks)).toNumber(); - const time = extractTime(Math.abs(value)); - const { days, hours, minutes, seconds } = time; - const timeStr = [ - days ? (days > 1 ? t('{{days}} days', { replace: { days } }) : t('1 day')) : null, - hours ? (hours > 1 ? t('{{hours}} hrs', { replace: { hours } }) : t('1 hr')) : null, - minutes ? (minutes > 1 ? t('{{minutes}} mins', { replace: { minutes } }) : t('1 min')) : null, - seconds ? (seconds > 1 ? t('{{seconds}} s', { replace: { seconds } }) : t('1 s')) : null, - ] - .filter((s): s is string => !!s) - // eslint-disable-next-line no-magic-numbers - .slice(0, 2) - .join(' '); - - return [blockTime.toNumber(), `${value < 0 ? '+' : ''}${timeStr}`, time]; - }, [api, blocks, t]); -} diff --git a/src/hooks/customQuery.tsx b/src/hooks/customQuery.tsx deleted file mode 100644 index 6606ef31..00000000 --- a/src/hooks/customQuery.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { useQuery } from '@apollo/client'; -import type { - DocumentNode, - OperationVariables, - TypedDocumentNode, - QueryHookOptions, - QueryResult, -} from '@apollo/client'; - -// import { LONG_LONG_DURATION } from '../config'; - -export const useCustomQuery: ( - query: DocumentNode | TypedDocumentNode, - options?: QueryHookOptions, - transform?: (data: TData) => TTransResult -) => Pick, 'data' | 'loading' | 'refetch'> & { transformedData?: TTransResult } = ( - query, - options, - transform -) => { - const { data, loading, refetch } = useQuery(query, { - // pollInterval: LONG_LONG_DURATION, - notifyOnNetworkStatusChange: true, - ...options, - }); - - return { - data, - loading, - transformedData: data && transform ? transform(data) : undefined, - refetch, - }; -}; diff --git a/src/hooks/feemarket.tsx b/src/hooks/feemarket.tsx deleted file mode 100644 index c332f96e..00000000 --- a/src/hooks/feemarket.tsx +++ /dev/null @@ -1,4 +0,0 @@ -import { useContext } from 'react'; -import { FeeMarketContext, FeeMarketCtx } from '../providers'; - -export const useFeeMarket = () => useContext(FeeMarketContext) as Exclude; diff --git a/src/hooks/fuzzyMatch.tsx b/src/hooks/fuzzyMatch.tsx deleted file mode 100644 index 590b5cbf..00000000 --- a/src/hooks/fuzzyMatch.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import { useCallback } from 'react'; -import { isFunction } from '@polkadot/util'; -import { DeriveAccountInfo } from '@polkadot/api-derive/types'; -import { isSameAddress } from '../utils'; -import { useApi } from './api'; -import { useWallet } from './wallet'; - -export function useIsAccountFuzzyMatch() { - const { api } = useApi(); - const { accounts } = useWallet(); - - const predicate = useCallback( - // eslint-disable-next-line complexity - (account: string, compare: string, accountInfo?: DeriveAccountInfo) => { - const compareLower = compare.toLowerCase(); - let isVisible = false; - - if (compareLower) { - if (accountInfo) { - const { accountId, accountIndex, identity, nickname } = accountInfo; - - if ( - accountId?.toString().toLowerCase().includes(compareLower) || - accountIndex?.toString().toLowerCase().includes(compareLower) - ) { - isVisible = true; - } else if (isFunction(api.query.identity?.identityOf)) { - isVisible = - !!identity.display && - `${identity.displayParent}/${identity.display}`.toLowerCase().includes(compareLower); - } else if (nickname) { - isVisible = nickname.toLowerCase().includes(compareLower); - } - } - - if (!isVisible) { - const acc = accounts.find((item) => isSameAddress(item.displayAddress, account)); - - isVisible = acc?.meta?.name ? acc.meta.name.toLowerCase().includes(compareLower) : false; - } - } else { - isVisible = true; - } - - return isVisible; - }, - [accounts, api.query.identity] - ); - - return predicate; -} diff --git a/src/hooks/idex.ts b/src/hooks/idex.ts new file mode 100644 index 00000000..b479fdc1 --- /dev/null +++ b/src/hooks/idex.ts @@ -0,0 +1 @@ +export * from "./wallet"; diff --git a/src/hooks/index.ts b/src/hooks/index.ts deleted file mode 100644 index 117e5cb6..00000000 --- a/src/hooks/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export * from './account'; -export * from './api'; -export * from './isMounted'; -export * from './staking'; -export * from './fuzzyMatch'; -export * from './queue'; -export * from './networkColor'; -export * from './records'; -export * from './assets'; -export * from './wallet'; -export * from './bestNumber'; -export * from './blockTime'; -export * from './feemarket'; -export * from './customQuery'; diff --git a/src/hooks/isMounted.tsx b/src/hooks/isMounted.tsx deleted file mode 100644 index 3b28f5dc..00000000 --- a/src/hooks/isMounted.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { Observable, takeWhile } from 'rxjs'; -import { useCallback, useEffect, useRef } from 'react'; - -export function useIsMounted() { - const ref = useRef(true); - - useEffect( - () => () => { - ref.current = false; - }, - [] - ); - - return ref.current; -} - -type OperatorHook = () => (source: Observable) => Observable; - -export function useIsMountedOperator() { - const isMounted = useIsMounted(); - - const takeWhileIsMounted = useCallback(() => { - return function (source: Observable) { - return source.pipe(takeWhile(() => isMounted)); - }; - }, [isMounted]); - - return { takeWhileIsMounted }; -} diff --git a/src/hooks/networkColor.tsx b/src/hooks/networkColor.tsx deleted file mode 100644 index a1eb73df..00000000 --- a/src/hooks/networkColor.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { useMemo } from 'react'; -import { useApi } from './api'; - -export const useNetworkColor = () => { - const { network } = useApi(); - - const color = useMemo( - () => - network.name === 'darwinia' - ? 'text-darwinia-main' - : network.name === 'crab' - ? 'text-crab-main' - : network.name === 'pangolin' - ? 'text-pangolin-main' - : network.name === 'pangoro' - ? 'text-pangoro-main' - : '', - [network.name] - ); - - return { color }; -}; diff --git a/src/hooks/queue.tsx b/src/hooks/queue.tsx deleted file mode 100644 index 41ecf6df..00000000 --- a/src/hooks/queue.tsx +++ /dev/null @@ -1,4 +0,0 @@ -import { useContext } from 'react'; -import { QueueContext, QueueCtx } from '../providers'; - -export const useQueue = () => useContext(QueueContext) as Exclude; diff --git a/src/hooks/records.tsx b/src/hooks/records.tsx deleted file mode 100644 index fb39202a..00000000 --- a/src/hooks/records.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { useState, useCallback, useEffect } from 'react'; -import { Subscription } from 'rxjs'; -import { HttpRequest, rxGet } from '../utils'; - -export interface RecordsHook { - loading: boolean; - error?: Record | null; - data: T | null; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - refetch?: (...args: any) => Subscription; -} - -export function useRecordsQuery(req: HttpRequest): RecordsHook { - const [loading, setLoading] = useState(false); - const [error, setError] = useState | null>(null); - const [data, setData] = useState(null); - - const query = useCallback((request: HttpRequest) => { - setLoading(true); - - return rxGet<{ data: T | null }>(request).subscribe({ - next: (res) => { - setData(res.data); - }, - error: (err) => { - setError(err); - setLoading(false); - }, - complete: () => { - setLoading(false); - }, - }); - }, []); - - useEffect(() => { - const sub$$ = query(req); - - return () => { - sub$$.unsubscribe(); - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - return { - loading, - data, - error, - refetch: query, - }; -} diff --git a/src/hooks/staking/controllerAccount.tsx b/src/hooks/staking/controllerAccount.tsx deleted file mode 100644 index 27282037..00000000 --- a/src/hooks/staking/controllerAccount.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { useState, useEffect, useCallback } from 'react'; -import { from, EMPTY } from 'rxjs'; -import type { Option } from '@polkadot/types'; -import type { AccountId32 } from '@polkadot/types/interfaces'; - -import { useApi } from '../api'; - -export const useControllerAccount = (account?: string | null) => { - const { api } = useApi(); - const [controllerAccount, setControllerAccount] = useState(null); - - const refresh = useCallback(() => { - if (account && api.query.staking) { - return from>>(api.query.staking.bonded(account)).subscribe((bonded) => { - setControllerAccount(bonded.isSome ? bonded.unwrap().toString() : account); - }); - } else { - setControllerAccount(null); - return EMPTY.subscribe(); - } - }, [api, account]); - - useEffect(() => { - const sub$$ = refresh(); - - return () => sub$$.unsubscribe(); - }, [refresh]); - - return { controllerAccount, refreshControllerAccount: refresh }; -}; diff --git a/src/hooks/staking/controllerAndStashAccount.tsx b/src/hooks/staking/controllerAndStashAccount.tsx deleted file mode 100644 index 483cf8e2..00000000 --- a/src/hooks/staking/controllerAndStashAccount.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { useControllerAccount } from './controllerAccount'; -import { useStashAccount } from './stashAccount'; - -export const useControllerAndStashAccount = (account?: string | null) => { - const { controllerAccount, refreshControllerAccount } = useControllerAccount(account); - const { stashAccount, refreshStashAccount } = useStashAccount(controllerAccount); - - return { controllerAccount, stashAccount, refreshControllerAccount, refreshStashAccount }; -}; diff --git a/src/hooks/staking/index.ts b/src/hooks/staking/index.ts deleted file mode 100644 index 2d267d5c..00000000 --- a/src/hooks/staking/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export * from './nominators'; -export * from './power'; -export * from './rewards'; -export * from './staking'; -export * from './stash'; -export * from './validatorPrefs'; -export * from './controllerAccount'; -export * from './stashAccount'; -export * from './controllerAndStashAccount'; diff --git a/src/hooks/staking/nominators.tsx b/src/hooks/staking/nominators.tsx deleted file mode 100644 index f964f006..00000000 --- a/src/hooks/staking/nominators.tsx +++ /dev/null @@ -1,112 +0,0 @@ -import { ExposureT, Power } from '@darwinia/types'; -import { Option, StorageKey } from '@polkadot/types'; -import { Nominations } from '@polkadot/types/interfaces'; -import { DeriveStakingWaiting } from '@polkadot/api-derive/types'; -import type { DarwiniaStakingStructsExposure } from '@polkadot/types/lookup'; -import { BN_ZERO } from '@polkadot/util'; -import type { BN } from '@polkadot/util'; -import { useEffect, useState } from 'react'; -import { from, takeWhile } from 'rxjs'; -import type { IDeriveStakingElected } from '@darwinia/api-derive/staking'; -import { useIsMountedOperator } from '..'; -import { useApi } from '../api'; -import { useWallet } from '../wallet'; -import { useIsMounted } from '../isMounted'; - -function extractNominators(nominations: [StorageKey, Option][]): Record { - return nominations.reduce((mapped: Record, [key, optNoms]) => { - if (optNoms.isSome) { - const nominatorId = key.args[0].toString(); - - optNoms.unwrap().targets.forEach((_validatorId, index): void => { - const validatorId = _validatorId.toString(); - const info: [string, number] = [nominatorId, index + 1]; - - if (!mapped[validatorId]) { - mapped[validatorId] = [info]; - } else { - mapped[validatorId].push(info); - } - }); - } - - return mapped; - }, {}); -} - -function useNominators(method: 'electedInfo' | 'waitingInfo') { - const { api } = useApi(); - const { accounts } = useWallet(); - const [nominators, setNominators] = useState<[string, Power][] | null>(null); - const [total, setTotal] = useState(BN_ZERO); - const [sourceData, setSourceData] = useState(null); - const { takeWhileIsMounted } = useIsMountedOperator(); - - useEffect(() => { - const elected$$ = from( - api.derive.staking[method]({ withController: true, withExposure: true, withPrefs: true, withLedger: true }) - ) - .pipe(takeWhileIsMounted()) - .subscribe((derive) => { - const { info } = derive; - const all = accounts.map((item) => item.displayAddress); - const data = info - .map(({ exposure, accountId }) => { - const result: Record = {}; - - (exposure as DarwiniaStakingStructsExposure)?.others.reduce((isNominating, cur) => { - const nominator = cur.who.toString(); - - result[nominator] = (result[nominator] || BN_ZERO).add(cur.ringBalance?.toBn() || BN_ZERO); - - return isNominating || all.includes(nominator); - }, all.includes(accountId.toString())); - - return result; - }) - .reduce((acc, cur) => ({ ...acc, ...cur }), {}); - - const num = info.reduce((acc, { exposure }) => acc.add((exposure as unknown as ExposureT).totalPower), BN_ZERO); - - setNominators(Object.entries(data) as [string, Power][]); - setTotal(num); - setSourceData(derive as T); - }); - - return () => { - elected$$.unsubscribe(); - }; - }, [accounts, api.derive.staking, method, takeWhileIsMounted]); - - return { nominators, total, sourceData }; -} - -export function useElectedNominators() { - const { nominators, total, sourceData } = useNominators('electedInfo'); - - return { nominators, totalStaked: total, sourceData }; -} - -export function useWaitingNominators() { - const { nominators, total, sourceData } = useNominators('waitingInfo'); - - return { nominators, totalWaiting: total, sourceData }; -} - -export function useNominatorEntries() { - const { api } = useApi(); - const [entries, setEntries] = useState | null>(null); - const isMounted = useIsMounted(); - - useEffect(() => { - const sub$$ = from(api.query.staking.nominators.entries()) - .pipe(takeWhile(() => isMounted)) - .subscribe((res) => { - setEntries(extractNominators(res as [StorageKey, Option][])); - }); - - return () => sub$$.unsubscribe(); - }, [api, isMounted]); - - return { nominatedBy: entries }; -} diff --git a/src/hooks/staking/power.tsx b/src/hooks/staking/power.tsx deleted file mode 100644 index 810491d3..00000000 --- a/src/hooks/staking/power.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { KtonBalance, RingBalance } from '@darwinia/types'; -import { BN } from '@polkadot/util'; -import { useCallback, useEffect, useState } from 'react'; -import { from, zip } from 'rxjs'; -import { Asset, Fund } from '../../model'; -import { assetToPower, getUnit, isKton, isRing, toWei } from '../../utils'; -import { useApi } from '../api'; - -export function usePower() { - const { api } = useApi(); - const [pool, setPool] = useState({ ring: new BN(0), kton: new BN(0) }); - const calcPower = useCallback( - (selectedAsset: Fund | Asset | null, amount?: string) => { - if (!selectedAsset) { - return new BN(0); - } - - const value = toWei({ - value: amount || (selectedAsset as Fund).amount, - unit: getUnit(+selectedAsset.token.decimal), - }); - const ktonBonded = new BN(0); - const ringBonded = new BN(0); - const ktonExtra = isKton(selectedAsset.token.symbol) ? new BN(value) : new BN(0); - const ringExtra = isRing(selectedAsset.token.symbol) ? new BN(value) : new BN(0); - const { ring: ringPool, kton: ktonPool } = pool; - const powerBase = assetToPower(ringBonded, ktonBonded, ringPool, ktonPool); - const powerTelemetry = assetToPower( - ringBonded.add(ringExtra), - ktonBonded.add(ktonExtra), - ringPool.add(ringExtra), - ktonPool.add(ktonExtra) - ); - - return powerTelemetry.minus(powerBase).toFixed(0); - }, - [pool] - ); - - useEffect(() => { - const ringPool = from>(api.query.staking.ringPool()); - const ktonPool = from>(api.query.staking.ktonPool()); - const sub$$ = zip(ringPool, ktonPool).subscribe(([ring, kton]) => - setPool({ ring: new BN(ring.toString()), kton: new BN(kton.toString()) }) - ); - - return () => sub$$.unsubscribe(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - return { calcPower, pool }; -} diff --git a/src/hooks/staking/rewards.tsx b/src/hooks/staking/rewards.tsx deleted file mode 100644 index 88b5bacf..00000000 --- a/src/hooks/staking/rewards.tsx +++ /dev/null @@ -1,110 +0,0 @@ -import { ApiPromise } from '@polkadot/api'; -import { EraIndex } from '@polkadot/types/interfaces'; -import { BN } from '@polkadot/util'; -import { TFunction } from 'i18next'; -import { useEffect, useMemo, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { from, zip } from 'rxjs'; -import { useApi } from '../api'; -import { useStaking } from './staking'; -import { useOwnEraReward } from './stash'; - -interface EraSelection { - value: number; - text: string; -} - -// eslint-disable-next-line no-magic-numbers -const DAY_SECS = new BN(1000 * 60 * 60 * 24); - -// eslint-disable-next-line complexity -function getOptions( - api: ApiPromise, - eraLength: BN | undefined, - historyDepth: BN | undefined, - t: TFunction -): EraSelection[] { - if (eraLength && historyDepth) { - const blocksPerDay = DAY_SECS.div( - // eslint-disable-next-line no-magic-numbers - api.consts.babe?.expectedBlockTime || api.consts.timestamp?.minimumPeriod.muln(2) || new BN(6000) - ); - const maxBlocks = eraLength.mul(historyDepth); - const eraSelection: EraSelection[] = []; - let days = 2; - - // eslint-disable-next-line no-constant-condition - while (true) { - const dayBlocks = blocksPerDay.muln(days); - - if (dayBlocks.gte(maxBlocks)) { - break; - } - - eraSelection.push({ - text: t('{{days}} days', { replace: { days } }), - value: dayBlocks.div(eraLength).toNumber(), - }); - - // eslint-disable-next-line no-magic-numbers - days = days * 3; - } - - eraSelection.push({ - text: t('Max, {{eras}} eras', { replace: { eras: historyDepth.toNumber() } }), - value: historyDepth.toNumber(), - }); - - return eraSelection; - } - - return [{ text: '', value: 0 }]; -} - -export function useStakingRewards(eraSelectionIndex: number) { - const { t } = useTranslation(); - const { api } = useApi(); - const [eraSelectionOptions, setEraSelectionOptions] = useState({ eraLength: new BN(0), historyDepth: new BN(0) }); - const eraSelection = useMemo( - () => getOptions(api, eraSelectionOptions.eraLength, eraSelectionOptions.historyDepth, t), - [api, eraSelectionOptions, t] - ); - const [stakingRewards, setStakingRewards] = useState<{ payoutEras: EraIndex[]; payoutTotal: BN }>({ - payoutEras: [], - payoutTotal: new BN(0), - }); - const { stashAccount } = useStaking(); - const { - reward: { rewards, isLoadingRewards }, - payoutValidators, - refresh, - } = useOwnEraReward(eraSelection[eraSelectionIndex]?.value, stashAccount); - - useEffect(() => { - if (rewards && stashAccount && rewards[stashAccount]) { - const eras = rewards[stashAccount].map(({ era }): EraIndex => era); - const total = rewards[stashAccount].reduce((result, { validators: val }) => { - const eraTotal = Object.values(val) - .map((item) => item.value) - .reduce((acc, cur) => acc.iadd(cur), new BN(0)); - - return result.iadd(eraTotal); - }, new BN(0)); - - setStakingRewards({ payoutEras: eras, payoutTotal: total }); - } - }, [rewards, stashAccount]); - - useEffect(() => { - const sub$$ = zip([ - from(api.derive.session.eraLength()), - from>(api.query.staking.historyDepth()), - ]).subscribe(([len, depth]) => { - setEraSelectionOptions({ eraLength: len, historyDepth: depth }); - }); - - return () => sub$$.unsubscribe(); - }, [api]); - - return { stakingRewards, eraSelection, isLoadingRewards, payoutValidators, refresh }; -} diff --git a/src/hooks/staking/staking.tsx b/src/hooks/staking/staking.tsx deleted file mode 100644 index 8dfa6831..00000000 --- a/src/hooks/staking/staking.tsx +++ /dev/null @@ -1,4 +0,0 @@ -import { useContext } from 'react'; -import { StakingContext, StakingCtx } from '../../providers/staking'; - -export const useStaking = () => useContext(StakingContext) as Exclude; diff --git a/src/hooks/staking/stash.tsx b/src/hooks/staking/stash.tsx deleted file mode 100644 index 96762f82..00000000 --- a/src/hooks/staking/stash.tsx +++ /dev/null @@ -1,247 +0,0 @@ -import { DeriveStakerReward } from '@polkadot/api-derive/types'; -import { GenericAccountId, Option } from '@polkadot/types'; -import { Balance, EraIndex } from '@polkadot/types/interfaces'; -import { StakingLedger } from '@polkadot/types/interfaces/staking'; -import { BN } from '@polkadot/util'; -import { has } from 'lodash'; -import { useCallback, useEffect, useMemo, useState } from 'react'; -import { from, Subscription, takeWhile, zip, map, EMPTY } from 'rxjs'; -import type { DarwiniaStakingSlashingSlashingSpans } from '@polkadot/types/lookup'; -import { NoNullFields } from '../../model'; -import { useApi } from '../api'; -import { useWallet } from '../wallet'; -import { useIsMounted } from '../isMounted'; - -interface OwnReward { - rewards: Record | null; - isLoadingRewards: boolean; - rewardCount: number; -} - -interface PayoutEraValidator { - era: EraIndex; - stashes: Record; -} - -export interface PayoutValidator { - available: BN; - eras: PayoutEraValidator[]; - validatorId: string; -} - -type IsInKeyring = boolean; - -function getOwnReward(stashAccounts: string[], available: DeriveStakerReward[][]): NoNullFields { - const allRewards: Record = {}; - - stashAccounts.forEach((stashId, index): void => { - allRewards[stashId] = available[index]?.filter(({ eraReward }) => !eraReward.isZero()) || []; - }); - - return { - rewards: allRewards, - isLoadingRewards: false, - rewardCount: Object.values(allRewards).filter((rewards) => rewards && rewards.length !== 0).length, - }; -} - -function getStashes( - allAccounts: string[], - ownBonded: Option[], - ownLedger: Option[] -): [string, IsInKeyring][] { - const result: [string, IsInKeyring][] = []; - - ownBonded.forEach((value, index): void => { - if (value.isSome) { - result.push([allAccounts[index], true]); - } - }); - - ownLedger.forEach((ledger): void => { - if (ledger.isSome) { - const stashId = ledger.unwrap().stash.toString(); - - if (!result.some(([accountId]) => accountId === stashId)) { - result.push([stashId, false]); - } - } - }); - - return result; -} - -function rewardsGroupedByPayoutValidator( - allRewards: Record, - stakerPayoutsAfter: BN -): PayoutValidator[] { - return Object.entries(allRewards) - .reduce((grouped: PayoutValidator[], [stashId, rewards]): PayoutValidator[] => { - rewards - .filter(({ era }) => era.gte(stakerPayoutsAfter)) - .forEach((reward): void => { - Object.entries(reward.validators).forEach(([validatorId, { value }]): void => { - const entry = grouped.find((item) => item.validatorId === validatorId); - - if (entry) { - const eraEntry = entry.eras.find((item) => item.era.eq(reward.era)); - - if (eraEntry) { - eraEntry.stashes[stashId] = value; - } else { - entry.eras.push({ - era: reward.era, - stashes: { [stashId]: value }, - }); - } - - entry.available = entry.available.add(value); - } else { - grouped.push({ - available: value, - eras: [ - { - era: reward.era, - stashes: { [stashId]: value }, - }, - ], - validatorId, - }); - } - }); - }); - - return grouped; - }, []) - .sort((a, b) => b.available.cmp(a.available)); -} - -export function useOwnStashes() { - const isMounted = useIsMounted(); - const { api } = useApi(); - const { accounts } = useWallet(); - const [state, setState] = useState<[string, IsInKeyring][] | undefined>(); - const [ownBondedAccounts, setOwnBondedAccounts] = useState[]>([]); - const [ownLedgers, setOwnLedgers] = useState[]>([]); - - useEffect(() => { - const addresses = accounts.map((item) => item.displayAddress); - let sub$$: Subscription; - - if (addresses.length) { - sub$$ = zip([ - from[]>>(api.query.staking.bonded.multi(addresses)), - from[]>>(api.query.staking.ledger.multi(addresses)), - ]) - .pipe(takeWhile(() => isMounted)) - .subscribe(([bonded, ledger]) => { - setState(getStashes(addresses, bonded, ledger)); - setOwnBondedAccounts(bonded.filter((item) => item.isSome)); - setOwnLedgers(ledger.filter((item) => item.isSome)); - }); - } - - return () => sub$$?.unsubscribe(); - }, [accounts, api, isMounted]); - - return { ownStashes: state, ownBondedAccounts, ownLedgers }; -} - -export function useOwnStashIds(): string[] | undefined { - const isMounted = useIsMounted(); - const { ownStashes } = useOwnStashes(); - const [stashIds, setStashIds] = useState(); - - useEffect((): void => { - if (isMounted && ownStashes) { - setStashIds(ownStashes.map(([stashId]) => stashId)); - } - }, [isMounted, ownStashes]); - - return stashIds; -} - -export function useOwnEraReward(maxEras?: number, stashAccount: string | null = '') { - const { api } = useApi(); - const isMounted = useIsMounted(); - const stashIds = useOwnStashIds(); - const [filteredEras, setFilteredEras] = useState([]); - const stakerPayoutAfter = useMemo( - () => (has(api.tx.staking, 'payoutStakers') ? new BN(0) : new BN('1000000000')), - [api] - ); - const [state, setState] = useState<{ reward: OwnReward; payoutValidators: PayoutValidator[] }>({ - reward: { rewardCount: 0, isLoadingRewards: true, rewards: null }, - payoutValidators: [], - }); - const ids = useMemo( - () => ((!!stashAccount && [stashAccount]) || stashIds || []).filter((item) => !!item), - [stashIds, stashAccount] - ); - - const refresh = useCallback(() => { - if (!ids || !ids.length) { - return EMPTY.subscribe(); - } - - setState((prev) => ({ ...prev, reward: { ...prev.reward, isLoadingRewards: true } })); - - return from(api.derive.staking.stakerRewardsMultiEras(ids, filteredEras)) - .pipe(takeWhile(() => isMounted)) - .subscribe((res) => { - const data = getOwnReward(ids, res); - const validators = rewardsGroupedByPayoutValidator(data.rewards, stakerPayoutAfter); - - setState({ reward: data, payoutValidators: validators }); - }); - }, [api.derive.staking, filteredEras, ids, isMounted, stakerPayoutAfter]); - - useEffect(() => { - setState({ reward: { rewards: null, isLoadingRewards: true, rewardCount: 0 }, payoutValidators: [] }); - }, [maxEras]); - - useEffect(() => { - if (!maxEras) { - return; - } - - const sub$$ = from(api.derive.staking.erasHistoric()).subscribe((eras) => { - setFilteredEras(eras.slice(-1 * maxEras)); - }); - - return () => sub$$.unsubscribe(); - }, [api, maxEras]); - - useEffect(() => { - const sub$$ = refresh(); - return () => sub$$.unsubscribe(); - }, [refresh]); - - return { ...state, refresh }; -} - -export function useSlashingSpans(stashId?: string | null) { - const { api } = useApi(); - const [spanCount, setSpanCount] = useState(0); - - useEffect(() => { - if (!stashId) { - setSpanCount(0); - return; - } - - const sub$$ = from(api.query.staking.slashingSpans(stashId)) - .pipe( - map((optSpans) => - (optSpans as Option).isNone - ? 0 - : (optSpans as Option).unwrap().prior.length + 1 - ) - ) - .subscribe(setSpanCount); - - return () => sub$$.unsubscribe(); - }, [api, stashId]); - - return { spanCount }; -} diff --git a/src/hooks/staking/stashAccount.tsx b/src/hooks/staking/stashAccount.tsx deleted file mode 100644 index 8c007211..00000000 --- a/src/hooks/staking/stashAccount.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { useState, useEffect, useCallback } from 'react'; -import { from, EMPTY } from 'rxjs'; -import { useApi } from '../../hooks'; - -export const useStashAccount = (controllerAccount?: string | null) => { - const { api } = useApi(); - const [stashAccount, setStashAccount] = useState(null); - - const refresh = useCallback(() => { - if (controllerAccount && api.query.staking) { - return from(api.query.staking.ledger(controllerAccount)).subscribe((ledger) => { - setStashAccount(ledger.isSome ? ledger.unwrap().stash.toString() : null); - }); - } else { - setStashAccount(null); - return EMPTY.subscribe(); - } - }, [api, controllerAccount]); - - useEffect(() => { - const sub$$ = refresh(); - - return () => sub$$.unsubscribe(); - }, [refresh]); - - return { stashAccount, refreshStashAccount: refresh }; -}; diff --git a/src/hooks/staking/validatorPrefs.tsx b/src/hooks/staking/validatorPrefs.tsx deleted file mode 100644 index d76cb298..00000000 --- a/src/hooks/staking/validatorPrefs.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { from, switchMap } from 'rxjs'; -import type { ValidatorPrefs } from '@darwinia/types'; -import { EraIndex } from '@polkadot/types/interfaces'; -import { Option } from '@polkadot/types'; -import { useState, useEffect } from 'react'; -import { useApi } from '../../hooks'; - -export const useValidatorPrefs = (account?: string | null, eraIndex?: EraIndex) => { - const { api } = useApi(); - const [validatorPrefs, setValidatorPrefs] = useState(null); - - useEffect(() => { - if (!account) { - return; - } - - const sub$$ = from(eraIndex ? Promise.resolve(eraIndex) : api.query.staking.currentEra()) - .pipe( - switchMap((res) => { - const index = eraIndex ?? (res as Option).unwrap(); - - return from(api.query.staking.erasValidatorPrefs(index, account)); - }) - ) - .subscribe((res) => setValidatorPrefs(res as ValidatorPrefs)); - - return () => sub$$.unsubscribe(); - }, [api, account, eraIndex]); - - return { validatorPrefs }; -}; diff --git a/src/hooks/wallet.ts b/src/hooks/wallet.ts new file mode 100644 index 00000000..066ddf7f --- /dev/null +++ b/src/hooks/wallet.ts @@ -0,0 +1,4 @@ +import { useContext } from "react"; +import { WalletContext } from "../providers/wallet"; + +export const useWallet = () => useContext(WalletContext); diff --git a/src/hooks/wallet.tsx b/src/hooks/wallet.tsx deleted file mode 100644 index b76b0364..00000000 --- a/src/hooks/wallet.tsx +++ /dev/null @@ -1,4 +0,0 @@ -import { useContext } from 'react'; -import { WalletContext, WalletCtx } from '../providers'; - -export const useWallet = () => useContext(WalletContext) as Exclude; diff --git a/src/index.css b/src/index.css new file mode 100644 index 00000000..a50841ee --- /dev/null +++ b/src/index.css @@ -0,0 +1,133 @@ +@font-face { + font-family: JetBrainsMono-Thin; + src: url("./fonts/JetBrainsMono-Thin.woff2") format("woff2"); +} + +@font-face { + font-family: JetBrainsMono-Light; + src: url("./fonts/JetBrainsMono-Light.woff2") format("woff2"); +} + +@font-face { + font-family: JetBrainsMono-Regular; + src: url("./fonts/JetBrainsMono-Regular.woff2") format("woff2"); +} + +@font-face { + font-family: JetBrainsMono-Bold; + src: url("./fonts/JetBrainsMono-Bold.woff2") format("woff2"); +} + +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + html { + @apply bg-bg-primary; + } +} + +@layer components { + .text-thin { + @apply font-[JetBrainsMono-Thin] font-thin; + } + .text-light { + @apply font-[JetBrainsMono-Light] font-light; + } + .text-normal { + @apply font-[JetBrainsMono-Regular] font-normal; + } + .text-bold { + @apply font-[JetBrainsMono-Bold] font-bold; + } +} + +.card-filp { + height: 240px; + position: relative; + transform-style: preserve-3d; + transition: 0.6s; +} +.front, +.back { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; + /* backface-visibility: hidden; */ +} +.back { + transform: rotateY(180deg); +} + +/* :root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} */ diff --git a/src/index.scss b/src/index.scss deleted file mode 100644 index 6ffca055..00000000 --- a/src/index.scss +++ /dev/null @@ -1,285 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -@import '~@fontsource/ibm-plex-sans/index.css'; - -$radius-base: 10px; - -body { - font-family: 'IBM Plex Sans', sans-serif; -} - -// reset select -.ant-select-selector { - border-right: none; -} - -.ant-select-selection-item .collapsed { - left: 6px !important; -} - -.darwinia-light-select, -.crab-light-select, -.crab-parachain-light-select, -.pangoro-light-select, -.pangolin-light-select, -.pangolin-parachain-light-select, -.darwinia-dark-select, -.crab-parachain-dark-select, -.pangoro-dark-select, -.pangolin-parachain-dark-select { - .ant-select-selector { - padding: 0 !important; - } - - .ant-select-selection-item { - display: flex; - text-transform: capitalize; - padding-left: 10px !important; - overflow: visible; - - .collapsed { - position: absolute; - height: 1rem; - left: -3px; - } - } -} - -.darwinia-light-select .ant-select-selector, -.darwinia-dark-select .ant-select-selector { - border-color: #ff0083 !important; -} - -.crab-light-select .ant-select-selector, -.crab-parachain-light-select .ant-select-selector, -.crab-dark-select .ant-select-selector, -.crab-parachain-dark-select .ant-select-selector { - border-color: #512dbc !important; -} - -.pangolin-light-select .ant-select-selector, -.pangolin-parachain-light-select .ant-select-selector, -.pangoro-light-select .ant-select-selector, -.pangolin-dark-select .ant-select-selector, -.pangolin-parachain-dark-select .ant-select-selector, -.pangoro-dark-select .ant-select-selector { - border-color: #4b30dd !important; -} - -.radio-list { - display: flex; - align-items: center; - padding: 2rem 10px; - margin-bottom: 1rem; - border-radius: $radius-base !important; - border-width: 1px !important; - - &.ant-radio-button-wrapper-checked { - background: transparent !important; - } - - .ant-radio-button + span { - display: flex; - align-items: center; - width: 100%; - overflow: hidden; - } - - &::before { - visibility: hidden !important; - } -} - -// router transition animate classes -.fade-enter { - opacity: 0; -} - -.fade-enter-active { - opacity: 1; - transition: opacity 500ms ease-in; -} - -.fade-exit { - display: none; -} - -// connection component style -.connection { - .anticon-copy { - color: #ffffff; - } -} - -// active side menu indicator line -.ant-menu-inline .ant-menu-item::after { - z-index: 99; -} - -// collapse -.hidable-collapse .ant-collapse-item .ant-collapse-header { - cursor: default; -} - -// table -.dark-table .ant-table-tbody > tr.ant-table-row-selected > td { - background: #262626; -} - -.intro-step-tooltip { - border-radius: 10px; - - .introjs-tooltip-title { - font-style: normal; - font-weight: normal; - font-size: 16px; - line-height: 21px; - color: rgba(0, 0, 0, 0.65); - } - - .introjs-skipbutton { - visibility: hidden; - } - - .introjs-tooltiptext { - border-top: rgba(0, 0, 0, 0.06) solid 1px; - margin-left: 10px; - margin-right: 10px; - padding-left: 10px; - padding-right: 10px; - padding-top: 10px; - font-style: normal; - font-weight: normal; - font-size: 14px; - line-height: 18px; - color: rgba(0, 0, 0, 0.65); - } - - .introjs-tooltipbuttons { - border-top: none; - } - - .introjs-button { - width: 100%; - background: transparent; - border: 1px solid #ff0083; - padding: 0; - border-radius: 10px; - line-height: 2rem; - text-align: center; - font-style: normal; - font-weight: normal; - font-size: 14px; - color: rgba(0, 0, 0, 0.65); - - &:hover { - opacity: 0.8; - } - } - - .introjs-prevbutton { - display: none; - } -} - -.intro-step-heighlight { - box-shadow: rgb(33 33 33 / 50%) 0 0 0 5000px !important; -} - -.page-account-tabs { - > .ant-tabs-nav::before { - bottom: -1px; - background: linear-gradient(315.52deg, #ff0050 0.88%, #7000ff 71.7%, #0027ff 100%); - height: 1px; - opacity: 0.2; - border-bottom: none !important; - } -} - -.page-account-tabs-crab, -.page-account-tabs-crab-parachain { - > .ant-tabs-nav::before { - background: #512dbc; - } -} - -.page-account-tabs-darwinia { - > .ant-tabs-nav::before { - background: #ff0083; - } -} - -.page-account-tabs-pangolin, -.page-account-tabs-pangolin-parachain { - > .ant-tabs-nav::before { - background: #4b30dd; - } -} - -.page-account-tabs-pangoro { - > .ant-tabs-nav::before { - background: #4b30dd; - } -} - -.network-radio-button-crab:hover, -.network-radio-button-crab-parachain:hover { - border-color: #512dbc !important; -} - -.network-radio-button-darwinia:hover { - border-color: #ff0083 !important; -} - -.network-radio-button-pangolin:hover, -.network-radio-button-pangolin-parachain:hover { - border-color: #4b30dd !important; -} - -.network-radio-button-pangoro:hover { - border-color: #4b30dd !important; -} - -.staking-earnings-time { - border-radius: 10px !important; - background: #eaeaea !important; -} - -.staking-earnings-time-btn { - border: none !important; - background: #eaeaea !important; - - &::before { - display: none !important; - } -} - -.staking-earnings-time-btn-checked-crab, -.staking-earnings-time-btn-checked-crab-parachain { - border-radius: 10px !important; - background: #512dbc !important; -} - -.staking-earnings-time-btn-checked-darwinia { - border-radius: 10px !important; - background: #ff0083 !important; -} - -.staking-earnings-time-btn-checked-pangolin, -.staking-earnings-time-btn-checked-pangolin-parachain { - border-radius: 10px !important; - background: #4b30dd !important; -} - -.staking-earnings-time-btn-checked-pangoro { - border-radius: 10px !important; - background: #4b30dd !important; -} - -.fee-market-refresh { - &:active { - transform: rotate(180deg) !important; - } -} diff --git a/src/index.tsx b/src/index.tsx deleted file mode 100644 index 0b6b4d37..00000000 --- a/src/index.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import '@darwinia/types'; -import 'intro.js/introjs.css'; -import { Suspense } from 'react'; -import ReactDOM from 'react-dom'; -import { BrowserRouter } from 'react-router-dom'; -import App from './App'; -import { ErrorBoundary } from './components/widget/ErrorBoundary'; -import { BallScalePulse } from './components/widget/BallScalePulse'; -import { THEME } from './config'; -import './index.scss'; -import { - AccountProvider, - ApiProvider, - QueueProvider, - StakingProvider, - WalletProvider, - FeeMarketProvider, -} from './providers'; -import reportWebVitals from './reportWebVitals'; -import './theme/antd/index.less'; -import { readStorage } from './utils'; - -ReactDOM.render( - - - - } - > - - - - - - - - - - - - - - - - - - , - document.getElementById('root') -); - -// If you want to start measuring performance in your app, pass a function -// to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); diff --git a/src/logo.svg b/src/logo.svg deleted file mode 100644 index 9dfc1c05..00000000 --- a/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/main.tsx b/src/main.tsx new file mode 100644 index 00000000..0f49f877 --- /dev/null +++ b/src/main.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import ReactDOM from "react-dom/client"; +import "./index.css"; + +import "./config/aos.ts"; +import "./config/i18n.ts"; + +import { RouterProvider } from "react-router-dom"; +import { router } from "./config/router.tsx"; +import { WalletProvider } from "./providers/wallet.tsx"; + +ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( + + + + + +); diff --git a/src/model/account.ts b/src/model/account.ts deleted file mode 100644 index bea1e516..00000000 --- a/src/model/account.ts +++ /dev/null @@ -1,37 +0,0 @@ -import type ExtType from '@polkadot/extension-inject/types'; -import { KeyringJson } from '@polkadot/ui-keyring/types'; -import type { BN } from '@polkadot/util'; -import type { Balance } from '@polkadot/types/interfaces'; - -export type InjectedAccountWithMeta = ExtType.InjectedAccountWithMeta; - -export interface IAccountMeta extends InjectedAccountWithMeta { - json?: KeyringJson; -} - -export interface Token { - symbol: T; - decimal: string; -} - -export interface Chain { - tokens: Token[]; - ss58Format: string; -} -export interface AvailableBalance { - max: Balance | BN; - token: Token; -} -export interface Asset extends AvailableBalance { - total: Balance | BN; -} - -export interface Fund extends Asset { - amount: string; -} - -export interface AssetOverviewProps { - asset: Asset; - loading?: boolean | undefined; - refresh: (acc?: string) => void; -} diff --git a/src/model/common.ts b/src/model/common.ts deleted file mode 100644 index 74bda1bb..00000000 --- a/src/model/common.ts +++ /dev/null @@ -1,29 +0,0 @@ -export interface Action { - type: U; - payload: T; -} - -export type Config = { [key in T]: U }; - -export type CrossType = 'cross-chain' | 'airdrop'; - -export enum DarwiniaAsset { - ring = 'ring', - kton = 'kton', -} - -export interface IModalProps { - account?: string; - isVisible: boolean; - confirm?: (account: T) => void; - cancel: () => void; -} - -export enum SearchParamsKey { - RPC = 'rpc', - TAB = 'tab', - LANE = 'lane', - NONCE = 'nonce', - RELAYER = 'relayer', - DESTINATION = 'destination', -} diff --git a/src/model/connection.ts b/src/model/connection.ts deleted file mode 100644 index 59445e37..00000000 --- a/src/model/connection.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { ApiPromise } from '@polkadot/api'; -import { IAccountMeta } from './account'; - -/** - * pending: initial state, indicate that the connection never launched. - */ -export enum ConnectionStatus { - pending = 'pending', - connecting = 'connecting', - success = 'success', - fail = 'fail', - disconnected = 'disconnected', - error = 'error', - complete = 'complete', -} - -export type ConnectionType = 'polkadot' | 'metamask' | 'tron' | 'unknown'; - -export interface Connection { - status: ConnectionStatus; - accounts: IAccountMeta[]; - type: ConnectionType; - [key: string]: unknown; -} - -export interface PolkadotConnection extends Connection { - api: ApiPromise | null; -} - -export interface EthereumConnection extends Connection { - chainId: string; -} - -export type TronConnection = Connection; diff --git a/src/model/deposit.ts b/src/model/deposit.ts deleted file mode 100644 index 53f8a972..00000000 --- a/src/model/deposit.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * api repo: https://github.com/evolutionlandorg/evo-backend/blob/main/docs/wiki.md#trade-list - */ -export interface Deposit { - amount: string; // RING - reward: string; // KTON - deposit_id: number; - deposit_time: number; // timestamp - withdraw_time: number; // timestamp - duration: number; // month amount - deposit_tx: string; - withdraw_tx: string; - map_status: string; -} - -export type DepositResponse = { list: Deposit[] }; - -export interface DepositRequest { - owner: string; - 'EVO-NETWORK': 'Eth' | 'Tron' | 'Crab' | 'Polygon'; -} diff --git a/src/model/faucet.ts b/src/model/faucet.ts deleted file mode 100644 index 5fa469ee..00000000 --- a/src/model/faucet.ts +++ /dev/null @@ -1,24 +0,0 @@ -export enum FaucetResponseCode { - SUCCESS_TRANSFER = 1000, // eslint-disable-line no-magic-numbers - SUCCESS_PRECHECK, - FAILED_THROTTLE, - FAILED_PARAMS, - FAILED_INSUFFICIENT, // faucet pool is insufficient balance - FAILED_EXTRINSIC, - FAILED_OTHER, -} - -export interface FaucetResponse { - code: FaucetResponseCode; - message: string; - data: T; -} - -export interface FaucetThrottleData { - lastTime: number; // milliseconds - throttleHours: number; -} - -export interface FaucetTransferData { - txHash: string; -} diff --git a/src/model/feemarket.ts b/src/model/feemarket.ts deleted file mode 100644 index bae9387a..00000000 --- a/src/model/feemarket.ts +++ /dev/null @@ -1,200 +0,0 @@ -import type { AccountId, Balance } from '@polkadot/types/interfaces'; -import type { Struct } from '@polkadot/types-codec'; -import type { BN } from '@polkadot/util'; - -export enum FeeMarketTab { - OVERVIEW = 'overview', - RELAYERS = 'relayers', - OREDERS = 'oreders', -} - -export enum SlotState { - OUT_OF_SLOT = -1, - SLOT_1, - SLOT_2, - SLOT_3, -} - -export enum OrderStatus { - FINISHED = 'Finished', - IN_PROGRESS = 'InProgress', -} - -export enum RelayerRole { - ASSIGNED = 'Assigned', - DELIVERY = 'Delivery', - CONFIRMATION = 'Confirmation', -} - -// The value is the specName -export type DarwiniaChain = - | 'Crab' - | 'Darwinia' - | 'Pangolin' - | 'Pangoro' - | 'Crab Parachain' - | 'Darwinia Parachain' - | 'Pangolin Parachain'; - -export type FeeMarketApiSection = - | 'feeMarket' - | 'crabFeeMarket' - | 'darwiniaFeeMarket' - | 'pangolinFeeMarket' - | 'pangoroFeeMarket' - | 'crabParachainFeeMarket' - | 'pangolinParachainFeeMarket'; - -export interface PalletFeeMarketRelayer extends Struct { - id: AccountId; - collateral: Balance; - fee: Balance; -} - -export interface RelayerOrdersDataSource extends Pick { - reward: BN; - slash: BN; - relayerRoles: RelayerRole[]; -} - -export interface SlashReward extends Pick { - order: Pick | null; -} - -/** - * Subql Entity - */ - -type AmountIndex = { - amount: string; - blockTime: string; - blockNumber: number; - extrinsicIndex: string | null; - eventIndex: string; -}; - -export interface QuoteEntity { - id: string; - - relayerId: string; - data: AmountIndex[] | null; -} - -export interface FeeEntity { - id: string; - - marketId: string; - data: AmountIndex[] | null; - lastTime: number; -} - -export interface RewardEntity { - id: string; - - orderId: string; - marketId: string; - relayerId: string; - - blockTime: string; - blockNumber: string; - extrinsicIndex: number | null; - eventIndex: string; - - amount: string; - relayerRole: RelayerRole; -} - -export interface SlashEntity { - id: string; - - orderId: string; - marketId: string; - relayerId: string; - - blockTime: string; - blockNumber: string; - extrinsicIndex: number | null; - eventIndex: string; - - amount: string; - relayerRole: RelayerRole; - - sentTime: number; - confirmTime: number; - delayTime: number; -} - -export interface MarketEntity { - id: string; - - totalOrders: number | null; - totalSlash: string | null; - totalReward: string | null; - - averageSpeed: number | null; - - finishedOrders: number | null; - unfinishedInSlotOrders: number | null; - unfinishedOutOfSlotOrders: number | null; -} - -export interface RelayerEntity { - id: string; - - marketId: string; - address: string; - - totalOrders: number; - totalSlashes: string; - totalRewards: string; -} - -export interface OrderEntity { - id: string; - - lane: string; - nonce: string; - marketId: string; - - sender: string | null; - sourceTxHash: string | null; - - fee: string; - status: OrderStatus; - - slotTime: number; - outOfSlotBlock: number; - slotIndex: number | null; - - createBlockTime: string; - createBlockNumber: number; - createExtrinsicIndex: number | null; - createEventIndex: number; - - finishBlockTime: string; - finishBlockNumber: number; - finishExtrinsicIndex: number | null; - finishEventIndex: number; - - treasuryAmount: string | null; - assignedRelayersAddress: [string]; -} - -export interface OrderRelayerEntity { - id: string; - - assignedOrderId: string; // will deprecate - deliveryOrderId: string; // will deprecate - confirmationOrderId: string; // will deprecate - - assignedRelayerId: string; // will deprecate - deliveryRelayerId: string; // will deprecate - confirmationRelayerId: string; // will deprecate - - // next version - - // orderId: string; - // relayerId: string; - - // relayerRole: RelayerRole; -} diff --git a/src/model/form-control.ts b/src/model/form-control.ts deleted file mode 100644 index cd7850d0..00000000 --- a/src/model/form-control.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { FormItemProps } from 'antd'; -import { RequiredPartial } from './type-operator'; - -export interface CustomFormControlProps { - value?: T; - onChange?: (value: T) => void; -} - -export type CustomFormItemProps = RequiredPartial & - CustomFormControlProps; diff --git a/src/model/index.ts b/src/model/index.ts deleted file mode 100644 index a9d0d314..00000000 --- a/src/model/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -export * from './account'; -export * from './common'; -export * from './connection'; -export * from './form-control'; -export * from './metamask'; -export * from './network'; -export * from './storage'; -export * from './queue'; -export * from './type-operator'; -export * from './deposit'; -export * from './wallet'; -export * from './feemarket'; -export * from './faucet'; diff --git a/src/model/metamask.ts b/src/model/metamask.ts deleted file mode 100644 index eee14704..00000000 --- a/src/model/metamask.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* eslint-disable no-magic-numbers */ -export interface AddEthereumChainParameter { - chainId: string; // A 0x-prefixed hexadecimal string when add or switch chain; Save in decimal in other situation. - chainName: string; - nativeCurrency: { - name?: string; - symbol?: string; // 2-6 characters long - // eslint-disable-next-line no-magic-numbers - decimals: number; - }; - rpcUrls: string[]; - blockExplorerUrls?: string[]; - iconUrls?: string[]; // Currently ignored. -} - -export interface MetamaskError { - code: number; - data: Record; - message: string; -} - -export enum MetamaskNativeNetworkIds { - ethereum = 1, - ropsten = 3, - rinkeby = 4, - goerli = 5, - kovan = 42, -} diff --git a/src/model/network/config.ts b/src/model/network/config.ts deleted file mode 100644 index fb0a0eb2..00000000 --- a/src/model/network/config.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { AddEthereumChainParameter } from '../metamask'; -import { DarwiniaAsset } from '../common'; -import type { Token } from '../account'; -import { Facade } from './facade'; -import { Network, NetworkCategory } from './network'; - -export interface EVMToken { - address: string; // The address of the token contract - symbol: string; // A ticker symbol or shorthand, up to 5 characters - decimals: number; // The number of token decimals -} - -interface EVMTokenConfig { - ring: EVMToken; - kton?: EVMToken; -} - -interface ProviderConfig { - rpc: string; -} - -export interface ChainConfig { - facade: Facade; - category: 'live' | 'test' | 'parachain'; - name: Network; - provider: ProviderConfig; - type: NetworkCategory[]; - tokens: { - [key in DarwiniaAsset]: Token; - }; -} - -export interface EthereumChainConfig extends ChainConfig { - ethereumChain: AddEthereumChainParameter; -} - -export interface PolkadotChainConfig extends ChainConfig { - ss58Prefix: number; - subquery?: { - endpoint: string; - }; -} - -export interface EVMChainConfig extends EthereumChainConfig, PolkadotChainConfig { - evm: EVMTokenConfig; -} diff --git a/src/model/network/facade.ts b/src/model/network/facade.ts deleted file mode 100644 index 647a1259..00000000 --- a/src/model/network/facade.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Config } from '../common'; -import { Network } from './network'; - -export interface Facade { - logo: string; -} - -/* ----------------------------------------Network Theme config-------------------------------------------------- */ - -export type NetworkThemeConfig = Config; diff --git a/src/model/network/index.ts b/src/model/network/index.ts deleted file mode 100644 index c8cff8b8..00000000 --- a/src/model/network/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './config'; -export * from './facade'; -export * from './network'; diff --git a/src/model/network/network.ts b/src/model/network/network.ts deleted file mode 100644 index 204b4377..00000000 --- a/src/model/network/network.ts +++ /dev/null @@ -1,17 +0,0 @@ -export type PolkadotTypeNetwork = - | 'pangolin' - | 'crab' - | 'darwinia' - | 'pangoro' - | 'crab-parachain' - | 'pangolin-parachain'; - -export type EthereumTypeNetwork = 'ethereum' | 'ropsten' | 'crab' | 'pangolin'; - -type TronTypeNetwork = 'tron'; - -export type Network = PolkadotTypeNetwork | EthereumTypeNetwork | TronTypeNetwork; - -export type NetworkCategory = 'polkadot' | 'ethereum' | 'darwinia' | 'evm' | 'tron'; - -export type NetworkMode = 'native' | 'evm'; diff --git a/src/model/queue.ts b/src/model/queue.ts deleted file mode 100644 index e1c594e9..00000000 --- a/src/model/queue.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { SubmittableExtrinsic } from '@polkadot/api/promise/types'; -import { SubmittableResult } from '@polkadot/api'; -import { AccountId, Address } from '@polkadot/types/interfaces'; -import { DefinitionRpcExt, AnyNumber } from '@polkadot/types/types'; - -export type Actions = 'create' | 'edit' | 'restore' | 'forget' | 'backup' | 'changePassword' | 'transfer'; - -export interface ActionStatus { - action: Actions | string | string[]; - account?: AccountId | Address | string; - message?: string; - status: 'error' | 'event' | 'eventWarn' | 'queued' | 'received' | 'success'; -} - -export type QueueTxStatus = - | 'future' - | 'ready' - | 'finalized' - | 'finalitytimeout' - | 'usurped' - | 'dropped' - | 'inblock' - | 'invalid' - | 'broadcast' - | 'cancelled' - | 'completed' - | 'error' - | 'incomplete' - | 'queued' - | 'qr' - | 'retracted' - | 'sending' - | 'signing' - | 'sent' - | 'blocked'; - -export type TxCallback = (status: SubmittableResult) => void; - -export type TxFailedCallback = (status: Error | SubmittableResult | null) => void; - -export interface QueueStatus extends ActionStatus { - id: number; - isCompleted: boolean; - removeItem: () => void; -} - -export interface QueueTxResult { - error?: Error; - result?: unknown; - status: QueueTxStatus; -} - -export interface QueueTxExtrinsic { - nonce?: AnyNumber; - extrinsic?: SubmittableExtrinsic; - signAddress?: string | null; - txFailedCb?: TxFailedCallback; - txSuccessCb?: TxCallback; - txStartCb?: () => void; - txUpdateCb?: TxCallback; -} - -export interface QueueTxRpc { - rpc: DefinitionRpcExt; - values: unknown[]; - signAddress?: string | null; -} - -export interface QueueTx { - error?: Error; - extrinsic?: SubmittableExtrinsic; - id: number; - nonce?: AnyNumber; - signAddress?: string | null; - result?: unknown; - removeItem: () => void; - rpc: DefinitionRpcExt; - txFailedCb?: TxFailedCallback; - txSuccessCb?: TxCallback; - txStartCb?: () => void; - txUpdateCb?: TxCallback; - values?: unknown[]; - status: QueueTxStatus; -} - -export type QueueTxRpcAdd = (value: QueueTxRpc) => void; - -export type QueueTxExtrinsicAdd = (value: QueueTxExtrinsic) => void; - -export type QueueTxMessageSetStatus = ( - id: number, - status: QueueTxStatus, - result?: SubmittableResult, - error?: Error -) => void; diff --git a/src/model/storage.ts b/src/model/storage.ts deleted file mode 100644 index dc734322..00000000 --- a/src/model/storage.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { THEME } from '../config'; -import { HashInfo } from '../utils'; -import { ChainConfig, Network, PolkadotChainConfig } from './network'; -import { WalletSource } from './wallet'; - -export interface StorageInfo extends HashInfo { - theme?: THEME; - activeWallet: WalletSource; - activeAccount?: string; - activeNetwork?: PolkadotChainConfig; - config?: Partial<{ [key in Network]: ChainConfig }>; - custom?: Network[]; - hidePortalWarning?: boolean; - introIndex?: number; -} diff --git a/src/model/type-operator.ts b/src/model/type-operator.ts deleted file mode 100644 index 47c28571..00000000 --- a/src/model/type-operator.ts +++ /dev/null @@ -1,27 +0,0 @@ -export type ValueOf = T[keyof T]; - -export type NoNullFields = { [K in keyof O]: NonNullable }; - -export type NullableFields = { [K in keyof O]: K extends D ? O[K] | null : O[K] }; - -export type RequiredPartial = Partial & Required>; - -// Analogues to array.prototype.shift -type Shift = ((...t: T) => unknown) extends (first: unknown, ...rest: infer Rest) => unknown - ? Rest - : never; - -// use a distributed conditional type here -type ShiftUnion = T extends unknown[] ? Shift : never; - -// eslint-disable-next-line @typescript-eslint/ban-types -export type DeepRequired = T extends object - ? Omit> & - Required<{ - [K in Extract]: NonNullable>>; - }> - : T; - -export type WithOptional = Omit & Partial>; - -export type WithNull = { [K in keyof T]: T[K] | null }; diff --git a/src/model/wallet.ts b/src/model/wallet.ts deleted file mode 100644 index eadf62bf..00000000 --- a/src/model/wallet.ts +++ /dev/null @@ -1,29 +0,0 @@ -import type { InjectedAccountWithMeta, InjectedWindowProvider, Injected } from '@polkadot/extension-inject/types'; -import type { KeyringJson } from '@polkadot/ui-keyring/types'; - -export type WalletSource = - | 'polkadot-js' - | '"polkadot-js"' - | 'talisman' - | '"talisman"' - | 'subwallet-js' - | '"subwallet-js"'; - -interface WalletLogoProps { - src: string; - alt: string; -} - -export interface Wallet extends Injected { - title: string; - logo: WalletLogoProps; - extensionName: WalletSource; - - getProvider: () => InjectedWindowProvider | undefined; - getInstallUrl: () => string; -} - -export interface Account extends InjectedAccountWithMeta { - displayAddress: string; // ss58 format - json?: KeyringJson; -} diff --git a/src/pages/Account.tsx b/src/pages/Account.tsx deleted file mode 100644 index 176b7325..00000000 --- a/src/pages/Account.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { Button, Card, Tabs } from 'antd'; -import { useTranslation } from 'react-i18next'; -import { useState } from 'react'; -import { StakingRecords } from '../components/account/StakingRecords'; -import { AssetOverview } from '../components/account/AssetOverview'; -import { useAccount, useApi } from '../hooks'; -import { CustomTab } from '../components/widget/CustomTab'; -import { PolkadotTypeNetwork } from '../model'; - -type TypeTabKeys = 'asset' | 'cross'; - -export function Account() { - const { t } = useTranslation(); - const { network } = useApi(); - const { assets, assetsLoading, refreshAssets } = useAccount(); - const [activeKey, setActiveKey] = useState('asset'); - - const crossChainPrompt: Record = { - crab: t('You can transfer CRAB/CKTON through the bridge between Crab Chain and Crab Smart Chain.'), - darwinia: t('You can transfer RING/KTON through the cross-chain bridge between Ethereum and Darwinia.'), - pangolin: t('You can transfer PRING/PKTON through the cross-chain bridge between Pangolin and Ropsten.'), - pangoro: t('You can transfer ORING through the cross-chain bridge between Pangoro and Pangolin Smart Chain.'), - 'crab-parachain': '', - 'pangolin-parachain': '', - }; - - return ( - setActiveKey(key as TypeTabKeys)} - className={`lg:px-8 px-4 w-full mx-auto dark:shadow-none dark:border-transparent pb-5 page-account-tabs page-account-tabs-${network.name}`} - > - }> -
    - {assets.map((item, index) => ( - - ))} -
    - - -
    - - {crossChainPrompt[network.name as PolkadotTypeNetwork] && ( - }> - -

    {crossChainPrompt[network.name as PolkadotTypeNetwork]}

    - -
    -
    - )} -
    - ); -} diff --git a/src/pages/FeeMarket.tsx b/src/pages/FeeMarket.tsx deleted file mode 100644 index 8809a7b9..00000000 --- a/src/pages/FeeMarket.tsx +++ /dev/null @@ -1,125 +0,0 @@ -import { useLocation, useNavigate } from 'react-router-dom'; -import { Tabs, Empty } from 'antd'; -import { useEffect, useState } from 'react'; -import { useTranslation } from 'react-i18next'; - -import { Overview } from '../components/feemarket/Overview'; -import { Relayers } from '../components/feemarket/Relayers'; -import { RelayerDetail } from '../components/feemarket/RelayerDetail'; -import { Orders } from '../components/feemarket/Orders'; -import { OrderDetail } from '../components/feemarket/OrderDetail'; -import { useApi, useFeeMarket } from '../hooks'; -import { FeeMarketTab, SearchParamsKey } from '../model'; -import { GraphqlProvider } from '../providers'; -import { CustomTab } from '../components/widget/CustomTab'; - -// eslint-disable-next-line complexity -export function FeeMarket() { - const { network } = useApi(); - const { destination, supportedDestinations, setRefresh } = useFeeMarket(); - const { search, pathname } = useLocation(); - const navigate = useNavigate(); - const { t } = useTranslation(); - const [activeKey, setActiveKey] = useState(FeeMarketTab.OVERVIEW); - - const [refreshOverview, setRefreshOverview] = useState<() => void>(() => () => undefined); - const [refreshRelayers, serRefreshRelayers] = useState<() => void>(() => () => undefined); - const [refreshRelayersDetail, serRefreshRelayersDetail] = useState<() => void>(() => () => undefined); - const [refreshOrders, setRefreshOrders] = useState<() => void>(() => () => undefined); - const [refreshOrdersDetail, setRefreshOrdersDetail] = useState<() => void>(() => () => undefined); - - const searchParams = new URLSearchParams(search); - const tab = searchParams.get(SearchParamsKey.TAB); - const lane = searchParams.get(SearchParamsKey.LANE); - const nonce = searchParams.get(SearchParamsKey.NONCE); - const relayer = searchParams.get(SearchParamsKey.RELAYER); - - // eslint-disable-next-line complexity - useEffect(() => { - switch (activeKey) { - case FeeMarketTab.OVERVIEW: - setRefresh(() => refreshOverview); - break; - case FeeMarketTab.RELAYERS: - if (relayer) { - setRefresh(() => refreshRelayersDetail); - } else { - setRefresh(() => refreshRelayers); - } - break; - case FeeMarketTab.OREDERS: - if (lane && nonce) { - setRefresh(() => refreshOrdersDetail); - } else { - setRefresh(() => refreshOrders); - } - break; - } - }, [ - lane, - nonce, - relayer, - activeKey, - setRefresh, - refreshOverview, - refreshRelayers, - refreshRelayersDetail, - refreshOrders, - refreshOrdersDetail, - ]); - - useEffect(() => { - setActiveKey( - Object.values(FeeMarketTab).includes(tab as FeeMarketTab) ? (tab as FeeMarketTab) : FeeMarketTab.OVERVIEW - ); - }, [tab]); - - return supportedDestinations.length && destination ? ( - - { - const searchParams = new URLSearchParams(); - searchParams.set(SearchParamsKey.RPC, encodeURIComponent(network.provider.rpc)); - searchParams.set(SearchParamsKey.DESTINATION, destination); - searchParams.set(SearchParamsKey.TAB, key); - - navigate(`${pathname}?${searchParams.toString()}`); - setActiveKey(key as FeeMarketTab); - }} - className={`lg:px-8 px-4 w-full mx-auto dark:shadow-none dark:border-transparent pb-5 page-account-tabs page-account-tabs-${network.name}`} - > - } - > - - - } - > - {relayer ? ( - - ) : ( - - )} - - } - > - {lane && nonce ? ( - - ) : ( - - )} - - - - ) : ( -
    - -
    - ); -} diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx new file mode 100644 index 00000000..e44b3d25 --- /dev/null +++ b/src/pages/Home.tsx @@ -0,0 +1,11 @@ +import { Hero } from "../components/Hero"; +import { Portals } from "../components/Portals"; + +export default function Home() { + return ( + <> + + + + ); +} diff --git a/src/pages/LocalSubkeyMigration.tsx b/src/pages/LocalSubkeyMigration.tsx new file mode 100644 index 00000000..0c45fecd --- /dev/null +++ b/src/pages/LocalSubkeyMigration.tsx @@ -0,0 +1,84 @@ +import { Fragment } from "react"; +import { Trans, useTranslation } from "react-i18next"; +import Identicon from "@polkadot/react-identicon"; +import FileSaver from "file-saver"; +import { useWallet } from "../hooks/wallet"; + +export default function LocalSubkeyMigration() { + const { t } = useTranslation(); + const { isConnected, accounts, connect } = useWallet(); + + return ( +
    +
    +
    + + {`Here are the accounts you generated on the Darwinia Apps of the old version. You can restore them in the Polkadot{.js} by importing the JSON files. `} + + Tutorial refers here. + + +
    + +
    + {t("Local Accounts")} +
    + {isConnected ? ( + accounts.length ? ( +
    + {accounts.map((account, index) => ( + +
    + +
    + + + {account.address} + +
    +
    + {index + 1 !== accounts.length ?
    : null} + + ))} +
    + ) : ( +
    + +
    + ) + ) : ( +
    + + +
    + )} +
    +
    +
    + ); +} + +const NoData = ({ className }: { className?: string }) => { + const { t } = useTranslation(); + return {t("No Data")}; +}; diff --git a/src/pages/Migration.tsx b/src/pages/Migration.tsx deleted file mode 100644 index 6023a2df..00000000 --- a/src/pages/Migration.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import Identicon from '@polkadot/react-identicon'; -import { Button, Card, List, Tabs } from 'antd'; -import AntdLink from 'antd/lib/typography/Link'; -import FileSaver from 'file-saver'; -import { Trans, useTranslation } from 'react-i18next'; -import { EllipsisMiddle } from '../components/widget/EllipsisMiddle'; -import { useApi, useWallet } from '../hooks'; -import { LOCAL_SOURCE } from '../config'; - -export function Migration() { - const { t } = useTranslation(); - const { network } = useApi(); - const { accounts } = useWallet(); - const localAccounts = accounts.filter((item) => item.meta.source === LOCAL_SOURCE); - - return ( -
    - - - {`Here are the accounts you generated on the Darwinia Apps of the old version. You can restore them in the Polkadot{.js} by importing the JSON files. `} - - Tutorial refers here. - - - - - - - {t('Local Accounts')}} className="shadow-xxl"> - ( - - } - title={{item.meta.name}} - description={} - className="flex item-center" - /> - - - - )} - /> - - - -
    - ); -} diff --git a/src/pages/Portal.tsx b/src/pages/Portal.tsx deleted file mode 100644 index 1e40d11f..00000000 --- a/src/pages/Portal.tsx +++ /dev/null @@ -1,215 +0,0 @@ -import { Alert, Card, Tabs, Tooltip } from 'antd'; -import { CloseOutlined } from '@ant-design/icons'; -import { useMemo, PropsWithChildren } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useApi } from '../hooks'; -import { readStorage, updateStorage } from '../utils'; - -type PortalData = { - name: string; - logo: string; - description: string; - link: string; -}; - -const PortalCard = ({ - children, - className, - onClick, -}: PropsWithChildren<{ className?: string; onClick?: () => void }>) => ( - - {children} - -); - -export function Portal() { - const { t } = useTranslation(); - const { network } = useApi(); - const hidePortalWarning = !!readStorage().hidePortalWarning; - - const portalData = useMemo( - () => [ - { - name: 'Account Migration', - logo: '/image/portal/account-migration.svg', - description: t('A tool to migrate your Darwinia 1.0 account to Darwinia 2.0.'), - link: 'https://migration.darwinia.network/', - }, - { - name: 'Staking Dapp', - logo: '/image/portal/staking.svg', - description: t('The easiest way to stake on Darwinia.'), - link: 'https://staking.darwinia.network/', - }, - { - name: 'Token Migration', - logo: '/image/portal/token-migration.svg', - description: t('A tool to migrate your Darwinia Tokens to the new contract.'), - link: 'https://token-migration.darwinia.network/', - }, - { - name: 'Fee Market UI', - logo: '/image/portal/fee-market-ui.svg', - description: t('To Provide data statistics and relayer operation functions for the Darwinia Fee Market.'), - link: 'https://feemarket.darwinia.network/', - }, - { - name: 'Subscan', - logo: '/image/portal/subscan.png', - description: t('Subscan is aggregate Substrate ecological network High-precision Web3 explorer.'), - link: 'https://www.subscan.io/', - }, - { - name: 'Subview', - logo: '/image/portal/subview.png', - description: t('A block explorer and analytics platform for Crab Smart Chain.'), - link: 'https://subview.xyz/', - }, - { - name: 'SnowSwap', - logo: '/image/portal/snowswap.png', - description: t('Trade and earn without registration.'), - link: 'https://snowswap.xyz/#/', - }, - { - name: 'Helix', - logo: '/image/portal/helix.png', - description: t('A safe community tool for cross-chain assets.'), - link: 'https://helixbridge.app/', - }, - { - name: 'Celer', - logo: '/image/portal/celer.png', - description: t('Building the best inter-blockchain and cross-layer communication platform.'), - link: 'https://cbridge.celer.network/#/transfer', - }, - { - name: 'OnFinality', - logo: '/image/portal/onfinality.png', - description: t('OnFinality is a leading infrastructure service for some of the largest blockchain projects.'), - link: 'https://onfinality.io/', - }, - { - name: 'Crust', - logo: '/image/portal/crust.png', - description: t('Web3.0 Storage for the Metaverse.'), - link: 'https://crust.network/', - }, - { - name: 'Evolution Land', - logo: '/image/portal/evolution-land.png', - description: t('Evolution Land is the first Metaverse+Gamefi+cross-chain game.'), - link: 'https://www.evolution.land/', - }, - { - name: 'Talisman', - logo: '/image/portal/talisman.svg', - description: t('One wallet for Polkadot & Ethereum.'), - link: `https://talisman.xyz`, - }, - { - name: 'MetaMask', - logo: '/image/portal/metamask.png', - description: t('A crypto wallet & gateway to blockchain apps.'), - link: 'https://metamask.io/', - }, - { - name: 'polkadot{.js}', - logo: '/image/portal/polkadot.svg', - description: t( - 'A wallet built on the polkadot-js stack. This version is updated alongside any changes to the code and always has the latest features.' - ), - link: `https://polkadot.js.org/apps/?rpc=${encodeURIComponent(network.provider.rpc)}`, - }, - { - name: 'MathWallet', - logo: '/image/portal/mathwallet.png', - description: t(`World's First Insured Crypto Wallet.`), - link: 'https://www.mathwallet.org/en-us/', - }, - { - name: 'SubWallet', - logo: '/image/portal/subwallet.png', - description: t( - 'SubWallet is a pioneering user-friendly Web3 Multiverse Gateway for the Polkadot and Kusama ecosystems.' - ), - link: 'https://subwallet.app/', - }, - { - name: 'RARE 💎 GEMS', - logo: '/image/portal/raregems.svg', - description: t('Non-custodial NFT marketplace, connected to Crab network.'), - link: 'https://raregems.io/', - }, - { - name: 'Ringo NFT', - logo: '/image/portal/ringonft.png', - description: t('NFT Avatar Collection on Crab Network'), - link: 'https://ringonft.art', - }, - { - name: 'Multisig', - logo: '/image/portal/ipfs.png', - description: t('A tool to create multisig account.'), - link: 'https://ipfs.io/ipfs/QmfRD4GuqZobNi2NT2C77a3UTQ452ffwstr4fjEJixUgjf/#/wallets', - }, - ], - [t, network] - ); - - return ( -
    - {!hidePortalWarning && ( - - - - } - onClose={() => { - updateStorage({ hidePortalWarning: true }); - }} - className="m-0 flex flex-col space-y-2 lg:flex-row lg:space-y-0" - /> - )} - - - -
    - {portalData.map(({ name, logo, description, link }, index) => ( - window.open(link, '_blank', 'noopener noreferrer')}> -
    - - {name} -

    {description}

    -
    -
    - ))} - window.open(t('Github link for add portal'), '_blank', 'noopener noreferrer')} - > - - - - -
    -
    -
    -
    - ); -} diff --git a/src/pages/Staking.tsx b/src/pages/Staking.tsx deleted file mode 100644 index d8cda4c5..00000000 --- a/src/pages/Staking.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import { Tabs, Empty } from 'antd'; -import { useMemo, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { useLocation, useNavigate } from 'react-router-dom'; -import { StakingOverview } from '../components/staking/overview/StakingOverview'; -import { Power } from '../components/staking/power/Power'; -import { Targets } from '../components/staking/targets/Targets'; -import { Waiting } from '../components/staking/waiting/Waiting'; -import { useApi, useStaking } from '../hooks'; -import { SearchParamsKey } from '../model'; -import { CustomTab } from '../components/widget/CustomTab'; - -type TypeTabKeys = 'power' | 'overview' | 'targets' | 'waiting'; - -export function Staking() { - const { t } = useTranslation(); - const { network } = useApi(); - const { isSupportedStaking } = useStaking(); - const { search, pathname } = useLocation(); - const navigate = useNavigate(); - const query = useMemo(() => new URLSearchParams(search), [search]); - const [activeKey, setActiveKey] = useState((query.get(SearchParamsKey.TAB) as TypeTabKeys) || 'power'); - - return isSupportedStaking ? ( - { - const searchParams = new URLSearchParams(); - searchParams.set(SearchParamsKey.RPC, encodeURIComponent(network.provider.rpc)); - searchParams.set(SearchParamsKey.TAB, key); - - navigate(`${pathname}?${searchParams.toString()}`); - setActiveKey(key as TypeTabKeys); - }} - className={`lg:px-8 px-4 w-full mx-auto dark:shadow-none dark:border-transparent pb-5 page-account-tabs page-account-tabs-${network.name}`} - > - }> - - - } - > - - - }> - - - }> - - - - ) : ( -
    - -
    - ); -} diff --git a/src/pages/Toolbox.tsx b/src/pages/Toolbox.tsx deleted file mode 100644 index 9c596c27..00000000 --- a/src/pages/Toolbox.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { Tabs } from 'antd'; -import { useCallback, useEffect, useState } from 'react'; -import { useNavigate, useLocation } from 'react-router-dom'; -import { useTranslation } from 'react-i18next'; -import { ConvertAddress } from '../components/toolbox/address'; -import { Withdraw } from '../components/toolbox/withdraw'; -// import { Deposits } from '../components/toolbox/deposits/'; -// import { Faucet } from '../components/toolbox/faucet'; -import { useApi } from '../hooks'; -import { EVMChainConfig, SearchParamsKey } from '../model'; -import { MetamaskProvider } from '../providers/metamask'; -import SubkeyMigration from '../components/migration'; - -type ActiveTab = 'address' | 'withdraw' | 'migration'; - -export function Toolbox() { - const { t } = useTranslation(); - const { network } = useApi(); - const navigate = useNavigate(); - const location = useLocation(); - const [activeTab, setActiveTab] = useState('address'); - - const { name, evm: supportEvm } = network as EVMChainConfig; - // const supportFaucet = useMemo(() => name === 'pangolin' || name === 'pangoro', [name]); - - const handleChange = useCallback( - (tab: string) => { - const searchParams = new URLSearchParams(window.location.search); - searchParams.set(SearchParamsKey.TAB, tab); - setActiveTab(tab as ActiveTab); - navigate(`${location.pathname}?${searchParams.toString()}`); - }, - [navigate, location] - ); - - useEffect(() => { - const searchParams = new URLSearchParams(window.location.search); - setActiveTab((searchParams.get(SearchParamsKey.TAB) as ActiveTab) || 'address'); - }, []); - - return ( - - - {supportEvm && ( - - - - )} - - {supportEvm && ( - - - - )} - {supportEvm && ( - - - - )} - - - ); -} diff --git a/src/providers/account.tsx b/src/providers/account.tsx deleted file mode 100644 index 6861bc47..00000000 --- a/src/providers/account.tsx +++ /dev/null @@ -1,65 +0,0 @@ -import { createContext, useEffect, useState, useCallback } from 'react'; -import keyring from '@polkadot/ui-keyring'; -import isMobile from 'is-mobile'; -import { useAssets, useWallet } from '../hooks'; -import { Asset, Account } from '../model'; -import { readStorage, updateStorage } from '../utils'; -import { SEARCH_PARAMS_SOURCE } from '../config'; - -export interface AccountCtx { - assets: Asset[]; - assetsLoading: boolean | undefined; - account: Account | null | undefined; - - refreshAssets: () => void; - selectAccount: (address: string) => void; -} - -export const AccountContext = createContext({} as AccountCtx); - -export const AccountProvider = ({ children }: React.PropsWithChildren) => { - const { accounts } = useWallet(); - const [account, setAccount] = useState(); - const { assets, loading: assetsLoading, refresh: refreshAssets } = useAssets(account?.displayAddress); - - const selectAccount = useCallback( - (address: string) => { - setAccount(accounts.find((acc) => acc.address === address || acc.displayAddress === address)); - }, - [accounts] - ); - - useEffect(() => { - accounts.forEach(({ displayAddress, meta }) => { - keyring.saveAddress(displayAddress, meta); - }); - - const storageAddress = readStorage().activeAccount; - const storageAccount = accounts.find(({ address }) => address === storageAddress); - const readOnlyAccount = accounts.find(({ meta }) => meta.source === SEARCH_PARAMS_SOURCE); - - setAccount(readOnlyAccount ?? storageAccount ?? (isMobile() ? accounts[0] : null)); - }, [accounts]); - - useEffect(() => { - if (account) { - updateStorage({ activeAccount: account?.address }); - } - }, [account]); - - return ( - <> - - {children} - - - ); -}; diff --git a/src/providers/api.tsx b/src/providers/api.tsx deleted file mode 100644 index 625ba7cf..00000000 --- a/src/providers/api.tsx +++ /dev/null @@ -1,225 +0,0 @@ -import { ApiPromise } from '@polkadot/api'; -import { createContext, useCallback, useEffect, useMemo, useReducer, useState } from 'react'; -import { useNavigate } from 'react-router-dom'; -import { EMPTY, Subscription, from } from 'rxjs'; -import keyring from '@polkadot/ui-keyring'; -import type { u32 } from '@polkadot/types-codec'; -import type { ChainProperties } from '@polkadot/types/interfaces'; -import { BallScalePulse } from '../components/widget/BallScalePulse'; -import { darwiniaConfig, THEME } from '../config'; -import { - Chain, - Token, - Action, - Network, - ChainConfig, - Connection, - ConnectionStatus, - PolkadotChainConfig, - PolkadotConnection, - SearchParamsKey, -} from '../model'; -import { - convertToSS58, - getPolkadotConnection, - readStorage, - updateStorage, - getNetworkByRpc, - getNetworkByName, -} from '../utils'; - -interface StoreState { - connection: Connection; - network: PolkadotChainConfig; - isDev: boolean; -} - -type ActionType = 'setNetwork' | 'setConnection'; - -const isDev = process.env.REACT_APP_HOST_TYPE === 'dev'; - -const extractTokens = ({ tokenDecimals, tokenSymbol }: ChainProperties) => - tokenDecimals.isSome && tokenSymbol.isSome - ? tokenDecimals.unwrap().reduce((acc: Token[], decimal: u32, index: number) => { - const token: Token = { decimal: decimal.toString(), symbol: tokenSymbol.unwrap()[index].toString() }; - return [...acc, token]; - }, []) - : []; - -const getInitNetwork = () => { - const searchParams = new URLSearchParams(window.location.search); - const rpc = searchParams.get(SearchParamsKey.RPC); - const name = searchParams.get('network'); - return (getNetworkByRpc(rpc) ?? getNetworkByName(name as Network) ?? darwiniaConfig) as PolkadotChainConfig; -}; - -const initialConnection: Connection = { - status: ConnectionStatus.pending, - type: 'unknown', - accounts: [], - chainId: '', -}; - -const initialState: StoreState = { - connection: initialConnection, - network: getInitNetwork(), - isDev, -}; - -// eslint-disable-next-line complexity, @typescript-eslint/no-explicit-any -function accountReducer(state: StoreState, action: Action): StoreState { - switch (action.type) { - case 'setNetwork': { - updateStorage({ activeNetwork: action.payload }); - return { ...state, network: action.payload }; - } - - case 'setConnection': { - const { accounts, ...rest } = action.payload as Connection; - - return { - ...state, - connection: { - ...rest, - accounts: accounts.map((item) => { - const address = convertToSS58(item.address, state.network.ss58Prefix); - keyring.saveAddress(address, item.meta); - return { - ...item, - address, - }; - }), - }, - }; - } - - default: - return state; - } -} - -export type ApiCtx = StoreState & { - api: ApiPromise; - chain: Chain; - connectNetwork: (network: ChainConfig) => void; - disconnect: () => void; - setApi: (api: ApiPromise) => void; -}; - -export const ApiContext = createContext(null); - -let subscription: Subscription = EMPTY.subscribe(); - -export const ApiProvider = ({ children }: React.PropsWithChildren) => { - const navigate = useNavigate(); - const [state, dispatch] = useReducer(accountReducer, initialState, (initValue) => { - updateStorage({ activeNetwork: initValue.network }); - return { ...initValue }; - }); - const setNetwork = useCallback((payload: ChainConfig) => dispatch({ type: 'setNetwork', payload }), []); - const setConnection = useCallback((payload: Connection) => dispatch({ type: 'setConnection', payload }), []); - const [api, setApi] = useState(null); - const [chain, setChain] = useState({ ss58Format: '', tokens: [] }); - - const observer = useMemo( - () => ({ - next: (connection: Connection) => { - setConnection(connection); - - const nApi = (connection as PolkadotConnection).api; - - if (nApi) { - nApi?.isReady.then(() => { - setApi(nApi); - setConnection({ ...connection, status: ConnectionStatus.complete }); - }); - } - }, - error: (err: unknown) => { - setConnection({ status: ConnectionStatus.error, accounts: [], type: 'unknown', api: null }); - console.error('%c connection error ', 'font-size:13px; background:pink; color:#bf2c9f;', err); - }, - complete: () => { - console.info('Connection life is over'); - }, - }), - [setConnection] - ); - - const connectNetwork = useCallback( - (config: ChainConfig) => { - setNetwork(config); - - const searchParams = new URLSearchParams(); - searchParams.set(SearchParamsKey.RPC, encodeURIComponent(config.provider.rpc)); - searchParams.delete('network'); - navigate(`${window.location.pathname}?${searchParams.toString()}`); - }, - [navigate, setNetwork] - ); - - // eslint-disable-next-line complexity - const disconnect = useCallback(() => { - subscription.unsubscribe(); - - setConnection(initialConnection); - setApi(null); - }, [setConnection]); - - useEffect(() => { - if (!state.network) { - setConnection(initialConnection); - } else { - subscription = getPolkadotConnection(state.network).subscribe(observer); - } - - return () => { - console.info('[Api provider] Cancel network subscription of network', state.network?.name); - subscription.unsubscribe(); - }; - }, [observer, state.network, setConnection]); - - useEffect(() => { - if (!api) { - return; - } - - const sub$$ = from(api.rpc.system.properties()).subscribe((properties) => { - const { ss58Format } = properties; - - setChain({ - ss58Format: ss58Format.isSome ? ss58Format.unwrap().toString() : '', - tokens: extractTokens(properties), - }); - }); - - return () => sub$$.unsubscribe(); - }, [api]); - - if (!api || state.connection.status !== ConnectionStatus.complete) { - return ( -
    - -
    - ); - } - - return ( - - {children} - - ); -}; diff --git a/src/providers/feemarket.tsx b/src/providers/feemarket.tsx deleted file mode 100644 index 42b04398..00000000 --- a/src/providers/feemarket.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import { createContext, PropsWithChildren, useCallback, useEffect, useMemo, useState } from 'react'; -import { useLocation, useNavigate } from 'react-router-dom'; - -import { marketApiSections } from '../config'; -import { SearchParamsKey, DarwiniaChain } from '../model'; -import { useApi } from '../hooks'; - -export interface FeeMarketCtx { - destination: DarwiniaChain | null | undefined; - supportedDestinations: DarwiniaChain[]; - - setDestination: (destination: DarwiniaChain) => void; - refresh: () => void; - setRefresh: (fn: () => void) => void; -} - -export const FeeMarketContext = createContext({} as FeeMarketCtx); - -export const FeeMarketProvider = ({ children }: PropsWithChildren) => { - const { api } = useApi(); - const { search } = useLocation(); - const navigate = useNavigate(); - const [destination, _setDestination] = useState(); - const [refresh, setRefresh] = useState<() => void>(() => () => undefined); - - const searchParams = new URLSearchParams(search); - const paramDestination = searchParams.get(SearchParamsKey.DESTINATION); - - const supportedDestinations = useMemo(() => { - const { specName } = api.consts.system.version; - const source = specName.toString() as DarwiniaChain; - return Object.keys(marketApiSections[source] || {}) as DarwiniaChain[]; - }, [api]); - - const setDestination = useCallback( - (dest: DarwiniaChain) => { - const searchParams = new URLSearchParams(window.location.search); - searchParams.set(SearchParamsKey.DESTINATION, dest); - navigate(`?${searchParams.toString()}`); - - _setDestination(dest); - }, - [navigate] - ); - - useEffect(() => { - _setDestination(supportedDestinations.find((dest) => dest === paramDestination) ?? supportedDestinations[0]); - }, [supportedDestinations, paramDestination]); - - return ( - - {children} - - ); -}; diff --git a/src/providers/graphql.tsx b/src/providers/graphql.tsx deleted file mode 100644 index 05f4b5df..00000000 --- a/src/providers/graphql.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { PropsWithChildren, useMemo } from 'react'; -import { ApolloProvider, ApolloClient, InMemoryCache } from '@apollo/client'; -import { useApi } from '../hooks'; - -export const GraphqlProvider = ({ children }: PropsWithChildren) => { - const { network } = useApi(); - - const client = useMemo( - () => - new ApolloClient({ - uri: network.subquery?.endpoint, - cache: new InMemoryCache(), - }), - [network.subquery] - ); - - return {children}; -}; diff --git a/src/providers/index.ts b/src/providers/index.ts deleted file mode 100644 index 8ef24c73..00000000 --- a/src/providers/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './api'; -export * from './account'; -export * from './queue'; -export * from './staking'; -export * from './wallet'; -export * from './graphql'; -export * from './feemarket'; diff --git a/src/providers/metamask.tsx b/src/providers/metamask.tsx deleted file mode 100644 index 6d2730d6..00000000 --- a/src/providers/metamask.tsx +++ /dev/null @@ -1,95 +0,0 @@ -import { createContext, useCallback, useMemo, useReducer, useState } from 'react'; -import { EMPTY, Subscription } from 'rxjs'; -import { Action, Connection, ConnectionStatus, AddEthereumChainParameter } from '../model'; -import { connectToEth } from '../utils'; - -interface StoreState { - connection: Connection; -} - -type ActionType = 'setNetwork' | 'setConnection' | 'setEnableTestNetworks'; - -const initialConnection: Connection = { - status: ConnectionStatus.pending, - type: 'unknown', - accounts: [], - chainId: '', -}; - -const initialState: StoreState = { - connection: initialConnection, -}; - -// eslint-disable-next-line complexity, @typescript-eslint/no-explicit-any -function accountReducer(state: StoreState, action: Action): StoreState { - switch (action.type) { - case 'setConnection': { - return { ...state, connection: action.payload }; - } - - default: - return state; - } -} - -export type MetamaskCtx = StoreState & { - busy: boolean; - connectNetwork: (network: AddEthereumChainParameter) => void; - disconnect: () => void; -}; - -export const MetamaskContext = createContext(null); - -let subscription: Subscription = EMPTY.subscribe(); - -export const MetamaskProvider = ({ children }: React.PropsWithChildren) => { - const [busy, setBusy] = useState(false); - const [state, dispatch] = useReducer(accountReducer, initialState); - const setConnection = useCallback((payload: Connection) => dispatch({ type: 'setConnection', payload }), []); - const observer = useMemo( - () => ({ - next: (connection: Connection) => { - setConnection(connection); - setBusy(false); - }, - error: (err: unknown) => { - setConnection({ status: ConnectionStatus.error, accounts: [], type: 'unknown', api: null }); - setBusy(false); - console.error('%c connection error ', 'font-size:13px; background:pink; color:#bf2c9f;', err); - }, - complete: () => { - console.info('Connection life is over'); - }, - }), - [setConnection] - ); - const connectNetwork = useCallback( - (config: AddEthereumChainParameter) => { - subscription.unsubscribe(); - - setBusy(true); - subscription = connectToEth(config).subscribe(observer); - }, - [observer] - ); - - const disconnect = useCallback(() => { - if (window.ethereum.isConnected()) { - setConnection(initialConnection); - return; - } - }, [setConnection]); - - return ( - - {children} - - ); -}; diff --git a/src/providers/queue.tsx b/src/providers/queue.tsx deleted file mode 100644 index 96ee12db..00000000 --- a/src/providers/queue.tsx +++ /dev/null @@ -1,125 +0,0 @@ -import React, { useState, useCallback, createContext, useRef } from 'react'; -import { SubmittableResult } from '@polkadot/api'; -import { notification } from 'antd'; -import jsonrpc from '@polkadot/types/interfaces/jsonrpc'; -import { timer } from 'rxjs'; -import { - QueueTx, - QueueTxStatus, - QueueTxExtrinsicAdd, - QueueTxRpcAdd, - QueueTxMessageSetStatus, - QueueTxExtrinsic, - QueueTxRpc, -} from '../model'; -import { MIDDLE_DURATION } from '../config'; - -let nextId = 0; -const SUBMIT_RPC = jsonrpc.author.submitAndWatchExtrinsic; - -export const STATUS_COMPLETE: QueueTxStatus[] = [ - // status from subscription - 'finalitytimeout', - 'finalized', - 'inblock', - 'usurped', - 'dropped', - 'invalid', - // normal completion - 'cancelled', - 'error', - 'sent', -]; - -export interface QueueCtx { - txqueue: QueueTx[]; - queueExtrinsic: QueueTxExtrinsicAdd; - queueRpc: QueueTxRpcAdd; - queueSetTxStatus: QueueTxMessageSetStatus; -} - -const defaultState: Partial = { - txqueue: [] as QueueTx[], -}; - -export const QueueContext = createContext(defaultState as QueueCtx); - -export const QueueProvider = ({ children }: React.PropsWithChildren) => { - const [txqueue, _setTxQueue] = useState([]); - const txRef = useRef(txqueue); - - const setTxQueue = useCallback((tx: QueueTx[]): void => { - txRef.current = tx; - _setTxQueue(tx); - }, []); - - const addToTxQueue = useCallback( - (value: QueueTxExtrinsic | QueueTxRpc | QueueTx): void => { - const id = ++nextId; - const removeItem = () => - setTxQueue([ - ...txRef.current.map((item): QueueTx => (item.id === id ? { ...item, status: 'completed' } : item)), - ]); - - setTxQueue([ - ...txRef.current, - { - ...value, - id, - removeItem, - rpc: (value as QueueTxRpc).rpc || SUBMIT_RPC, - status: 'queued', - }, - ]); - }, - [setTxQueue] - ); - - const queueExtrinsic = useCallback((value: QueueTxExtrinsic) => addToTxQueue({ ...value }), [addToTxQueue]); - - const queueRpc = useCallback((value: QueueTxRpc) => addToTxQueue({ ...value }), [addToTxQueue]); - - const queueSetTxStatus = useCallback( - (id: number, status: QueueTxStatus, result?: SubmittableResult, error?: Error): void => { - notification.close(id.toString()); - - setTxQueue([ - ...txRef.current.map( - (item): QueueTx => - item.id === id - ? { - ...item, - error: error === undefined ? item.error : error, - result: result === undefined ? (item.result as SubmittableResult) : result, - status: item.status === 'completed' ? item.status : status, - } - : item - ), - ]); - - if (STATUS_COMPLETE.includes(status)) { - timer(MIDDLE_DURATION).subscribe(() => { - const item = txRef.current.find((value) => value.id === id); - if (item) { - item.removeItem(); - notification.close(id.toString()); - } - }); - } - }, - [setTxQueue] - ); - - return ( - - {children} - - ); -}; diff --git a/src/providers/staking.tsx b/src/providers/staking.tsx deleted file mode 100644 index f02987b5..00000000 --- a/src/providers/staking.tsx +++ /dev/null @@ -1,227 +0,0 @@ -import { DeriveStakingOverview } from '@polkadot/api-derive/staking/types'; -import { ElectionStatus } from '@polkadot/types/interfaces'; -import type { u32 } from '@polkadot/types'; -import store from 'store'; -import { DarwiniaStakingStructsValidatorPrefs } from '@polkadot/types/lookup'; -import React, { createContext, useCallback, useEffect, useMemo, useState } from 'react'; -import { combineLatest, from, tap, EMPTY, Subscription } from 'rxjs'; -import type { DeriveStakingAccount } from '@darwinia/api-derive/types'; -import { useWallet, useApi, useIsMountedOperator, useAccount, useControllerAndStashAccount } from '../hooks'; -import { isSameAddress } from '../utils'; - -const STAKING_FAV_KEY = 'staking:favorites'; - -export interface StakingCtx { - availableValidators: string[]; - controllerAccount: string | null; - isControllerAccountOwner: boolean; - isNominating: boolean; - isStakingDeriveLoading: boolean; - isStakingLedgerEmpty: boolean; - isValidating: boolean; - isInElection: boolean; - isSupportedStaking: boolean; - stakingDerive: DeriveStakingAccount | null; - stakingOverview: DeriveStakingOverview | null; - stashAccount: string | null; - stashAccounts: string[]; - maxNominations: number; - favorites: string[]; - setFavorite: (address: string) => void; - updateStakingDerive: () => void; - updateValidators: () => void; - refreshControllerAccount: () => Subscription; - refreshStashAccount: () => Subscription; - validators: DarwiniaStakingStructsValidatorPrefs | null; -} - -export const StakingContext = createContext(null); - -export const StakingProvider = ({ children }: React.PropsWithChildren) => { - const { api } = useApi(); - const { accounts } = useWallet(); - const { account } = useAccount(); - const { controllerAccount, stashAccount, refreshControllerAccount, refreshStashAccount } = - useControllerAndStashAccount(account?.displayAddress); - const { takeWhileIsMounted } = useIsMountedOperator(); - const [favorites, _setFavorites] = useState( - store.get(`${STAKING_FAV_KEY}:${api.genesisHash.toHex()}`) || [] - ); - const [stashAccounts, setStashAccounts] = useState([]); - const [stakingDerive, setStakingDerive] = useState(null); - const [isStakingDeriveLoading, setIsStakingDeriveLoading] = useState(false); - const [validators, setValidators] = useState(null); - const [stakingOverview, setStakingOverview] = useState(null); - const [isInElection, setIsInElection] = useState(false); - - const isSupportedStaking = useMemo(() => !!api.tx.staking, [api]); - - const maxNominations = useMemo(() => (api.consts.staking?.maxNominations as u32)?.toNumber() || 0, [api]); - - const availableValidators = useMemo(() => { - if (stakingOverview && stashAccounts) { - const data = stakingOverview.validators.map((item) => item.toString()); - - return stashAccounts.filter((item) => !data.includes(item)); - } - - return []; - }, [stakingOverview, stashAccounts]); - - const isControllerAccountOwner = useMemo( - () => - !!controllerAccount && - accounts.map((item) => item.displayAddress).some((address) => isSameAddress(address, controllerAccount)), - [accounts, controllerAccount] - ); - - const isValidating = useMemo(() => { - return ( - !!stashAccount && - !!validators && - (!(Array.isArray(validators) ? validators[1].isEmpty : validators.isEmpty) || - stashAccounts.includes(stashAccount)) - ); - }, [stashAccount, stashAccounts, validators]); - - const isNominating = useMemo(() => !!stakingDerive?.nominators.length, [stakingDerive]); - - const isStakingLedgerEmpty = useMemo( - () => !stakingDerive || !stakingDerive.stakingLedger || stakingDerive.stakingLedger.isEmpty, - [stakingDerive] - ); - - const setFavorite = useCallback( - (address: string) => { - _setFavorites((prev) => { - const next = prev.includes(address) ? prev.filter((item) => item !== address) : prev.concat(address); - store.set(`${STAKING_FAV_KEY}:${api.genesisHash.toHex()}`, next); - return next; - }); - }, - [api.genesisHash] - ); - - const updateStakingDerive = useCallback(() => { - if (account && isSupportedStaking) { - return from(api.derive.staking.account(account.displayAddress)) - .pipe( - tap(() => setIsStakingDeriveLoading(true)), - takeWhileIsMounted() - ) - .subscribe({ - next: (res) => { - setStakingDerive(res as unknown as DeriveStakingAccount); - setIsStakingDeriveLoading(false); - }, - error: () => setIsStakingDeriveLoading(false), - }); - } else { - setStakingDerive(null); - return EMPTY.subscribe(); - } - }, [api, account, isSupportedStaking, takeWhileIsMounted]); - - const updateValidators = useCallback(() => { - if (isSupportedStaking && stashAccount) { - return from>(api.query.staking.validators(stashAccount)) - .pipe(takeWhileIsMounted()) - .subscribe((res) => setValidators(res)); - } else { - setValidators(null); - return EMPTY.subscribe(); - } - }, [api, stashAccount, isSupportedStaking, takeWhileIsMounted]); - - const updateStakingOverview = useCallback(() => { - if (isSupportedStaking) { - return combineLatest([api.derive.session.indexes(), api.derive.staking.validators()]) - .pipe(takeWhileIsMounted()) - .subscribe(([idx, val]) => setStakingOverview({ ...idx, ...val })); - } else { - setStakingOverview(null); - return EMPTY.subscribe(); - } - }, [api, isSupportedStaking, takeWhileIsMounted]); - - useEffect(() => { - if (!isSupportedStaking) { - setStashAccounts([]); - return; - } - - const sub$$ = from(api.derive.staking.stashes()).subscribe((res) => { - setStashAccounts(res.map((item) => item.toString())); - }); - - return () => sub$$.unsubscribe(); - }, [api, isSupportedStaking]); - - useEffect(() => { - if (!isSupportedStaking || !api.query.staking?.eraElectionStatus) { - setIsInElection(false); - return; - } - - const sub$$ = from(api.query.staking.eraElectionStatus() as Promise).subscribe((status) => - setIsInElection(status.isOpen) - ); - - return () => sub$$.unsubscribe(); - }, [api, isSupportedStaking]); - - useEffect(() => { - const subCrl$$ = refreshControllerAccount(); - const subSts$$ = refreshStashAccount(); - - return () => { - subCrl$$.unsubscribe(); - subSts$$.unsubscribe(); - }; - }, [refreshControllerAccount, refreshStashAccount]); - - useEffect(() => { - const sub$$ = updateStakingDerive(); - return () => sub$$.unsubscribe(); - }, [updateStakingDerive]); - - useEffect(() => { - const sub$$ = updateStakingOverview(); - return () => sub$$.unsubscribe(); - }, [updateStakingOverview]); - - useEffect(() => { - const sub$$ = updateValidators(); - return () => sub$$.unsubscribe(); - }, [updateValidators]); - - return ( - - {children} - - ); -}; diff --git a/src/providers/wallet.tsx b/src/providers/wallet.tsx index 98740571..db8f987d 100644 --- a/src/providers/wallet.tsx +++ b/src/providers/wallet.tsx @@ -1,71 +1,53 @@ -import { PropsWithChildren, useState, createContext, useCallback, useEffect } from 'react'; -import type { Signer as InjectedSigner } from '@polkadot/api/types'; -import { accounts as accountsObs } from '@polkadot/ui-keyring/observable/accounts'; -import type { SubjectInfo } from '@polkadot/ui-keyring/observable/types'; -import type { Injected } from '@polkadot/extension-inject/types'; -import { web3Enable, web3Accounts } from '@polkadot/extension-dapp'; -import { from, switchMap, tap } from 'rxjs'; -import isMobile from 'is-mobile'; -import type { Wallet, Account, WalletSource } from '../model'; -import { DAPP_NAME, LOCAL_SOURCE, SEARCH_PARAMS_SOURCE, supportedWallets } from '../config'; -import { convertToSS58, isValidAddress, updateStorage, readStorage } from '../utils'; -import { useApi } from '../hooks'; +import { PropsWithChildren, createContext, useCallback, useEffect, useState } from "react"; +import type { Account } from "../types"; +import type { Injected } from "@polkadot/extension-inject/types"; +import { accounts as accountsObs } from "@polkadot/ui-keyring/observable/accounts"; +import { from } from "rxjs"; +import type { SubjectInfo } from "@polkadot/ui-keyring/observable/types"; -export interface WalletCtx { - error: Error | null | undefined; - signer: InjectedSigner | null | undefined; +const DAPP_NAME = "darwinia/apps"; +interface WalletCtx { + isConnected: boolean; accounts: Account[]; - - walletToUse: Wallet | null | undefined; - supportedWallets: Omit[]; - - connectWallet: (source: WalletSource) => Promise; - disConnectWallet: () => void; + connect: () => Promise; } -export const WalletContext = createContext({} as WalletCtx); +export const WalletContext = createContext({ + isConnected: false, + accounts: [], + connect: async () => undefined, +}); export const WalletProvider = ({ children }: PropsWithChildren) => { - const { api, network } = useApi(); + const [isConnected, setIsConnected] = useState(false); + const [accounts, setAccounts] = useState([]); const [accountsObsData, setAccountsObsData] = useState({}); - const [error, setError] = useState(); - const [signer, setSigner] = useState(); - const [accounts, setAccounts] = useState([]); - const [walletToUse, setWalletToUse] = useState(); + const connect = useCallback(async () => { + const injecteds = window.injectedWeb3; + const wallet = injecteds && (injecteds["polkadot-js"] || injecteds['"polkadot-js"']); - const getWalletBySource = useCallback( - (source: WalletSource) => supportedWallets.find((item) => item.extensionName === source), - [] - ); + try { + const provider: Injected | undefined = await wallet?.enable(DAPP_NAME); + setIsConnected(true); - const connectWallet = useCallback( - async (source: WalletSource) => { - try { - const wallet = getWalletBySource(source); - const provider = await wallet?.getProvider()?.enable(DAPP_NAME); + if (provider) { + const accs = await provider.accounts.get(); - if (wallet && provider) { - setWalletToUse({ ...wallet, ...provider }); - return true; - } - } catch (err) { - console.error(err); - setError(err as Error); - } + const addresses = Object.keys(accountsObsData); + const extensionAddresses = accs.map((item) => item.address); + const localAddresses = addresses.filter((address) => !extensionAddresses.includes(address)); - return false; - }, - [getWalletBySource] - ); - - const disConnectWallet = useCallback(() => { - setSigner(null); - setAccounts([]); - setWalletToUse(null); - }, []); + setAccounts(localAddresses.map((address) => ({ address, json: accountsObsData[address].json }))); + } + } catch (err) { + console.error(err); + setIsConnected(false); + setAccounts([]); + } + }, [accountsObsData]); useEffect(() => { const sub$$ = from(accountsObs.subject.asObservable()).subscribe(setAccountsObsData); @@ -73,136 +55,5 @@ export const WalletProvider = ({ children }: PropsWithChildren) => { return () => sub$$.unsubscribe(); }, []); - useEffect(() => { - const readOnlyAddress = new URL(window.location.href).searchParams.get('address'); - const readOnly = - readOnlyAddress && isValidAddress(readOnlyAddress) - ? [ - { - address: readOnlyAddress, - displayAddress: convertToSS58(readOnlyAddress, network.ss58Prefix), - meta: { name: 'Read-Only', source: SEARCH_PARAMS_SOURCE }, - }, - ] - : []; - - setAccounts((prev) => { - const exist = prev.find(({ meta }) => meta.source === SEARCH_PARAMS_SOURCE); - - return exist ? prev : [...prev, ...readOnly]; - }); - }, [network.ss58Prefix]); - - useEffect(() => { - if (!walletToUse) { - return; - } - - setSigner(walletToUse.signer); - - const apiGenesisHash = api.genesisHash.toHex(); - - const sub$$ = walletToUse.accounts.subscribe((accs) => { - const extension = accs - .filter((acc) => (!acc.genesisHash || acc.genesisHash === apiGenesisHash) && isValidAddress(acc.address)) - .map((acc) => { - const { address, genesisHash, name, type } = acc; - - return { - address, - displayAddress: convertToSS58(address, network.ss58Prefix), - type, - meta: { - genesisHash, - name, - source: walletToUse.extensionName, - }, - }; - }); - - const keys = Object.keys(accountsObsData); - const extensionAddresses = accs.map((item) => item.address); - const sources = keys.filter((key) => !extensionAddresses.includes(key)); - - const locals: Account[] = sources.map((address) => { - const found = accs.find((item) => item.address === address); - - return { - address, - displayAddress: convertToSS58(address, network.ss58Prefix), - type: found?.type, - json: accountsObsData[address].json, - meta: { - genesisHash: found?.genesisHash, - name: found?.name, - source: LOCAL_SOURCE, - }, - }; - }); - - setAccounts((prev) => { - const readOnly = prev.find(({ meta }) => meta.source === SEARCH_PARAMS_SOURCE); - - return readOnly ? [...extension, ...locals, readOnly] : [...extension, ...locals]; - }); - }); - - return () => sub$$(); - }, [walletToUse, network.ss58Prefix, api, accountsObsData]); - - useEffect(() => { - connectWallet(readStorage().activeWallet); - }, [connectWallet]); - - useEffect(() => { - if (walletToUse) { - updateStorage({ activeWallet: walletToUse?.extensionName }); - } - }, [walletToUse]); - - useEffect(() => { - if (!isMobile()) { - return; - } - - const sub$$ = from(web3Enable(DAPP_NAME)) - .pipe( - tap((extensions) => { - if (extensions.length) { - setSigner(extensions[0].signer); - } - }), - switchMap(() => { - return from(web3Accounts()); - }) - ) - .subscribe((accs) => { - setAccounts( - accs.map((acc) => ({ - address: acc.address, - meta: acc.meta, - type: acc.type, - displayAddress: convertToSS58(acc.address, network.ss58Prefix), - })) - ); - }); - - return () => sub$$.unsubscribe(); - }, [network.ss58Prefix]); - - return ( - - {children} - - ); + return {children}; }; diff --git a/src/react-app-env.d.ts b/src/react-app-env.d.ts deleted file mode 100644 index 6431bc5f..00000000 --- a/src/react-app-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/src/reportWebVitals.ts b/src/reportWebVitals.ts deleted file mode 100644 index 49a2a16e..00000000 --- a/src/reportWebVitals.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ReportHandler } from 'web-vitals'; - -const reportWebVitals = (onPerfEntry?: ReportHandler) => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); - } -}; - -export default reportWebVitals; diff --git a/src/setupTests.ts b/src/setupTests.ts deleted file mode 100644 index 8f2609b7..00000000 --- a/src/setupTests.ts +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom'; diff --git a/src/theme/antd/dark.json b/src/theme/antd/dark.json deleted file mode 100644 index 683e6d77..00000000 --- a/src/theme/antd/dark.json +++ /dev/null @@ -1,283 +0,0 @@ -{ - "@theme": "dark", - "@blue-1": "mix(color(~`colorPalette('@{blue-base}', 8) `), @component-background, 15%)", - "@blue-2": "mix(color(~`colorPalette('@{blue-base}', 7) `), @component-background, 25%)", - "@blue-3": "mix(@blue-base, @component-background, 30%)", - "@blue-4": "mix(@blue-base, @component-background, 45%)", - "@blue-5": "mix(@blue-base, @component-background, 65%)", - "@blue-6": "mix(@blue-base, @component-background, 85%)", - "@blue-7": "mix(color(~`colorPalette('@{blue-base}', 5) `), @component-background, 90%)", - "@blue-8": "mix(color(~`colorPalette('@{blue-base}', 4) `), @component-background, 95%)", - "@blue-9": "mix(color(~`colorPalette('@{blue-base}', 3) `), @component-background, 97%)", - "@blue-10": "mix(color(~`colorPalette('@{blue-base}', 2) `), @component-background, 98%)", - "@purple-1": "mix(color(~`colorPalette('@{purple-base}', 8) `), @component-background, 15%)", - "@purple-2": "mix(color(~`colorPalette('@{purple-base}', 7) `), @component-background, 25%)", - "@purple-3": "mix(@purple-base, @component-background, 30%)", - "@purple-4": "mix(@purple-base, @component-background, 45%)", - "@purple-5": "mix(@purple-base, @component-background, 65%)", - "@purple-6": "mix(@purple-base, @component-background, 85%)", - "@purple-7": "mix(color(~`colorPalette('@{purple-base}', 5) `), @component-background, 90%)", - "@purple-8": "mix(color(~`colorPalette('@{purple-base}', 4) `), @component-background, 95%)", - "@purple-9": "mix(color(~`colorPalette('@{purple-base}', 3) `), @component-background, 97%)", - "@purple-10": "mix(color(~`colorPalette('@{purple-base}', 2) `), @component-background, 98%)", - "@cyan-1": "mix(color(~`colorPalette('@{cyan-base}', 8) `), @component-background, 15%)", - "@cyan-2": "mix(color(~`colorPalette('@{cyan-base}', 7) `), @component-background, 25%)", - "@cyan-3": "mix(@cyan-base, @component-background, 30%)", - "@cyan-4": "mix(@cyan-base, @component-background, 45%)", - "@cyan-5": "mix(@cyan-base, @component-background, 65%)", - "@cyan-6": "mix(@cyan-base, @component-background, 85%)", - "@cyan-7": "mix(color(~`colorPalette('@{cyan-base}', 5) `), @component-background, 90%)", - "@cyan-8": "mix(color(~`colorPalette('@{cyan-base}', 4) `), @component-background, 95%)", - "@cyan-9": "mix(color(~`colorPalette('@{cyan-base}', 3) `), @component-background, 97%)", - "@cyan-10": "mix(color(~`colorPalette('@{cyan-base}', 2) `), @component-background, 98%)", - "@green-1": "mix(color(~`colorPalette('@{green-base}', 8) `), @component-background, 15%)", - "@green-2": "mix(color(~`colorPalette('@{green-base}', 7) `), @component-background, 25%)", - "@green-3": "mix(@green-base, @component-background, 30%)", - "@green-4": "mix(@green-base, @component-background, 45%)", - "@green-5": "mix(@green-base, @component-background, 65%)", - "@green-6": "mix(@green-base, @component-background, 85%)", - "@green-7": "mix(color(~`colorPalette('@{green-base}', 5) `), @component-background, 90%)", - "@green-8": "mix(color(~`colorPalette('@{green-base}', 4) `), @component-background, 95%)", - "@green-9": "mix(color(~`colorPalette('@{green-base}', 3) `), @component-background, 97%)", - "@green-10": "mix(color(~`colorPalette('@{green-base}', 2) `), @component-background, 98%)", - "@magenta-1": "mix(color(~`colorPalette('@{magenta-base}', 8) `), @component-background, 15%)", - "@magenta-2": "mix(color(~`colorPalette('@{magenta-base}', 7) `), @component-background, 25%)", - "@magenta-3": "mix(@magenta-base, @component-background, 30%)", - "@magenta-4": "mix(@magenta-base, @component-background, 45%)", - "@magenta-5": "mix(@magenta-base, @component-background, 65%)", - "@magenta-6": "mix(@magenta-base, @component-background, 85%)", - "@magenta-7": "mix(color(~`colorPalette('@{magenta-base}', 5) `), @component-background, 90%)", - "@magenta-8": "mix(color(~`colorPalette('@{magenta-base}', 4) `), @component-background, 95%)", - "@magenta-9": "mix(color(~`colorPalette('@{magenta-base}', 3) `), @component-background, 97%)", - "@magenta-10": "mix(color(~`colorPalette('@{magenta-base}', 2) `), @component-background, 98%)", - "@pink-1": "mix(color(~`colorPalette('@{pink-base}', 8) `), @component-background, 15%)", - "@pink-2": "mix(color(~`colorPalette('@{pink-base}', 7) `), @component-background, 25%)", - "@pink-3": "mix(@pink-base, @component-background, 30%)", - "@pink-4": "mix(@pink-base, @component-background, 45%)", - "@pink-5": "mix(@pink-base, @component-background, 65%)", - "@pink-6": "mix(@pink-base, @component-background, 85%)", - "@pink-7": "mix(color(~`colorPalette('@{pink-base}', 5) `), @component-background, 90%)", - "@pink-8": "mix(color(~`colorPalette('@{pink-base}', 4) `), @component-background, 95%)", - "@pink-9": "mix(color(~`colorPalette('@{pink-base}', 3) `), @component-background, 97%)", - "@pink-10": "mix(color(~`colorPalette('@{pink-base}', 2) `), @component-background, 98%)", - "@red-1": "mix(color(~`colorPalette('@{red-base}', 8) `), @component-background, 15%)", - "@red-2": "mix(color(~`colorPalette('@{red-base}', 7) `), @component-background, 25%)", - "@red-3": "mix(@red-base, @component-background, 30%)", - "@red-4": "mix(@red-base, @component-background, 45%)", - "@red-5": "mix(@red-base, @component-background, 65%)", - "@red-6": "mix(@red-base, @component-background, 85%)", - "@red-7": "mix(color(~`colorPalette('@{red-base}', 5) `), @component-background, 90%)", - "@red-8": "mix(color(~`colorPalette('@{red-base}', 4) `), @component-background, 95%)", - "@red-9": "mix(color(~`colorPalette('@{red-base}', 3) `), @component-background, 97%)", - "@red-10": "mix(color(~`colorPalette('@{red-base}', 2) `), @component-background, 98%)", - "@orange-1": "mix(color(~`colorPalette('@{orange-base}', 8) `), @component-background, 15%)", - "@orange-2": "mix(color(~`colorPalette('@{orange-base}', 7) `), @component-background, 25%)", - "@orange-3": "mix(@orange-base, @component-background, 30%)", - "@orange-4": "mix(@orange-base, @component-background, 45%)", - "@orange-5": "mix(@orange-base, @component-background, 65%)", - "@orange-6": "mix(@orange-base, @component-background, 85%)", - "@orange-7": "mix(color(~`colorPalette('@{orange-base}', 5) `), @component-background, 90%)", - "@orange-8": "mix(color(~`colorPalette('@{orange-base}', 4) `), @component-background, 95%)", - "@orange-9": "mix(color(~`colorPalette('@{orange-base}', 3) `), @component-background, 97%)", - "@orange-10": "mix(color(~`colorPalette('@{orange-base}', 2) `), @component-background, 98%)", - "@yellow-1": "mix(color(~`colorPalette('@{yellow-base}', 8) `), @component-background, 15%)", - "@yellow-2": "mix(color(~`colorPalette('@{yellow-base}', 7) `), @component-background, 25%)", - "@yellow-3": "mix(@yellow-base, @component-background, 30%)", - "@yellow-4": "mix(@yellow-base, @component-background, 45%)", - "@yellow-5": "mix(@yellow-base, @component-background, 65%)", - "@yellow-6": "mix(@yellow-base, @component-background, 85%)", - "@yellow-7": "mix(color(~`colorPalette('@{yellow-base}', 5) `), @component-background, 90%)", - "@yellow-8": "mix(color(~`colorPalette('@{yellow-base}', 4) `), @component-background, 95%)", - "@yellow-9": "mix(color(~`colorPalette('@{yellow-base}', 3) `), @component-background, 97%)", - "@yellow-10": "mix(color(~`colorPalette('@{yellow-base}', 2) `), @component-background, 98%)", - "@volcano-1": "mix(color(~`colorPalette('@{volcano-base}', 8) `), @component-background, 15%)", - "@volcano-2": "mix(color(~`colorPalette('@{volcano-base}', 7) `), @component-background, 25%)", - "@volcano-3": "mix(@volcano-base, @component-background, 30%)", - "@volcano-4": "mix(@volcano-base, @component-background, 45%)", - "@volcano-5": "mix(@volcano-base, @component-background, 65%)", - "@volcano-6": "mix(@volcano-base, @component-background, 85%)", - "@volcano-7": "mix(color(~`colorPalette('@{volcano-base}', 5) `), @component-background, 90%)", - "@volcano-8": "mix(color(~`colorPalette('@{volcano-base}', 4) `), @component-background, 95%)", - "@volcano-9": "mix(color(~`colorPalette('@{volcano-base}', 3) `), @component-background, 97%)", - "@volcano-10": "mix(color(~`colorPalette('@{volcano-base}', 2) `), @component-background, 98%)", - "@geekblue-1": "mix(color(~`colorPalette('@{geekblue-base}', 8) `), @component-background, 15%)", - "@geekblue-2": "mix(color(~`colorPalette('@{geekblue-base}', 7) `), @component-background, 25%)", - "@geekblue-3": "mix(@geekblue-base, @component-background, 30%)", - "@geekblue-4": "mix(@geekblue-base, @component-background, 45%)", - "@geekblue-5": "mix(@geekblue-base, @component-background, 65%)", - "@geekblue-6": "mix(@geekblue-base, @component-background, 85%)", - "@geekblue-7": "mix(color(~`colorPalette('@{geekblue-base}', 5) `), @component-background, 90%)", - "@geekblue-8": "mix(color(~`colorPalette('@{geekblue-base}', 4) `), @component-background, 95%)", - "@geekblue-9": "mix(color(~`colorPalette('@{geekblue-base}', 3) `), @component-background, 97%)", - "@geekblue-10": "mix(color(~`colorPalette('@{geekblue-base}', 2) `), @component-background, 98%)", - "@lime-1": "mix(color(~`colorPalette('@{lime-base}', 8) `), @component-background, 15%)", - "@lime-2": "mix(color(~`colorPalette('@{lime-base}', 7) `), @component-background, 25%)", - "@lime-3": "mix(@lime-base, @component-background, 30%)", - "@lime-4": "mix(@lime-base, @component-background, 45%)", - "@lime-5": "mix(@lime-base, @component-background, 65%)", - "@lime-6": "mix(@lime-base, @component-background, 85%)", - "@lime-7": "mix(color(~`colorPalette('@{lime-base}', 5) `), @component-background, 90%)", - "@lime-8": "mix(color(~`colorPalette('@{lime-base}', 4) `), @component-background, 95%)", - "@lime-9": "mix(color(~`colorPalette('@{lime-base}', 3) `), @component-background, 97%)", - "@lime-10": "mix(color(~`colorPalette('@{lime-base}', 2) `), @component-background, 98%)", - "@gold-1": "mix(color(~`colorPalette('@{gold-base}', 8) `), @component-background, 15%)", - "@gold-2": "mix(color(~`colorPalette('@{gold-base}', 7) `), @component-background, 25%)", - "@gold-3": "mix(@gold-base, @component-background, 30%)", - "@gold-4": "mix(@gold-base, @component-background, 45%)", - "@gold-5": "mix(@gold-base, @component-background, 65%)", - "@gold-6": "mix(@gold-base, @component-background, 85%)", - "@gold-7": "mix(color(~`colorPalette('@{gold-base}', 5) `), @component-background, 90%)", - "@gold-8": "mix(color(~`colorPalette('@{gold-base}', 4) `), @component-background, 95%)", - "@gold-9": "mix(color(~`colorPalette('@{gold-base}', 3) `), @component-background, 97%)", - "@gold-10": "mix(color(~`colorPalette('@{gold-base}', 2) `), @component-background, 98%)", - "@primary-1": "mix(color(~`colorPalette('@{primary-color}', 8) `), @component-background, 15%)", - "@primary-2": "mix(color(~`colorPalette('@{primary-color}', 7) `), @component-background, 25%)", - "@primary-3": "mix(@primary-color, @component-background, 30%)", - "@primary-4": "mix(@primary-color, @component-background, 45%)", - "@primary-5": "mix(@primary-color, @component-background, 65%)", - "@primary-6": "@primary-color", - "@primary-7": "mix(color(~`colorPalette('@{primary-color}', 5) `), @component-background, 90%)", - "@primary-8": "mix(color(~`colorPalette('@{primary-color}', 4) `), @component-background, 95%)", - "@primary-9": "mix(color(~`colorPalette('@{primary-color}', 3) `), @component-background, 97%)", - "@primary-10": "mix(color(~`colorPalette('@{primary-color}', 2) `), @component-background, 98%)", - "@popover-background": "#1f1f1f", - "@popover-customize-border-color": "#3a3a3a", - "@body-background": "@black", - "@component-background": "#151e33", - "@control-bg": "#101625", - "@text-color": "fade(@white, 85%)", - "@text-color-secondary": "fade(@white, 45%)", - "@text-color-inverse": "@white", - "@icon-color-hover": "fade(@white, 75%)", - "@heading-color": "fade(@white, 85%)", - "@item-active-bg": "@primary-1", - "@item-hover-bg": "fade(@white, 8%)", - "@border-color-base": "rgba(255, 255, 255, .15)", - "@border-color-split": "#303030", - "@background-color-light": "fade(@white, 4%)", - "@background-color-base": "fade(@white, 8%)", - "@disabled-color": "fade(@white, 30%)", - "@disabled-bg": "@background-color-base", - "@disabled-color-dark": "fade(@white, 30%)", - "@tree-bg": "transparent", - "@list-customize-card-bg": "transparent", - "@shadow-color": "rgba(0, 0, 0, 0.45)", - "@shadow-color-inverse": "@component-background", - "@box-shadow-base": "@shadow-2", - "@shadow-1-up": "0 -6px 16px -8px rgba(0, 0, 0, 0.32), 0 -9px 28px 0 rgba(0, 0, 0, 0.2),\n 0 -12px 48px 16px rgba(0, 0, 0, 0.12)", - "@shadow-1-down": "0 6px 16px -8px rgba(0, 0, 0, 0.32), 0 9px 28px 0 rgba(0, 0, 0, 0.2),\n 0 12px 48px 16px rgba(0, 0, 0, 0.12)", - "@shadow-1-right": "6px 0 16px -8px rgba(0, 0, 0, 0.32), 9px 0 28px 0 rgba(0, 0, 0, 0.2),\n 12px 0 48px 16px rgba(0, 0, 0, 0.12)", - "@shadow-2": "0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32),\n 0 9px 28px 8px rgba(0, 0, 0, 0.2)", - "@btn-shadow": "0 2px 0 rgba(0, 0, 0, 0.015)", - "@btn-primary-shadow": "0 2px 0 rgba(0, 0, 0, 0.045)", - "@btn-text-shadow": "0 -1px 0 rgba(0, 0, 0, 0.12)", - "@btn-default-bg": "transparent", - "@btn-default-ghost-color": "@text-color", - "@btn-default-ghost-border": "fade(@white, 25%)", - "@btn-text-hover-bg": "rgba(255, 255, 255, 0.03)", - "@checkbox-check-bg": "transparent", - "@descriptions-bg": "@background-color-light", - "@divider-color": "rgba(255, 255, 255, 12%)", - "@modal-header-bg": "@popover-background", - "@modal-header-border-color-split": "@border-color-split", - "@modal-content-bg": "@popover-background", - "@modal-footer-border-color-split": "@border-color-split", - "@radio-solid-checked-color": "@white", - "@radio-dot-disabled-color": "fade(@white, 20%)", - "@radio-disabled-button-checked-bg": "fade(@white, 20%)", - "@radio-disabled-button-checked-color": "@disabled-color", - "@layout-body-background": "@body-background", - "@layout-header-background": "#0d101d", - "@layout-trigger-background": "#262626", - "@input-bg": "@control-bg", - "@input-placeholder-color": "fade(@white, 30%)", - "@input-icon-color": "fade(@white, 30%)", - "@input-number-handler-active-bg": "@item-hover-bg", - "@input-icon-hover-color": "fade(@white, 85%)", - "@select-background": "@control-bg", - "@select-dropdown-bg": "@popover-background", - "@select-clear-background": "@component-background", - "@select-selection-item-bg": "fade(@white, 8)", - "@select-selection-item-border-color": "@border-color-split", - "@select-multiple-disabled-background": "@component-background", - "@select-multiple-item-disabled-color": "#595959", - "@select-multiple-item-disabled-border-color": "@popover-background", - "@cascader-bg": "transparent", - "@cascader-menu-bg": "@popover-background", - "@cascader-menu-border-color-split": "@border-color-split", - "@tooltip-bg": "#434343", - "@menu-dark-inline-submenu-bg": "@component-background", - "@menu-dark-bg": "@popover-background", - "@menu-popup-bg": "@popover-background", - "@message-notice-content-bg": "@popover-background", - "@notification-bg": "@popover-background", - "@link-hover-color": "@primary-5", - "@link-active-color": "@primary-7", - "@table-header-bg": "#1d1d1d", - "@table-body-sort-bg": "fade(@white, 1%)", - "@table-row-hover-bg": "#262626", - "@table-header-sort-bg": "#262626", - "@table-header-filter-active-bg": "#434343", - "@table-header-sort-active-bg": "#303030", - "@table-filter-btns-bg": "@popover-background", - "@table-expanded-row-bg": "@table-header-bg", - "@table-filter-dropdown-bg": "@popover-background", - "@table-expand-icon-bg": "transparent", - "@picker-basic-cell-hover-with-range-color": "darken(@primary-color, 35%)", - "@picker-basic-cell-disabled-bg": "#303030", - "@picker-border-color": "@border-color-split", - "@picker-bg": "transparent", - "@picker-date-hover-range-border-color": "darken(@primary-color, 20%)", - "@dropdown-menu-bg": "@popover-background", - "@dropdown-menu-submenu-disabled-bg": "transparent", - "@steps-nav-arrow-color": "fade(@white, 20%)", - "@steps-background": "transparent", - "@avatar-bg": "fade(@white, 30%)", - "@progress-steps-item-bg": "fade(@white, 8%)", - "@calendar-bg": "@popover-background", - "@calendar-input-bg": "@calendar-bg", - "@calendar-border-color": "transparent", - "@calendar-full-bg": "@component-background", - "@badge-text-color": "@white", - "@popover-bg": "@popover-background", - "@drawer-bg": "@popover-background", - "@card-actions-background": "@component-background", - "@card-skeleton-bg": "#303030", - "@card-shadow": "0 0 2px 0 rgba(0,0,0,0.41)", - "@transfer-item-hover-bg": "#262626", - "@comment-bg": "transparent", - "@comment-author-time-color": "fade(@white, 30%)", - "@comment-action-hover-color": "fade(@white, 65%)", - "@rate-star-bg": "fade(@white, 12%)", - "@switch-bg": "@white", - "@pagination-item-bg": "transparent", - "@pagination-item-bg-active": "transparent", - "@pagination-item-link-bg": "transparent", - "@pagination-item-disabled-bg-active": "fade(@white, 25%)", - "@pagination-item-disabled-color-active": "@black", - "@pagination-item-input-bg": "@pagination-item-bg", - "@page-header-back-color": "@icon-color", - "@page-header-ghost-bg": "transparent", - "@slider-rail-background-color": "#262626", - "@slider-rail-background-color-hover": "@border-color-base", - "@slider-dot-border-color": "@border-color-split", - "@slider-dot-border-color-active": "@primary-4", - "@skeleton-to-color": "fade(@white, 16%)", - "@alert-success-border-color": "@green-3", - "@alert-success-bg-color": "@green-1", - "@alert-success-icon-color": "@success-color", - "@alert-info-border-color": "@primary-3", - "@alert-info-bg-color": "@primary-1", - "@alert-info-icon-color": "@info-color", - "@alert-warning-border-color": "@gold-3", - "@alert-warning-bg-color": "@gold-1", - "@alert-warning-icon-color": "@warning-color", - "@alert-error-border-color": "@red-3", - "@alert-error-bg-color": "@red-1", - "@alert-error-icon-color": "@error-color", - "@timeline-color": "@border-color-split", - "@timeline-dot-color": "@primary-color", - "@mentions-dropdown-bg": "@popover-background", - "@primary-color": "@blue-6", - "@picker-basic-cell-active-with-range-color": "darken(@primary-color, 20%)" -} diff --git a/src/theme/antd/index.less b/src/theme/antd/index.less deleted file mode 100644 index aed03b22..00000000 --- a/src/theme/antd/index.less +++ /dev/null @@ -1,173 +0,0 @@ -@import './vars.less'; - -/* btn rest */ -.ant-btn-primary { - border: none !important; -} - -.ant-btn:hover, -.ant-btn:focus, -.ant-btn:active { - opacity: 0.9; -} - -.ant-btn-loading-icon { - display: inline-flex !important; -} - -/* Modal reset */ -.ant-modal-content { - border-radius: 20px !important; -} - -.ant-modal-header { - border-radius: 20px 20px 0 0 !important; - border: none !important; - background: rgba(0, 0, 0, 0.02) !important; -} - -.ant-modal-title { - font-weight: 500 !important; - font-size: 16px !important; - line-height: 21px !important; - color: rgba(0, 0, 0, 0.85) !important; -} - -.ant-modal-close:focus { - outline: none; -} - -.ant-modal-close-x { - color: #595959; - font-weight: bold; - transition: transform 0.3s; - - &:hover { - transform: scale(1.2); - } - - &:active { - transform: scale(1); - } - - &:focus-visible { - outline: none; - } -} - -/* checkbox */ -.ant-checkbox-inner { - border-radius: 2px !important; -} - -.ant-checkbox-checked .ant-checkbox-inner { - background-color: transparent; - background: @project-main-bg; - border-color: transparent !important; -} - -.ant-radio-button-wrapper-checked .relayers-sub-tab { - color: #ffffff; -} - -/* alert */ -.ant-alert { - min-width: 200px; - border-radius: @border-radius-base; -} - -/* tag */ -.ant-tag { - border-radius: 6px; -} - -/* checkbox group */ -.ant-checkbox-group { - .ant-checkbox-wrapper:not(:last-child) { - margin-bottom: 1em; - } - - .ant-checkbox-inner { - border-radius: 2px !important; - } -} - -/* dropdown menu */ -.ant-dropdown-menu { - padding: 20px 10px; - - .ant-dropdown-menu-item { - line-height: 32px; - border-radius: 10px; - padding: 5px 20px; - transition: all 200ms; - - &:hover { - background: @project-item-hover-bg !important; - } - } -} - -/* menu */ -.ant-menu-item::after { - left: 0 !important; - right: auto !important; - width: 6px !important; - border: none !important; - background: @project-main-bg; -} - -.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected { - background: @menu-item-active-bg !important; -} - -/* select */ -.ant-select-item-option-active:not(.ant-select-item-option-disabled) { - background: @select-item-active-bg !important; -} - -.ant-select-arrow { - right: 8px; -} - -/* ant-message */ -.ant-message .anticon { - top: 0; -} - -/* typography */ -.ant-typography, -.ant-message, -.ant-pagination-item-link { - .anticon { - vertical-align: 0; - } -} - -/* input search */ -.ant-input-search-button { - display: flex; - align-items: center; - justify-content: center; -} - -/* tabs */ -.ant-tabs-ink-bar { - height: 4px !important; - border-radius: 2px; -} - -/* progress */ -.ant-progress-bg { - background: @project-main-bg !important; -} - -/* pagination */ -.ant-pagination-item-active { - border: none !important; - background: @project-main-bg !important; - - a { - color: #ffffff !important; - } -} diff --git a/src/theme/antd/light.json b/src/theme/antd/light.json deleted file mode 100644 index cfd7381c..00000000 --- a/src/theme/antd/light.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "@line-height-base": "1.66667", - "@mode": "compact", - "@font-size-base": "12px", - "@font-size-lg": "@font-size-base + 2px", - "@default-padding-lg": "24px", - "@default-padding-md": "16px", - "@default-padding-sm": "12px", - "@default-padding-xs": "8px", - "@default-padding-xss": "4px", - "@padding-lg": "16px", - "@padding-md": "8px", - "@padding-sm": "8px", - "@padding-xs": "4px", - "@padding-xss": "0px", - "@control-padding-horizontal": "@padding-sm", - "@control-padding-horizontal-sm": "@default-padding-xs", - "@margin-lg": "16px", - "@margin-md": "8px", - "@margin-sm": "8px", - "@margin-xs": "4px", - "@margin-xss": "0px", - "@height-base": "28px", - "@height-lg": "32px", - "@height-sm": "22px", - "@btn-padding-horizontal-base": "@default-padding-sm - 1px", - "@btn-padding-horizontal-lg": "@btn-padding-horizontal-base", - "@btn-padding-horizontal-sm": "@default-padding-xs - 1px", - "@btn-square-only-icon-size-lg": "16px", - "@btn-square-only-icon-size": "14px", - "@btn-square-only-icon-size-sm": "12px", - "@breadcrumb-font-size": "@font-size-base", - "@breadcrumb-icon-font-size": "@font-size-base", - "@dropdown-line-height": "18px", - "@menu-item-padding": "0 12px", - "@menu-horizontal-line-height": "38px", - "@menu-inline-toplevel-item-height": "32px", - "@menu-item-height": "32px", - "@menu-item-vertical-margin": "0px", - "@menu-item-boundary-margin": "0px", - "@menu-icon-margin-right": "8px", - "@checkbox-size": "14px", - "@checkbox-group-item-margin-right": "6px", - "@picker-panel-cell-height": "22px", - "@picker-panel-cell-width": "32px", - "@picker-text-height": "32px", - "@picker-time-panel-cell-height": "24px", - "@picker-panel-without-time-cell-height": "48px", - "@form-item-margin-bottom": "16px", - "@form-vertical-label-padding": "0 0 4px", - "@rate-star-size": "16px", - "@radio-size": "14px", - "@radio-wrapper-margin-right": "6px", - "@switch-height": "20px", - "@switch-sm-height": "14px", - "@switch-min-width": "40px", - "@switch-sm-min-width": "24px", - "@switch-inner-margin-min": "4px", - "@switch-inner-margin-max": "22px", - "@slider-handle-size": "12px", - "@slider-handle-margin-top": "-4px", - "@input-padding-vertical-base": "round(\n max(\n (round(((@input-height-base - @font-size-base * @line-height-base) / 2) * 10) / 10) -\n @border-width-base,\n 2px\n )\n)", - "@input-padding-horizontal-lg": "11px", - "@page-header-padding": "16px", - "@page-header-padding-vertical": "8px", - "@page-header-heading-title": "16px", - "@page-header-heading-sub-title": "12px", - "@page-header-tabs-tab-font-size": "14px", - "@pagination-mini-options-size-changer-top": "1px", - "@pagination-item-size-sm": "22px", - "@cascader-dropdown-line-height": "@dropdown-line-height", - "@select-dropdown-height": "@height-base", - "@select-single-item-height-lg": "32px", - "@select-multiple-item-height": "@input-height-base - max(@input-padding-vertical-base, 4) * 2", - "@select-multiple-item-height-lg": "24px", - "@select-multiple-item-spacing-half": "3px", - "@tree-title-height": "20px", - "@transfer-item-padding-vertical": "3px", - "@transfer-list-search-icon-top": "8px", - "@transfer-header-height": "36px", - "@comment-actions-margin-bottom": "0px", - "@comment-actions-margin-top": "@margin-xs", - "@comment-content-detail-p-margin-bottom": "0px", - "@steps-icon-size": "24px", - "@steps-icon-custom-size": "20px", - "@steps-icon-custom-font-size": "20px", - "@steps-icon-custom-top": "2px", - "@steps-icon-margin": "2px 8px 2px 0", - "@steps-icon-font-size": "@font-size-base", - "@steps-dot-top": "4px", - "@steps-icon-top": "0px", - "@steps-small-icon-size": "20px", - "@steps-vertical-icon-width": "12px", - "@steps-vertical-tail-width": "12px", - "@steps-vertical-tail-width-sm": "10px", - "@collapse-header-padding-extra": "32px", - "@collapse-content-padding": "@padding-md @padding-lg", - "@list-item-meta-description-font-size": "@font-size-sm", - "@list-item-padding-sm": "4px 12px", - "@list-item-padding-lg": "12px 16px", - "@drawer-header-padding": "11px @padding-lg", - "@drawer-footer-padding-vertical": "@padding-sm", - "@drawer-footer-padding-horizontal": "@padding-sm", - "@drawer-header-close-size": "44px", - "@modal-header-padding": "11px @modal-header-padding-horizontal", - "@modal-footer-padding-vertical": "@padding-sm", - "@modal-header-close-size": "44px", - "@modal-confirm-body-padding": "24px 24px 16px", - "@message-notice-content-padding": "8px 16px", - "@popover-min-height": "28px", - "@popover-padding-horizontal": "@default-padding-sm", - "@card-padding-base": "12px", - "@card-head-height": "36px", - "@card-head-font-size": "@card-head-font-size-sm", - "@card-head-padding": "8.5px", - "@card-padding-base-sm": "@card-padding-base", - "@card-head-height-sm": "30px", - "@card-head-padding-sm": "6px", - "@card-actions-li-margin": "4px 0", - "@card-head-tabs-margin-bottom": "-9px", - "@table-padding-vertical": "12px", - "@table-padding-horizontal": "8px", - "@table-padding-vertical-md": "8px", - "@table-padding-horizontal-md": "8px", - "@table-padding-vertical-sm": "4px", - "@table-padding-horizontal-sm": "4px", - "@table-selection-column-width": "32px", - "@statistic-content-font-size": "20px", - "@alert-with-description-no-icon-padding-vertical": "7px", - "@alert-with-description-padding-vertical": "11px", - "@alert-icon-top": "7px + @font-size-base * (@line-height-base / 2) - (@font-size-base / 2)", - "@alert-with-description-icon-size": "20px", - "@skeleton-paragraph-margin-top": "20px", - "@skeleton-paragraph-li-margin-top": "12px", - "@skeleton-paragraph-li-height": "14px", - "@skeleton-title-height": "14px", - "@skeleton-title-paragraph-margin-top": "20px", - "@descriptions-title-margin-bottom": "8px", - "@descriptions-default-padding": "12px @padding-lg", - "@descriptions-item-padding-bottom": "@padding-xs", - "@avatar-size-base": "28px", - "@avatar-size-lg": "32px", - "@avatar-size-sm": "22px", - "@avatar-font-size-base": "16px", - "@avatar-font-size-lg": "20px", - "@avatar-font-size-sm": "12px", - "@badge-height": "18px", - "@tag-line-height": "18px", - "@notification-padding-vertical": "12px", - "@notification-padding-horizontal": "16px", - "@result-title-font-size": "20px", - "@result-icon-font-size": "64px", - "@result-extra-margin": "24px 0 0 0", - "@anchor-link-top": "4px", - "@anchor-link-left": "16px", - "@anchor-link-padding": "@anchor-link-top 0 @anchor-link-top @anchor-link-left", - "@tabs-card-horizontal-padding": "4px @padding-md", - "@progress-circle-text-font-size": "0.833333em", - "@image-size-base": "48px", - "@image-font-size-base": "24px", - "@primary-color": "@blue-6" -} diff --git a/src/theme/antd/vars.json b/src/theme/antd/vars.json deleted file mode 100644 index 50951ea4..00000000 --- a/src/theme/antd/vars.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@border-radius-base": "10px", - "@btn-default-bg": "#ffffff", - "@btn-default-border": "2px solid transparent", - "@btn-primary-bg": "@project-main-bg", - "@card-radius": "@border-radius-base * 2", - "@modal-footer-padding-horizontal": "24px", - "@modal-footer-padding-vertical": "24px", - "@primary-color": "@project-primary", - "@processing-color": "@primary-color", - "@project-main-bg": "#512DBC", - "@project-primary": "#512DBC", - "@secondary-color": "@primary-color", - "@select-item-selected-bg": "@background-color-base", - "@select-item-selected-option-color": "@primary-color" -} diff --git a/src/theme/antd/vars.less b/src/theme/antd/vars.less deleted file mode 100644 index f52babf8..00000000 --- a/src/theme/antd/vars.less +++ /dev/null @@ -1,68 +0,0 @@ -@import '~antd/lib/style/themes/default.less'; - -// color -@text-color: fade(@black, 65%); -@heading-color: fade(@black, 65%); -@text-color-dark: fade(@white, 65%); - -// override global variables -@border-radius-base: 10px; - -// project variables -@project-main-bg: #512DBC; -@project-primary: #512DBC; -// prettier-ignore -@project-item-hover-bg: rgba(81,45,188,0.1); - -// color reset -@primary-color: @project-primary; -@select-item-selected-option-color: @primary-color; -@processing-color: @primary-color; -@select-item-selected-bg: @background-color-base; -@secondary-color: @primary-color; -@btn-primary-bg: @primary-color; - -// btn -@btn-primary-bg: @project-main-bg; -@btn-default-border: 2px solid transparent; -@btn-default-bg: #ffffff; - -// card -@card-radius: @border-radius-base * 2; - -// modal -@modal-footer-padding-vertical: 24px; -@modal-footer-padding-horizontal: 24px; - -// tabs -@tabs-ink-bar-color: #512DBC; - -// menu -@menu-item-active-bg: @project-item-hover-bg; - -// select -@select-item-active-bg: @project-item-hover-bg; - -// radio -@radio-button-checked-bg: @project-main-bg; - -:root { - --PC: @primary-color; - --bg-input: #ffffff; - // --bg-input-error: #fff6f6; - // --bg-inverse: rgba(244, 242, 240, 0.91); - --bg-menu: #ffffff; - --bg-page: #f5f3f1; - --bg-table: #ffffff; - --bg-tabs: #ffffff; - --bg-toggle: #e4e5e6; - // --border-table: #f1efed; - // --border-tabs: #f1efed; - // --color-checkbox: rgba(34, 36, 38, 0.15); - // --color-error: rgba(139, 0, 0); - --color-label: rgba(78, 78, 78, 0.66); - // --color-summary: rgba(0, 0, 0, 0.6); - // --color-table-foot: rgba(78, 78, 78, 0.66); - // --color-table-head: rgba(78, 78, 78, 0.66); - --color-text: #4e4e4e; -} diff --git a/src/theme/network/crab.json b/src/theme/network/crab.json deleted file mode 100644 index 1d89b789..00000000 --- a/src/theme/network/crab.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "@btn-border-radius-base": "@project-radius-base", - "@btn-default-bg": "#ffffff", - "@btn-default-border": "@project-main-bg", - "@btn-primary-bg": "@project-main-bg", - "@card-radius": "@project-radius-base", - "@layout-header-background": "#512DBC", - "@project-main-bg": "#512DBC", - "@project-radius-base": "12px", - "@project-primary": "#512DBC", - "@tabs-ink-bar-color": "#512DBC", - "@project-item-hover-bg": "rgba(81,45,188,0.1)", - "@menu-item-active-bg": "rgba(81,45,188,0.2)", - "@select-item-active-bg": "rgba(81,45,188,0.1)" -} diff --git a/src/theme/network/dark/crab.json b/src/theme/network/dark/crab.json deleted file mode 100644 index 4b8247c4..00000000 --- a/src/theme/network/dark/crab.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "@btn-border-radius-base": "@project-radius-base", - "@btn-default-bg": "#000", - "@btn-default-border": "@project-main-bg", - "@btn-primary-bg": "@project-main-bg", - "@project-main-bg": "#ec3783", - "@project-primary": "#ec3783", - "@project-radius-base": "12px" -} diff --git a/src/theme/network/dark/darwinia.json b/src/theme/network/dark/darwinia.json deleted file mode 100644 index 3d300cbc..00000000 --- a/src/theme/network/dark/darwinia.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "@btn-border-radius-base": "@project-radius-base", - "@btn-default-bg": "linear-gradient(#000, #000) padding-box, linear-gradient(to right, #5745de, #ec3783) border-box", - "@btn-default-border": "2px solid transparent", - "@btn-primary-bg": "@project-main-bg", - "@project-main-bg": "linear-gradient(-45deg, #fe3876 0%, #7c30dd 71%, #3a30dd 100%)", - "@project-primary": "#3a30dd", - "@project-radius-base": "12px" -} diff --git a/src/theme/network/dark/pangolin.json b/src/theme/network/dark/pangolin.json deleted file mode 100644 index f779e93e..00000000 --- a/src/theme/network/dark/pangolin.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "@btn-border-radius-base": "@project-radius-base", - "@btn-default-bg": "#000", - "@btn-default-border": "@project-main-bg", - "@btn-primary-bg": "@project-main-bg", - "@project-main-bg": "#5745de", - "@project-primary": "#5745de", - "@project-radius-base": "12px" -} diff --git a/src/theme/network/dark/pangoro.json b/src/theme/network/dark/pangoro.json deleted file mode 100644 index f779e93e..00000000 --- a/src/theme/network/dark/pangoro.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "@btn-border-radius-base": "@project-radius-base", - "@btn-default-bg": "#000", - "@btn-default-border": "@project-main-bg", - "@btn-primary-bg": "@project-main-bg", - "@project-main-bg": "#5745de", - "@project-primary": "#5745de", - "@project-radius-base": "12px" -} diff --git a/src/theme/network/darwinia.json b/src/theme/network/darwinia.json deleted file mode 100644 index a48d0f06..00000000 --- a/src/theme/network/darwinia.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "@btn-border-radius-base": "@project-radius-base", - "@btn-default-bg": "#ffffff", - "@btn-default-border": "@project-main-bg", - "@btn-primary-bg": "@project-main-bg", - "@card-radius": "@project-radius-base", - "@layout-header-background": "#FF0083", - "@project-main-bg": "#FF0083", - "@project-radius-base": "12px", - "@project-primary": "#FF0083", - "@tabs-ink-bar-color": "#FF0083", - "@project-item-hover-bg": "rgba(255,0,131,0.1)", - "@menu-item-active-bg": "rgba(255,0,131,0.2)", - "@select-item-active-bg": "rgba(255,0,131,0.1)" -} diff --git a/src/theme/network/pangolin.json b/src/theme/network/pangolin.json deleted file mode 100644 index 9c4bea12..00000000 --- a/src/theme/network/pangolin.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "@btn-border-radius-base": "@project-radius-base", - "@btn-default-bg": "#ffffff", - "@btn-default-border": "@project-main-bg", - "@btn-primary-bg": "@project-main-bg", - "@card-radius": "@project-radius-base", - "@layout-header-background": "#4B30DD", - "@project-main-bg": "#4B30DD", - "@project-radius-base": "12px", - "@project-primary": "#4B30DD", - "@tabs-ink-bar-color": "#4B30DD", - "@project-item-hover-bg": "rgba(75,48,221,0.1)", - "@menu-item-active-bg": "rgba(75,48,221,0.2)", - "@select-item-active-bg": "rgba(75,48,221,0.1)" -} diff --git a/src/theme/network/pangoro.json b/src/theme/network/pangoro.json deleted file mode 100644 index 9c4bea12..00000000 --- a/src/theme/network/pangoro.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "@btn-border-radius-base": "@project-radius-base", - "@btn-default-bg": "#ffffff", - "@btn-default-border": "@project-main-bg", - "@btn-primary-bg": "@project-main-bg", - "@card-radius": "@project-radius-base", - "@layout-header-background": "#4B30DD", - "@project-main-bg": "#4B30DD", - "@project-radius-base": "12px", - "@project-primary": "#4B30DD", - "@tabs-ink-bar-color": "#4B30DD", - "@project-item-hover-bg": "rgba(75,48,221,0.1)", - "@menu-item-active-bg": "rgba(75,48,221,0.2)", - "@select-item-active-bg": "rgba(75,48,221,0.1)" -} diff --git a/src/types/index.ts b/src/types/index.ts new file mode 100644 index 00000000..a6fab014 --- /dev/null +++ b/src/types/index.ts @@ -0,0 +1,2 @@ +export * from "./portal"; +export * from "./wallet"; diff --git a/src/types/portal.ts b/src/types/portal.ts new file mode 100644 index 00000000..67315935 --- /dev/null +++ b/src/types/portal.ts @@ -0,0 +1,19 @@ +export type PortalTag = + | "Defi" + | "Wallet" + | "Explorer" + | "Infrastructure" + | "Bridge" + | "Governance" + | "Gaming" + | "NFT" + | "DAO" + | "Tool"; + +export interface PortalMeta { + name: string; + logo: string; + description: string; + link: string; + tags: PortalTag[]; +} diff --git a/src/types/wallet.ts b/src/types/wallet.ts new file mode 100644 index 00000000..a0fa139a --- /dev/null +++ b/src/types/wallet.ts @@ -0,0 +1,6 @@ +import type { KeyringJson } from "@polkadot/ui-keyring/types"; + +export interface Account { + address: string; + json: KeyringJson; +} diff --git a/src/utils/feemarket/common.ts b/src/utils/feemarket/common.ts deleted file mode 100644 index 284c9101..00000000 --- a/src/utils/feemarket/common.ts +++ /dev/null @@ -1,21 +0,0 @@ -import type { ApiPromise } from '@polkadot/api'; - -import type { DarwiniaChain, FeeMarketApiSection } from '../../model'; -import { marketApiSections } from '../../config'; - -// eslint-disable-next-line complexity -export const getFeeMarketApiSection = (api: ApiPromise, destination: DarwiniaChain): FeeMarketApiSection | null => { - const { specName } = api.consts.system.version; - const source = specName.toString() as DarwiniaChain; - - if (marketApiSections[source] && marketApiSections[source][destination]) { - const sections = marketApiSections[source][destination]; - for (const section of sections) { - if (api.consts[section] && api.query[section]) { - return section; - } - } - } - - return null; -}; diff --git a/src/utils/feemarket/index.ts b/src/utils/feemarket/index.ts deleted file mode 100644 index 06a969c8..00000000 --- a/src/utils/feemarket/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './transform'; -export * from './common'; diff --git a/src/utils/feemarket/transform.ts b/src/utils/feemarket/transform.ts deleted file mode 100644 index 19b7e4a7..00000000 --- a/src/utils/feemarket/transform.ts +++ /dev/null @@ -1,190 +0,0 @@ -import { compareAsc, compareDesc, addDays } from 'date-fns'; -import { BN, BN_ZERO, bnToBn } from '@polkadot/util'; - -import { fromWei } from '..'; -import { - RelayerRole, - RelayerOrdersDataSource, - OrderEntity, - FeeEntity, - SlashEntity, - RewardEntity, - SlashReward, - QuoteEntity, -} from '../../model'; - -// eslint-disable-next-line complexity -export const transformRelayerRewardSlash = (data: { - relayer: { - slashes: { nodes: Pick[] } | null; - rewards: { nodes: Pick[] } | null; - } | null; -}): { rewards: [number, number][]; slashs: [number, number][] } => { - const slashes = - data.relayer?.slashes?.nodes.reduce((acc, cur) => { - const date = `${cur.blockTime.split('T')[0]}Z`; - acc[date] = (acc[date] || BN_ZERO).add(bnToBn(cur.amount)); - return acc; - }, {} as Record) || {}; - - const rewards = - data.relayer?.rewards?.nodes.reduce((acc, cur) => { - const date = `${cur.blockTime.split('T')[0]}Z`; - acc[date] = (acc[date] || BN_ZERO).add(bnToBn(cur.amount)); - return acc; - }, {} as Record) || {}; - - const combineDates = Array.from( - Object.keys(rewards) - .concat(Object.keys(slashes)) - .reduce((dates, date) => { - return dates.add(date); - }, new Set()) - ).sort((a, b) => compareAsc(new Date(a), new Date(b))); - - if (combineDates.length) { - const end = new Date(`${new Date().toISOString().split('T')[0]}Z`); - - for (let cur = new Date(combineDates[0]); compareAsc(cur, end) <= 0; cur = addDays(cur, 1)) { - const date = `${cur.toISOString().split('T')[0]}Z`; - if (!combineDates.some((item) => item === date)) { - combineDates.push(date); - } - } - } - - return { - rewards: combineDates.map((date) => [ - new Date(date).getTime(), - rewards[date] ? Number(fromWei({ value: rewards[date] })) : 0, - ]), - slashs: combineDates.map((date) => [ - new Date(date).getTime(), - slashes[date] ? Number(fromWei({ value: slashes[date] })) : 0, - ]), - }; -}; - -// eslint-disable-next-line complexity -export const transformRelayerQuotes = (data: { - quoteHistory: Pick | null; -}): [number, number][] => { - const datesValues = - (data.quoteHistory?.data || []).reduce((acc, cur) => { - const date = `${cur.blockTime.split('T')[0]}Z`; - acc[date] = (acc[date] || new BN(cur.amount)).add(new BN(cur.amount)).divn(2); // eslint-disable-line no-magic-numbers - return acc; - }, {} as Record) || {}; - - const dates = Object.keys(datesValues).sort((a, b) => compareAsc(new Date(a), new Date(b))); - if (dates.length > 1) { - const end = new Date(`${new Date().toISOString().split('T')[0]}Z`); - for (let cur = new Date(dates[0]); compareAsc(cur, end) < 0; cur = addDays(cur, 1)) { - const next = addDays(cur, 1); - const dateCur = `${cur.toISOString().split('T')[0]}Z`; - const dateNext = `${next.toISOString().split('T')[0]}Z`; - if (!datesValues[dateNext]) { - datesValues[dateNext] = datesValues[dateCur]; - } - } - } - - return Object.keys(datesValues) - .sort((a, b) => compareAsc(new Date(a), new Date(b))) - .map((date) => [new Date(date).getTime(), Number(fromWei({ value: datesValues[date] }))]); -}; - -const reduceSlashReward = ( - previous: RelayerOrdersDataSource[], - current: SlashReward, - isSlash: boolean -): RelayerOrdersDataSource[] => { - const idx = previous.findIndex((item) => item.lane === current.order?.lane && item.nonce === current.order.nonce); - - const row: RelayerOrdersDataSource = - idx >= 0 - ? previous[idx] - : { - lane: current.order?.lane as string, - nonce: current.order?.nonce as string, - createBlockTime: current.order?.createBlockTime as string, - reward: BN_ZERO, - slash: BN_ZERO, - relayerRoles: [] as RelayerRole[], - }; - - const roles = new Set(row.relayerRoles); - row.relayerRoles = Array.from(roles.add(current.relayerRole)); - - if (isSlash) { - row.slash = row.slash.add(bnToBn(current.amount)); - } else { - row.reward = row.reward.add(bnToBn(current.amount)); - } - - previous.splice(idx, idx === -1 ? 0 : 1, row); - return previous; -}; - -export const transformRelayerOrders = (data: { - relayer?: { - slashes: { - nodes: (Pick & { - order: Pick | null; - })[]; - } | null; - rewards: { - nodes: (Pick & { - order: Pick | null; - })[]; - } | null; - } | null; -}): RelayerOrdersDataSource[] => { - let dataSource: RelayerOrdersDataSource[] = []; - - dataSource = - data.relayer?.rewards?.nodes.reduce((acc, cur) => reduceSlashReward(acc, cur, false), dataSource) || dataSource; - dataSource = - data.relayer?.slashes?.nodes.reduce((acc, cur) => reduceSlashReward(acc, cur, true), dataSource) || dataSource; - - return dataSource.sort((a, b) => compareDesc(new Date(a.createBlockTime), new Date(b.createBlockTime))); -}; - -export const transformTotalOrdersOverview = (data: { - orders: { nodes: Pick[] } | null; -}): [number, number][] => { - const datesOrders = - data.orders?.nodes.reduce((acc, { createBlockTime }) => { - const date = `${createBlockTime.split('T')[0]}Z`; - acc[date] = (acc[date] || 0) + 1; - return acc; - }, {} as Record) || {}; - - const dates = Object.keys(datesOrders).sort((a, b) => compareAsc(new Date(a), new Date(b))); - if (dates.length) { - const end = new Date(`${new Date().toISOString().split('T')[0]}Z`); - - for (let cur = new Date(dates[0]); compareAsc(cur, end) <= 0; cur = addDays(cur, 1)) { - const date = `${cur.toISOString().split('T')[0]}Z`; - if (!datesOrders[date]) { - datesOrders[date] = 0; - } - } - } - - return Object.keys(datesOrders).map((date) => [new Date(date).getTime(), datesOrders[date]]); -}; - -export const transformFeeHistory = (data: { feeHistory: Pick | null }): [number, number][] => { - const datesValues = - data.feeHistory?.data?.reduce((acc, cur) => { - const date = `${cur.blockTime.split('T')[0]}Z`; - acc[date] = (acc[date] || new BN(cur.amount)).add(new BN(cur.amount)).divn(2); // eslint-disable-line no-magic-numbers - return acc; - }, {} as Record) || {}; - - return Object.keys(datesValues).map((date) => [ - new Date(date).getTime(), - Number(fromWei({ value: datesValues[date] })), - ]); -}; diff --git a/src/utils/helper/address.ts b/src/utils/helper/address.ts deleted file mode 100644 index 365a9128..00000000 --- a/src/utils/helper/address.ts +++ /dev/null @@ -1,134 +0,0 @@ -import { TypeRegistry } from '@polkadot/types'; -import type { AccountId, AccountIndex, Address } from '@polkadot/types/interfaces'; -import type { Codec, DetectCodec } from '@polkadot/types/types'; -import { keyring } from '@polkadot/ui-keyring'; -import type { KeyringItemType, KeyringJson$Meta } from '@polkadot/ui-keyring/types'; -import { hexToU8a, numberToU8a, stringToU8a, u8aToHex, isHex } from '@polkadot/util'; -import { decodeAddress, encodeAddress } from '@polkadot/util-crypto'; -import { isNull } from 'lodash'; -import { isAddress as isEthAddress } from 'web3-utils'; - -export const registry = new TypeRegistry(); - -export function evmAddressToAccountId(address: string | null | undefined): DetectCodec { - if (!address) { - return registry.createType('AccountId', ''); - } - - // eslint-disable-next-line no-magic-numbers - const data = new Uint8Array(32); - - data.set(stringToU8a('dvm:')); - // eslint-disable-next-line no-magic-numbers - data.set(hexToU8a(address), 11); - // eslint-disable-next-line no-bitwise - const checksum = data.reduce((pre: number, current: number): number => pre ^ current); - - // eslint-disable-next-line no-magic-numbers - data.set(numberToU8a(checksum), 31); - const accountId = registry.createType('AccountId', data); - - return accountId; -} - -export function convertToSS58(text: string, prefix: number | null, isShort = false): string { - if (!text || isNull(prefix)) { - return ''; - } - - try { - let address = encodeAddress(text, prefix); - - if (isShort) { - address = toShortAddress(address); - } - - return address; - } catch (error) { - return ''; - } -} - -export function convertToEvm(address: string): string { - if (!address) { - return ''; - } - - return u8aToHex(decodeAddress(address)); -} - -export function canConvertToEth(address: string): boolean { - return !!convertToEth(address); -} - -export function convertToEth(address: string): string | null { - if (!address) { - return ''; - } - - const startAt = 2; - const result = u8aToHex(decodeAddress(address)).slice(startAt); - const PREFIX = '64766d3a00000000000000'; - - // eslint-disable-next-line no-magic-numbers - return result.startsWith(PREFIX) ? '0x' + result.slice(-42, -2) : null; -} - -export function remove0x(text: string): string { - const start = 2; - - if (text.slice(0, start) === '0x') { - return text.slice(start); - } - return text; -} - -export function getAddressMeta(address: string, type: KeyringItemType | null = null): KeyringJson$Meta { - let meta: KeyringJson$Meta | undefined; - - try { - const pair = keyring.getAddress(address, type); - - meta = pair && pair.meta; - } catch (error) { - // we could pass invalid addresses, so it may throw - } - - return meta || {}; -} - -export function toShortAddress(_address?: AccountId | AccountIndex | Address | string | null | Uint8Array): string { - const address = (_address || '').toString(); - - // eslint-disable-next-line no-magic-numbers - return address.length > 13 ? `${address.slice(0, 6)}…${address.slice(-6)}` : address; -} - -// isName, isDefault, name -export function getAddressName( - address: string, - type: KeyringItemType | null = null, - defaultName?: string -): [boolean, boolean, string] { - const meta = getAddressMeta(address, type); - - return meta.name - ? [false, false, meta.name.toUpperCase()] - : defaultName - ? [false, true, defaultName.toUpperCase()] - : [true, false, toShortAddress(address)]; -} - -export const isValidAddress = (address: string) => { - try { - encodeAddress(isHex(address) ? hexToU8a(address) : decodeAddress(address)); - - return true; - } catch (error) { - return false; - } -}; - -export const isValidEthAddress = (address: string) => { - return isEthAddress(address); -}; diff --git a/src/utils/helper/balance.ts b/src/utils/helper/balance.ts deleted file mode 100644 index 77766577..00000000 --- a/src/utils/helper/balance.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { BN } from '@polkadot/util'; -import { isString, isNumber, isUndefined, isNull } from 'lodash'; -import { Unit, fromWei as web3FromWei, toWei as web3ToWei, unitMap, Units } from 'web3-utils'; - -export type WeiValue = string | BN | number | null | undefined; - -export const ETH_UNITS = unitMap as unknown as Units; - -export function getUnit(num: number): Unit { - const str = Math.pow(10, num).toString(); - try { - const [key] = Object.entries(ETH_UNITS).find(([_, value]) => value === str) as [Unit, string]; - - return key; - } catch (err) { - return 'ether'; - } -} - -export function getPrecisionByUnit(unit: Unit): number { - return ETH_UNITS[unit].length - 1; -} - -// eslint-disable-next-line complexity -const toStr = (value: WeiValue): string => { - if (BN.isBN(value)) { - return value.toString(); - } else if (isString(value)) { - return value.replace(/,/g, ''); - } else if (isNumber(value)) { - return String(value); - } else if (isUndefined(value) || isNull(value) || isNaN(value)) { - return '0'; - } else { - throw new TypeError( - // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - `Can not convert the value ${value} to String type. Value type is ${typeof value}` - ); - } -}; - -export function fromWei( - { value, unit = 'gwei' }: { value: WeiValue; unit?: Unit }, - ...fns: ((value: string) => string)[] -): string { - return [toStr, (val: string) => web3FromWei(val || '0', unit), ...fns].reduce( - (acc, fn) => fn(acc as string), - value - ) as string; -} - -export function toWei( - { value, unit = 'gwei' }: { value: WeiValue; unit?: Unit }, - ...fns: ((value: string) => string)[] -): string { - return [toStr, (val: string) => web3ToWei(val || '0', unit), ...fns].reduce( - (acc, fn) => fn(acc as string), - value - ) as string; -} diff --git a/src/utils/helper/block.ts b/src/utils/helper/block.ts deleted file mode 100644 index 914d4a7f..00000000 --- a/src/utils/helper/block.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { TypeRegistry } from '@polkadot/types'; - -export function encodeBlockHeader(blockHeaderStr: string) { - const blockHeaderObj = JSON.parse(blockHeaderStr); - const registry = new TypeRegistry(); - - return registry.createType('Header', { - parentHash: blockHeaderObj.parent_hash, - // eslint-disable-next-line id-denylist - number: blockHeaderObj.block_number, - stateRoot: blockHeaderObj.state_root, - extrinsicsRoot: blockHeaderObj.extrinsics_root, - digest: { - logs: blockHeaderObj.digest, - }, - }); -} diff --git a/src/utils/helper/common.ts b/src/utils/helper/common.ts deleted file mode 100644 index c4922193..00000000 --- a/src/utils/helper/common.ts +++ /dev/null @@ -1,135 +0,0 @@ -import { BN } from '@polkadot/util'; -import { EMPTY } from 'rxjs'; -import { - addDays, - fromUnixTime, - getUnixTime, - millisecondsInHour, - millisecondsInMinute, - millisecondsInSecond, -} from 'date-fns'; - -// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any -export function empty(...args: any[]) { - // nothing to do -} - -// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any -export function emptyObsFactory() { - return EMPTY.subscribe(); -} - -export function truth(): true { - return true; -} - -const isDecimal = (value: number | string) => { - return /\d+\.\d+/.test(String(value)); -}; - -const completeDecimal = (value: string, bits: number): string => { - const length = value.length; - - return length > bits ? value.slice(0, bits) : value; -}; - -export interface PrettyNumberOptions { - decimal?: number; - ignoreZeroDecimal?: boolean; -} - -// eslint-disable-next-line complexity -export function prettyNumber( - value: string | number | BN | null | undefined, - { decimal, ignoreZeroDecimal }: PrettyNumberOptions = { decimal: 3, ignoreZeroDecimal: true } -): string { - if (value === null || typeof value === 'undefined') { - return '-'; - } - - if (typeof value === 'number' || BN.isBN(value)) { - value = value.toString(); - } - - const isDecimalNumber = isDecimal(value); - let prefix = isDecimalNumber ? value.split('.')[0] : value; - const suffix = isDecimalNumber - ? completeDecimal(value.split('.')[1], decimal as number) - : new Array(decimal).fill(0).join(''); - - prefix = prefix.replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,'); - - const result = - +suffix !== 0 - ? `${prefix}.${suffix}` - : ignoreZeroDecimal || !decimal - ? prefix - : `${prefix}.${'0'.padEnd(decimal!, '0')}`; - - return +result === 0 ? '0' : result; -} - -export function getTimeRange( - startTime: number, - duration: number -): { - start: Date; - end: Date; -} { - const base = 30; - const start = fromUnixTime(startTime); - const end = addDays(start, base * duration); - - return { start, end }; -} - -export function buf2hex(buffer: ArrayBuffer) { - // eslint-disable-next-line no-magic-numbers - return '0x' + Array.prototype.map.call(new Uint8Array(buffer), (x) => ('00' + x.toString(16)).slice(-2)).join(''); -} - -// eslint-disable-next-line complexity -export const checkBrower = () => { - const userAgent = window.navigator.userAgent; - - // The order matters here, and this may report false positives for unlisted browsers. - if (userAgent.indexOf('Firefox') > -1) { - return 'Mozilla Firefox'; - // 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0' - } else if (userAgent.indexOf('Opera') > -1 || userAgent.indexOf('OPR') > -1) { - return 'Opera'; - // 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 OPR/57.0.3098.106' - } else if (userAgent.indexOf('Trident') > -1) { - return 'Microsoft Internet Explorer'; - // 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Zoom 3.6.0; wbx 1.0.0; rv:11.0) like Gecko' - } else if (userAgent.indexOf('Edge') > -1) { - return 'Microsoft Edge'; - // 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299' - } else if (userAgent.indexOf('Chrome') > -1) { - return 'Google Chrome or Chromium'; - // 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/66.0.3359.181 Chrome/66.0.3359.181 Safari/537.36' - } else if (userAgent.indexOf('Safari') > -1) { - return 'Apple Safari'; - // 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1 980x1306' - } else { - return 'Unknown'; - } -}; - -export const processTime = (start: number, expire: number): number => { - const now = getUnixTime(new Date()); - const end = getUnixTime(expire); - - return end <= now ? 100 : 100 - ((end - now) / (end - getUnixTime(start))) * 100; -}; - -/* eslint-disable no-magic-numbers */ -export const formatTimeLeft = (milliseconds: number) => { - const days = Math.floor(milliseconds / (millisecondsInHour * 24)); - const hours = Math.floor((milliseconds % (millisecondsInHour * 24)) / millisecondsInHour); - const minutes = Math.floor((milliseconds % millisecondsInHour) / millisecondsInMinute); - const seconds = Math.floor((milliseconds % millisecondsInMinute) / millisecondsInSecond); - - return { days, hours, minutes, seconds }; -}; -/* eslint-enable no-magic-numbers */ diff --git a/src/utils/helper/http.ts b/src/utils/helper/http.ts deleted file mode 100644 index 48ee453e..00000000 --- a/src/utils/helper/http.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { isNull, isUndefined } from 'lodash'; -import { map, Observable } from 'rxjs'; -import { ajax } from 'rxjs/ajax'; - -export interface HttpRequest { - url: string; - params: Record; -} - -export function rxGet({ url, params }: HttpRequest): Observable { - const queryStr = Object.entries(params || {}) - .filter(([_, value]) => !isNull(value) && !isUndefined(value)) - .reduce((acc, cur) => { - const pair = `${cur[0]}=${cur[1]}`; - - return acc !== '' ? `${acc}&${pair}` : pair; - }, ''); - - return ajax({ - url: url + (queryStr ? `?${queryStr}` : ''), - method: 'GET', - }).pipe(map((res) => res.response as T)); -} - -export function rxPost({ url, params }: HttpRequest): Observable { - return ajax({ - url, - method: 'POST', - body: params, - }).pipe(map((res) => res.response as T)); -} diff --git a/src/utils/helper/index.ts b/src/utils/helper/index.ts deleted file mode 100644 index b0f51ddb..00000000 --- a/src/utils/helper/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export * from './address'; -export * from './balance'; -export * from './block'; -export * from './common'; -export * from './http'; -export * from './storage'; -export * from './url'; -export * from './validator'; diff --git a/src/utils/helper/storage.ts b/src/utils/helper/storage.ts deleted file mode 100644 index cf09c465..00000000 --- a/src/utils/helper/storage.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { pickBy, uniq } from 'lodash'; -import store from 'store'; -import { ChainConfig, Network, StorageInfo } from '../../model'; - -export const STORAGE_KEY = 'apps_lite'; - -export function updateStorage(data: Partial): void { - const origin = store.get(STORAGE_KEY); - - store.set(STORAGE_KEY, { ...origin, ...data }); -} - -export function readStorage(): StorageInfo { - return store.get(STORAGE_KEY) || {}; -} - -export function saveNetworkConfig(config: ChainConfig) { - const { config: oConf } = readStorage(); - const nConf = { ...(oConf ?? {}), [config.name]: config }; - - updateStorage({ config: nConf }); -} - -export function removeCustomChain(name: Network) { - const { custom = [] } = readStorage(); - const res = custom.filter((item) => item !== name); - - updateStorage({ custom: res }); -} - -export function addCustomChain(name: Network) { - const { custom = [] } = readStorage(); - custom.push(name); - - updateStorage({ custom: uniq(custom) }); -} - -export function getCustomNetworkConfig() { - const { config = {}, custom = [] } = readStorage(); - - return pickBy(config, (item) => custom.includes(item.name)); -} diff --git a/src/utils/helper/url.ts b/src/utils/helper/url.ts deleted file mode 100644 index 215571b5..00000000 --- a/src/utils/helper/url.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { mapKeys } from 'lodash'; -import { Network, StorageInfo, ValueOf, NetworkMode } from '../../model'; -import { readStorage } from './storage'; - -export interface HashInfo { - from?: Network | null; - to?: Network | null; - recipient?: string | null; // to account address; - fMode?: NetworkMode | null; - tMode?: NetworkMode | null; -} - -interface HashShort { - f?: Network; - t?: Network; - r?: string; - fm?: NetworkMode; - tm?: NetworkMode; -} - -type SettingKey = keyof StorageInfo | keyof HashInfo; - -type SettingValue = ValueOf & ValueOf; - -// eslint-disable-next-line @typescript-eslint/ban-types -export type AdapterMap = { - [key in keyof T]?: keyof D; -}; - -const toShort: AdapterMap = { - from: 'f', - to: 't', - recipient: 'r', - fMode: 'fm', - tMode: 'tm', -}; - -const toLong: AdapterMap = Object.entries(toShort).reduce( - (acc, cur) => ({ ...acc, [cur[1]]: cur[0] }), - {} -); - -function hashToObj(): { [key in keyof HashShort]: string } { - try { - const str = decodeURIComponent(location.hash); - - return str - .replace('#', '') - .split('&') - .filter((item) => !!item) - .reduce((acc, cur) => { - const [key, value] = cur.split('='); - - return { ...acc, [key]: value }; - }, {}) as { [key in keyof HashShort]: string }; - } catch (err) { - return { f: '', t: '', r: '', fm: '', tm: '' }; - } -} - -export function patchUrl(info: HashInfo): void { - const data = mapKeys(info, (_, key) => toShort[key as keyof HashInfo]); - const oData = hashToObj(); - const hash = Object.entries({ ...oData, ...data }) - .filter(([_, value]) => !!value) - .reduce((acc, cur) => { - const pair = `${cur[0]}=${cur[1]}`; - - return acc !== '' ? `${acc}&${pair}` : pair; - }, ''); - - location.hash = hash !== '' ? encodeURIComponent(hash) : ''; -} - -export function getInfoFromHash(): HashInfo { - const info = hashToObj(); - - return mapKeys(info, (_, key) => toLong[key as keyof HashShort]); -} - -export function getInitialSetting(key: SettingKey, defaultValue: T | null): T | null { - const fromHash = getInfoFromHash(); - const fromStorage = readStorage(); - - return ( - ((fromHash[key as keyof HashInfo] ?? fromStorage[key as keyof StorageInfo] ?? defaultValue) as unknown as T) || null - ); -} - -export function apiUrl(domain: string, path: string): string { - return domain + '/api/' + path; -} diff --git a/src/utils/helper/validator.ts b/src/utils/helper/validator.ts deleted file mode 100644 index 2a732a8b..00000000 --- a/src/utils/helper/validator.ts +++ /dev/null @@ -1,122 +0,0 @@ -import { decodeAddress, encodeAddress } from '@polkadot/keyring'; -import { hexToU8a, isHex, BN } from '@polkadot/util'; -import type { ValidatorRule } from 'rc-field-form/lib/interface'; -import { TFunction } from 'react-i18next'; -import type { DeriveBalancesAll } from '@polkadot/api-derive/types'; -import { Token } from '../../model'; -import { convertToSS58 } from './address'; -import { getUnit, toWei } from './balance'; - -export function isSpecifiedSS58Address(address: string, sst8Prefix: number) { - return isSS58Address(address, sst8Prefix); -} - -// eslint-disable-next-line complexity -export const isSS58Address = (address: string, ss58Prefix?: number) => { - const len = 48; - - if (!address || address.length < len) { - return false; - } - - try { - encodeAddress( - isHex(address) - ? hexToU8a(address) - : ss58Prefix - ? decodeAddress(address, false, ss58Prefix) - : decodeAddress(address) - ); - - return true; - } catch (error) { - return false; - } -}; - -// eslint-disable-next-line complexity -export const isSameAddress = (from: string, to: string): boolean => { - if (from === to) { - return true; - } - - const toAddress = convertToSS58(to, 0); - const fromAddress = convertToSS58(from, 0); - - return fromAddress === toAddress; -}; - -export const isRing = (name: string | null | undefined) => /ring/i.test(String(name)) || /crab/i.test(String(name)); - -export const isKton = (name: string | null | undefined) => /kton/i.test(String(name)); - -export const isDeposit = (name: string | null | undefined) => /deposit/i.test(String(name)); - -/* ------------------------------------Form Validators------------------------------------- */ - -export type Validator = ValidatorRule['validator']; - -export interface ValidateOptions { - t: TFunction; - compared?: string | BN | number | null; - token?: Token; - asset?: string; - valueKey?: string; -} - -export type ValidatorFactory = (options: ValidateOptions) => Validator; - -export type ValidatorRuleFactory = (options: ValidateOptions) => ValidatorRule; - -const zeroAmountValidator: Validator = (_o, val) => { - return new BN(val).isZero() ? Promise.reject() : Promise.resolve(); -}; - -export const zeroAmountRule: ValidatorRuleFactory = (options) => { - const { t } = options; - - return { validator: zeroAmountValidator, message: t('The transfer amount must great than 0') }; -}; - -const insufficientBalanceValidatorFactory: ValidatorFactory = (options) => (_, val) => { - const { compared = '0', token, valueKey = 'amount' } = options; - const max = new BN(compared as string); - const current = typeof val === 'object' ? val[valueKey] : val; - const value = new BN(toWei({ value: current, unit: getUnit(Number(token?.decimal)) ?? 'gwei' })); - - return value.gt(max) ? Promise.reject() : Promise.resolve(); -}; - -export const insufficientBalanceRule: ValidatorRuleFactory = (options) => { - const { t } = options; - const validator = insufficientBalanceValidatorFactory(options); - - return { validator, message: t('Insufficient balance') }; -}; - -export const validateController = ({ - t, - bondedId, - stashId, - allBalances, - controllerId, - accountId, -}: { - t: TFunction; - bondedId: string | null; - stashId: string | null; - allBalances: DeriveBalancesAll; - controllerId: string; - accountId: string; -}) => { - if (bondedId && controllerId !== accountId) { - return t('The account is a stash, controlled by {{bondedId}}', { replace: { bondedId } }); - } - if (stashId) { - return t('The account is already controlling {{stashId}}', { replace: { stashId } }); - } - if (allBalances?.freeBalance.isZero()) { - return t('The account does not have sufficient funds available to cover transaction fees'); - } - return null; -}; diff --git a/src/utils/index.ts b/src/utils/index.ts deleted file mode 100644 index 9e3b0f07..00000000 --- a/src/utils/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export * from './helper'; -export * from './network'; -export * from './staking'; -export * from './token'; -export * from './tx'; -export * from './signer'; -export * from './feemarket'; diff --git a/src/utils/network/connection.tsx b/src/utils/network/connection.tsx deleted file mode 100644 index 5288bce0..00000000 --- a/src/utils/network/connection.tsx +++ /dev/null @@ -1,157 +0,0 @@ -import keyring from '@polkadot/ui-keyring'; -import { Modal } from 'antd'; -import Link from 'antd/lib/typography/Link'; -import { Trans } from 'react-i18next'; -import { - BehaviorSubject, - catchError, - combineLatest, - distinctUntilKeyChanged, - EMPTY, - from, - map, - merge, - Observable, - Observer, - of, - startWith, - switchMap, - switchMapTo, -} from 'rxjs'; -import { - ChainConfig, - Connection, - ConnectionType, - ConnectionStatus, - EthereumConnection, - PolkadotConnection, - AddEthereumChainParameter, -} from '../../model'; -import { entrance } from './entrance'; -import { isMetamaskInstalled, isNetworkConsistent } from './network'; -import { switchMetamaskNetwork } from './switch'; - -type ConnectEthFn = (network: AddEthereumChainParameter, chainId?: string) => Observable; - -/** - * keyring must be loaded before use - */ -keyring.loadAll({}); - -export const getPolkadotConnection: (network: ChainConfig) => Observable = (network) => { - const type: ConnectionType = 'polkadot'; - - const subject = new BehaviorSubject({ - type, - status: ConnectionStatus.pending, - api: null, - accounts: [], - }); - const source = subject.asObservable().pipe(distinctUntilKeyChanged('status')); - - const url = network.provider.rpc; - const api = entrance.polkadot.getInstance(url); - - if (api.isConnected) { - subject.next({ accounts: [], type, status: ConnectionStatus.success, api }); - } - - api.on('connected', () => { - subject.next({ accounts: [], type, status: ConnectionStatus.success, api }); - }); - - api.on('disconnected', () => { - subject.next({ accounts: [], type, status: ConnectionStatus.connecting, api: null }); - }); - - api.on('error', (error) => { - console.error(error); - subject.next({ accounts: [], type, status: ConnectionStatus.error, api: null }); - }); - - return from(source).pipe( - startWith({ accounts: [], status: ConnectionStatus.connecting, api: null, type }) - ); -}; - -const getEthereumConnection: () => Observable = () => { - return from(window.ethereum.request({ method: 'eth_requestAccounts' })).pipe( - switchMap((_) => { - const addressToAccounts = (addresses: string[]) => - addresses.map((address) => ({ address, meta: { source: '' } })); - - const request: Observable = combineLatest([ - from(window.ethereum.request({ method: 'eth_accounts' })), - from(window.ethereum.request({ method: 'eth_chainId' })), - ]).pipe( - map(([addresses, chainId]) => ({ - accounts: addressToAccounts(addresses), - status: ConnectionStatus.success, - chainId, - type: 'metamask', - })) - ); - - const obs = new Observable((observer: Observer) => { - window.ethereum.on('accountsChanged', (accounts: string[]) => - from(window.ethereum.request({ method: 'eth_chainId' })).subscribe((chainId) => { - observer.next({ - status: ConnectionStatus.success, - accounts: addressToAccounts(accounts), - type: 'metamask', - chainId, - }); - }) - ); - window.ethereum.on('chainChanged', (chainId: string) => { - from(window.ethereum.request({ method: 'eth_accounts' })).subscribe((accounts) => { - observer.next({ - status: ConnectionStatus.success, - accounts: addressToAccounts(accounts), - type: 'metamask', - chainId, - }); - }); - }); - }); - - return merge(request, obs); - }), - catchError((_) => { - return of({ status: ConnectionStatus.error, accounts: [], type: 'metamask', chainId: '' }); - }), - startWith({ status: ConnectionStatus.connecting, accounts: [], type: 'metamask', chainId: '' }) - ); -}; - -const showWarning = (plugin: string, downloadUrl: string) => - Modal.warn({ - title: Missing Wallet Plugin, - content: ( - - We need {{ plugin }} plugin to continue. Please - - {' '} - Install{' '} - - or unlock it first. - - ), - okText: OK, - }); - -export const connectToEth: ConnectEthFn = (network, chainId?) => { - if (!isMetamaskInstalled()) { - showWarning( - 'metamask', - 'https://chrome.google.com/webstore/detail/empty-title/nkbihfbeogaeaoehlefnkodbefgpgknn?hl=zh-CN' - ); - return EMPTY; - } - - return from(isNetworkConsistent(network, chainId)).pipe( - switchMap((isMatch) => - isMatch ? getEthereumConnection() : switchMetamaskNetwork(network).pipe(switchMapTo(getEthereumConnection())) - ) - ); -}; diff --git a/src/utils/network/entrance.ts b/src/utils/network/entrance.ts deleted file mode 100644 index 8138aea5..00000000 --- a/src/utils/network/entrance.ts +++ /dev/null @@ -1,128 +0,0 @@ -import { typesBundleForPolkadotApps } from '@darwinia/types/mix'; -import { ApiPromise, WsProvider } from '@polkadot/api'; -import { derive } from '@polkadot/api-derive'; -import { DeriveCustom } from '@polkadot/api/types'; -import Web3 from 'web3'; -import { overwriteDerive } from '@darwinia/api-derive/derive'; - -const { staking, ...rest } = derive; - -const customDerive = { - ...rest, - staking: { ...staking, ...overwriteDerive.staking }, -} as DeriveCustom; - -interface ApiGuy { - [key: string]: T; -} - -abstract class Entrance { - abstract apiList: ApiGuy[]; - abstract beforeRemove(instance: T): void; - abstract init(url: string): T; - abstract afterInit(instance: T): void; - - protected checkExist(url: string): ApiGuy | null { - const target = this.apiList.find((item) => item[url]); - - return target ?? null; - } - - getInstance(url: string): T { - const exist = this.checkExist(url); - - if (exist) { - return exist[url]; - } - - const instance = this.init(url); - - this.apiList.push({ [url]: instance }); - this.afterInit(instance); - - return instance; - } - - removeInstance(url: string): void { - const exist = this.checkExist(url); - - if (exist) { - this.beforeRemove(exist[url]); - this.apiList = this.apiList.filter((item) => item !== exist); - } - } -} - -class PolkadotEntrance extends Entrance { - apiList: ApiGuy[] = []; - - init(url: string) { - const provider = new WsProvider(url); - - return new ApiPromise({ - provider, - typesBundle: typesBundleForPolkadotApps, - derives: customDerive, - }); - } - - afterInit() { - // nothing to do - } - - beforeRemove(instance: ApiPromise) { - instance.disconnect(); - } -} - -class Web3Entrance extends Entrance { - apiList: ApiGuy[] = []; - - defaultProvider = 'ethereum'; - - init(url: string) { - if (url === this.defaultProvider) { - return new Web3(window.ethereum); - } - - return new Web3(url); - } - - afterInit() { - // nothing to do - } - - beforeRemove() { - // nothing to do - } -} - -/** - * Hold a singleton entrance in apps scope. - * The entrance guarantees the instance will not be instantiated repeatedly. - */ -export const entrance = (() => { - let polkadot: PolkadotEntrance; - let web3: Web3Entrance; - - return { - get polkadot() { - if (polkadot) { - return polkadot; - } - - polkadot = new PolkadotEntrance(); - - return polkadot; - }, - get web3() { - if (web3) { - return web3; - } - - web3 = new Web3Entrance(); - - return web3; - }, - }; -})(); diff --git a/src/utils/network/index.ts b/src/utils/network/index.ts deleted file mode 100644 index 8e9d1441..00000000 --- a/src/utils/network/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './connection'; -export * from './entrance'; -export * from './network'; diff --git a/src/utils/network/network.ts b/src/utils/network/network.ts deleted file mode 100644 index 7b5eac87..00000000 --- a/src/utils/network/network.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { ApiPromise } from '@polkadot/api'; -import { omit, once, pick } from 'lodash'; -import Web3 from 'web3'; -import { SYSTEM_NETWORK_CONFIGURATIONS } from '../../config'; -import { ChainConfig, MetamaskNativeNetworkIds, Network, AddEthereumChainParameter } from '../../model'; -import { getCustomNetworkConfig } from '../helper'; - -export const NETWORK_CONFIGURATIONS = SYSTEM_NETWORK_CONFIGURATIONS.map((item) => { - const customConfigs = getCustomNetworkConfig(); - - return customConfigs[item.name] ? { ...item, ...pick(customConfigs[item.name], Object.keys(item)) } : item; -}); - -export const AIRPORT_NETWORKS: ChainConfig[] = NETWORK_CONFIGURATIONS.filter((item) => - ['ethereum', 'crab', 'tron'].includes(item.name) -).map((item) => omit(item, 'evm')); - -export const getNetworkByRpc = (rpc: string | null | undefined): ChainConfig | null => { - if (rpc) { - return NETWORK_CONFIGURATIONS.find((item) => item.provider.rpc === decodeURIComponent(rpc)) ?? null; - } - - console.warn('🚀 Can not find target network config by rpc: ', rpc); - - return null; -}; - -export function getNetworkByName(name: Network | null | undefined): ChainConfig | null { - if (name) { - return NETWORK_CONFIGURATIONS.find((item) => item.name === name) ?? null; - } - - console.warn('🚀 Can not find target network config by name: ', name); - - return null; -} - -export async function waitUntilConnected(api: ApiPromise): Promise { - await api.isReady; - - return new Promise((resolve) => { - if (!api.isConnected) { - api.on( - 'connected', - once(() => resolve(null)) - ); - } else { - resolve(null); - } - }); -} - -export function isNativeMetamaskChain(network: AddEthereumChainParameter): boolean { - const ids = [ - MetamaskNativeNetworkIds.ethereum, - MetamaskNativeNetworkIds.ropsten, - MetamaskNativeNetworkIds.rinkeby, - MetamaskNativeNetworkIds.goerli, - MetamaskNativeNetworkIds.kovan, - ]; - - return ids.includes(+network.chainId); -} - -export async function isNetworkConsistent(network: AddEthereumChainParameter, id = ''): Promise { - id = id && Web3.utils.isHex(id) ? parseInt(id, 16).toString() : id; - // id 1: eth mainnet 3: ropsten 4: rinkeby 5: goerli 42: kovan 43: pangolin 44: crab - const actualId: string = id ? await Promise.resolve(id) : await window.ethereum.request({ method: 'net_version' }); - const storedId = network.chainId; - - return storedId === actualId; -} - -export function isMetamaskInstalled(): boolean { - return typeof window.ethereum !== 'undefined' || typeof window.web3 !== 'undefined'; -} - -export function findNetworkConfig(network: Network): ChainConfig { - const target = NETWORK_CONFIGURATIONS.find((item) => item.name === network); - - if (!target) { - throw new Error(`Can not find chain configuration by ${network}`); - } - - return target; -} diff --git a/src/utils/network/switch.tsx b/src/utils/network/switch.tsx deleted file mode 100644 index fedda255..00000000 --- a/src/utils/network/switch.tsx +++ /dev/null @@ -1,80 +0,0 @@ -import { Button, message, notification } from 'antd'; -import { Trans } from 'react-i18next'; -import { Observable, Observer } from 'rxjs'; -import Web3 from 'web3'; -import { MetamaskError, AddEthereumChainParameter } from '../../model'; -import { isNativeMetamaskChain } from './network'; - -async function switchEthereumChain(network: AddEthereumChainParameter): Promise { - const chainId = Web3.utils.toHex(network.chainId); - const res: null = await window.ethereum.request({ - method: 'wallet_switchEthereumChain', - params: [{ chainId }], - }); - - return res; -} - -/** - * @description add chain in metamask - */ -async function addEthereumChain(network: AddEthereumChainParameter): Promise { - const chainId = Web3.utils.toHex(network.chainId); - const result = await window.ethereum.request({ - method: 'wallet_addEthereumChain', - params: [{ ...network, chainId }], - }); - - return result; -} - -export const switchMetamaskNetwork: (network: AddEthereumChainParameter) => Observable = ( - network: AddEthereumChainParameter -) => { - const key = `key${Date.now()}`; - - return new Observable((observer: Observer) => { - notification.error({ - message: Incorrect network, - description: ( - - ), - btn: ( - - ), - key, - onClose: () => { - notification.close(key); - observer.complete(); - }, - duration: null, - }); - }); -}; diff --git a/src/utils/signer/index.ts b/src/utils/signer/index.ts deleted file mode 100644 index af5d8964..00000000 --- a/src/utils/signer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './signer'; diff --git a/src/utils/signer/signer.ts b/src/utils/signer/signer.ts deleted file mode 100644 index 31959755..00000000 --- a/src/utils/signer/signer.ts +++ /dev/null @@ -1,138 +0,0 @@ -import { Observable, Subscriber, from, tap, switchMap } from 'rxjs'; -import { ApiPromise, SubmittableResult } from '@polkadot/api'; -import { assert, isFunction, loggerFormat } from '@polkadot/util'; -import type { Signer as InjectedSigner } from '@polkadot/api/types'; -import { QueueTx, QueueTxMessageSetStatus, QueueTxStatus } from '../../model'; - -const NOOP = () => undefined; - -const AVAIL_STATUS = ['queued', 'qr', 'signing']; - -type ItemState = { - count: number; - currentItem: QueueTx | null; - isRpc: boolean; - isExtrinsic: boolean; -}; - -export function extractCurrent(txqueue: QueueTx[]): ItemState { - const available = txqueue.filter(({ status }) => AVAIL_STATUS.includes(status)); - const currentItem = available[0] || null; - let isRpc = false; - let isExtrinsic = false; - - if (currentItem?.status === 'queued' && !currentItem.extrinsic) { - isRpc = true; - } else if (currentItem?.status !== 'signing') { - isExtrinsic = true; - } - - return { - count: available.length, - currentItem, - isRpc, - isExtrinsic, - }; -} - -export const signAndSendTx = ( - currentItem: QueueTx, - queueSetTxStatus: QueueTxMessageSetStatus, - injectedSigner: InjectedSigner -) => { - const { - id, - nonce, - extrinsic, - signAddress, - txStartCb = NOOP, - txUpdateCb = NOOP, - txSuccessCb = NOOP, - txFailedCb = NOOP, - } = currentItem; - - if (extrinsic) { - from([injectedSigner]) - .pipe( - tap((signer) => assert(signer, `${signer} is an invalid signer`)), - tap(() => { - queueSetTxStatus(id, 'signing'); - txStartCb(); - }), - switchMap((signer) => { - assert(signAddress, 'Must specify an account as sender'); - return extrinsic.signAsync(signAddress, { signer, nonce }); - }), - tap(() => queueSetTxStatus(id, 'sending')), - switchMap( - () => - new Observable((subscriber: Subscriber) => { - (async () => { - try { - const unsub = await extrinsic.send((result) => { - subscriber.next(result); - if (result.isCompleted) { - unsub(); - subscriber.complete(); - } - }); - } catch (err) { - subscriber.error(err); - } - })(); - }) - ) - ) - .subscribe({ - next: (result) => { - const status = result.status.type.toLowerCase() as QueueTxStatus; - - console.log(`[tx result]: status :: ${JSON.stringify(result)}`); - - queueSetTxStatus(id, status, result); - txUpdateCb(result); - - if (result.status.isFinalized || result.status.isInBlock) { - result.events - .filter(({ event: { section } }) => section === 'system') - .forEach(({ event: { method } }): void => { - if (method === 'ExtrinsicFailed') { - txFailedCb(result); - } else if (method === 'ExtrinsicSuccess') { - txSuccessCb(result); - } - }); - } else if (result.isError) { - txFailedCb(result); - } - }, - error: (error) => { - txFailedCb(error); - queueSetTxStatus(id, 'error', undefined, error); - }, - }); - } -}; - -export const sendRpc = (api: ApiPromise, currentItem: QueueTx, queueSetTxStatus: QueueTxMessageSetStatus) => { - const { id, rpc, values = [] } = currentItem; - - if (rpc) { - from([currentItem]) - .pipe( - tap(() => queueSetTxStatus(id, 'sending')), - switchMap(({ rpc: { section, method } }) => { - const apiRpc = api.rpc as Record Promise>>; - - assert(isFunction(apiRpc[section] && apiRpc[section][method]), `api.rpc.${section}.${method} does not exist`); - - return apiRpc[section][method](...values); - }), - tap((result) => console.log('sendRpc: result ::', loggerFormat(result))) - ) - .subscribe({ - next: (result) => queueSetTxStatus(id, 'sent', result as SubmittableResult), - error: (error) => queueSetTxStatus(id, 'error', undefined, error), - }); - } -}; diff --git a/src/utils/staking/fund.ts b/src/utils/staking/fund.ts deleted file mode 100644 index cdf0b1cf..00000000 --- a/src/utils/staking/fund.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { BN, BN_ZERO, bnToBn } from '@polkadot/util'; -import type { Balance } from '@polkadot/types/interfaces'; -import type { DeriveStakingAccount } from '@darwinia/api-derive/types'; -import { Fund } from '../../model'; -import { getUnit, toWei } from '../helper'; -import { isRing } from '../helper'; - -export function fundParam(data: Fund): { RingBalance: string } | { KtonBalance: string } { - const { amount, token } = data; - - const value = toWei({ - value: amount, - unit: getUnit(+token.decimal), - }); - - return isRing(token.symbol) ? { RingBalance: value } : { KtonBalance: value }; -} - -// https://github.com/darwinia-network/darwinia-common/blob/main/frame/staking/src/inflation.rs#L129 -/* eslint-disable no-magic-numbers */ -export const computeKtonReward = (amount: Balance | BN | string | number, months: number): BN => { - const value = bnToBn(amount); - const n = bnToBn(67).pow(bnToBn(months)); - const d = bnToBn(66).pow(bnToBn(months)); - const quot = n.div(d); - const rem = n.mod(d); - const precision = bnToBn(1000); - - return precision.mul(quot.subn(1)).add(precision.mul(rem).div(d)).mul(value).div(bnToBn(1970000)); -}; -/* eslint-enable no-magic-numbers */ - -// eslint-disable-next-line complexity -export function getLedger(symbol: string, empty: boolean, derive: DeriveStakingAccount | null) { - if (empty || !derive) { - return { bonded: null, unbonding: null, locked: null }; - } - - const { stakingLedger, unlockingTotalValue, unlockingKtonTotalValue } = derive; - - if (isRing(symbol)) { - const locked = stakingLedger.activeDepositRing.toBn(); - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - const bonded = (stakingLedger.active || stakingLedger.activeRing).toBn().sub(locked); - - return { - bonded, - locked, - unbonded: derive.redeemable?.length ? derive.redeemable[0] : BN_ZERO, - unbonding: unlockingTotalValue, - }; - } - - return { - bonded: stakingLedger.activeKton?.toBn(), - locked: null, - unbonded: derive.redeemable?.length ? derive.redeemable[1] : BN_ZERO, - unbonding: unlockingKtonTotalValue, - }; -} diff --git a/src/utils/staking/index.ts b/src/utils/staking/index.ts deleted file mode 100644 index 4e14b901..00000000 --- a/src/utils/staking/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './fund'; -export * from './overview'; -export * from './power'; diff --git a/src/utils/staking/overview.ts b/src/utils/staking/overview.ts deleted file mode 100644 index 1ed69c0c..00000000 --- a/src/utils/staking/overview.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { DeriveStakingOverview } from '@polkadot/api-derive/staking/types'; - -export interface AccountWithClassifiedInfo { - account: string; - isElected: boolean; - isFavorite: boolean; -} - -interface ClassifiedStakingOverview { - elected: AccountWithClassifiedInfo[]; - validators: AccountWithClassifiedInfo[]; - waiting: AccountWithClassifiedInfo[]; -} - -export function createClassifiedStakingOverview( - stakingOverview: DeriveStakingOverview, - favorites: string[], - next?: string[] -): ClassifiedStakingOverview { - const filterAccounts = (accounts: string[] = [], elected: string[], without: string[]) => - accounts - .filter((accountId) => !without.includes(accountId)) - .map((account) => ({ - account, - isElected: elected.includes(account), - isFavorite: favorites.includes(account), - })) - .sort((a, b) => (a.isFavorite === b.isFavorite ? 0 : a.isFavorite ? -1 : 1)); - - const allElected = stakingOverview.nextElected.map((item) => item.toString()); - const validatorIds = stakingOverview.validators.map((item) => item.toString()); - const validators = filterAccounts(validatorIds, allElected, []); - const elected = filterAccounts(allElected, allElected, validatorIds); - const waiting = filterAccounts(next, [], allElected); - - return { - elected, - validators, - waiting, - }; -} diff --git a/src/utils/staking/power.ts b/src/utils/staking/power.ts deleted file mode 100644 index 46b9488f..00000000 --- a/src/utils/staking/power.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Balance } from '@polkadot/types/interfaces'; -import Bignumber from 'bignumber.js'; -import type { BN } from '@polkadot/util'; - -const ZERO = new Bignumber(0); -export const POWER_CAP = 1000000000; - -// eslint-disable-next-line complexity -export function assetToPower( - ringAmount: BN | Balance, - ktonAmount: BN | Balance, - ringPool: BN | Balance, - ktonPool: BN | Balance -) { - if (!ringPool || (ringPool && ringPool.toString() === '0')) { - return ZERO; - } - - let div = new Bignumber(0); - - // (ring + (kton * (ringPool / KtonPool))) / (ringPool * 2) * 100000 - if (ktonPool && ktonPool.toString() !== '0') { - div = new Bignumber(ringPool.toString()).div(new Bignumber(ktonPool.toString())); - } - - return new Bignumber( - new Bignumber(ringAmount.toString()) - .plus(new Bignumber(ktonAmount.toString()).times(div)) - // eslint-disable-next-line no-magic-numbers - .div(new Bignumber(ringPool.toString()).times(2)) - .times(POWER_CAP) - .toFixed(0) - ); -} - -// eslint-disable-next-line complexity -export function bondedToPower(bondedAmount: Balance, ringPool: Balance) { - if ( - !ringPool || - (ringPool && ringPool.toString() === '0') || - !bondedAmount || - (bondedAmount && bondedAmount.toString() === '0') - ) { - return ZERO; - } - - return new Bignumber( - // eslint-disable-next-line no-magic-numbers - new Bignumber(bondedAmount.toString()).div(new Bignumber(ringPool.toString()).times(2)).times(POWER_CAP).toFixed(0) - ); -} diff --git a/src/utils/token/index.ts b/src/utils/token/index.ts deleted file mode 100644 index d69cb1a9..00000000 --- a/src/utils/token/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './tokenInfo'; diff --git a/src/utils/token/tokenInfo.ts b/src/utils/token/tokenInfo.ts deleted file mode 100644 index a3999da0..00000000 --- a/src/utils/token/tokenInfo.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { ApiPromise } from '@polkadot/api'; -import { PalletBalancesBalanceLock, DarwiniaCommonRuntimeImplsAccountData } from '@polkadot/types/lookup'; -import { BN_ZERO, bnMax, BN } from '@polkadot/util'; -import { waitUntilConnected } from '../network'; -import { entrance } from '../network'; -import { abi } from '../../config/abi'; - -// eslint-disable-next-line -const calcMax = (lockItem: any, current: BN) => { - let max = current; - - if (lockItem.reasons && !lockItem.reasons.isFee) { - max = bnMax(lockItem.amount, max); - } else if (lockItem.lockReasons && !lockItem.lockReasons.isFee) { - if (lockItem.lockFor.isCommon) { - max = bnMax(lockItem.lockFor.asCommon.amount, max); - } else if (lockItem.lockFor.isStaking) { - max = bnMax(lockItem.lockFor.asStaking.stakingAmount, max); - } - } - - return max; -}; - -/** - * @description other api can get balances: api.derive.balances.all, api.query.system.account; - * @return [RING_BALANCE, KTON_BALANCE, RING_FREE, KTON_FREE] - */ -// eslint-disable-next-line complexity -export async function getDarwiniaBalances(api: ApiPromise, account = ''): Promise<[BN, BN, BN, BN]> { - if (account) { - try { - await waitUntilConnected(api); - - const { - data: { free: freeRing, freeKton }, - }: { data: DarwiniaCommonRuntimeImplsAccountData } = await api.query.system.account(account); - - const ringLocks: PalletBalancesBalanceLock[] = (await api.query.balances.locks(account)) || []; - const ktonLocks: PalletBalancesBalanceLock[] = (await api.query.kton?.locks(account)) || []; - - let maxRingLock = BN_ZERO; - let maxKtonLock = BN_ZERO; - - ringLocks.forEach((item) => { - maxRingLock = calcMax(item, maxRingLock); - }); - - ktonLocks.forEach((item) => { - maxKtonLock = calcMax(item, maxKtonLock); - }); - - const ring = freeRing.sub(maxRingLock); - const kton = freeKton?.sub(maxKtonLock) ?? BN_ZERO; - - return [ring.isNeg() ? BN_ZERO : ring, kton.isNeg() ? BN_ZERO : kton, freeRing, freeKton]; - } catch (error) { - console.error('Get Darwinia balance:', error); - } - } - - return [BN_ZERO, BN_ZERO, BN_ZERO, BN_ZERO]; -} - -/** - * @returns The current balance for the given address in wei - */ -export async function getEvmBalances(ktonTokenAddress: string, account: string): Promise<[string, string]> { - let ring = '0'; - let kton = '0'; - - if (account) { - const web3 = entrance.web3.getInstance(entrance.web3.defaultProvider); - - try { - ring = await web3.eth.getBalance(account); - } catch (err) { - console.error(err); - } - - if (ktonTokenAddress) { - try { - const contract = new web3.eth.Contract(abi.ktonABI, ktonTokenAddress); - kton = await contract.methods.balanceOf(account).call(); - } catch (err) { - console.error(err); - } - } - } - - return [ring, kton]; -} diff --git a/src/utils/tx/index.ts b/src/utils/tx/index.ts deleted file mode 100644 index cbb35562..00000000 --- a/src/utils/tx/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './tx'; diff --git a/src/utils/tx/tx.ts b/src/utils/tx/tx.ts deleted file mode 100644 index b6e6ee6f..00000000 --- a/src/utils/tx/tx.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { PromiEvent, TransactionReceipt } from 'web3-core'; -import { notification } from 'antd'; - -export const handleEthTxResult = ( - tx: PromiEvent, - { txSuccessCb = () => undefined, txFailedCb = () => undefined }: { txSuccessCb?: () => void; txFailedCb?: () => void } -) => { - tx.on('transactionHash', (hash: string) => { - void hash; - }) - .on('receipt', ({ transactionHash }) => { - txSuccessCb(); - notification.success({ - message: 'Transaction success', - description: `Transaction hash: ${transactionHash}`, - }); - }) - .catch((error: { code: number; message: string }) => { - txFailedCb(); - console.error(error); - notification.error({ - message: 'Transaction failed', - description: error.message, - }); - }); -}; diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 00000000..dfe72db5 --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1,9 @@ +/// + +export declare global { + interface Window { + /* eslint-disable */ + injectedWeb3: any; + /* eslint-enable */ + } +} diff --git a/stylelint.config.js b/stylelint.config.js deleted file mode 100644 index 3fe99068..00000000 --- a/stylelint.config.js +++ /dev/null @@ -1,3 +0,0 @@ -const { stylelint } = require('@darwinia/lints'); - -module.exports = stylelint; diff --git a/tailwind.config.js b/tailwind.config.js index 9aee0c3d..466f3466 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,73 +1,20 @@ -module.exports = { - important: true, - darkMode: 'class', // or 'media' or 'class' - content: ['./src/**/*.{js,jsx,ts,tsx}'], +/** @type {import('tailwindcss').Config} */ +export default { + content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], theme: { extend: { - spacing: { - '144': '36rem', + colors: { + primary: "#FF0083", + "bg-primary": "#1A1D1F", + "bg-component": "#242A2E", }, - animation: { - 'ball-scale-pulse': 'ball-scale-pulse 2s ease-in-out infinite', + screens: { + "2xl": "1280px", }, - keyframes: { - 'ball-scale-pulse': { - '0%': { transform: 'scale(0)' }, - '50%': { transform: 'scale(1)' }, - '100%': { transform: 'scale(0)' }, - }, + container: { + padding: "0.625rem", }, - backgroundColor: (_) => ({ - antDark: '#151e33', - crab: '#512DBC', - 'crab-parachain': '#512DBC', - darwinia: '#FF0083', - pangolin: '#4B30DD', - 'pangolin-parachain': '#4B30DD', - pangoro: '#4B30DD', - }), - borderRadius: { - xl: '20px', - lg: '10px', - }, - boxShadow: { - xxl: '0px 0px 24px rgb(191 194 234 / 41%)', - 'mock-bottom-border': '0px 10px 1px -8px #5745de', - 'mock-bottom-border-light': '0px 10px 1px -8px rgba(255,255,255,.85)', - }, - colors: (_) => ({ - crab: { - main: '#512DBC', - }, - 'crab-parachain': { - main: '#512DBC', - }, - darwinia: { - main: '#FF0083', - }, - pangolin: { - main: '#4B30DD', - }, - 'pangolin-parachain': { - main: '#4B30DD', - }, - pangoro: { - main: '#4B30DD', - }, - }), - }, - }, - plugins: [ - require('tailwindcss-pseudo-elements')({ - customPseudoClasses: ['step'], - customPseudoElements: ['div'], - emptyContent: false, - }), - ], - variants: { - extend: { - backgroundColor: ['before', 'after'], - backgroundOpacity: ['before', 'after'], }, }, + plugins: [], }; diff --git a/tsconfig.json b/tsconfig.json index c000f3f6..a7fc6fbf 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,11 +1,25 @@ { - "extends": "./base.tsconfig.json", "compilerOptions": { - "baseUrl": "." + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true }, - "include": [ - "src", - "src/global.d.ts", - "faucet" - ] + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 00000000..42872c59 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vercel.json b/vercel.json index d75f0b27..1e4ace3b 100644 --- a/vercel.json +++ b/vercel.json @@ -22,12 +22,5 @@ ] } ], - "rewrites": [ - { "source": "/account", "destination": "/index.html" }, - { "source": "/staking", "destination": "/index.html" }, - { "source": "/toolbox", "destination": "/index.html" }, - { "source": "/portal", "destination": "/index.html" }, - { "source": "/migration", "destination": "/index.html" }, - { "source": "/feemarket", "destination": "/index.html" } - ] + "rewrites": [{ "source": "/local_subkey_migration", "destination": "/index.html" }] } diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 00000000..861b04b3 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react-swc' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], +}) diff --git a/yarn.lock b/yarn.lock index b14ebfac..c2ce404a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,17537 +2,2989 @@ # yarn lockfile v1 -"@angular/compiler@9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0.tgz#87e0bef4c369b6cadae07e3a4295778fc93799d5" - integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== - -"@angular/core@9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.0.0.tgz#227dc53e1ac81824f998c6e76000b7efc522641e" - integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== - -"@ant-design/colors@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-6.0.0.tgz#9b9366257cffcc47db42b9d0203bb592c13c0298" - integrity sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ== - dependencies: - "@ctrl/tinycolor" "^3.4.0" - -"@ant-design/icons-svg@^4.0.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.1.0.tgz#480b025f4b20ef7fe8f47d4a4846e4fee84ea06c" - integrity sha512-Fi03PfuUqRs76aI3UWYpP864lkrfPo0hluwGqh7NJdLhvH4iRDc3jbJqZIvRDLHKbXrvAfPPV3+zjUccfFvWOQ== +"@alloc/quick-lru@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" + integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== -"@ant-design/icons@^4.6.2": - version "4.6.2" - resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-4.6.2.tgz#290f2e8cde505ab081fda63e511e82d3c48be982" - integrity sha512-QsBG2BxBYU/rxr2eb8b2cZ4rPKAPBpzAR+0v6rrZLp/lnyvflLH3tw1vregK+M7aJauGWjIGNdFmUfpAOtw25A== +"@babel/code-frame@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" + integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== dependencies: - "@ant-design/colors" "^6.0.0" - "@ant-design/icons-svg" "^4.0.0" - "@babel/runtime" "^7.11.2" - classnames "^2.2.6" - rc-util "^5.9.4" - -"@ant-design/react-slick@~0.28.1": - version "0.28.3" - resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-0.28.3.tgz#ad5cf1cf50363c1a3842874d69d0ce1f26696e71" - integrity sha512-u3onF2VevGRbkGbgpldVX/nzd7LFtLeZJE0x2xIFT2qYHKkJZ6QT/jQ7KqYK4UpeTndoyrbMqLN4DiJza4BVBg== - dependencies: - "@babel/runtime" "^7.10.4" - classnames "^2.2.5" - json2mq "^0.2.0" - lodash "^4.17.21" - resize-observer-polyfill "^1.5.0" + "@babel/highlight" "^7.18.6" -"@apollo/client@^3.6.8": - version "3.6.8" - resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.6.8.tgz#97e876fdbc4c287652a61895fd2b6f0b157a7667" - integrity sha512-p/J6KRHZZPGX0bZtMLvRFAIcReYsRYGg+Jz9MkgabWPy0L8rwgyolq9fvKsNqkH888Tj9Yvwrxz9V84KfcORJA== +"@babel/generator@^7.22.3": + version "7.22.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.3.tgz#0ff675d2edb93d7596c5f6728b52615cfc0df01e" + integrity sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A== dependencies: - "@graphql-typed-document-node/core" "^3.1.1" - "@wry/context" "^0.6.0" - "@wry/equality" "^0.5.0" - "@wry/trie" "^0.3.0" - graphql-tag "^2.12.6" - hoist-non-react-statics "^3.3.2" - optimism "^0.16.1" - prop-types "^15.7.2" - symbol-observable "^4.0.0" - ts-invariant "^0.10.3" - tslib "^2.3.0" - zen-observable-ts "^1.2.5" - -"@babel/code-frame@7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" + "@babel/types" "^7.22.3" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== +"@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== dependencies: - "@babel/highlight" "^7.10.4" + "@babel/types" "^7.18.6" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.5.5": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" - integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== - dependencies: - "@babel/highlight" "^7.12.13" +"@babel/helper-environment-visitor@^7.22.1": + version "7.22.1" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz#ac3a56dbada59ed969d712cf527bd8271fe3eba8" + integrity sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA== -"@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/compat-data@^7.12.1", "@babel/compat-data@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.13.tgz#27e19e0ed3726ccf54067ced4109501765e7e2e8" - integrity sha512-U/hshG5R+SIoW7HVWIdmy1cB7s3ki+r3FpyEZiCgpi4tFgPnX/vynY80ZGSASOIrUM6O7VxOgCZgdt7h97bUGg== - -"@babel/compat-data@^7.14.4": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.4.tgz#45720fe0cecf3fd42019e1d12cc3d27fadc98d58" - integrity sha512-i2wXrWQNkH6JplJQGn3Rd2I4Pij8GdHkXwHMxm+zV5YG/Jci+bCNrWZEWC4o+umiDkRrRs4dVzH3X4GP7vyjQQ== - -"@babel/core@7.12.3": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" - integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.1" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.1" - "@babel/parser" "^7.12.3" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@>=7.9.0": - version "7.14.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.3.tgz#5395e30405f0776067fbd9cf0884f15bfb770a38" - integrity sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.14.3" - "@babel/helper-compilation-targets" "^7.13.16" - "@babel/helper-module-transforms" "^7.14.2" - "@babel/helpers" "^7.14.0" - "@babel/parser" "^7.14.3" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.2" - "@babel/types" "^7.14.2" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5", "@babel/core@^7.8.4": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.17.tgz#993c5e893333107a2815d8e0d73a2c3755e280b2" - integrity sha512-V3CuX1aBywbJvV2yzJScRxeiiw0v2KZZYYE3giywxzFJL13RiyPjaaDwhDnxmgFTTS7FgvM2ijr4QmKNIu0AtQ== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.12.17" - "@babel/helper-module-transforms" "^7.12.17" - "@babel/helpers" "^7.12.17" - "@babel/parser" "^7.12.17" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.12.17" - "@babel/types" "^7.12.17" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.12.1", "@babel/generator@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.17.tgz#9ef1dd792d778b32284411df63f4f668a9957287" - integrity sha512-DSA7ruZrY4WI8VxuS1jWSRezFnghEoYEFrZcw9BizQRmOZiUsiHl59+qEARGPqPikwA/GPTyRCi7isuCK/oyqg== +"@babel/helper-function-name@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" + integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== dependencies: - "@babel/types" "^7.12.17" - jsesc "^2.5.1" - source-map "^0.5.0" + "@babel/template" "^7.20.7" + "@babel/types" "^7.21.0" -"@babel/generator@^7.14.2", "@babel/generator@^7.14.3": - version "7.14.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.3.tgz#0c2652d91f7bddab7cccc6ba8157e4f40dcedb91" - integrity sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA== +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: - "@babel/types" "^7.14.2" - jsesc "^2.5.1" - source-map "^0.5.0" + "@babel/types" "^7.18.6" -"@babel/generator@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" - integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af" + integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== dependencies: - "@babel/types" "^7.16.8" - jsesc "^2.5.1" - source-map "^0.5.0" + "@babel/types" "^7.21.4" -"@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" - integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw== +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== dependencies: - "@babel/types" "^7.12.13" + "@babel/types" "^7.18.6" -"@babel/helper-annotate-as-pure@^7.16.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" - integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== - dependencies: - "@babel/types" "^7.16.7" +"@babel/helper-string-parser@^7.21.5": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd" + integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w== -"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc" - integrity sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.12.13" - "@babel/types" "^7.12.13" +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== -"@babel/helper-compilation-targets@^7.12.1", "@babel/helper-compilation-targets@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.17.tgz#91d83fae61ef390d39c3f0507cb83979bab837c7" - integrity sha512-5EkibqLVYOuZ89BSg2lv+GG8feywLuvMXNYgf0Im4MssE0mFWPztSpJbildNnUgw0bLI2EsIN4MpSHC2iUJkQA== - dependencies: - "@babel/compat-data" "^7.12.13" - "@babel/helper-validator-option" "^7.12.17" - browserslist "^4.14.5" - semver "^5.5.0" - -"@babel/helper-compilation-targets@^7.13.16": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz#33ebd0ffc34248051ee2089350a929ab02f2a516" - integrity sha512-JgdzOYZ/qGaKTVkn5qEDV/SXAh8KcyUVkCoSWGN8T3bwrgd6m+/dJa2kVGi6RJYJgEYPBdZ84BZp9dUjNWkBaA== - dependencies: - "@babel/compat-data" "^7.14.4" - "@babel/helper-validator-option" "^7.12.17" - browserslist "^4.16.6" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.12.13", "@babel/helper-create-class-features-plugin@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.17.tgz#704b69c8a78d03fb1c5fcc2e7b593f8a65628944" - integrity sha512-I/nurmTxIxHV0M+rIpfQBF1oN342+yvl2kwZUrQuOClMamHF1w5tknfZubgNOLRoA73SzBFAdFcpb4M9HwOeWQ== - dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-member-expression-to-functions" "^7.12.17" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" - -"@babel/helper-create-regexp-features-plugin@^7.12.13": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz#a2ac87e9e319269ac655b8d4415e94d38d663cb7" - integrity sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg== +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - regexpu-core "^4.7.1" + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" +"@babel/parser@^7.21.9", "@babel/parser@^7.22.4": + version "7.22.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.4.tgz#a770e98fd785c231af9d93f6459d36770993fb32" + integrity sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA== -"@babel/helper-explode-assignable-expression@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz#0e46990da9e271502f77507efa4c9918d3d8634a" - integrity sha512-5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw== +"@babel/runtime@^7.19.4", "@babel/runtime@^7.20.6": + version "7.22.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.3.tgz#0a7fce51d43adbf0f7b517a71f4c3aaca92ebcbb" + integrity sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ== dependencies: - "@babel/types" "^7.12.13" + regenerator-runtime "^0.13.11" -"@babel/helper-function-name@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" - integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== - dependencies: - "@babel/helper-get-function-arity" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helper-function-name@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz#397688b590760b6ef7725b5f0860c82427ebaac2" - integrity sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ== +"@babel/template@^7.20.7": + version "7.21.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.21.9.tgz#bf8dad2859130ae46088a99c1f265394877446fb" + integrity sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ== dependencies: - "@babel/helper-get-function-arity" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/types" "^7.14.2" - -"@babel/helper-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" - integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== - dependencies: - "@babel/helper-get-function-arity" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-get-function-arity@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" - integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== - dependencies: - "@babel/types" "^7.12.13" + "@babel/code-frame" "^7.21.4" + "@babel/parser" "^7.21.9" + "@babel/types" "^7.21.5" -"@babel/helper-get-function-arity@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" - integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== - dependencies: - "@babel/types" "^7.16.7" +"@babel/traverse@^7.4.5": + version "7.22.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.4.tgz#c3cf96c5c290bd13b55e29d025274057727664c0" + integrity sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ== + dependencies: + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.22.3" + "@babel/helper-environment-visitor" "^7.22.1" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.22.4" + "@babel/types" "^7.22.4" + debug "^4.1.0" + globals "^11.1.0" -"@babel/helper-hoist-variables@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.12.13.tgz#13aba58b7480b502362316ea02f52cca0e9796cd" - integrity sha512-KSC5XSj5HreRhYQtZ3cnSnQwDzgnbdUDEFsxkN0m6Q3WrCRt72xrnZ8+h+pX7YxM7hr87zIO3a/v5p/H3TrnVw== +"@babel/types@^7.18.6", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.22.3", "@babel/types@^7.22.4": + version "7.22.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.4.tgz#56a2653ae7e7591365dabf20b76295410684c071" + integrity sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA== dependencies: - "@babel/types" "^7.12.13" + "@babel/helper-string-parser" "^7.21.5" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== +"@emotion/is-prop-valid@^1.1.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz#23116cf1ed18bfeac910ec6436561ecb1a3885cc" + integrity sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw== dependencies: - "@babel/types" "^7.16.7" + "@emotion/memoize" "^0.8.1" -"@babel/helper-member-expression-to-functions@^7.12.13", "@babel/helper-member-expression-to-functions@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.17.tgz#f82838eb06e1235307b6d71457b6670ff71ee5ac" - integrity sha512-Bzv4p3ODgS/qpBE0DiJ9qf5WxSmrQ8gVTe8ClMfwwsY2x/rhykxxy3bXzG7AGTnPB2ij37zGJ/Q/6FruxHxsxg== - dependencies: - "@babel/types" "^7.12.17" +"@emotion/memoize@^0.8.1": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" + integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== -"@babel/helper-member-expression-to-functions@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72" - integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw== - dependencies: - "@babel/types" "^7.13.12" +"@emotion/stylis@^0.8.4": + version "0.8.5" + resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" + integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ== -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz#ec67e4404f41750463e455cc3203f6a32e93fcb0" - integrity sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g== - dependencies: - "@babel/types" "^7.12.13" +"@emotion/unitless@^0.7.4": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" + integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== -"@babel/helper-module-imports@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977" - integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA== +"@esbuild/android-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" + integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== + +"@esbuild/android-arm@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d" + integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== + +"@esbuild/android-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1" + integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== + +"@esbuild/darwin-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276" + integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== + +"@esbuild/darwin-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb" + integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== + +"@esbuild/freebsd-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2" + integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== + +"@esbuild/freebsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4" + integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== + +"@esbuild/linux-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb" + integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== + +"@esbuild/linux-arm@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a" + integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== + +"@esbuild/linux-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a" + integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== + +"@esbuild/linux-loong64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72" + integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== + +"@esbuild/linux-mips64el@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289" + integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== + +"@esbuild/linux-ppc64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7" + integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== + +"@esbuild/linux-riscv64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09" + integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== + +"@esbuild/linux-s390x@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829" + integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== + +"@esbuild/linux-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4" + integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== + +"@esbuild/netbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462" + integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== + +"@esbuild/openbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691" + integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== + +"@esbuild/sunos-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273" + integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== + +"@esbuild/win32-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f" + integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== + +"@esbuild/win32-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03" + integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== + +"@esbuild/win32-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" + integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== + +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: - "@babel/types" "^7.13.12" + eslint-visitor-keys "^3.3.0" -"@babel/helper-module-imports@^7.16.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" +"@eslint-community/regexpp@^4.4.0": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" + integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== -"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.12.13", "@babel/helper-module-transforms@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.17.tgz#7c75b987d6dfd5b48e575648f81eaac891539509" - integrity sha512-sFL+p6zOCQMm9vilo06M4VHuTxUAwa6IxgL56Tq1DVtA0ziAGTH1ThmJq7xwPqdQlgAbKX3fb0oZNbtRIyA5KQ== - dependencies: - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" - "@babel/helper-simple-access" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/helper-validator-identifier" "^7.12.11" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.12.17" - "@babel/types" "^7.12.17" - lodash "^4.17.19" - -"@babel/helper-module-transforms@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5" - integrity sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA== - dependencies: - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-replace-supers" "^7.13.12" - "@babel/helper-simple-access" "^7.13.12" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/helper-validator-identifier" "^7.14.0" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.2" - "@babel/types" "^7.14.2" - -"@babel/helper-optimise-call-expression@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea" - integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== +"@eslint/eslintrc@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.3.tgz#4910db5505f4d503f27774bf356e3704818a0331" + integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ== dependencies: - "@babel/types" "^7.12.13" + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.5.2" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz#174254d0f2424d8aefb4dd48057511247b0a9eeb" - integrity sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA== +"@eslint/js@8.42.0": + version "8.42.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.42.0.tgz#484a1d638de2911e6f5a30c12f49c7e4a3270fb6" + integrity sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw== -"@babel/helper-remap-async-to-generator@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.13.tgz#170365f4140e2d20e5c88f8ba23c24468c296878" - integrity sha512-Qa6PU9vNcj1NZacZZI1Mvwt+gXDH6CTfgAkSjeRMLE8HxtDK76+YDId6NQR+z7Rgd5arhD2cIbS74r0SxD6PDA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-wrap-function" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helper-replace-supers@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz#00ec4fb6862546bd3d0aff9aac56074277173121" - integrity sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.12.13" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/traverse" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helper-replace-supers@^7.13.12": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz#b2ab16875deecfff3ddfcd539bc315f72998d836" - integrity sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.13.12" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/traverse" "^7.14.2" - "@babel/types" "^7.14.4" - -"@babel/helper-simple-access@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz#8478bcc5cacf6aa1672b251c1d2dde5ccd61a6c4" - integrity sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA== +"@humanwhocodes/config-array@^0.11.10": + version "0.11.10" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" + integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ== dependencies: - "@babel/types" "^7.12.13" + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" -"@babel/helper-simple-access@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6" - integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA== - dependencies: - "@babel/types" "^7.13.12" +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" - integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== - dependencies: - "@babel/types" "^7.12.1" +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@babel/helper-split-export-declaration@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" - integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== dependencies: - "@babel/types" "^7.12.13" + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-validator-identifier@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" - integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== - -"@babel/helper-validator-identifier@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" - integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-option@^7.12.1", "@babel/helper-validator-option@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" - integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== - -"@babel/helper-wrap-function@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.13.tgz#e3ea8cb3ee0a16911f9c1b50d9e99fe8fe30f9ff" - integrity sha512-t0aZFEmBJ1LojdtJnhOaQEVejnzYhyjWHSsNSNo8vOYRbAJNh6r6GQF7pd36SqG7OKGbn+AewVQ/0IfYfIuGdw== - dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helpers@^7.12.1", "@babel/helpers@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.17.tgz#71e03d2981a6b5ee16899964f4101dc8471d60bc" - integrity sha512-tEpjqSBGt/SFEsFikKds1sLNChKKGGR17flIgQKXH4fG6m9gTgl3gnOC1giHNyaBCSKuTfxaSzHi7UnvqiVKxg== - dependencies: - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.12.17" - "@babel/types" "^7.12.17" - -"@babel/helpers@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62" - integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg== - dependencies: - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.0" - "@babel/types" "^7.14.0" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" - integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - chalk "^2.0.0" - js-tokens "^4.0.0" +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== -"@babel/highlight@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.7.tgz#81a01d7d675046f0d96f82450d9d9578bdfd6b0b" - integrity sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.12.17", "@babel/parser@^7.12.3", "@babel/parser@^7.7.0": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.17.tgz#bc85d2d47db38094e5bb268fc761716e7d693848" - integrity sha512-r1yKkiUTYMQ8LiEI0UcQx5ETw5dpTLn9wijn9hk6KkTtOK95FndDN10M+8/s6k/Ymlbivw0Av9q4SlgF80PtHg== - -"@babel/parser@^7.14.2", "@babel/parser@^7.14.3": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.4.tgz#a5c560d6db6cd8e6ed342368dea8039232cbab18" - integrity sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA== - -"@babel/parser@^7.16.7", "@babel/parser@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17" - integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw== - -"@babel/plugin-proposal-async-generator-functions@^7.12.1", "@babel/plugin-proposal-async-generator-functions@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.13.tgz#d1c6d841802ffb88c64a2413e311f7345b9e66b5" - integrity sha512-1KH46Hx4WqP77f978+5Ye/VUbuwQld2hph70yaw2hXS2v7ER2f3nlpNMu909HO2rbvP0NKLlMVDPh9KXklVMhA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-remap-async-to-generator" "^7.12.13" - "@babel/plugin-syntax-async-generators" "^7.8.0" - -"@babel/plugin-proposal-class-properties@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" - integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" +"@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== -"@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz#3d2ce350367058033c93c098e348161d6dc0d8c8" - integrity sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@babel/plugin-proposal-decorators@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz#59271439fed4145456c41067450543aee332d15f" - integrity sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-decorators" "^7.12.1" - -"@babel/plugin-proposal-dynamic-import@^7.12.1", "@babel/plugin-proposal-dynamic-import@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.17.tgz#e0ebd8db65acc37eac518fa17bead2174e224512" - integrity sha512-ZNGoFZqrnuy9H2izB2jLlnNDAfVPlGl5NhFEiFe4D84ix9GQGygF+CWMGHKuE+bpyS/AOuDQCnkiRNqW2IzS1Q== +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.18" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" + integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" -"@babel/plugin-proposal-export-namespace-from@^7.12.1", "@babel/plugin-proposal-export-namespace-from@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz#393be47a4acd03fa2af6e3cde9b06e33de1b446d" - integrity sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw== +"@noble/curves@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d" + integrity sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@noble/hashes" "1.3.1" -"@babel/plugin-proposal-json-strings@^7.12.1", "@babel/plugin-proposal-json-strings@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz#ced7888a2db92a3d520a2e35eb421fdb7fcc9b5d" - integrity sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-json-strings" "^7.8.0" +"@noble/hashes@1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" + integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== -"@babel/plugin-proposal-logical-assignment-operators@^7.12.1", "@babel/plugin-proposal-logical-assignment-operators@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz#575b5d9a08d8299eeb4db6430da6e16e5cf14350" - integrity sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ== +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" -"@babel/plugin-proposal-nullish-coalescing-operator@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" - integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz#24867307285cee4e1031170efd8a7ac807deefde" - integrity sha512-Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q== +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" -"@babel/plugin-proposal-numeric-separator@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" - integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" +"@polkadot/api-augment@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-10.8.1.tgz#585b93ef9d09c114b57a8794574a429386c94660" + integrity sha512-KFfF0OESmFI8hFmuKGuU204+S4SORIxniZr88xUnEPyJQr4R6XYnbGSKcLJM5Y2MK8a7JEoKgg+hfnUTK6Se0w== + dependencies: + "@polkadot/api-base" "10.8.1" + "@polkadot/rpc-augment" "10.8.1" + "@polkadot/types" "10.8.1" + "@polkadot/types-augment" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/util" "^12.2.2" + tslib "^2.5.3" + +"@polkadot/api-base@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-10.8.1.tgz#c6df0ff420c1af48ec58c823681d6c342d7b56f5" + integrity sha512-13BZ04UtiCECQshstL9RBLDJ6nq9HSwWXwMuWZcXUEPSsPhfR3iT0o212dtGrGliakYWgGEU1LGJuGhZ5iK7TA== + dependencies: + "@polkadot/rpc-core" "10.8.1" + "@polkadot/types" "10.8.1" + "@polkadot/util" "^12.2.2" + rxjs "^7.8.1" + tslib "^2.5.3" + +"@polkadot/api-derive@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-10.8.1.tgz#eab3fa9ef975bccad5ab0d5275699f42b51725c7" + integrity sha512-r1SBY9vu6OZMGp8/KZFwOqh7yS8yl0YbNDWuju2BEMWQ4Xx6WOlQjQV8Np9UFtKcnBFQzQjMLWH3vwrfTDgVEQ== + dependencies: + "@polkadot/api" "10.8.1" + "@polkadot/api-augment" "10.8.1" + "@polkadot/api-base" "10.8.1" + "@polkadot/rpc-core" "10.8.1" + "@polkadot/types" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/util" "^12.2.2" + "@polkadot/util-crypto" "^12.2.2" + rxjs "^7.8.1" + tslib "^2.5.3" + +"@polkadot/api@10.8.1", "@polkadot/api@^10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-10.8.1.tgz#ecf4e8a7167d67ba1392ba0b93133c701e088280" + integrity sha512-Txx1bXmB4FHghzPZ+OVQk6oYgPE03bhwMNiXzmC8Ia/tw5aoFnko2FFl+Y1pEhhMKDmqfyVe4L+HxPjfEQbsfA== + dependencies: + "@polkadot/api-augment" "10.8.1" + "@polkadot/api-base" "10.8.1" + "@polkadot/api-derive" "10.8.1" + "@polkadot/keyring" "^12.2.2" + "@polkadot/rpc-augment" "10.8.1" + "@polkadot/rpc-core" "10.8.1" + "@polkadot/rpc-provider" "10.8.1" + "@polkadot/types" "10.8.1" + "@polkadot/types-augment" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/types-create" "10.8.1" + "@polkadot/types-known" "10.8.1" + "@polkadot/util" "^12.2.2" + "@polkadot/util-crypto" "^12.2.2" + eventemitter3 "^5.0.1" + rxjs "^7.8.1" + tslib "^2.5.3" + +"@polkadot/extension-dapp@^0.46.4": + version "0.46.4" + resolved "https://registry.yarnpkg.com/@polkadot/extension-dapp/-/extension-dapp-0.46.4.tgz#3c7e9ee866f428e591d779695e6355981e2af159" + integrity sha512-5eCkjycMcFk3O6/XKGlcp/TeWdehelaQdCKAaLZzWaLvKewmVkPOVBL0u1zutacO/8O1NU/y/qAUXJiJovVJAg== + dependencies: + "@polkadot/extension-inject" "0.46.4" + "@polkadot/util" "^12.2.2" + "@polkadot/util-crypto" "^12.2.2" + tslib "^2.5.3" + +"@polkadot/extension-inject@0.46.4": + version "0.46.4" + resolved "https://registry.yarnpkg.com/@polkadot/extension-inject/-/extension-inject-0.46.4.tgz#f2b68300f38ddec240dfa004f76ec7d2e04ce782" + integrity sha512-nCjKIdDIkTlKWZptCXmb6eB7JtmkETopc4c8xmOe9CujbbMUwUQ3qN0P1EkSr6GXBIjz6Z9kfQtZBp45/T27Fg== + dependencies: + "@polkadot/api" "^10.8.1" + "@polkadot/rpc-provider" "^10.8.1" + "@polkadot/types" "^10.8.1" + "@polkadot/util" "^12.2.2" + "@polkadot/util-crypto" "^12.2.2" + "@polkadot/x-global" "^12.2.2" + tslib "^2.5.3" + +"@polkadot/keyring@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-12.2.2.tgz#4efb5333c78222a91949b699d4a65b338c79eede" + integrity sha512-z8MVdgrhzg/bFiR2i5/W06Ma+IPeisH7EtGuIQ+ZwXiCJlXMAGUy5spfk3fUbXYubCCqNycqFgKTYDM/rDhXSg== + dependencies: + "@polkadot/util" "12.2.2" + "@polkadot/util-crypto" "12.2.2" + tslib "^2.5.3" + +"@polkadot/networks@12.2.2", "@polkadot/networks@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-12.2.2.tgz#14b34210ea2dfc3b27897b579eb93c5f0a8f2a1c" + integrity sha512-SsZognHwXyD2saJkB35G+28noAZBcNpJAXsTI7QTTDHGiQSDp0mPmrk3Rt7BRAeFn4qdXQuRqQYKYUwBM2i9mQ== + dependencies: + "@polkadot/util" "12.2.2" + "@substrate/ss58-registry" "^1.40.0" + tslib "^2.5.3" + +"@polkadot/react-identicon@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@polkadot/react-identicon/-/react-identicon-3.4.2.tgz#b8f75b17bb8d46a7ae648aa930ec1e3205322239" + integrity sha512-t4y3OJ3+pdFjDpKPojKxA/Stn+BJOoVOJtf4VCt7Pi+onIhW8d2UFj53oFgJ1UZc+xrPMj2Z04BVIhekAQUKsA== + dependencies: + "@polkadot/keyring" "^12.2.2" + "@polkadot/ui-settings" "3.4.2" + "@polkadot/ui-shared" "3.4.2" + "@polkadot/util" "^12.2.2" + "@polkadot/util-crypto" "^12.2.2" + ethereum-blockies-base64 "^1.0.2" + jdenticon "3.2.0" + react-copy-to-clipboard "^5.1.0" + styled-components "^5.3.11" + tslib "^2.5.3" + +"@polkadot/rpc-augment@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-10.8.1.tgz#19bbfdf78ca5b6d493aee7b954bb4a526be6ebe7" + integrity sha512-FmXAQLyG8cwBI+MwMxxx4qttolR2gFnYXC7PjYrrjYq4AZrrGWd9SvwXx8aA/NLRJ/PJqvri4dsoKPe7NiE+1A== + dependencies: + "@polkadot/rpc-core" "10.8.1" + "@polkadot/types" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/util" "^12.2.2" + tslib "^2.5.3" + +"@polkadot/rpc-core@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-10.8.1.tgz#1bc8f7f840164bf3f03fe71851071c7f19f4f166" + integrity sha512-GTMYBBssiP6wyYvc8hB0glQc4VUneGxiSYjWGijh9NEl/JVBpU01jcK3dfx534AWptctJN1Vk2fWzhaDgnj8zA== + dependencies: + "@polkadot/rpc-augment" "10.8.1" + "@polkadot/rpc-provider" "10.8.1" + "@polkadot/types" "10.8.1" + "@polkadot/util" "^12.2.2" + rxjs "^7.8.1" + tslib "^2.5.3" + +"@polkadot/rpc-provider@10.8.1", "@polkadot/rpc-provider@^10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-10.8.1.tgz#7455b284934151bcc20e89d9605cb09186cea74a" + integrity sha512-yQdUmaWRMSa/qVGBRP1vGjdv4DnlaYOctJfRpz2MWPbEckH5DmPRxV4BAZ9FVa5lATX0Qkmr3uvBt3qApH7xhQ== + dependencies: + "@polkadot/keyring" "^12.2.2" + "@polkadot/types" "10.8.1" + "@polkadot/types-support" "10.8.1" + "@polkadot/util" "^12.2.2" + "@polkadot/util-crypto" "^12.2.2" + "@polkadot/x-fetch" "^12.2.2" + "@polkadot/x-global" "^12.2.2" + "@polkadot/x-ws" "^12.2.2" + eventemitter3 "^5.0.1" + mock-socket "^9.2.1" + nock "^13.3.1" + tslib "^2.5.3" + optionalDependencies: + "@substrate/connect" "0.7.26" + +"@polkadot/types-augment@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-10.8.1.tgz#e774f3ba399f9f8961a5f557fb5a9c7c5901625a" + integrity sha512-rVn8aA4u6YPcxGEnBq2rXVmgXM5kSuiTHIjsusb6Sm3PzO//NcC/TW9sbZjlAJApgSoj9iagM7Y85OPGOZlxwg== + dependencies: + "@polkadot/types" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/util" "^12.2.2" + tslib "^2.5.3" + +"@polkadot/types-codec@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-10.8.1.tgz#65f886fd2b717e2e12b319a395f9887edd1f9094" + integrity sha512-8dj4T6GA6JxuwUNShO70omZ4qkChwsJeGAJg5x09UeLEAwBS02BkFSllRUJjGEwnAUb/Iq4s3NBVmYiiZ/wmKg== + dependencies: + "@polkadot/util" "^12.2.2" + "@polkadot/x-bigint" "^12.2.2" + tslib "^2.5.3" + +"@polkadot/types-create@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-10.8.1.tgz#f5974a00918e2c4b7fca29c18abd3410536393ad" + integrity sha512-v2WZHQAjf8TiLipRkR1iPTyWSjGHJJP2SQ5uVO5UJlHilpE8lODqY1rr/9hGN+sbRhU0vEy6ZceDEKuNbtJB3Q== + dependencies: + "@polkadot/types-codec" "10.8.1" + "@polkadot/util" "^12.2.2" + tslib "^2.5.3" + +"@polkadot/types-known@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-10.8.1.tgz#f630d3354cbe80149360edb37c569c5042eced12" + integrity sha512-AIeuF7eTIEnUgxa1pU0UMmF/tIXgucAECwU8vzoKeJLrYWA16VYUm0Pst9e3jK3PyLaCneMRyR00Lc7oxVANbw== + dependencies: + "@polkadot/networks" "^12.2.2" + "@polkadot/types" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/types-create" "10.8.1" + "@polkadot/util" "^12.2.2" + tslib "^2.5.3" + +"@polkadot/types-support@10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-10.8.1.tgz#b299f829374ce77fdfbe1d1b8faa14ba02969783" + integrity sha512-arDVaL70vzVL5JBGWW1qcOASn1cJ/UxNMR3fHchoVkAqS20VIrehE8MF4zXMdjcP0Ak3+6E0FaSmHMTKlmEJsg== + dependencies: + "@polkadot/util" "^12.2.2" + tslib "^2.5.3" + +"@polkadot/types@10.8.1", "@polkadot/types@^10.8.1": + version "10.8.1" + resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-10.8.1.tgz#83c01c347189ff97b98b34a5a4aba27c715539eb" + integrity sha512-m6UvsvQOZ7sRGbonb6QLs4mZ6TmYKdAXAcHakiJl2xArqsgOghJsKhgaTqcigPkSq4947MXtIkEzdrwFEnkYkQ== + dependencies: + "@polkadot/keyring" "^12.2.2" + "@polkadot/types-augment" "10.8.1" + "@polkadot/types-codec" "10.8.1" + "@polkadot/types-create" "10.8.1" + "@polkadot/util" "^12.2.2" + "@polkadot/util-crypto" "^12.2.2" + rxjs "^7.8.1" + tslib "^2.5.3" + +"@polkadot/ui-keyring@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@polkadot/ui-keyring/-/ui-keyring-3.4.2.tgz#a1de8a01bd5ad1b4f1f00f1cbc5d5fb050c56666" + integrity sha512-8FDZ19tajRvWfDUoMDweVwLgwZ2KbzWpuJOjtZGh0tD7U1LkY10oXDqMNx61Mj7eb4n+9kOpL/jaPMtDI5+V6w== + dependencies: + "@polkadot/keyring" "^12.2.2" + "@polkadot/ui-settings" "3.4.2" + "@polkadot/util" "^12.2.2" + "@polkadot/util-crypto" "^12.2.2" + mkdirp "^3.0.1" + rxjs "^7.8.1" + store "^2.0.12" + tslib "^2.5.3" -"@babel/plugin-proposal-numeric-separator@^7.12.1", "@babel/plugin-proposal-numeric-separator@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz#bd9da3188e787b5120b4f9d465a8261ce67ed1db" - integrity sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w== +"@polkadot/ui-settings@3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@polkadot/ui-settings/-/ui-settings-3.4.2.tgz#7f9872d339e38a05dce99477d5c634b0e62e94d5" + integrity sha512-vnWfMcn+kT+TvF5vxnwZjsMEekklAflZcj5HNvQByeoHx6K4+MGw3dW56CZirMJcIqMqsTiUxSbmmgR5I9fvVw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@polkadot/networks" "^12.2.2" + "@polkadot/util" "^12.2.2" + eventemitter3 "^5.0.1" + store "^2.0.12" + tslib "^2.5.3" -"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz#f93f3116381ff94bc676fdcb29d71045cd1ec011" - integrity sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.12.13" - -"@babel/plugin-proposal-optional-catch-binding@^7.12.1", "@babel/plugin-proposal-optional-catch-binding@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz#4640520afe57728af14b4d1574ba844f263bcae5" - integrity sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" +"@polkadot/ui-shared@3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@polkadot/ui-shared/-/ui-shared-3.4.2.tgz#95e510189b4c66add016af762041422ca3d71f80" + integrity sha512-kDSewuKgAKrNmPE+ksrnWHETnal9ivAtxGZpsWK+3AFcZpGlD+NmAvW0ZbHBdP8VFFiF0AwePnA4fdbBDFkSEw== + dependencies: + colord "^2.9.3" + tslib "^2.5.3" + +"@polkadot/util-crypto@12.2.2", "@polkadot/util-crypto@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-12.2.2.tgz#7e6ab56482d3dfb8704a724d695028677799c685" + integrity sha512-4JfEd/TJaDArp5Jpr3N/aYHp+QR71XzZRKqU4u7WkGKmnGt28Qfh2IWGB/E2MvIFxa6CjIiQMxN2hnkNr49JAQ== + dependencies: + "@noble/curves" "1.1.0" + "@noble/hashes" "1.3.1" + "@polkadot/networks" "12.2.2" + "@polkadot/util" "12.2.2" + "@polkadot/wasm-crypto" "^7.2.1" + "@polkadot/wasm-util" "^7.2.1" + "@polkadot/x-bigint" "12.2.2" + "@polkadot/x-randomvalues" "12.2.2" + "@scure/base" "1.1.1" + tslib "^2.5.3" -"@babel/plugin-proposal-optional-chaining@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" - integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@^7.12.1", "@babel/plugin-proposal-optional-chaining@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.17.tgz#e382becadc2cb16b7913b6c672d92e4b33385b5c" - integrity sha512-TvxwI80pWftrGPKHNfkvX/HnoeSTR7gC4ezWnAL39PuktYUe6r8kEpOLTYnkBTsaoeazXm2jHJ22EQ81sdgfcA== +"@polkadot/util@12.2.2", "@polkadot/util@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-12.2.2.tgz#f586fd62c330a09bb026b1584be1bb07c8b27b6b" + integrity sha512-u/v5Z2+iUwX/CXEMVZgJmwqqx1kT5Zfxsio3vpuYaPCg49xhTKqAcrakgB+1BUHhhyF3Zkb9uG73JWFR0Lkk9w== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-private-methods@^7.12.1", "@babel/plugin-proposal-private-methods@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.13.tgz#ea78a12554d784ecf7fc55950b752d469d9c4a71" - integrity sha512-sV0V57uUwpauixvR7s2o75LmwJI6JECwm5oPUY5beZB1nBl2i37hc7CJGqB5G+58fur5Y6ugvl3LRONk5x34rg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@polkadot/x-bigint" "12.2.2" + "@polkadot/x-global" "12.2.2" + "@polkadot/x-textdecoder" "12.2.2" + "@polkadot/x-textencoder" "12.2.2" + "@types/bn.js" "^5.1.1" + bn.js "^5.2.1" + tslib "^2.5.3" + +"@polkadot/wasm-bridge@7.2.1": + version "7.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-bridge/-/wasm-bridge-7.2.1.tgz#8464a96552207d2b49c6f32137b24132534b91ee" + integrity sha512-uV/LHREDBGBbHrrv7HTki+Klw0PYZzFomagFWII4lp6Toj/VCvRh5WMzooVC+g/XsBGosAwrvBhoModabyHx+A== + dependencies: + "@polkadot/wasm-util" "7.2.1" + tslib "^2.5.0" + +"@polkadot/wasm-crypto-asmjs@7.2.1": + version "7.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-7.2.1.tgz#3e7a91e2905ab7354bc37b82f3e151a62bb024db" + integrity sha512-z/d21bmxyVfkzGsKef/FWswKX02x5lK97f4NPBZ9XBeiFkmzlXhdSnu58/+b1sKsRAGdW/Rn/rTNRDhW0GqCAg== + dependencies: + tslib "^2.5.0" + +"@polkadot/wasm-crypto-init@7.2.1": + version "7.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-init/-/wasm-crypto-init-7.2.1.tgz#9dbba41ed7d382575240f1483cf5a139ff2787bd" + integrity sha512-GcEXtwN9LcSf32V9zSaYjHImFw16hCyo2Xzg4GLLDPPeaAAfbFr2oQMgwyDbvBrBjLKHVHjsPZyGhXae831amw== + dependencies: + "@polkadot/wasm-bridge" "7.2.1" + "@polkadot/wasm-crypto-asmjs" "7.2.1" + "@polkadot/wasm-crypto-wasm" "7.2.1" + "@polkadot/wasm-util" "7.2.1" + tslib "^2.5.0" + +"@polkadot/wasm-crypto-wasm@7.2.1": + version "7.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-7.2.1.tgz#d2486322c725f6e5d2cc2d6abcb77ecbbaedc738" + integrity sha512-DqyXE4rSD0CVlLIw88B58+HHNyrvm+JAnYyuEDYZwCvzUWOCNos/DDg9wi/K39VAIsCCKDmwKqkkfIofuOj/lA== + dependencies: + "@polkadot/wasm-util" "7.2.1" + tslib "^2.5.0" + +"@polkadot/wasm-crypto@^7.2.1": + version "7.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-7.2.1.tgz#db671dcb73f1646dc13478b5ffc3be18c64babe1" + integrity sha512-SA2+33S9TAwGhniKgztVN6pxUKpGfN4Tre/eUZGUfpgRkT92wIUT2GpGWQE+fCCqGQgADrNiBcwt6XwdPqMQ4Q== + dependencies: + "@polkadot/wasm-bridge" "7.2.1" + "@polkadot/wasm-crypto-asmjs" "7.2.1" + "@polkadot/wasm-crypto-init" "7.2.1" + "@polkadot/wasm-crypto-wasm" "7.2.1" + "@polkadot/wasm-util" "7.2.1" + tslib "^2.5.0" + +"@polkadot/wasm-util@7.2.1", "@polkadot/wasm-util@^7.2.1": + version "7.2.1" + resolved "https://registry.yarnpkg.com/@polkadot/wasm-util/-/wasm-util-7.2.1.tgz#fda233120ec02f77f0d14e4d3c7ad9ce06535fb8" + integrity sha512-FBSn/3aYJzhN0sYAYhHB8y9JL8mVgxLy4M1kUXYbyo+8GLRQEN5rns8Vcb8TAlIzBWgVTOOptYBvxo0oj0h7Og== + dependencies: + tslib "^2.5.0" + +"@polkadot/x-bigint@12.2.2", "@polkadot/x-bigint@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-bigint/-/x-bigint-12.2.2.tgz#18ff80c306b486fb926702ba9bb56291fb69d4f1" + integrity sha512-KSe7WAqwI1tubi0m5CP4oqf8EIjABZXLGkTHXKwjtAAMa9Q7hqFmVG2sXfvC+XSnhto1UKMe52TjuPrYSJI+jg== + dependencies: + "@polkadot/x-global" "12.2.2" + tslib "^2.5.3" + +"@polkadot/x-fetch@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-12.2.2.tgz#452b096a3233308a1cbbeae867c26a374b62b9e8" + integrity sha512-A3ttQp9oE6QH9VsggdQsBsgc9zyalxHoVXhZsn6yqcjzc9AoaY5QevezxVy88ZQpRp3bsYVn0RqyBV7eFq8WPw== + dependencies: + "@polkadot/x-global" "12.2.2" + node-fetch "^3.3.1" + tslib "^2.5.3" + +"@polkadot/x-global@12.2.2", "@polkadot/x-global@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-12.2.2.tgz#dda816c00738b72209637e623b50ecad5ce234bf" + integrity sha512-hLVoKR9fGhZdy/eK/LHTyh4jJ3V+3VfcxbCey0k2t1Byrwbmsi6wL3NUQk6i3NviswR9OSCic9mhgDQPRBXZEg== + dependencies: + tslib "^2.5.3" + +"@polkadot/x-randomvalues@12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-12.2.2.tgz#c249d990f3033b0e9ea4a7964419f04d47b0d228" + integrity sha512-eExiOT/up5ZzwHJkFpGhQ6sCdPSJnn6PJsQnyJMEdgPaUES70u/wWMLGFNiy3U8rRRVSsZi6rc9Unsr02LczzA== + dependencies: + "@polkadot/x-global" "12.2.2" + tslib "^2.5.3" + +"@polkadot/x-textdecoder@12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-12.2.2.tgz#9e3c7b17f6a8e032aa3ab906fcff3037aeecaa4c" + integrity sha512-Rsvsc7ZLBKT1rls8gdbvzLLEs2sGUA8cDiTaQUkCHJN3ja/37Bppz1wNPcEIMsJ2pyL6bwq86HB0xmC28QVdqA== + dependencies: + "@polkadot/x-global" "12.2.2" + tslib "^2.5.3" + +"@polkadot/x-textencoder@12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-12.2.2.tgz#6a40a953774093a070f2819959f054f258c001af" + integrity sha512-g6bX4DTBmkr3QLNeihlrHYvaZCKu1kFiK+BDQXVzBg+oHpzxz5wSVhzsG3GEVoVszXMiugWpSn03wCIvaRFMoQ== + dependencies: + "@polkadot/x-global" "12.2.2" + tslib "^2.5.3" + +"@polkadot/x-ws@^12.2.2": + version "12.2.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-12.2.2.tgz#41d7645507137e5f13abb9536c18c840f7e86324" + integrity sha512-kZtdfRHsgpJ+HV/jY8mQG4BFpCIz6NxZlrRKzWdaIacPVeXHkV3nfk7i9ghK+MP/nWC0AKuq06yysp9ZwWMCug== + dependencies: + "@polkadot/x-global" "12.2.2" + tslib "^2.5.3" + ws "^8.13.0" + +"@remix-run/router@1.6.2": + version "1.6.2" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.6.2.tgz#bbe75f8c59e0b7077584920ce2cc76f8f354934d" + integrity sha512-LzqpSrMK/3JBAVBI9u3NWtOhWNw5AMQfrUFYB0+bDHTSw17z++WJLsPsxAuK+oSddsxk4d7F/JcdDPM1M5YAhA== -"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba" - integrity sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" +"@scure/base@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" + integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== -"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" +"@substrate/connect-extension-protocol@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@substrate/connect-extension-protocol/-/connect-extension-protocol-1.0.1.tgz#fa5738039586c648013caa6a0c95c43265dbe77d" + integrity sha512-161JhCC1csjH3GE5mPLEd7HbWtwNSPJBg3p1Ksz9SFlTzj/bgEwudiRN2y5i0MoLGCIJRYKyKGMxVnd29PzNjg== -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== +"@substrate/connect@0.7.26": + version "0.7.26" + resolved "https://registry.yarnpkg.com/@substrate/connect/-/connect-0.7.26.tgz#a0ee5180c9cb2f29250d1219a32f7b7e7dea1196" + integrity sha512-uuGSiroGuKWj1+38n1kY5HReer5iL9bRwPCzuoLtqAOmI1fGI0hsSI2LlNQMAbfRgr7VRHXOk5MTuQf5ulsFRw== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@substrate/connect-extension-protocol" "^1.0.1" + eventemitter3 "^4.0.7" + smoldot "1.0.4" + +"@substrate/ss58-registry@^1.40.0": + version "1.40.0" + resolved "https://registry.yarnpkg.com/@substrate/ss58-registry/-/ss58-registry-1.40.0.tgz#2223409c496271df786c1ca8496898896595441e" + integrity sha512-QuU2nBql3J4KCnOWtWDw4n1K4JU0T79j54ZZvm/9nhsX6AIar13FyhsaBfs6QkJ2ixTQAnd7TocJIoJRWbqMZA== + +"@swc/core-darwin-arm64@1.3.62": + version "1.3.62" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.62.tgz#dafb50bf784c6b7b40dce6d8cf0605f6729812cb" + integrity sha512-MmGilibITz68LEje6vJlKzc2gUUSgzvB3wGLSjEORikTNeM7P8jXVxE4A8fgZqDeudJUm9HVWrxCV+pHDSwXhA== + +"@swc/core-darwin-x64@1.3.62": + version "1.3.62" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.62.tgz#324bd144268860338040db64c42c2345fcaaebcf" + integrity sha512-Xl93MMB3sCWVlYWuQIB+v6EQgzoiuQYK5tNt9lsHoIEVu2zLdkQjae+5FUHZb1VYqCXIiWcULFfVz0R4Sjb7JQ== + +"@swc/core-linux-arm-gnueabihf@1.3.62": + version "1.3.62" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.62.tgz#9b5ca188ea3c91827e43e4287bd20ce2a7cb7d81" + integrity sha512-nJsp6O7kCtAjTTMcIjVB0g5y1JNiYAa5q630eiwrnaHUusEFoANDdORI3Z9vXeikMkng+6yIv9/V8Rb093xLjQ== + +"@swc/core-linux-arm64-gnu@1.3.62": + version "1.3.62" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.62.tgz#b208b005223fd9c4c4a12fc0e24070c5e902965f" + integrity sha512-XGsV93vpUAopDt5y6vPwbK1Nc/MlL55L77bAZUPIiosWD1cWWPHNtNSpriE6+I+JiMHe0pqtfS/SSTk6ZkFQVw== + +"@swc/core-linux-arm64-musl@1.3.62": + version "1.3.62" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.62.tgz#bf66add093fa732d3b7f629e00b6ef9bf3c483f2" + integrity sha512-ESUmJjSlTTkoBy9dMG49opcNn8BmviqStMhwyeD1G8XRnmRVCZZgoBOKdvCXmJhw8bQXDhZumeaTUB+OFUKVXg== + +"@swc/core-linux-x64-gnu@1.3.62": + version "1.3.62" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.62.tgz#b97eee374986388b71d87c67d7edb8208356dde2" + integrity sha512-wnHJkt3ZBrax3SFnUHDcncG6mrSg9ZZjMhQV9Mc3JL1x1s1Gy9rGZCoBNnV/BUZWTemxIBcQbANRSDut/WO+9A== + +"@swc/core-linux-x64-musl@1.3.62": + version "1.3.62" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.62.tgz#548ccdef6d7535ee7fea6ec9488322411f10da1a" + integrity sha512-9oRbuTC/VshB66Rgwi3pTq3sPxSTIb8k9L1vJjES+dDMKa29DAjPtWCXG/pyZ00ufpFZgkGEuAHH5uqUcr1JQg== + +"@swc/core-win32-arm64-msvc@1.3.62": + version "1.3.62" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.62.tgz#fc0ca735b23c017fe8ff6f85aa4788ddd1ac583d" + integrity sha512-zv14vlF2VRrxS061XkfzGjCYnOrEo5glKJjLK5PwUKysIoVrx/L8nAbFxjkX5cObdlyoqo+ekelyBPAO+4bS0w== + +"@swc/core-win32-ia32-msvc@1.3.62": + version "1.3.62" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.62.tgz#f8dfbb4f0763d2db5ef420b04da3b5cb73897756" + integrity sha512-8MC/PZQSsOP2iA/81tAfNRqMWyEqTS/8zKUI67vPuLvpx6NAjRn3E9qBv7iFqH79iqZNzqSMo3awnLrKZyFbcw== + +"@swc/core-win32-x64-msvc@1.3.62": + version "1.3.62" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.62.tgz#e661ec99c5ac91f1cd63c02b5f114f73f55e7b15" + integrity sha512-GJSmUJ95HKHZXAxiuPUmrcm/S3ivQvEzXhOZaIqYBIwUsm02vFZkClsV7eIKzWjso1t0+I/8MjrnUNaSWqh1rQ== + +"@swc/core@^1.3.61": + version "1.3.62" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.62.tgz#bc93ede0981ee69fe17d753e1d693ce3afa6c16b" + integrity sha512-J58hWY+/G8vOr4J6ZH9hLg0lMSijZtqIIf4HofZezGog/pVX6sJyBJ40dZ1ploFkDIlWTWvJyqtpesBKS73gkQ== + optionalDependencies: + "@swc/core-darwin-arm64" "1.3.62" + "@swc/core-darwin-x64" "1.3.62" + "@swc/core-linux-arm-gnueabihf" "1.3.62" + "@swc/core-linux-arm64-gnu" "1.3.62" + "@swc/core-linux-arm64-musl" "1.3.62" + "@swc/core-linux-x64-gnu" "1.3.62" + "@swc/core-linux-x64-musl" "1.3.62" + "@swc/core-win32-arm64-msvc" "1.3.62" + "@swc/core-win32-ia32-msvc" "1.3.62" + "@swc/core-win32-x64-msvc" "1.3.62" + +"@types/aos@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/aos/-/aos-3.0.4.tgz#fd0dce430f18d118081aaced2c79c30617b15818" + integrity sha512-mna6Jd6bdK1NpwarLopGvXOgUoCfj0470IwLxuVOFDElTGI0JTd7xSGQ0AjbAEnHErC/b3fA9t2uB3IXVKmckA== -"@babel/plugin-syntax-class-properties@^7.12.1", "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== +"@types/bn.js@^5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" + integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@types/node" "*" -"@babel/plugin-syntax-decorators@^7.12.1": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz#fac829bf3c7ef4a1bc916257b403e58c6bdaf648" - integrity sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +"@types/file-saver@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/file-saver/-/file-saver-2.0.5.tgz#9ee342a5d1314bb0928375424a2f162f97c310c7" + integrity sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ== -"@babel/plugin-syntax-dynamic-import@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" +"@types/json-schema@^7.0.9": + version "7.0.12" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" + integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" +"@types/node@*": + version "20.2.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.2.5.tgz#26d295f3570323b2837d322180dfbf1ba156fefb" + integrity sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ== -"@babel/plugin-syntax-flow@^7.12.1": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz#5df9962503c0a9c918381c929d51d4d6949e7e86" - integrity sha512-J/RYxnlSLXZLVR7wTRsozxKT8qbsx1mNKJzXEEjQ0Kjx1ZACcyHgbanNWNCFtc36IzuWhYWPpvJFFoexoOWFmA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +"@types/prop-types@*": + version "15.7.5" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" + integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== +"@types/react-dom@^18.0.11": + version "18.2.4" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.4.tgz#13f25bfbf4e404d26f62ac6e406591451acba9e0" + integrity sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@types/react" "*" -"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== +"@types/react@*", "@types/react@^18.0.37": + version "18.2.8" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.8.tgz#a77dcffe4e9af148ca4aa8000c51a1e8ed99e2c8" + integrity sha512-lTyWUNrd8ntVkqycEEplasWy2OxNlShj3zqS0LuB1ENUGis5HodmhM7DtCoUGbxj3VW/WsGA0DUhpG6XrM7gPA== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" -"@babel/plugin-syntax-jsx@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15" - integrity sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +"@types/scheduler@*": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" + integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== + +"@types/semver@^7.3.12": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" + integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== + +"@typescript-eslint/eslint-plugin@^5.59.0": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz#2604cfaf2b306e120044f901e20c8ed926debf15" + integrity sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.59.9" + "@typescript-eslint/type-utils" "5.59.9" + "@typescript-eslint/utils" "5.59.9" + debug "^4.3.4" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== +"@typescript-eslint/parser@^5.59.0": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.9.tgz#a85c47ccdd7e285697463da15200f9a8561dd5fa" + integrity sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@typescript-eslint/scope-manager" "5.59.9" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/typescript-estree" "5.59.9" + debug "^4.3.4" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== +"@typescript-eslint/scope-manager@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz#eadce1f2733389cdb58c49770192c0f95470d2f4" + integrity sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/visitor-keys" "5.59.9" -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== +"@typescript-eslint/type-utils@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz#53bfaae2e901e6ac637ab0536d1754dfef4dafc2" + integrity sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@typescript-eslint/typescript-estree" "5.59.9" + "@typescript-eslint/utils" "5.59.9" + debug "^4.3.4" + tsutils "^3.21.0" -"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" +"@typescript-eslint/types@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.9.tgz#3b4e7ae63718ce1b966e0ae620adc4099a6dcc52" + integrity sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw== -"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== +"@typescript-eslint/typescript-estree@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz#6bfea844e468427b5e72034d33c9fffc9557392b" + integrity sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/visitor-keys" "5.59.9" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" -"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" +"@typescript-eslint/utils@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.9.tgz#adee890107b5ffe02cd46fdaa6c2125fb3c6c7c4" + integrity sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.59.9" + "@typescript-eslint/types" "5.59.9" + "@typescript-eslint/typescript-estree" "5.59.9" + eslint-scope "^5.1.1" + semver "^7.3.7" -"@babel/plugin-syntax-top-level-await@^7.12.1", "@babel/plugin-syntax-top-level-await@^7.12.13", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178" - integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ== +"@typescript-eslint/visitor-keys@5.59.9": + version "5.59.9" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz#9f86ef8e95aca30fb5a705bb7430f95fc58b146d" + integrity sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@typescript-eslint/types" "5.59.9" + eslint-visitor-keys "^3.3.0" -"@babel/plugin-syntax-typescript@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474" - integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w== +"@vitejs/plugin-react-swc@^3.0.0": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react-swc/-/plugin-react-swc-3.3.2.tgz#34a82c1728066f48a86dfecb2f15df60f89207fb" + integrity sha512-VJFWY5sfoZerQRvJrh518h3AcQt6f/yTuWn4/TRB+dqmYU0NX1qz7qM5Wfd+gOQqUzQW4gxKqKN3KpE/P3+zrA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@swc/core" "^1.3.61" -"@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz#eda5670b282952100c229f8a3bd49e0f6a72e9fe" - integrity sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -"@babel/plugin-transform-async-to-generator@^7.12.1", "@babel/plugin-transform-async-to-generator@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.13.tgz#fed8c69eebf187a535bfa4ee97a614009b24f7ae" - integrity sha512-psM9QHcHaDr+HZpRuJcE1PXESuGWSCcbiGFFhhwfzdbTxaGDVzuVtdNYliAwcRo3GFg0Bc8MmI+AvIGYIJG04A== - dependencies: - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-remap-async-to-generator" "^7.12.13" - -"@babel/plugin-transform-block-scoped-functions@^7.12.1", "@babel/plugin-transform-block-scoped-functions@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4" - integrity sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +acorn@^8.8.0: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== -"@babel/plugin-transform-block-scoping@^7.12.1", "@babel/plugin-transform-block-scoping@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz#f36e55076d06f41dfd78557ea039c1b581642e61" - integrity sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ== +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + clean-stack "^2.0.0" + indent-string "^4.0.0" -"@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz#9728edc1838b5d62fc93ad830bd523b1fcb0e1f6" - integrity sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA== +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" - globals "^11.1.0" + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" -"@babel/plugin-transform-computed-properties@^7.12.1", "@babel/plugin-transform-computed-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz#6a210647a3d67f21f699cfd2a01333803b27339d" - integrity sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA== +ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + type-fest "^0.21.3" -"@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz#fc56c5176940c5b41735c677124d1d20cecc9aeb" - integrity sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad" - integrity sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== -"@babel/plugin-transform-duplicate-keys@^7.12.1", "@babel/plugin-transform-duplicate-keys@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de" - integrity sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ== +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + color-convert "^1.9.0" -"@babel/plugin-transform-exponentiation-operator@^7.12.1", "@babel/plugin-transform-exponentiation-operator@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1" - integrity sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA== +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + color-convert "^2.0.1" -"@babel/plugin-transform-flow-strip-types@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz#8430decfa7eb2aea5414ed4a3fa6e1652b7d77c4" - integrity sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-flow" "^7.12.1" +ansi-styles@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -"@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz#561ff6d74d9e1c8879cb12dbaf4a14cd29d15cf6" - integrity sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== -"@babel/plugin-transform-function-name@^7.12.1", "@babel/plugin-transform-function-name@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051" - integrity sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ== +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + normalize-path "^3.0.0" + picomatch "^2.0.4" -"@babel/plugin-transform-literals@^7.12.1", "@babel/plugin-transform-literals@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9" - integrity sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ== +aos@^2.3.4: + version "2.3.4" + resolved "https://registry.yarnpkg.com/aos/-/aos-2.3.4.tgz#eb1c29f5c1806a197cf6323080747547edd3db8e" + integrity sha512-zh/ahtR2yME4I51z8IttIt4lC1Nw0ktsFtmeDzID1m9naJnWXhCoARaCgNOGXb5CLy3zm+wqmRAEgMYB5E2HUw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + classlist-polyfill "^1.0.3" + lodash.debounce "^4.0.6" + lodash.throttle "^4.0.1" -"@babel/plugin-transform-member-expression-literals@^7.12.1", "@babel/plugin-transform-member-expression-literals@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40" - integrity sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== -"@babel/plugin-transform-modules-amd@^7.12.1", "@babel/plugin-transform-modules-amd@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.13.tgz#43db16249b274ee2e551e2422090aa1c47692d56" - integrity sha512-JHLOU0o81m5UqG0Ulz/fPC68/v+UTuGTWaZBUwpEk1fYQ1D9LfKV6MPn4ttJKqRo5Lm460fkzjLTL4EHvCprvA== - dependencies: - "@babel/helper-module-transforms" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.12.1", "@babel/plugin-transform-modules-commonjs@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz#5043b870a784a8421fa1fd9136a24f294da13e50" - integrity sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ== - dependencies: - "@babel/helper-module-transforms" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-simple-access" "^7.12.13" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.12.1", "@babel/plugin-transform-modules-systemjs@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz#351937f392c7f07493fc79b2118201d50404a3c5" - integrity sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA== - dependencies: - "@babel/helper-hoist-variables" "^7.12.13" - "@babel/helper-module-transforms" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-validator-identifier" "^7.12.11" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.12.1", "@babel/plugin-transform-modules-umd@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.13.tgz#26c66f161d3456674e344b4b1255de4d530cfb37" - integrity sha512-BgZndyABRML4z6ibpi7Z98m4EVLFI9tVsZDADC14AElFaNHHBcJIovflJ6wtCqFxwy2YJ1tJhGRsr0yLPKoN+w== - dependencies: - "@babel/helper-module-transforms" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1", "@babel/plugin-transform-named-capturing-groups-regex@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9" - integrity sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -"@babel/plugin-transform-new-target@^7.12.1", "@babel/plugin-transform-new-target@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c" - integrity sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -"@babel/plugin-transform-object-super@^7.12.1", "@babel/plugin-transform-object-super@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7" - integrity sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ== +autoprefixer@^10.4.14: + version "10.4.14" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d" + integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" + browserslist "^4.21.5" + caniuse-lite "^1.0.30001464" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" -"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz#461e76dfb63c2dfd327b8a008a9e802818ce9853" - integrity sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA== +"babel-plugin-styled-components@>= 1.12.0": + version "2.1.3" + resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.3.tgz#f5616bee99efca6685e500fe45db87f26cb42ba7" + integrity sha512-jBioLwBVHpOMU4NsueH/ADcHrjS0Y/WTpt2eGVmmuSFNEv2DF3XhcMncuZlbbjxQ4vzxg+yEr6E6TNjrIQbsJQ== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-module-imports" "^7.21.4" + babel-plugin-syntax-jsx "^6.18.0" + lodash "^4.17.21" + picomatch "^2.3.1" -"@babel/plugin-transform-property-literals@^7.12.1", "@babel/plugin-transform-property-literals@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81" - integrity sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +babel-plugin-syntax-jsx@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + integrity sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw== -"@babel/plugin-transform-react-constant-elements@^7.12.1": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.12.13.tgz#f8ee56888545d53d80f766b3cc1563ab2c241f92" - integrity sha512-qmzKVTn46Upvtxv8LQoQ8mTCdUC83AOVQIQm57e9oekLT5cmK9GOMOfcWhe8jMNx4UJXn/UDhVZ/7lGofVNeDQ== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -"@babel/plugin-transform-react-display-name@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz#1cbcd0c3b1d6648c55374a22fc9b6b7e5341c00d" - integrity sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -"@babel/plugin-transform-react-display-name@^7.12.1", "@babel/plugin-transform-react-display-name@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.13.tgz#c28effd771b276f4647411c9733dbb2d2da954bd" - integrity sha512-MprESJzI9O5VnJZrL7gg1MpdqmiFcUv41Jc7SahxYsNP2kDkFqClxxTZq+1Qv4AFCamm+GXMRDQINNn+qrxmiA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== -"@babel/plugin-transform-react-jsx-development@^7.12.1", "@babel/plugin-transform-react-jsx-development@^7.12.12": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz#f510c0fa7cd7234153539f9a362ced41a5ca1447" - integrity sha512-BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ== +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: - "@babel/plugin-transform-react-jsx" "^7.12.17" + balanced-match "^1.0.0" + concat-map "0.0.1" -"@babel/plugin-transform-react-jsx-self@^7.12.1": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.13.tgz#422d99d122d592acab9c35ea22a6cfd9bf189f60" - integrity sha512-FXYw98TTJ125GVCCkFLZXlZ1qGcsYqNQhVBQcZjyrwf8FEUtVfKIoidnO8S0q+KBQpDYNTmiGo1gn67Vti04lQ== +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + fill-range "^7.0.1" -"@babel/plugin-transform-react-jsx-source@^7.12.1": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.13.tgz#051d76126bee5c9a6aa3ba37be2f6c1698856bcb" - integrity sha512-O5JJi6fyfih0WfDgIJXksSPhGP/G0fQpfxYy87sDc+1sFmsCS6wr3aAn+whbzkhbjtq4VMqLRaSzR6IsshIC0Q== +browserslist@^4.21.5: + version "4.21.7" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.7.tgz#e2b420947e5fb0a58e8f4668ae6e23488127e551" + integrity sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + caniuse-lite "^1.0.30001489" + electron-to-chromium "^1.4.411" + node-releases "^2.0.12" + update-browserslist-db "^1.0.11" -"@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.12.13", "@babel/plugin-transform-react-jsx@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.17.tgz#dd2c1299f5e26de584939892de3cfc1807a38f24" - integrity sha512-mwaVNcXV+l6qJOuRhpdTEj8sT/Z0owAVWf9QujTZ0d2ye9X/K+MTOTSizcgKOj18PGnTc/7g1I4+cIUjsKhBcw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-jsx" "^7.12.13" - "@babel/types" "^7.12.17" - -"@babel/plugin-transform-react-pure-annotations@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42" - integrity sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -"@babel/plugin-transform-regenerator@^7.12.1", "@babel/plugin-transform-regenerator@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz#b628bcc9c85260ac1aeb05b45bde25210194a2f5" - integrity sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA== - dependencies: - regenerator-transform "^0.14.2" +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== -"@babel/plugin-transform-reserved-words@^7.12.1", "@babel/plugin-transform-reserved-words@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695" - integrity sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +camelize@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" + integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== -"@babel/plugin-transform-runtime@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz#04b792057eb460389ff6a4198e377614ea1e7ba5" - integrity sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg== - dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - resolve "^1.8.1" - semver "^5.5.1" - -"@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad" - integrity sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001489: + version "1.0.30001495" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001495.tgz#64a0ccef1911a9dcff647115b4430f8eff1ef2d9" + integrity sha512-F6x5IEuigtUfU5ZMQK2jsy5JqUUlEFRVZq8bO2a+ysq5K7jD6PPc9YXZj78xDNS3uNchesp1Jw47YXEqr+Viyg== -"@babel/plugin-transform-spread@^7.12.1", "@babel/plugin-transform-spread@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz#ca0d5645abbd560719c354451b849f14df4a7949" - integrity sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg== +canvas-renderer@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/canvas-renderer/-/canvas-renderer-2.2.1.tgz#c1d131f78a9799aca8af9679ad0a005052b65550" + integrity sha512-RrBgVL5qCEDIXpJ6NrzyRNoTnXxYarqm/cS/W6ERhUJts5UQtt/XPEosGN3rqUkZ4fjBArlnCbsISJ+KCFnIAg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@types/node" "*" -"@babel/plugin-transform-sticky-regex@^7.12.1", "@babel/plugin-transform-sticky-regex@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f" - integrity sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +chalk@5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" + integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== -"@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz#655037b07ebbddaf3b7752f55d15c2fd6f5aa865" - integrity sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg== +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" -"@babel/plugin-transform-typeof-symbol@^7.12.1", "@babel/plugin-transform-typeof-symbol@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f" - integrity sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ== +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + ansi-styles "^4.1.0" + supports-color "^7.1.0" -"@babel/plugin-transform-typescript@^7.12.1": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.17.tgz#4aa6a5041888dd2e5d316ec39212b0cf855211bb" - integrity sha512-1bIYwnhRoetxkFonuZRtDZPFEjl1l5r+3ITkxLC3mlMaFja+GQFo94b/WHEPjqWLU9Bc+W4oFZbvCGe9eYMu1g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.17" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-typescript" "^7.12.13" - -"@babel/plugin-transform-unicode-escapes@^7.12.1", "@babel/plugin-transform-unicode-escapes@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74" - integrity sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw== +chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + 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" + optionalDependencies: + fsevents "~2.3.2" -"@babel/plugin-transform-unicode-regex@^7.12.1", "@babel/plugin-transform-unicode-regex@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac" - integrity sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" +classlist-polyfill@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz#935bc2dfd9458a876b279617514638bcaa964a2e" + integrity sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ== -"@babel/preset-env@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" - integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== - dependencies: - "@babel/compat-data" "^7.12.1" - "@babel/helper-compilation-targets" "^7.12.1" - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-option" "^7.12.1" - "@babel/plugin-proposal-async-generator-functions" "^7.12.1" - "@babel/plugin-proposal-class-properties" "^7.12.1" - "@babel/plugin-proposal-dynamic-import" "^7.12.1" - "@babel/plugin-proposal-export-namespace-from" "^7.12.1" - "@babel/plugin-proposal-json-strings" "^7.12.1" - "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" - "@babel/plugin-proposal-numeric-separator" "^7.12.1" - "@babel/plugin-proposal-object-rest-spread" "^7.12.1" - "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.12.1" - "@babel/plugin-proposal-private-methods" "^7.12.1" - "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.12.1" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.12.1" - "@babel/plugin-transform-arrow-functions" "^7.12.1" - "@babel/plugin-transform-async-to-generator" "^7.12.1" - "@babel/plugin-transform-block-scoped-functions" "^7.12.1" - "@babel/plugin-transform-block-scoping" "^7.12.1" - "@babel/plugin-transform-classes" "^7.12.1" - "@babel/plugin-transform-computed-properties" "^7.12.1" - "@babel/plugin-transform-destructuring" "^7.12.1" - "@babel/plugin-transform-dotall-regex" "^7.12.1" - "@babel/plugin-transform-duplicate-keys" "^7.12.1" - "@babel/plugin-transform-exponentiation-operator" "^7.12.1" - "@babel/plugin-transform-for-of" "^7.12.1" - "@babel/plugin-transform-function-name" "^7.12.1" - "@babel/plugin-transform-literals" "^7.12.1" - "@babel/plugin-transform-member-expression-literals" "^7.12.1" - "@babel/plugin-transform-modules-amd" "^7.12.1" - "@babel/plugin-transform-modules-commonjs" "^7.12.1" - "@babel/plugin-transform-modules-systemjs" "^7.12.1" - "@babel/plugin-transform-modules-umd" "^7.12.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" - "@babel/plugin-transform-new-target" "^7.12.1" - "@babel/plugin-transform-object-super" "^7.12.1" - "@babel/plugin-transform-parameters" "^7.12.1" - "@babel/plugin-transform-property-literals" "^7.12.1" - "@babel/plugin-transform-regenerator" "^7.12.1" - "@babel/plugin-transform-reserved-words" "^7.12.1" - "@babel/plugin-transform-shorthand-properties" "^7.12.1" - "@babel/plugin-transform-spread" "^7.12.1" - "@babel/plugin-transform-sticky-regex" "^7.12.1" - "@babel/plugin-transform-template-literals" "^7.12.1" - "@babel/plugin-transform-typeof-symbol" "^7.12.1" - "@babel/plugin-transform-unicode-escapes" "^7.12.1" - "@babel/plugin-transform-unicode-regex" "^7.12.1" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.12.1" - core-js-compat "^3.6.2" - semver "^5.5.0" - -"@babel/preset-env@^7.12.1", "@babel/preset-env@^7.8.4": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.17.tgz#94a3793ff089c32ee74d76a3c03a7597693ebaaa" - integrity sha512-9PMijx8zFbCwTHrd2P4PJR5nWGH3zWebx2OcpTjqQrHhCiL2ssSR2Sc9ko2BsI2VmVBfoaQmPrlMTCui4LmXQg== - dependencies: - "@babel/compat-data" "^7.12.13" - "@babel/helper-compilation-targets" "^7.12.17" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-validator-option" "^7.12.17" - "@babel/plugin-proposal-async-generator-functions" "^7.12.13" - "@babel/plugin-proposal-class-properties" "^7.12.13" - "@babel/plugin-proposal-dynamic-import" "^7.12.17" - "@babel/plugin-proposal-export-namespace-from" "^7.12.13" - "@babel/plugin-proposal-json-strings" "^7.12.13" - "@babel/plugin-proposal-logical-assignment-operators" "^7.12.13" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.13" - "@babel/plugin-proposal-numeric-separator" "^7.12.13" - "@babel/plugin-proposal-object-rest-spread" "^7.12.13" - "@babel/plugin-proposal-optional-catch-binding" "^7.12.13" - "@babel/plugin-proposal-optional-chaining" "^7.12.17" - "@babel/plugin-proposal-private-methods" "^7.12.13" - "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.12.13" - "@babel/plugin-transform-arrow-functions" "^7.12.13" - "@babel/plugin-transform-async-to-generator" "^7.12.13" - "@babel/plugin-transform-block-scoped-functions" "^7.12.13" - "@babel/plugin-transform-block-scoping" "^7.12.13" - "@babel/plugin-transform-classes" "^7.12.13" - "@babel/plugin-transform-computed-properties" "^7.12.13" - "@babel/plugin-transform-destructuring" "^7.12.13" - "@babel/plugin-transform-dotall-regex" "^7.12.13" - "@babel/plugin-transform-duplicate-keys" "^7.12.13" - "@babel/plugin-transform-exponentiation-operator" "^7.12.13" - "@babel/plugin-transform-for-of" "^7.12.13" - "@babel/plugin-transform-function-name" "^7.12.13" - "@babel/plugin-transform-literals" "^7.12.13" - "@babel/plugin-transform-member-expression-literals" "^7.12.13" - "@babel/plugin-transform-modules-amd" "^7.12.13" - "@babel/plugin-transform-modules-commonjs" "^7.12.13" - "@babel/plugin-transform-modules-systemjs" "^7.12.13" - "@babel/plugin-transform-modules-umd" "^7.12.13" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13" - "@babel/plugin-transform-new-target" "^7.12.13" - "@babel/plugin-transform-object-super" "^7.12.13" - "@babel/plugin-transform-parameters" "^7.12.13" - "@babel/plugin-transform-property-literals" "^7.12.13" - "@babel/plugin-transform-regenerator" "^7.12.13" - "@babel/plugin-transform-reserved-words" "^7.12.13" - "@babel/plugin-transform-shorthand-properties" "^7.12.13" - "@babel/plugin-transform-spread" "^7.12.13" - "@babel/plugin-transform-sticky-regex" "^7.12.13" - "@babel/plugin-transform-template-literals" "^7.12.13" - "@babel/plugin-transform-typeof-symbol" "^7.12.13" - "@babel/plugin-transform-unicode-escapes" "^7.12.13" - "@babel/plugin-transform-unicode-regex" "^7.12.13" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.12.17" - core-js-compat "^3.8.0" - semver "^5.5.0" - -"@babel/preset-modules@^0.1.3": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" - integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -"@babel/preset-react@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.1.tgz#7f022b13f55b6dd82f00f16d1c599ae62985358c" - integrity sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-transform-react-display-name" "^7.12.1" - "@babel/plugin-transform-react-jsx" "^7.12.1" - "@babel/plugin-transform-react-jsx-development" "^7.12.1" - "@babel/plugin-transform-react-jsx-self" "^7.12.1" - "@babel/plugin-transform-react-jsx-source" "^7.12.1" - "@babel/plugin-transform-react-pure-annotations" "^7.12.1" - -"@babel/preset-react@^7.12.5": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.13.tgz#5f911b2eb24277fa686820d5bd81cad9a0602a0a" - integrity sha512-TYM0V9z6Abb6dj1K7i5NrEhA13oS5ujUYQYDfqIBXYHOc2c2VkFgc+q9kyssIyUfy4/hEwqrgSlJ/Qgv8zJLsA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-transform-react-display-name" "^7.12.13" - "@babel/plugin-transform-react-jsx" "^7.12.13" - "@babel/plugin-transform-react-jsx-development" "^7.12.12" - "@babel/plugin-transform-react-pure-annotations" "^7.12.1" - -"@babel/preset-typescript@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz#86480b483bb97f75036e8864fe404cc782cc311b" - integrity sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw== +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-transform-typescript" "^7.12.1" + restore-cursor "^3.1.0" -"@babel/runtime-corejs3@^7.10.2": - version "7.12.18" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.12.18.tgz#e5663237e5658e4c09586995d2dd6d2c8cfd6fc0" - integrity sha512-ngR7yhNTjDxxe1VYmhqQqqXZWujGb6g0IoA4qeG6MxNGRnIw2Zo8ImY8HfaQ7l3T6GklWhdNfyhWk0C0iocdVA== +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== dependencies: - core-js-pure "^3.0.0" - regenerator-runtime "^0.13.4" + slice-ansi "^3.0.0" + string-width "^4.2.0" -"@babel/runtime@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" - integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== +cli-truncate@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" + integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== dependencies: - regenerator-runtime "^0.13.4" + slice-ansi "^5.0.0" + string-width "^5.0.0" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" - integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA== +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: - regenerator-runtime "^0.13.4" + color-name "1.1.3" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": - version "7.12.18" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.18.tgz#af137bd7e7d9705a412b3caaf991fe6aaa97831b" - integrity sha512-BogPQ7ciE6SYAUPtlm9tWbgI9+2AgqSam6QivMgXgAT+fKbgppaj4ZX15MHeLC1PVF5sNk70huBu20XxWOs8Cg== +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: - regenerator-runtime "^0.13.4" + color-name "~1.1.4" -"@babel/runtime@^7.18.9": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" - integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== - dependencies: - regenerator-runtime "^0.13.4" +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== -"@babel/runtime@^7.7.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.6.tgz#6a1ef59f838debd670421f8c7f2cbb8da9751580" - integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ== - dependencies: - regenerator-runtime "^0.13.4" +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -"@babel/runtime@^7.8.7": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz#2e1c2880ca118e5b2f9988322bd8a7656a32502b" - integrity sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA== - dependencies: - regenerator-runtime "^0.13.4" +colord@^2.9.3: + version "2.9.3" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== -"@babel/template@^7.10.4", "@babel/template@^7.12.13", "@babel/template@^7.3.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" - integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/parser" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/template@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.13", "@babel/traverse@^7.12.17", "@babel/traverse@^7.7.0": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.17.tgz#40ec8c7ffb502c4e54c7f95492dc11b88d718619" - integrity sha512-LGkTqDqdiwC6Q7fWSwQoas/oyiEYw6Hqjve5KOSykXkmFJFqzvGMb9niaUEag3Rlve492Mkye3gLw9FTv94fdQ== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.12.17" - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.12.17" - "@babel/types" "^7.12.17" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" +colorette@^2.0.19: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== -"@babel/traverse@^7.14.0", "@babel/traverse@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.2.tgz#9201a8d912723a831c2679c7ebbf2fe1416d765b" - integrity sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.14.2" - "@babel/helper-function-name" "^7.14.2" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.14.2" - "@babel/types" "^7.14.2" - debug "^4.1.0" - globals "^11.1.0" +commander@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== -"@babel/traverse@^7.4.5": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.8.tgz#bab2f2b09a5fe8a8d9cad22cbfe3ba1d126fef9c" - integrity sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.8" - "@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.16.8" - "@babel/types" "^7.16.8" - debug "^4.1.0" - globals "^11.1.0" +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.12.17", "@babel/types@^7.12.6", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.17.tgz#9d711eb807e0934c90b8b1ca0eb1f7230d150963" - integrity sha512-tNMDjcv/4DIcHxErTgwB9q2ZcYyN0sUfgGKUK/mm1FJK7Wz+KstoEekxrl/tBiNDgLK1HGi+sppj1An/1DR4fQ== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - lodash "^4.17.19" - to-fast-properties "^2.0.0" +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -"@babel/types@^7.13.12", "@babel/types@^7.14.0", "@babel/types@^7.14.2", "@babel/types@^7.14.4": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.4.tgz#bfd6980108168593b38b3eb48a24aa026b919bc0" - integrity sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw== +copy-to-clipboard@^3.3.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" + integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== dependencies: - "@babel/helper-validator-identifier" "^7.14.0" - to-fast-properties "^2.0.0" + toggle-selection "^1.0.6" -"@babel/types@^7.16.7", "@babel/types@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" - integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== +cross-fetch@3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.6.tgz#bae05aa31a4da760969756318feeee6e70f15d6c" + integrity sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g== dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" + node-fetch "^2.6.11" -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" -"@commitlint/cli@^17.0.2": - version "17.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.0.2.tgz#57c925fb5f09b8e4a83448d94db291ddf7aa58ee" - integrity sha512-Axe89Js0YzGGd4gxo3JLlF7yIdjOVpG1LbOorGc6PfYF+drBh14PvarSDLzyd2TNqdylUCq9wb9/A88ZjIdyhA== - dependencies: - "@commitlint/format" "^17.0.0" - "@commitlint/lint" "^17.0.0" - "@commitlint/load" "^17.0.0" - "@commitlint/read" "^17.0.0" - "@commitlint/types" "^17.0.0" - execa "^5.0.0" - lodash "^4.17.19" - resolve-from "5.0.0" - resolve-global "1.0.0" - yargs "^17.0.0" - -"@commitlint/config-angular-type-enum@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/config-angular-type-enum/-/config-angular-type-enum-12.1.4.tgz#02f9fd83cb13d1b40b0b2308147059ee0eae1ab5" - integrity sha512-C/F4X0VN56qpVq4HqiY2DuynF3BLtIFxM8Zwf3xvSONHGYVqmYG1cM6qezMxKtTIuy7A5yKK5aeSnaptw+VQgw== - -"@commitlint/config-angular@^12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@commitlint/config-angular/-/config-angular-12.1.4.tgz#960e394994052201c4ded34713092ec4ea44ce97" - integrity sha512-ptJpRjsHe0Cmh6Bm5tnC/RbR9p3/YMsZFhOzLEiv1sn2pBPsTSGIka1eO26XquLcw/0srKCGBNnUFFLO84qGPQ== - dependencies: - "@commitlint/config-angular-type-enum" "^12.1.4" +css-color-keywords@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" + integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg== -"@commitlint/config-conventional@^17.0.2": - version "17.0.2" - resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-17.0.2.tgz#298c9076e25c1e8760f04ee1be8ce43c856a4b72" - integrity sha512-MfP0I/JbxKkzo+HXWB7B3WstGS4BiniotU3d3xQ9gK8cR0DbeZ4MuyGCWF65YDyrcDTS3WlrJ3ndSPA1pqhoPw== +css-to-react-native@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32" + integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ== dependencies: - conventional-changelog-conventionalcommits "^5.0.0" + camelize "^1.0.0" + css-color-keywords "^1.0.0" + postcss-value-parser "^4.0.2" -"@commitlint/config-validator@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.0.0.tgz#49ab09f3ca0ac3449e79ea389cb4942423162ac0" - integrity sha512-78IQjoZWR4kDHp/U5y17euEWzswJpPkA9TDL5F6oZZZaLIEreWzrDZD5PWtM8MsSRl/K2LDU/UrzYju2bKLMpA== - dependencies: - "@commitlint/types" "^17.0.0" - ajv "^6.12.6" +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -"@commitlint/ensure@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.0.0.tgz#781ff5f8870cb98ce4496d5c71649a4cd122a0e0" - integrity sha512-M2hkJnNXvEni59S0QPOnqCKIK52G1XyXBGw51mvh7OXDudCmZ9tZiIPpU882p475Mhx48Ien1MbWjCP1zlyC0A== - dependencies: - "@commitlint/types" "^17.0.0" - lodash "^4.17.19" - -"@commitlint/execute-rule@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.0.0.tgz#186e9261fd36733922ae617497888c4bdb6e5c92" - integrity sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ== - -"@commitlint/format@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.0.0.tgz#2c991ac0df3955fe5d7d4d733967bd17e6cfd9e0" - integrity sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA== - dependencies: - "@commitlint/types" "^17.0.0" - chalk "^4.1.0" +csstype@^3.0.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== -"@commitlint/is-ignored@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.0.0.tgz#64f53517b390689e58aa3c29fbf1e05b7d4fbd65" - integrity sha512-UmacD0XM/wWykgdXn5CEWVS4XGuqzU+ZGvM2hwv85+SXGnIOaG88XHrt81u37ZeVt1riWW+YdOxcJW6+nd5v5w== - dependencies: - "@commitlint/types" "^17.0.0" - semver "7.3.7" +data-uri-to-buffer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" + integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== -"@commitlint/lint@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.0.0.tgz#38ef61e0e977d738f738233fbcdf33a5fc04cf96" - integrity sha512-5FL7VLvGJQby24q0pd4UdM8FNFcL+ER1T/UBf8A9KRL5+QXV1Rkl6Zhcl7+SGpGlVo6Yo0pm6aLW716LVKWLGg== - dependencies: - "@commitlint/is-ignored" "^17.0.0" - "@commitlint/parse" "^17.0.0" - "@commitlint/rules" "^17.0.0" - "@commitlint/types" "^17.0.0" - -"@commitlint/load@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.0.0.tgz#0bbefe6d8b99276714c5ea8ef32de2bd2f082698" - integrity sha512-XaiHF4yWQOPAI0O6wXvk+NYLtJn/Xb7jgZEeKd4C1ZWd7vR7u8z5h0PkWxSr0uLZGQsElGxv3fiZ32C5+q6M8w== - dependencies: - "@commitlint/config-validator" "^17.0.0" - "@commitlint/execute-rule" "^17.0.0" - "@commitlint/resolve-extends" "^17.0.0" - "@commitlint/types" "^17.0.0" - "@types/node" ">=12" - chalk "^4.1.0" - cosmiconfig "^7.0.0" - cosmiconfig-typescript-loader "^2.0.0" - lodash "^4.17.19" - resolve-from "^5.0.0" - typescript "^4.6.4" - -"@commitlint/message@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.0.0.tgz#ae0f8ec6a3e5c8d369792a2c391952c7596cca73" - integrity sha512-LpcwYtN+lBlfZijHUdVr8aNFTVpHjuHI52BnfoV01TF7iSLnia0jttzpLkrLmI8HNQz6Vhr9UrxDWtKZiMGsBw== - -"@commitlint/parse@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.0.0.tgz#6d508a1e2aec76f348a447994f26e9b749c02091" - integrity sha512-cKcpfTIQYDG1ywTIr5AG0RAiLBr1gudqEsmAGCTtj8ffDChbBRxm6xXs2nv7GvmJN7msOt7vOKleLvcMmRa1+A== - dependencies: - "@commitlint/types" "^17.0.0" - conventional-changelog-angular "^5.0.11" - conventional-commits-parser "^3.2.2" - -"@commitlint/read@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.0.0.tgz#8ab01cf2f27350d8f81f21690962679a7cae5abf" - integrity sha512-zkuOdZayKX3J6F6mPnVMzohK3OBrsEdOByIqp4zQjA9VLw1hMsDEFQ18rKgUc2adkZar+4S01QrFreDCfZgbxA== - dependencies: - "@commitlint/top-level" "^17.0.0" - "@commitlint/types" "^17.0.0" - fs-extra "^10.0.0" - git-raw-commits "^2.0.0" - -"@commitlint/resolve-extends@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.0.0.tgz#3a40ee08184b984acf475ebc962641f435e3a639" - integrity sha512-wi60WiJmwaQ7lzMXK8Vbc18Hq9tE2j/6iv2AFfPUGV7fvfY6Sf1iNKuUHirSqR0fquUyufIXe4y/K9A6LVIIvw== - dependencies: - "@commitlint/config-validator" "^17.0.0" - "@commitlint/types" "^17.0.0" - import-fresh "^3.0.0" - lodash "^4.17.19" - resolve-from "^5.0.0" - resolve-global "^1.0.0" - -"@commitlint/rules@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.0.0.tgz#4eecc5d28cabbc5f3f73838fb02592b551f9bf62" - integrity sha512-45nIy3dERKXWpnwX9HeBzK5SepHwlDxdGBfmedXhL30fmFCkJOdxHyOJsh0+B0RaVsLGT01NELpfzJUmtpDwdQ== - dependencies: - "@commitlint/ensure" "^17.0.0" - "@commitlint/message" "^17.0.0" - "@commitlint/to-lines" "^17.0.0" - "@commitlint/types" "^17.0.0" - execa "^5.0.0" - -"@commitlint/to-lines@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-17.0.0.tgz#5766895836b8085b099a098482f88a03f070b411" - integrity sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ== - -"@commitlint/top-level@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-17.0.0.tgz#ebd0df4c703c026c2fbdc20fa746836334f4ed15" - integrity sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ== +debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: - find-up "^5.0.0" + ms "2.1.2" -"@commitlint/types@^17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.0.0.tgz#3b4604c1a0f06c340ce976e6c6903d4f56e3e690" - integrity sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ== - dependencies: - chalk "^4.1.0" +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -"@craco/craco@^6.1.2": - version "6.1.2" - resolved "https://registry.yarnpkg.com/@craco/craco/-/craco-6.1.2.tgz#30e45288e4609ac6b8cf828085b34acebdc60e69" - integrity sha512-GlQZn+g+yNlaDvIL5m6mcCoBGyFDwO4kkNx3fNFf98wuldkdWyBFoQbtOFOIb4gvkTh4VntOOxtJEoZfKs7XXw== - dependencies: - cross-spawn "^7.0.0" - lodash "^4.17.15" - semver "^7.3.2" - webpack-merge "^4.2.2" +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@csstools/convert-colors@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" - integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== - -"@csstools/normalize.css@^10.1.0": - version "10.1.0" - resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18" - integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg== - -"@ctrl/tinycolor@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz#c3c5ae543c897caa9c2a68630bed355be5f9990f" - integrity sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ== - -"@darwinia/api-augment@^2.8.9": - version "2.8.9" - resolved "https://registry.yarnpkg.com/@darwinia/api-augment/-/api-augment-2.8.9.tgz#8071fdb58645648203be732750d9391a0cc21a4c" - integrity sha512-YJ7iCMuDilCxm8XywQJ93HghSE1ajvj9SdOee4Bo7eysTEoaof4a7+BSU21tWeHeyMUNU1m7ORVeEKlwyCK4WA== - -"@darwinia/api-derive@^2.8.9": - version "2.8.9" - resolved "https://registry.yarnpkg.com/@darwinia/api-derive/-/api-derive-2.8.9.tgz#fdca015278eb86f8a21a869728e055eaef13fecb" - integrity sha512-gluY3hH/FrmfAJPeLYrIhQGBRdgSm9/SCLrkxYSyRVD47dv3OjNgW/esfXetqiHG/8zn7sxephWKMGrTqvgAmg== - -"@darwinia/lints@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@darwinia/lints/-/lints-1.0.1.tgz#697160945adc2a42b9a004dcf60830f97d7bc9ea" - integrity sha512-rZVCTFDkLao3BYg3RLSQleFMbrABeIr2iAh3h3DWZtkJfXip3J9ryFEUPTuJwJKDIh/jzaPCgyZ/RKqNLAj+kg== + path-type "^4.0.0" -"@darwinia/rpc-augment@^2.8.9": - version "2.8.9" - resolved "https://registry.yarnpkg.com/@darwinia/rpc-augment/-/rpc-augment-2.8.9.tgz#080a95dfdc0178b9437cf508e487be2052996a87" - integrity sha512-1Ts02u0pUckSFLRILO2WxUlHx8OEIMhliypP4hGUqQ8RjTfAN0dQufBAJklmp8POzOm/tz8WSP1e2sildHe2kA== +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== -"@darwinia/types-augment@^2.8.9": - version "2.8.9" - resolved "https://registry.yarnpkg.com/@darwinia/types-augment/-/types-augment-2.8.9.tgz#b86343c626ec1256cba6d8c17451d51f64a5446f" - integrity sha512-/bGtU4hpo55vN1Gof1YzkOCRqsdXnI/eKrE3wiZjWWkg3Wm41L9lEVUCxicPen4FhQoj6rPIzZz0QMfdB353Aw== +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" -"@darwinia/types-known@^2.8.9": - version "2.8.9" - resolved "https://registry.yarnpkg.com/@darwinia/types-known/-/types-known-2.8.9.tgz#8ba61adbdeb00ea93b6ef149493664e970205f2b" - integrity sha512-+AhgJZZUci47stlt7K6Rx9MuNgJwimp+1bgrZy6PaYR+7t1BLZXTe7lJTKjLbGZQQiuwI3ZuyaXB3rNeZfQ1hQ== +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== -"@darwinia/types@^2.8.9": - version "2.8.9" - resolved "https://registry.yarnpkg.com/@darwinia/types/-/types-2.8.9.tgz#06e497b2de3060b4a33de223ccd7233a64be98a8" - integrity sha512-CNYpvs17R212j5ic9Sq9xIqZc9lawR4jIr2Z/MSIA0RH07A/zJZNdtUh+ijmUIfDGlOgz5oEn2CLwn693toWiA== +electron-to-chromium@^1.4.411: + version "1.4.421" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.421.tgz#2b8c0ef98ba00d4aef4c664933d570922da52161" + integrity sha512-wZOyn3s/aQOtLGAwXMZfteQPN68kgls2wDAnYOA8kCjBvKVrW5RwmWVspxJYTqrcN7Y263XJVsC66VCIGzDO3g== -"@emotion/is-prop-valid@^1.1.0": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.1.2.tgz#34ad6e98e871aa6f7a20469b602911b8b11b3a95" - integrity sha512-3QnhqeL+WW88YjYbQL5gUIkthuMw7a0NGbZ7wfFVk2kg/CK5w8w5FFa0RzWjyY1+sujN0NWbtSHH6OJmWHtJpQ== - dependencies: - "@emotion/memoize" "^0.7.4" +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -"@emotion/memoize@^0.7.4": - version "0.7.5" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.5.tgz#2c40f81449a4e554e9fc6396910ed4843ec2be50" - integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -"@emotion/stylis@^0.8.4": - version "0.8.5" - resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" - integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ== +esbuild@^0.17.5: + version "0.17.19" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955" + integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== + optionalDependencies: + "@esbuild/android-arm" "0.17.19" + "@esbuild/android-arm64" "0.17.19" + "@esbuild/android-x64" "0.17.19" + "@esbuild/darwin-arm64" "0.17.19" + "@esbuild/darwin-x64" "0.17.19" + "@esbuild/freebsd-arm64" "0.17.19" + "@esbuild/freebsd-x64" "0.17.19" + "@esbuild/linux-arm" "0.17.19" + "@esbuild/linux-arm64" "0.17.19" + "@esbuild/linux-ia32" "0.17.19" + "@esbuild/linux-loong64" "0.17.19" + "@esbuild/linux-mips64el" "0.17.19" + "@esbuild/linux-ppc64" "0.17.19" + "@esbuild/linux-riscv64" "0.17.19" + "@esbuild/linux-s390x" "0.17.19" + "@esbuild/linux-x64" "0.17.19" + "@esbuild/netbsd-x64" "0.17.19" + "@esbuild/openbsd-x64" "0.17.19" + "@esbuild/sunos-x64" "0.17.19" + "@esbuild/win32-arm64" "0.17.19" + "@esbuild/win32-ia32" "0.17.19" + "@esbuild/win32-x64" "0.17.19" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -"@emotion/unitless@^0.7.4": - version "0.7.5" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" - integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -"@es-joy/jsdoccomment@^0.8.0-alpha.2": - version "0.8.0-alpha.2" - resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.8.0-alpha.2.tgz#78585147d8e6231270374dae528fe5b7b5587b5a" - integrity sha512-fjRY13Bh8sxDZkzO27U2R9L6xFqkh5fAbHuMGvGLXLfrTes8nTTMyOi6wIPt+CG0XPAxEUge8cDjhG+0aag6ew== - dependencies: - comment-parser "^1.1.5" - esquery "^1.4.0" - jsdoc-type-pratt-parser "1.0.0-alpha.23" +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -"@eslint/eslintrc@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" - integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - lodash "^4.17.20" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" +eslint-config-prettier@^8.8.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348" + integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== -"@eslint/eslintrc@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179" - integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== - 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" +eslint-plugin-react-hooks@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== -"@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.0.tgz#feb96fb154da41ee2cc2c5df667621a440f36348" - integrity sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.1.3" +eslint-plugin-react-refresh@^0.3.4: + version "0.3.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz#0121e3f05f940250d3544bfaeff52e1c6adf4117" + integrity sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA== -"@ethereumjs/tx@^3.3.2": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.4.0.tgz#7eb1947eefa55eb9cf05b3ca116fb7a3dbd0bce7" - integrity sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw== +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: - "@ethereumjs/common" "^2.6.0" - ethereumjs-util "^7.1.3" + esrecurse "^4.3.0" + estraverse "^4.1.1" -"@ethersproject/abi@5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.7.tgz#79e52452bd3ca2956d0e1c964207a58ad1a0ee7b" - integrity sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw== - 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" - -"@ethersproject/abstract-provider@^5.5.0": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz#2f1f6e8a3ab7d378d8ad0b5718460f85649710c5" - integrity sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg== - dependencies: - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/networks" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/transactions" "^5.5.0" - "@ethersproject/web" "^5.5.0" - -"@ethersproject/abstract-signer@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz#590ff6693370c60ae376bf1c7ada59eb2a8dd08d" - integrity sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA== +eslint-scope@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" + integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== dependencies: - "@ethersproject/abstract-provider" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" + esrecurse "^4.3.0" + estraverse "^5.2.0" -"@ethersproject/address@^5.0.4", "@ethersproject/address@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.5.0.tgz#bcc6f576a553f21f3dd7ba17248f81b473c9c78f" - integrity sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw== - dependencies: - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/rlp" "^5.5.0" - -"@ethersproject/base64@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.5.0.tgz#881e8544e47ed976930836986e5eb8fab259c090" - integrity sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA== - dependencies: - "@ethersproject/bytes" "^5.5.0" - -"@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.5.0.tgz#875b143f04a216f4f8b96245bde942d42d279527" - integrity sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - bn.js "^4.11.9" - -"@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.5.0.tgz#cb11c526de657e7b45d2e0f0246fb3b9d29a601c" - integrity sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog== - dependencies: - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.5.0.tgz#d2a2cd7d94bd1d58377d1d66c4f53c9be4d0a45e" - integrity sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ== - dependencies: - "@ethersproject/bignumber" "^5.5.0" - -"@ethersproject/hash@^5.0.4": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.5.0.tgz#7cee76d08f88d1873574c849e0207dcb32380cc9" - integrity sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg== - dependencies: - "@ethersproject/abstract-signer" "^5.5.0" - "@ethersproject/address" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - -"@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.5.0.tgz#e4b1f9d7701da87c564ffe336f86dcee82983492" - integrity sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg== - dependencies: - "@ethersproject/bytes" "^5.5.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.5.0.tgz#0c2caebeff98e10aefa5aef27d7441c7fd18cf5d" - integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== - -"@ethersproject/networks@^5.5.0": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.5.2.tgz#784c8b1283cd2a931114ab428dae1bd00c07630b" - integrity sha512-NEqPxbGBfy6O3x4ZTISb90SjEDkWYDUbEeIFhJly0F7sZjoQMnj5KYzMSkMkLKZ+1fGpx00EDpHQCy6PrDupkQ== - dependencies: - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.5.0.tgz#61f00f2bb83376d2071baab02245f92070c59995" - integrity sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA== - dependencies: - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/rlp@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.5.0.tgz#530f4f608f9ca9d4f89c24ab95db58ab56ab99a0" - integrity sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/signing-key@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.5.0.tgz#2aa37169ce7e01e3e80f2c14325f624c29cedbe0" - integrity sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - bn.js "^4.11.9" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.5.0.tgz#e6784d00ec6c57710755699003bc747e98c5d549" - integrity sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.5.0.tgz#7e9bf72e97bcdf69db34fe0d59e2f4203c7a2908" - integrity sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA== - dependencies: - "@ethersproject/address" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/rlp" "^5.5.0" - "@ethersproject/signing-key" "^5.5.0" - -"@ethersproject/web@^5.5.0": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.5.1.tgz#cfcc4a074a6936c657878ac58917a61341681316" - integrity sha512-olvLvc1CB12sREc1ROPSHTdFCdvMh0J5GSJYiQg2D0hdD4QmJDy8QYDb1CvoqD/bF1c++aeKv2sR5uduuG9dQg== - dependencies: - "@ethersproject/base64" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - -"@fontsource/ibm-plex-sans@^4.5.2": - version "4.5.2" - resolved "https://registry.yarnpkg.com/@fontsource/ibm-plex-sans/-/ibm-plex-sans-4.5.2.tgz#6d553cca9cceee138d98c98d4dfd3871339221f7" - integrity sha512-1mL4SLmSlzrsOCkNl7y7o/hQqX5Xf0GfATJXZe0y0NkmyLA1Gq/52gzeC2H2kFtwtNCj2MTSbSYdLYOFykWXjA== - -"@fullhuman/postcss-purgecss@^3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@fullhuman/postcss-purgecss/-/postcss-purgecss-3.1.3.tgz#47af7b87c9bfb3de4bc94a38f875b928fffdf339" - integrity sha512-kwOXw8fZ0Lt1QmeOOrd+o4Ibvp4UTEBFQbzvWldjlKv5n+G9sXfIPn1hh63IQIL8K8vbvv1oYMJiIUbuy9bGaA== - dependencies: - purgecss "^3.1.3" - -"@graphql-typed-document-node/core@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.1.tgz#076d78ce99822258cf813ecc1e7fa460fa74d052" - integrity sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg== - -"@hapi/address@2.x.x": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" - integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== - -"@hapi/bourne@1.x.x": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" - integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== - -"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": - version "8.5.1" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" - integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== - -"@hapi/joi@^15.1.0": - version "15.1.1" - resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" - integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== - dependencies: - "@hapi/address" "2.x.x" - "@hapi/bourne" "1.x.x" - "@hapi/hoek" "8.x.x" - "@hapi/topo" "3.x.x" - -"@hapi/topo@3.x.x": - version "3.1.6" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" - integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== - dependencies: - "@hapi/hoek" "^8.3.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" - slash "^3.0.0" - -"@jest/core@^26.6.0", "@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.6.0", "@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== - dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== - dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.6.0", "@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^26.6.0", "@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" - integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.13" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" - integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@metamask/contract-metadata@^1.28.0": - version "1.28.0" - resolved "https://registry.yarnpkg.com/@metamask/contract-metadata/-/contract-metadata-1.28.0.tgz#76796f5010aa4aa6d28bf6fe36392017cea687cb" - integrity sha512-QZj6Y1nmSs9BHufBS1GSuPX5TVFa5gbtMhEo/KRuSdKyY43OdlbBKuyT36/l5p30krlzfMX8bN0MAWqw3g0Bog== - -"@metamask/jazzicon@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@metamask/jazzicon/-/jazzicon-2.0.0.tgz#5615528e91c0fc5c9d79202d1f0954a7922525a0" - integrity sha512-7M+WSZWKcQAo0LEhErKf1z+D3YX0tEDAcGvcKbDyvDg34uvgeKR00mFNIYwAhdAS9t8YXxhxZgsrRBBg6X8UQg== - dependencies: - color "^0.11.3" - mersenne-twister "^1.1.0" - -"@noble/hashes@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183" - integrity sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA== - -"@noble/secp256k1@1.6.3": - version "1.6.3" - resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.6.3.tgz#7eed12d9f4404b416999d0c87686836c4c5c9b94" - integrity sha512-T04e4iTurVy7I8Sw4+c5OSN9/RkPlo1uKxAomtxQNLq8j1uPAqnsqG1bqvY3Jv7c13gyr6dui0zmh/I3+f/JaQ== - -"@nodelib/fs.scandir@2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" - integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== - dependencies: - "@nodelib/fs.stat" "2.0.4" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" - integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" - integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== - dependencies: - "@nodelib/fs.scandir" "2.1.4" - fastq "^1.6.0" - -"@npmcli/move-file@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - -"@open-wc/webpack-import-meta-loader@^0.4.7": - version "0.4.7" - resolved "https://registry.yarnpkg.com/@open-wc/webpack-import-meta-loader/-/webpack-import-meta-loader-0.4.7.tgz#d8212640a386a66bf06a2a4c101936467839b5a1" - integrity sha512-F3d1EHRckk2+ZpgEEAgVITp8BU9DYLBhKOhNMREeQ1BwILRIhrt+V1bebpnd0Mz595jzd7Yh1wSibLsXibkCpg== - -"@pmmmwh/react-refresh-webpack-plugin@0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz#1eec460596d200c0236bf195b078a5d1df89b766" - integrity sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ== - dependencies: - ansi-html "^0.0.7" - error-stack-parser "^2.0.6" - html-entities "^1.2.1" - native-url "^0.2.6" - schema-utils "^2.6.5" - source-map "^0.7.3" - -"@polkadot/api-augment@9.3.3": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-9.3.3.tgz#417ec6f5bc511ce0a58e67d7731ca6a5359cfce1" - integrity sha512-usO5G2lDjzmwrPCgpe9IS5J2gddrDfeuWECc9/ruw35/ag4x8uZkiViC9762pF9fu9ZzNfSrk2QRnVGRcbG1ZQ== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/api-base" "9.3.3" - "@polkadot/rpc-augment" "9.3.3" - "@polkadot/types" "9.3.3" - "@polkadot/types-augment" "9.3.3" - "@polkadot/types-codec" "9.3.3" - "@polkadot/util" "^10.1.7" - -"@polkadot/api-base@9.3.3": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-9.3.3.tgz#199de102d615e0042a8a673078a6a03c7a35d134" - integrity sha512-MFjcdwNyqKxoWkqSJRkMtaQogFxsCW6HBVowT0lUrQ2WzTLBWQqi7DcC/0RsRQXXN/SsUwczi3g9b12wqLZLhg== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/rpc-core" "9.3.3" - "@polkadot/types" "9.3.3" - "@polkadot/util" "^10.1.7" - rxjs "^7.5.6" - -"@polkadot/api-derive@9.3.3": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-9.3.3.tgz#a5f73d08d9273e2c7e461cf2819e7e76a5a26f3a" - integrity sha512-UiIEKJ0YttgrAqikK/sH0CxedZMijoM33Fuyr4mNWe7srb5MewoABdnwzUMmRVDLjrKA18gtOfSNhqEDliRYGw== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/api" "9.3.3" - "@polkadot/api-augment" "9.3.3" - "@polkadot/api-base" "9.3.3" - "@polkadot/rpc-core" "9.3.3" - "@polkadot/types" "9.3.3" - "@polkadot/types-codec" "9.3.3" - "@polkadot/util" "^10.1.7" - "@polkadot/util-crypto" "^10.1.7" - rxjs "^7.5.6" - -"@polkadot/api@9.3.3", "@polkadot/api@^9.3.3": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-9.3.3.tgz#23b5d064d564d155441d8e6e347d0b5abaaf9716" - integrity sha512-esOfwnKS/6JRL0C8TDqYn4GC9GkWp8vTdKIWLuncW2jEtiJLYccb5IVngfOQImVrqAQoV1hJdLnj9X6k+tGqQQ== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/api-augment" "9.3.3" - "@polkadot/api-base" "9.3.3" - "@polkadot/api-derive" "9.3.3" - "@polkadot/keyring" "^10.1.7" - "@polkadot/rpc-augment" "9.3.3" - "@polkadot/rpc-core" "9.3.3" - "@polkadot/rpc-provider" "9.3.3" - "@polkadot/types" "9.3.3" - "@polkadot/types-augment" "9.3.3" - "@polkadot/types-codec" "9.3.3" - "@polkadot/types-create" "9.3.3" - "@polkadot/types-known" "9.3.3" - "@polkadot/util" "^10.1.7" - "@polkadot/util-crypto" "^10.1.7" - eventemitter3 "^4.0.7" - rxjs "^7.5.6" - -"@polkadot/extension-dapp@^0.44.6": - version "0.44.6" - resolved "https://registry.yarnpkg.com/@polkadot/extension-dapp/-/extension-dapp-0.44.6.tgz#1392293a4e97335b768b7fd216c881e67c111abd" - integrity sha512-PKpc50df5dzAdYp/Btr46hdAdsUatoEInp8sc4HvIrIFDHXHcFq6I73pPDeq627SxkZjBiRGVpks8KOl9b6x6A== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/extension-inject" "^0.44.6" - "@polkadot/util" "^10.1.5" - "@polkadot/util-crypto" "^10.1.5" - -"@polkadot/extension-inject@^0.44.6": - version "0.44.6" - resolved "https://registry.yarnpkg.com/@polkadot/extension-inject/-/extension-inject-0.44.6.tgz#7a9eace02af85f3a4097ed7c893467d4a401ef3d" - integrity sha512-IX9KS0lFsCxRbctEy14ecDYCaJHXGyJ1oJC8OMhrkI3aKYgkTAAcZhMKkGWPpra9ld8G9oma6MLnO6A8Xl1ARQ== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/rpc-provider" "^9.2.3" - "@polkadot/types" "^9.2.3" - "@polkadot/util" "^10.1.5" - "@polkadot/util-crypto" "^10.1.5" - "@polkadot/x-global" "^10.1.5" - -"@polkadot/keyring@^10.1.7": - version "10.1.7" - resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-10.1.7.tgz#d51be1dc5807c961889847d8f0e10e4bbdd19d3f" - integrity sha512-lArwaAS3hDs+HHupDIC4r2mFaAfmNQV2YzwL2wM5zhOqB2RugN03BFrgwNll0y9/Bg8rYDqM3Y5BvVMzgMZ6XA== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/util" "10.1.7" - "@polkadot/util-crypto" "10.1.7" - -"@polkadot/networks@10.1.7", "@polkadot/networks@^10.1.7": - version "10.1.7" - resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-10.1.7.tgz#33b38d70409e2daf0990ef18ff150c6718ffb700" - integrity sha512-ol864SZ/GwAF72GQOPRy+Y9r6NtgJJjMBlDLESvV5VK64eEB0MRSSyiOdd7y/4SumR9crrrNimx3ynACFgxZ8A== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/util" "10.1.7" - "@substrate/ss58-registry" "^1.28.0" - -"@polkadot/react-identicon@^2.9.8": - version "2.9.8" - resolved "https://registry.yarnpkg.com/@polkadot/react-identicon/-/react-identicon-2.9.8.tgz#bb7dabf4400db7e69c751dee456efc2d7a37d368" - integrity sha512-HUwtuhOdpJ3LriLZ6oupk3nYN62n9+y65P7eXcL7qf5+gTKE+sn7Py+y2ZyOQn2kG4wTwMwtAbWCNDuvnPj52A== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/keyring" "^10.1.7" - "@polkadot/ui-settings" "2.9.8" - "@polkadot/ui-shared" "2.9.8" - "@polkadot/util" "^10.1.7" - "@polkadot/util-crypto" "^10.1.7" - color "^3.2.1" - ethereum-blockies-base64 "^1.0.2" - jdenticon "3.1.1" - react-copy-to-clipboard "^5.1.0" - styled-components "^5.3.5" - -"@polkadot/rpc-augment@9.3.3": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-9.3.3.tgz#9977710e070f0b6567417e25b6948659e26994ef" - integrity sha512-xU+Fc1gm3C0CvFl2+38LN5qAdyw4ECSj2qxTymro6jqnHxpiyCvRtMg5Grl3MzREVFwhthg80W19jT1hjdPhyg== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/rpc-core" "9.3.3" - "@polkadot/types" "9.3.3" - "@polkadot/types-codec" "9.3.3" - "@polkadot/util" "^10.1.7" - -"@polkadot/rpc-core@9.3.3": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-9.3.3.tgz#04182b108fe91fc0d04883640609f5ba7a64f7cb" - integrity sha512-KMT98HeYt6IpFvTRKWhFkHxQvGhuVIT0gyOjvT+hmuDQqt3k3bcgoQSR7218uD51NNYhnZJpjAKl3LTJz2Fdgg== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/rpc-augment" "9.3.3" - "@polkadot/rpc-provider" "9.3.3" - "@polkadot/types" "9.3.3" - "@polkadot/util" "^10.1.7" - rxjs "^7.5.6" - -"@polkadot/rpc-provider@9.3.3", "@polkadot/rpc-provider@^9.2.3": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-9.3.3.tgz#8da6e4aa152aa4ec6163012c662294cd0916f7ff" - integrity sha512-A5eX5WfG5JeYXUNRBOEGtSqvmQN6jqbrAmXkufSWYvGb/1Ip2l/9oHuUjswGLdpaWfOkpVkClyCXIFtWx06XNw== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/keyring" "^10.1.7" - "@polkadot/types" "9.3.3" - "@polkadot/types-support" "9.3.3" - "@polkadot/util" "^10.1.7" - "@polkadot/util-crypto" "^10.1.7" - "@polkadot/x-fetch" "^10.1.7" - "@polkadot/x-global" "^10.1.7" - "@polkadot/x-ws" "^10.1.7" - "@substrate/connect" "0.7.11" - eventemitter3 "^4.0.7" - mock-socket "^9.1.5" - nock "^13.2.9" - -"@polkadot/types-augment@9.3.3": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-9.3.3.tgz#471cab22ceeff4ec5de9a37d7aeaf7b2da10f789" - integrity sha512-XAhyX5DEYnsMunpoU1podjm5ODosTmMwwpNcUK95ALcyzkpstyWIjUW3JhaEOzIshsYmJUNxM7/cSI4jv/VLAg== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/types" "9.3.3" - "@polkadot/types-codec" "9.3.3" - "@polkadot/util" "^10.1.7" - -"@polkadot/types-codec@9.3.3": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-9.3.3.tgz#c0f98f189ede94604757ba6f6c8ba97e775faccc" - integrity sha512-DiSGZ/pwZO0huS4CnyI0Z4nsvKSFUAjjcVQ7lt1BqCRcUFoIZtYQgzXftia1kSXnJs4J13PMcFTfQZeTDnp4Sg== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/util" "^10.1.7" - "@polkadot/x-bigint" "^10.1.7" - -"@polkadot/types-create@9.3.3": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-9.3.3.tgz#066562ec68f2967b68f016b05a0b05df7d8e2d68" - integrity sha512-LRS5sWYtPyXZ8AC7j9foFQQzYhay2q4YnXD9Hfz2ULrjtpjdUgR0hP3GpBKfxDnlWESpzGjegSAIDs+z/sKnfA== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/types-codec" "9.3.3" - "@polkadot/util" "^10.1.7" - -"@polkadot/types-known@9.3.3": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-9.3.3.tgz#483f6e0ed45a34e1acd91e5ed23b7d2871d2fe6b" - integrity sha512-TcDGzHpPZdMxrywLHTbjaHaFRdJdFaL5QGpvcSeDwAGHz7zU6Aq29AT9HwJ8GrBNihLALUj79S1/D2WfmJuXFA== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/networks" "^10.1.7" - "@polkadot/types" "9.3.3" - "@polkadot/types-codec" "9.3.3" - "@polkadot/types-create" "9.3.3" - "@polkadot/util" "^10.1.7" - -"@polkadot/types-support@9.3.3": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-9.3.3.tgz#f5439b02ed86c1545891286bd6b5818161654a56" - integrity sha512-KJeL3bBc8XEIDuUFjYLBunAvMkVi8LXdln4V1FPHEt6OgXkbqJlc9KAwgrPUaV1+Ki0LIBDDYKtUiMG3c9Ip+g== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/util" "^10.1.7" - -"@polkadot/types@9.3.3", "@polkadot/types@^9.2.3": - version "9.3.3" - resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-9.3.3.tgz#f918d2582e907bf4e3382bf3e4dfcf1a61a730de" - integrity sha512-By7VC9erdsJCDR9DNtgSuWSrKeLpJ7tnStS8Ii31LW1ueYDWCx1CO28fogq4UYf53pMbhNCWDGPFk1ZZn8ZchA== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/keyring" "^10.1.7" - "@polkadot/types-augment" "9.3.3" - "@polkadot/types-codec" "9.3.3" - "@polkadot/types-create" "9.3.3" - "@polkadot/util" "^10.1.7" - "@polkadot/util-crypto" "^10.1.7" - rxjs "^7.5.6" - -"@polkadot/ui-keyring@^2.9.8": - version "2.9.8" - resolved "https://registry.yarnpkg.com/@polkadot/ui-keyring/-/ui-keyring-2.9.8.tgz#f3fa577de316b4f51852e7fe74d269e468d1e2f8" - integrity sha512-ITqurZpvYm1Ozg3uWdneoOqBgEW3IsM4dD8GAzems+8assn3Jwrz6ZIGO1LT5cP11dsyK+EfJjfIgJ6ST+GL7g== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/keyring" "^10.1.7" - "@polkadot/ui-settings" "2.9.8" - "@polkadot/util" "^10.1.7" - "@polkadot/util-crypto" "^10.1.7" - mkdirp "^1.0.4" - rxjs "^7.5.6" - store "^2.0.12" - -"@polkadot/ui-settings@2.9.8": - version "2.9.8" - resolved "https://registry.yarnpkg.com/@polkadot/ui-settings/-/ui-settings-2.9.8.tgz#fb1564f85a92394f75d75e01ea835ad68e47cc89" - integrity sha512-9tDCNgqujjP/nxBuN6MgI3xZH159UbjHYoY95Gp3ZQBGqfoXwuVyPuA89o4mKdzEWEGA0fhuBbE9jkY+DgEplA== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/networks" "^10.1.7" - "@polkadot/util" "^10.1.7" - eventemitter3 "^4.0.7" - store "^2.0.12" - -"@polkadot/ui-shared@2.9.8": - version "2.9.8" - resolved "https://registry.yarnpkg.com/@polkadot/ui-shared/-/ui-shared-2.9.8.tgz#0871ce60570751b792489d918530464530fbdeac" - integrity sha512-Xu1MloM433ucoPp8GhZBgFmTxAg1Tuf+XyACiK+K/D+jHabQyDTAcQDCObSR6GLMFXrk6QmaAPAaFZRAj1n9zA== - dependencies: - "@babel/runtime" "^7.18.9" - color "^3.2.1" - -"@polkadot/util-crypto@10.1.7", "@polkadot/util-crypto@^10.1.5", "@polkadot/util-crypto@^10.1.7": - version "10.1.7" - resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-10.1.7.tgz#fe5ea006bf23ae19319f3ac9236905a984a65e2f" - integrity sha512-zGmSU7a0wdWfpDtfc+Q7fUuW+extu9o1Uh4JpkuwwZ/dxmyW5xlfqVsIScM1pdPyjJsyamX8KwsKiVsW4slasg== - dependencies: - "@babel/runtime" "^7.18.9" - "@noble/hashes" "1.1.2" - "@noble/secp256k1" "1.6.3" - "@polkadot/networks" "10.1.7" - "@polkadot/util" "10.1.7" - "@polkadot/wasm-crypto" "^6.3.1" - "@polkadot/x-bigint" "10.1.7" - "@polkadot/x-randomvalues" "10.1.7" - "@scure/base" "1.1.1" - ed2curve "^0.3.0" - tweetnacl "^1.0.3" - -"@polkadot/util@10.1.7", "@polkadot/util@^10.1.5", "@polkadot/util@^10.1.7": - version "10.1.7" - resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-10.1.7.tgz#c54ca2a5b29cb834b40d8a876baefa3a0efb93af" - integrity sha512-s7gDLdNb4HUpoe3faXwoO6HwiUp8pi66voYKiUYRh1kEtW1o9vGBgyZPHPGC/FBgILzTJKii/9XxnSex60zBTA== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/x-bigint" "10.1.7" - "@polkadot/x-global" "10.1.7" - "@polkadot/x-textdecoder" "10.1.7" - "@polkadot/x-textencoder" "10.1.7" - "@types/bn.js" "^5.1.1" - bn.js "^5.2.1" - -"@polkadot/wasm-bridge@6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/wasm-bridge/-/wasm-bridge-6.3.1.tgz#439fa78e80947a7cb695443e1f64b25c30bb1487" - integrity sha512-1TYkHsb9AEFhU9uZj3biEnN2yKQNzdrwSjiTvfCYnt97pnEkKsZI6cku+YPZQv5w/x9CQa5Yua9e2DVVZSivGA== - dependencies: - "@babel/runtime" "^7.18.9" - -"@polkadot/wasm-crypto-asmjs@6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-6.3.1.tgz#e8f469c9cf4a7709c8131a96f857291953f3e30a" - integrity sha512-zbombRfA5v/mUWQQhgg2YwaxhRmxRIrvskw65x+lruax3b6xPBFDs7yplopiJU3r8h2pTgQvX/DUksvqz2TCRQ== - dependencies: - "@babel/runtime" "^7.18.9" - -"@polkadot/wasm-crypto-init@6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-init/-/wasm-crypto-init-6.3.1.tgz#b590220c53c94b9a54d5dc236d0cbe943db76706" - integrity sha512-9yaUBcu+snwjJLmPPGl3cyGRQ1afyFGm16qzTM0sgG/ZCfUlK4uk8KWZe+sBUKgoxb2oXY7Y4WklKgQI1YBdfw== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/wasm-bridge" "6.3.1" - "@polkadot/wasm-crypto-asmjs" "6.3.1" - "@polkadot/wasm-crypto-wasm" "6.3.1" - -"@polkadot/wasm-crypto-wasm@6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-6.3.1.tgz#67f720e7f9694fef096abe9d60abbac02e032383" - integrity sha512-idSlzKGVzCfeCMRHsacRvqwojSaTadFxL/Dbls4z1thvfa3U9Ku0d2qVtlwg7Hj+tYWDiuP8Kygs+6bQwfs0XA== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/wasm-util" "6.3.1" - -"@polkadot/wasm-crypto@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto/-/wasm-crypto-6.3.1.tgz#63f5798aca2b2ff0696f190e6862d9781d8f280c" - integrity sha512-OO8h0qeVkqp4xYZaRVl4iuWOEtq282pNBHDKb6SOJuI2g59eWGcKh4EQU9Me2VP6qzojIqptrkrVt7KQXC68gA== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/wasm-bridge" "6.3.1" - "@polkadot/wasm-crypto-asmjs" "6.3.1" - "@polkadot/wasm-crypto-init" "6.3.1" - "@polkadot/wasm-crypto-wasm" "6.3.1" - "@polkadot/wasm-util" "6.3.1" - -"@polkadot/wasm-util@6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@polkadot/wasm-util/-/wasm-util-6.3.1.tgz#439ebb68a436317af388ed6438b8f879df3afcda" - integrity sha512-12oAv5J7Yoc9m6jixrSaQCxpOkWOyzHx3DMC8qmLjRiwdBWxqLmImOVRVnFsbaxqSbhBIHRuJphVxWE+GZETDg== - dependencies: - "@babel/runtime" "^7.18.9" - -"@polkadot/x-bigint@10.1.7", "@polkadot/x-bigint@^10.1.7": - version "10.1.7" - resolved "https://registry.yarnpkg.com/@polkadot/x-bigint/-/x-bigint-10.1.7.tgz#1338689476ffdbb9f9cb243df1954ae8186134b9" - integrity sha512-uaClHpI6cnDumIfejUKvNTkB43JleEb0V6OIufDKJ/e1aCLE3f/Ws9ggwL8ea05lQP5k5xqOzbPdizi/UvrgKQ== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/x-global" "10.1.7" - -"@polkadot/x-fetch@^10.1.7": - version "10.1.7" - resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-10.1.7.tgz#1b76051a495563403a20ef235a8558c6d91b11a6" - integrity sha512-NL+xrlqUoCLwCIAvQLwOA189gSUgeSGOFjCmZ9uMkBqf35KXeZoHWse6YaoseTSlnAal3dQOGbXnYWZ4Ck2OSA== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/x-global" "10.1.7" - "@types/node-fetch" "^2.6.2" - node-fetch "^3.2.10" - -"@polkadot/x-global@10.1.7", "@polkadot/x-global@^10.1.5", "@polkadot/x-global@^10.1.7": - version "10.1.7" - resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-10.1.7.tgz#91a472ac2f83fd0858dcd0df528844a5b650790e" - integrity sha512-k2ZUZyBVgDnP/Ysxapa0mthn63j6gsN2V0kZejEQPyOfCHtQQkse3jFvAWdslpWoR8j2k8SN5O6reHc0F4f7mA== - dependencies: - "@babel/runtime" "^7.18.9" - -"@polkadot/x-randomvalues@10.1.7": - version "10.1.7" - resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-10.1.7.tgz#d537f1f7bf3fb03e6c08ae6e6ac36e069c1f9844" - integrity sha512-3er4UYOlozLGgFYWwcbmcFslmO8m82u4cAGR4AaEag0VdV7jLO/M5lTmivT/3rtLSww6sjkEfr522GM2Q5lmFg== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/x-global" "10.1.7" - -"@polkadot/x-textdecoder@10.1.7": - version "10.1.7" - resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-10.1.7.tgz#1dd4e6141b1669acdd321a4da1fc6fdc271b7908" - integrity sha512-iAFOHludmZFOyVL8sQFv4TDqbcqQU5gwwYv74duTA+WQBgbSITJrBahSCV/rXOjUqds9pzQO3qBFzziznNnkiQ== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/x-global" "10.1.7" - -"@polkadot/x-textencoder@10.1.7": - version "10.1.7" - resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-10.1.7.tgz#b208601f33b936c7a059f126dbb6b26a87f45864" - integrity sha512-GzjaWZDbgzZ0IQT60xuZ7cZ0wnlNVYMqpfI9KvBc58X9dPI3TIMwzbXDVzZzpjY1SAqJGs4hJse9HMWZazfhew== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/x-global" "10.1.7" - -"@polkadot/x-ws@^10.1.7": - version "10.1.7" - resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-10.1.7.tgz#b1fbfe3e16fa809f35f24ef47fde145b018d8cdc" - integrity sha512-aNkotxHx3qPVjiItD9lbNONs4GNzqeeZ98wHtCjd9JWl/g+xNkOVF3xQ8++1qSHPBEYSwKh9URjQH2+CD2XlvQ== - dependencies: - "@babel/runtime" "^7.18.9" - "@polkadot/x-global" "10.1.7" - "@types/websocket" "^1.0.5" - websocket "^1.0.34" - -"@rollup/plugin-node-resolve@^7.1.1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca" - integrity sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q== - dependencies: - "@rollup/pluginutils" "^3.0.8" - "@types/resolve" "0.0.8" - builtin-modules "^3.1.0" - is-module "^1.0.0" - resolve "^1.14.2" - -"@rollup/plugin-replace@^2.3.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.1.tgz#c411b5ab72809fb1bfc8b487d8d02eef661460d3" - integrity sha512-XwC1oK5rrtRJ0tn1ioLHS6OV5JTluJF7QE1J/q1hN3bquwjnVxjtMyY9iCnoyH9DQbf92CxajB3o98wZbP3oAQ== - dependencies: - "@rollup/pluginutils" "^3.1.0" - magic-string "^0.25.7" - -"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - dependencies: - "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" - -"@scure/base@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" - integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== - -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== - -"@sinonjs/commons@^1.7.0": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" - integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@stylelint/postcss-css-in-js@^0.37.2": - version "0.37.2" - resolved "https://registry.yarnpkg.com/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz#7e5a84ad181f4234a2480803422a47b8749af3d2" - integrity sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA== - dependencies: - "@babel/core" ">=7.9.0" - -"@stylelint/postcss-markdown@^0.36.2": - version "0.36.2" - resolved "https://registry.yarnpkg.com/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz#0a540c4692f8dcdfc13c8e352c17e7bfee2bb391" - integrity sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ== - dependencies: - remark "^13.0.0" - unist-util-find-all-after "^3.0.2" - -"@substrate/connect-extension-protocol@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@substrate/connect-extension-protocol/-/connect-extension-protocol-1.0.1.tgz#fa5738039586c648013caa6a0c95c43265dbe77d" - integrity sha512-161JhCC1csjH3GE5mPLEd7HbWtwNSPJBg3p1Ksz9SFlTzj/bgEwudiRN2y5i0MoLGCIJRYKyKGMxVnd29PzNjg== - -"@substrate/connect@0.7.11": - version "0.7.11" - resolved "https://registry.yarnpkg.com/@substrate/connect/-/connect-0.7.11.tgz#fa9d24991fe9edc7fb771fbdee21a9b7cf6d1322" - integrity sha512-/xiOlkmJfl2XPYQTmyWKEh2AXryEAPSMAxZXs6D/aqYDy0TKZDAp1dfQiHyPt1vMwOlnM4WJv9lPks3ZMwCP+w== - dependencies: - "@substrate/connect-extension-protocol" "^1.0.1" - "@substrate/smoldot-light" "0.6.30" - eventemitter3 "^4.0.7" - -"@substrate/smoldot-light@0.6.30": - version "0.6.30" - resolved "https://registry.yarnpkg.com/@substrate/smoldot-light/-/smoldot-light-0.6.30.tgz#a49f4a77f3047bfc1fb9224725a6286e2b709bf1" - integrity sha512-U/F75XzxuNG+KGSujxsMAm8zUBpBON+l0oX19EnSWjvqD+smYjvcj1SeqQhFYxJjtoCQyZLedKBsZGyNbG3FbQ== - dependencies: - pako "^2.0.4" - ws "^8.8.1" - -"@substrate/ss58-registry@^1.28.0": - version "1.29.0" - resolved "https://registry.yarnpkg.com/@substrate/ss58-registry/-/ss58-registry-1.29.0.tgz#0dea078271b5318c5eff7176e1df1f9b2c27e43f" - integrity sha512-KTqwZgTjtWPhCAUJJx9qswP/p9cRKUU9GOHYUDKNdISFDiFafWmpI54JHfYLkgjvkSKEUgRZnvLpe0LMF1fXvw== - -"@surma/rollup-plugin-off-main-thread@^1.1.1": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz#e6786b6af5799f82f7ab3a82e53f6182d2b91a58" - integrity sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A== - dependencies: - ejs "^2.6.1" - magic-string "^0.25.0" - -"@svgr/babel-plugin-add-jsx-attribute@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" - integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== - -"@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" - integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== - -"@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" - integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" - integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== - -"@svgr/babel-plugin-svg-dynamic-title@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" - integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== - -"@svgr/babel-plugin-svg-em-dimensions@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" - integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== - -"@svgr/babel-plugin-transform-react-native-svg@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" - integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== - -"@svgr/babel-plugin-transform-svg-component@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" - integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== - -"@svgr/babel-preset@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" - integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^5.0.1" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^5.0.1" - "@svgr/babel-plugin-svg-dynamic-title" "^5.4.0" - "@svgr/babel-plugin-svg-em-dimensions" "^5.4.0" - "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0" - "@svgr/babel-plugin-transform-svg-component" "^5.5.0" - -"@svgr/core@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" - integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== - dependencies: - "@svgr/plugin-jsx" "^5.5.0" - camelcase "^6.2.0" - cosmiconfig "^7.0.0" - -"@svgr/hast-util-to-babel-ast@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" - integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== - dependencies: - "@babel/types" "^7.12.6" - -"@svgr/plugin-jsx@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" - integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== - dependencies: - "@babel/core" "^7.12.3" - "@svgr/babel-preset" "^5.5.0" - "@svgr/hast-util-to-babel-ast" "^5.5.0" - svg-parser "^2.0.2" - -"@svgr/plugin-svgo@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" - integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== - dependencies: - cosmiconfig "^7.0.0" - deepmerge "^4.2.2" - svgo "^1.2.2" - -"@svgr/webpack@5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" - integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== - dependencies: - "@babel/core" "^7.12.3" - "@babel/plugin-transform-react-constant-elements" "^7.12.1" - "@babel/preset-env" "^7.12.1" - "@babel/preset-react" "^7.12.5" - "@svgr/core" "^5.5.0" - "@svgr/plugin-jsx" "^5.5.0" - "@svgr/plugin-svgo" "^5.5.0" - loader-utils "^2.0.0" - -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== - dependencies: - defer-to-connect "^1.0.1" - -"@tailwindcss/postcss7-compat@^2.0.4", "tailwindcss@npm:@tailwindcss/postcss7-compat@^2.0.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@tailwindcss/postcss7-compat/-/postcss7-compat-2.1.4.tgz#427a2fd1837a3d9a54a296cc8b86a3f76b1452a7" - integrity sha512-KYRj/AGNwE4tPf02IvT+J36Twlrwg/OJJuSckSupX2T+xIOHSXPugNJZ7Stn9F67hh/qH+2Y2HXK6vpBadW6qw== - dependencies: - "@fullhuman/postcss-purgecss" "^3.1.3" - autoprefixer "^9" - bytes "^3.0.0" - chalk "^4.1.0" - chokidar "^3.5.1" - color "^3.1.3" - detective "^5.2.0" - didyoumean "^1.2.1" - dlv "^1.1.3" - fast-glob "^3.2.5" - fs-extra "^9.1.0" - html-tags "^3.1.0" - lodash "^4.17.21" - lodash.topath "^4.5.2" - modern-normalize "^1.0.0" - node-emoji "^1.8.1" - normalize-path "^3.0.0" - object-hash "^2.1.1" - parse-glob "^3.0.4" - postcss "^7" - postcss-functions "^3" - postcss-js "^2" - postcss-nested "^4" - postcss-selector-parser "^6.0.4" - postcss-value-parser "^4.1.0" - pretty-hrtime "^1.0.3" - quick-lru "^5.1.1" - reduce-css-calc "^2.1.8" - resolve "^1.20.0" - -"@tsconfig/node10@^1.0.7": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" - integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== - -"@tsconfig/node12@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" - integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== - -"@tsconfig/node14@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" - integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== - -"@tsconfig/node16@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" - integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== - -"@types/anymatch@*": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" - integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.12" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" - integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" - integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" - integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" - integrity sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg== - dependencies: - "@babel/types" "^7.3.0" - -"@types/bn.js@^4.11.5": - version "4.11.6" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" - integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== - dependencies: - "@types/node" "*" - -"@types/bn.js@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" - integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== - dependencies: - "@types/node" "*" - -"@types/bn.js@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" - integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== - dependencies: - "@types/node" "*" - -"@types/eslint@^7.2.6": - version "7.2.6" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.6.tgz#5e9aff555a975596c03a98b59ecd103decc70c3c" - integrity sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*": - version "0.0.46" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" - integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== - -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - -"@types/file-saver@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@types/file-saver/-/file-saver-2.0.5.tgz#9ee342a5d1314bb0928375424a2f162f97c310c7" - integrity sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ== - -"@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/html-minifier-terser@^5.0.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" - integrity sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA== - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.7": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - -"@types/lodash@^4.14.168": - version "4.14.170" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.170.tgz#0d67711d4bf7f4ca5147e9091b847479b87925d6" - integrity sha512-bpcvu/MKHHeYX+qeEN8GE7DIravODWdACVA1ctevD8CN24RhPZIKMn9ntfAsrvLfSX3cR5RrBKAbYm9bGs0A+Q== - -"@types/mdast@^3.0.0": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.3.tgz#2d7d671b1cd1ea3deb306ea75036c2a0407d2deb" - integrity sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw== - dependencies: - "@types/unist" "*" - -"@types/minimatch@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== - -"@types/minimatch@^3.0.3": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" - integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== - -"@types/minimist@^1.2.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" - integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== - -"@types/node-fetch@^2.6.2": - version "2.6.2" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da" - integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - -"@types/node@*": - version "14.14.31" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055" - integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g== - -"@types/node@>=12": - version "17.0.38" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.38.tgz#f8bb07c371ccb1903f3752872c89f44006132947" - integrity sha512-5jY9RhV7c0Z4Jy09G+NIDTsCZ5G0L5n+Z+p+Y7t5VJHM30bgwzSjVtlcBxqAj+6L/swIlvtOSzr8rBk/aNyV2g== - -"@types/node@^12.12.6": - version "12.20.42" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.42.tgz#2f021733232c2130c26f9eabbdd3bfd881774733" - integrity sha512-aI3/oo5DzyiI5R/xAhxxRzfZlWlsbbqdgxfTPkqu/Zt+23GXiJvMCyPJT4+xKSXOnLqoL8jJYMLTwvK2M3a5hw== - -"@types/node@^16.11.19": - version "16.11.19" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.19.tgz#1afa165146997b8286b6eabcb1c2d50729055169" - integrity sha512-BPAcfDPoHlRQNKktbsbnpACGdypPFBuX4xQlsWDE7B8XXcfII+SpOLay3/qZmCLb39kV5S1RTYwXdkx2lwLYng== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/pbkdf2@^3.0.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" - integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== - dependencies: - "@types/node" "*" - -"@types/prettier@^2.0.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.1.tgz#374e31645d58cb18a07b3ecd8e9dede4deb2cccd" - integrity sha512-DxZZbyMAM9GWEzXL+BMZROWz9oo6A9EilwwOMET2UVu2uZTqMWS5S69KVtuVKaRjCUpcrOXRalet86/OpG4kqw== - -"@types/prop-types@*": - version "15.7.3" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" - integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== - -"@types/q@^1.5.1": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" - integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== - -"@types/react-copy-to-clipboard@^5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@types/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.2.tgz#c29690b472a54edff35916f0d1c6c797ad0fd34b" - integrity sha512-O29AThfxrkUFRsZXjfSWR2yaWo0ppB1yLEnHA+Oh24oNetjBAwTDu1PmolIqdJKzsZiO4J1jn6R6TmO96uBvGg== - dependencies: - "@types/react" "*" - -"@types/react-dom@^17.0.11": - version "17.0.11" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.11.tgz#e1eadc3c5e86bdb5f7684e00274ae228e7bcc466" - integrity sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q== - dependencies: - "@types/react" "*" - -"@types/react-transition-group@^4.4.2": - version "4.4.2" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.2.tgz#38890fd9db68bf1f2252b99a942998dc7877c5b3" - integrity sha512-KibDWL6nshuOJ0fu8ll7QnV/LVTo3PzQ9aCPnRUYPfX7eZohHwLIdNHj7pftanREzHNP4/nJa8oeM73uSiavMQ== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@^17.0.0": - version "17.0.9" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.9.tgz#1147fb520024a62c9b3841f5cb4db89b73ddb87f" - integrity sha512-2Cw7FvevpJxQrCb+k5t6GH1KIvmadj5uBbjPaLlJB/nZWUj56e1ZqcD6zsoMFB47MsJUTFl9RJ132A7hb3QFJA== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/react@^17.0.38": - version "17.0.38" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.38.tgz#f24249fefd89357d5fa71f739a686b8d7c7202bd" - integrity sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/resolve@0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" - integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== - dependencies: - "@types/node" "*" - -"@types/scheduler@*": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275" - integrity sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA== - -"@types/secp256k1@^4.0.1": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" - integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== - dependencies: - "@types/node" "*" - -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - -"@types/stack-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" - integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== - -"@types/store@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@types/store/-/store-2.0.2.tgz#6263d4f1aab225032ea55b17d94f3b725a21c943" - integrity sha512-ZPHnXkzmGMfk+pHqAGzTSpA9CbsHmJLgkvOl5w52LZ0XTxB1ZIHWZzQ7lEtjTNWScBbsQekg8TjApMXkMe4nkw== - -"@types/tapable@*", "@types/tapable@^1.0.5": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" - integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== - -"@types/uglify-js@*": - version "3.12.0" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.12.0.tgz#2bb061c269441620d46b946350c8f16d52ef37c5" - integrity sha512-sYAF+CF9XZ5cvEBkI7RtrG9g2GtMBkviTnBxYYyq+8BWvO4QtXfwwR6a2LFwCi4evMKZfpv6U43ViYvv17Wz3Q== - dependencies: - source-map "^0.6.1" - -"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" - integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== - -"@types/webpack-sources@*": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" - integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - -"@types/webpack@^4.41.8": - version "4.41.26" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.26.tgz#27a30d7d531e16489f9c7607c747be6bc1a459ef" - integrity sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA== - dependencies: - "@types/anymatch" "*" - "@types/node" "*" - "@types/tapable" "*" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - source-map "^0.6.0" - -"@types/websocket@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/websocket/-/websocket-1.0.5.tgz#3fb80ed8e07f88e51961211cd3682a3a4a81569c" - integrity sha512-NbsqiNX9CnEfC1Z0Vf4mE1SgAJ07JnRYcNex7AJ9zAVzmiGHmjKFEk7O4TJIsgv2B1sLEb6owKFZrACwdYngsQ== - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "20.2.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" - integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== - -"@types/yargs@^15.0.0": - version "15.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" - integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^4.25.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.26.0.tgz#12bbd6ebd5e7fabd32e48e1e60efa1f3554a3242" - integrity sha512-yA7IWp+5Qqf+TLbd8b35ySFOFzUfL7i+4If50EqvjT6w35X8Lv0eBHb6rATeWmucks37w+zV+tWnOXI9JlG6Eg== - dependencies: - "@typescript-eslint/experimental-utils" "4.26.0" - "@typescript-eslint/scope-manager" "4.26.0" - debug "^4.3.1" - functional-red-black-tree "^1.0.1" - lodash "^4.17.21" - regexpp "^3.1.0" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/eslint-plugin@^4.5.0": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.2.tgz#981b26b4076c62a5a55873fbef3fe98f83360c61" - integrity sha512-uiQQeu9tWl3f1+oK0yoAv9lt/KXO24iafxgQTkIYO/kitruILGx3uH+QtIAHqxFV+yIsdnJH+alel9KuE3J15Q== - dependencies: - "@typescript-eslint/experimental-utils" "4.15.2" - "@typescript-eslint/scope-manager" "4.15.2" - debug "^4.1.1" - functional-red-black-tree "^1.0.1" - lodash "^4.17.15" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@4.15.2", "@typescript-eslint/experimental-utils@^4.0.1": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.2.tgz#5efd12355bd5b535e1831282e6cf465b9a71cf36" - integrity sha512-Fxoshw8+R5X3/Vmqwsjc8nRO/7iTysRtDqx6rlfLZ7HbT8TZhPeQqbPjTyk2RheH3L8afumecTQnUc9EeXxohQ== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.15.2" - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/typescript-estree" "4.15.2" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/experimental-utils@4.26.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.26.0.tgz#ba7848b3f088659cdf71bce22454795fc55be99a" - integrity sha512-TH2FO2rdDm7AWfAVRB5RSlbUhWxGVuxPNzGT7W65zVfl8H/WeXTk1e69IrcEVsBslrQSTDKQSaJD89hwKrhdkw== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.26.0" - "@typescript-eslint/types" "4.26.0" - "@typescript-eslint/typescript-estree" "4.26.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/experimental-utils@^3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz#e179ffc81a80ebcae2ea04e0332f8b251345a686" - integrity sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/typescript-estree" "3.10.1" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^4.25.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.26.0.tgz#31b6b732c9454f757b020dab9b6754112aa5eeaf" - integrity sha512-b4jekVJG9FfmjUfmM4VoOItQhPlnt6MPOBUL0AQbiTmm+SSpSdhHYlwayOm4IW9KLI/4/cRKtQCmDl1oE2OlPg== - dependencies: - "@typescript-eslint/scope-manager" "4.26.0" - "@typescript-eslint/types" "4.26.0" - "@typescript-eslint/typescript-estree" "4.26.0" - debug "^4.3.1" - -"@typescript-eslint/parser@^4.5.0": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.15.2.tgz#c804474321ef76a3955aec03664808f0d6e7872e" - integrity sha512-SHeF8xbsC6z2FKXsaTb1tBCf0QZsjJ94H6Bo51Y1aVEZ4XAefaw5ZAilMoDPlGghe+qtq7XdTiDlGfVTOmvA+Q== - dependencies: - "@typescript-eslint/scope-manager" "4.15.2" - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/typescript-estree" "4.15.2" - debug "^4.1.1" - -"@typescript-eslint/scope-manager@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.15.2.tgz#5725bda656995960ae1d004bfd1cd70320f37f4f" - integrity sha512-Zm0tf/MSKuX6aeJmuXexgdVyxT9/oJJhaCkijv0DvJVT3ui4zY6XYd6iwIo/8GEZGy43cd7w1rFMiCLHbRzAPQ== - dependencies: - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/visitor-keys" "4.15.2" - -"@typescript-eslint/scope-manager@4.26.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.26.0.tgz#60d1a71df162404e954b9d1c6343ff3bee496194" - integrity sha512-G6xB6mMo4xVxwMt5lEsNTz3x4qGDt0NSGmTBNBPJxNsrTXJSm21c6raeYroS2OwQsOyIXqKZv266L/Gln1BWqg== - dependencies: - "@typescript-eslint/types" "4.26.0" - "@typescript-eslint/visitor-keys" "4.26.0" - -"@typescript-eslint/types@3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727" - integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ== - -"@typescript-eslint/types@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.15.2.tgz#04acf3a2dc8001a88985291744241e732ef22c60" - integrity sha512-r7lW7HFkAarfUylJ2tKndyO9njwSyoy6cpfDKWPX6/ctZA+QyaYscAHXVAfJqtnY6aaTwDYrOhp+ginlbc7HfQ== - -"@typescript-eslint/types@4.26.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.26.0.tgz#7c6732c0414f0a69595f4f846ebe12616243d546" - integrity sha512-rADNgXl1kS/EKnDr3G+m7fB9yeJNnR9kF7xMiXL6mSIWpr3Wg5MhxyfEXy/IlYthsqwBqHOr22boFbf/u6O88A== - -"@typescript-eslint/typescript-estree@3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz#fd0061cc38add4fad45136d654408569f365b853" - integrity sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w== - dependencies: - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/visitor-keys" "3.10.1" - debug "^4.1.1" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/typescript-estree@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.2.tgz#c2f7a1e94f3428d229d5ecff3ead6581ee9b62fa" - integrity sha512-cGR8C2g5SPtHTQvAymEODeqx90pJHadWsgTtx6GbnTWKqsg7yp6Eaya9nFzUd4KrKhxdYTTFBiYeTPQaz/l8bw== - dependencies: - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/visitor-keys" "4.15.2" - debug "^4.1.1" - globby "^11.0.1" - is-glob "^4.0.1" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/typescript-estree@4.26.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.26.0.tgz#aea17a40e62dc31c63d5b1bbe9a75783f2ce7109" - integrity sha512-GHUgahPcm9GfBuy3TzdsizCcPjKOAauG9xkz9TR8kOdssz2Iz9jRCSQm6+aVFa23d5NcSpo1GdHGSQKe0tlcbg== - dependencies: - "@typescript-eslint/types" "4.26.0" - "@typescript-eslint/visitor-keys" "4.26.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz#cd4274773e3eb63b2e870ac602274487ecd1e931" - integrity sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ== - dependencies: - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/visitor-keys@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.2.tgz#3d1c7979ce75bf6acf9691109bd0d6b5706192b9" - integrity sha512-TME1VgSb7wTwgENN5KVj4Nqg25hP8DisXxNBojM4Nn31rYaNDIocNm5cmjOFfh42n7NVERxWrDFoETO/76ePyg== - dependencies: - "@typescript-eslint/types" "4.15.2" - eslint-visitor-keys "^2.0.0" - -"@typescript-eslint/visitor-keys@4.26.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.26.0.tgz#26d2583169222815be4dcd1da4fe5459bc3bcc23" - integrity sha512-cw4j8lH38V1ycGBbF+aFiLUls9Z0Bw8QschP3mkth50BbWzgFS33ISIgBzUMuQ2IdahoEv/rXstr8Zhlz4B1Zg== - dependencies: - "@typescript-eslint/types" "4.26.0" - eslint-visitor-keys "^2.0.0" - -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" - -"@wry/context@^0.6.0": - version "0.6.1" - resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.6.1.tgz#c3c29c0ad622adb00f6a53303c4f965ee06ebeb2" - integrity sha512-LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw== - dependencies: - tslib "^2.3.0" - -"@wry/equality@^0.5.0": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.2.tgz#72c8a7a7d884dff30b612f4f8464eba26c080e73" - integrity sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA== - dependencies: - tslib "^2.3.0" - -"@wry/trie@^0.3.0": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.3.1.tgz#2279b790f15032f8bcea7fc944d27988e5b3b139" - integrity sha512-WwB53ikYudh9pIorgxrkHKrQZcCqNM/Q/bDzZBffEaGUKGuHrRb3zZUT9Sh2qw9yogC7SsdRmQ1ER0pqvd3bfw== - dependencies: - tslib "^2.3.0" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -JSONStream@^1.0.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abab@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - -acorn-class-fields@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/acorn-class-fields/-/acorn-class-fields-0.3.7.tgz#a35122f3cc6ad2bb33b1857e79215677fcfdd720" - integrity sha512-jdUWSFce0fuADUljmExz4TWpPkxmRW/ZCPRqeeUzbGf0vFUcpQYbyq52l75qGd0oSwwtAepeL6hgb/naRgvcKQ== - dependencies: - acorn-private-class-elements "^0.2.7" - -acorn-dynamic-import@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" - integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== - -acorn-node@^1.6.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== - dependencies: - acorn "^7.0.0" - acorn-walk "^7.0.0" - xtend "^4.0.2" - -acorn-private-class-elements@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/acorn-private-class-elements/-/acorn-private-class-elements-0.2.7.tgz#b14902c705bcff267adede1c9f61c1a317ef95d2" - integrity sha512-+GZH2wOKNZOBI4OOPmzpo4cs6mW297sn6fgIk1dUI08jGjhAaEwvC39mN2gJAg2lmAQJ1rBkFqKWonL3Zz6PVA== - -acorn-private-methods@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/acorn-private-methods/-/acorn-private-methods-0.3.3.tgz#724414ce5b2fec733089d73a5cbba8f7beff75b1" - integrity sha512-46oeEol3YFvLSah5m9hGMlNpxDBCEkdceJgf01AjqKYTK9r6HexKs2rgSbLK81pYjZZMonhftuUReGMlbbv05w== - dependencies: - acorn-private-class-elements "^0.2.7" - -acorn-stage3@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/acorn-stage3/-/acorn-stage3-4.0.0.tgz#e8b98ae2a9991be0ba1745b5b626211086b435a8" - integrity sha512-BR+LaADtA6GTB5prkNqWmlmCLYmkyW0whvSxdHhbupTaro2qBJ95fJDEiRLPUmiACGHPaYyeH9xmNJWdGfXRQw== - dependencies: - acorn-class-fields "^0.3.7" - acorn-private-methods "^0.3.3" - acorn-static-class-features "^0.2.4" - -acorn-static-class-features@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/acorn-static-class-features/-/acorn-static-class-features-0.2.4.tgz#a0f5261dd483f25196716854f2d7652a1deb39ee" - integrity sha512-5X4mpYq5J3pdndLmIB0+WtFd/mKWnNYpuTlTzj32wUu/PMmEGOiayQ5UrqgwdBNiaZBtDDh5kddpP7Yg2QaQYA== - dependencies: - acorn-private-class-elements "^0.2.7" - -acorn-walk@^7.0.0, acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn-walk@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.1.0.tgz#d3c6a9faf00987a5e2b9bdb506c2aa76cd707f83" - integrity sha512-mjmzmv12YIG/G8JQdQuz2MUDShEJ6teYpT5bmWA4q7iwoGen8xtt3twF3OvzIUl+Q06aWIjvnwQUKvQ6TtMRjg== - -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^6.4.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - -acorn@^7.0.0, acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.0.4: - version "8.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.3.0.tgz#1193f9b96c4e8232f00b11a9edff81b2c8b98b88" - integrity sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw== - -acorn@^8.4.1: - version "8.7.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" - integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== - -address@1.1.2, address@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" - integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== - -adjust-sourcemap-loader@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz#5ae12fb5b7b1c585e80bbb5a63ec163a1a45e61e" - integrity sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw== - dependencies: - loader-utils "^2.0.0" - regex-parser "^2.2.11" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.12.6: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - 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" - -ajv@^7.0.2: - version "7.1.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.1.1.tgz#1e6b37a454021fa9941713f38b952fc1c8d32a84" - integrity sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ajv@^8.0.1: - version "8.5.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.5.0.tgz#695528274bcb5afc865446aa275484049a18ae4b" - integrity sha512-Y2l399Tt1AguU3BPRP9Fn4eN+Or+StUGWCUpbnFyXSo8NZ9S4uj+AG2pjs5apK+ZMOwYOz1+a+VKvKH7CudXgQ== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -alphanum-sort@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-html@0.0.7, ansi-html@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" - integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== - -ant-theme-generator@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ant-theme-generator/-/ant-theme-generator-1.0.1.tgz#5cf6363c5fb93a6da79bb995b2a5ef301257c7dc" - integrity sha512-nr5A3hKST2sYcItaOe1VhJiTxDfaxXZXidJ5ugRMCFpMviE4o+g80dsRtQO966migpdtgdEGxSFZJskHJUsp9g== - dependencies: - glob "^7.1.3" - hash.js "^1.1.5" - less "^3.9.0" - less-bundle-promise "^1.0.7" - less-plugin-npm-import "^2.1.0" - postcss "^6.0.21" - postcss-less "^3.1.4" - strip-css-comments "^4.1.0" - -antd@^4.16.1: - version "4.16.1" - resolved "https://registry.yarnpkg.com/antd/-/antd-4.16.1.tgz#7e6bcd24a8b7afb0e0c96239bc3a986ef3958167" - integrity sha512-v7KfUYvEAiqfTECKC4/VkpRPB/4RRxZLR3b2kKCYEtcj4nEHvsOKfO5CDbWVtSUmCehxOXNR2lV+UNy06KHBnA== - dependencies: - "@ant-design/colors" "^6.0.0" - "@ant-design/icons" "^4.6.2" - "@ant-design/react-slick" "~0.28.1" - "@babel/runtime" "^7.12.5" - array-tree-filter "^2.1.0" - classnames "^2.2.6" - copy-to-clipboard "^3.2.0" - lodash "^4.17.21" - moment "^2.25.3" - rc-cascader "~1.4.0" - rc-checkbox "~2.3.0" - rc-collapse "~3.1.0" - rc-dialog "~8.5.1" - rc-drawer "~4.3.0" - rc-dropdown "~3.2.0" - rc-field-form "~1.20.0" - rc-image "~5.2.4" - rc-input-number "~7.1.0" - rc-mentions "~1.6.1" - rc-menu "~9.0.9" - rc-motion "^2.4.0" - rc-notification "~4.5.7" - rc-pagination "~3.1.6" - rc-picker "~2.5.10" - rc-progress "~3.1.0" - rc-rate "~2.9.0" - rc-resize-observer "^1.0.0" - rc-select "~12.1.6" - rc-slider "~9.7.1" - rc-steps "~4.1.0" - rc-switch "~3.2.0" - rc-table "~7.15.1" - rc-tabs "~11.9.1" - rc-textarea "~0.3.0" - rc-tooltip "~5.1.1" - rc-tree "~4.1.0" - rc-tree-select "~4.3.0" - rc-trigger "^5.2.1" - rc-upload "~4.3.0" - rc-util "^5.13.1" - scroll-into-view-if-needed "^2.2.25" - warning "^4.0.3" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3, anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -app-root-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.0.0.tgz#210b6f43873227e18a4b810a032283311555d5ad" - integrity sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw== - -append-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" - integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= - dependencies: - buffer-equal "^1.0.0" - -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -aria-query@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" - integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= - dependencies: - ast-types-flow "0.0.7" - commander "^2.11.0" - -aria-query@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" - integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== - dependencies: - "@babel/runtime" "^7.10.2" - "@babel/runtime-corejs3" "^7.10.2" - -arity-n@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" - integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-differ@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" - integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-ify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= - -array-includes@^3.1.1, array-includes@^3.1.2, array-includes@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - get-intrinsic "^1.1.1" - is-string "^1.0.5" - -array-tree-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" - integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.3, array.prototype.flat@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" - integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - -array.prototype.flatmap@^1.2.3, array.prototype.flatmap@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" - integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - function-bind "^1.1.1" - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - -asap@~2.0.3, asap@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -ast-types-flow@0.0.7, ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async-validator@^3.0.3: - version "3.5.2" - resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-3.5.2.tgz#68e866a96824e8b2694ff7a831c1a25c44d5e500" - integrity sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ== - -async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -autoprefixer@^9, autoprefixer@^9.6.1, autoprefixer@^9.8.6: - version "9.8.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" - integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== - dependencies: - browserslist "^4.12.0" - caniuse-lite "^1.0.30001109" - colorette "^1.2.1" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.32" - postcss-value-parser "^4.1.0" - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -await-timeout@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/await-timeout/-/await-timeout-1.1.1.tgz#d42062ee6bc4eb271fe4d4f851eb658dae7e3906" - integrity sha512-gsDXAS6XVc4Jt+7S92MPX6Noq69bdeXUPEaXd8dk3+yVr629LTDLxNt4j1ycBbrU+AStK2PhKIyNIM+xzWMVOQ== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -axe-core@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.1.2.tgz#7cf783331320098bfbef620df3b3c770147bc224" - integrity sha512-V+Nq70NxKhYt89ArVcaNL9FDryB3vQOd+BFXZIfO3RP6rwtj+2yqqqdHEkacutglPaZLkJeuXKCjCJDMGPtPqg== - -axios@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.23.0.tgz#b0fa5d0948a8d1d75e3d5635238b6c4625b05149" - integrity sha512-NmvAE4i0YAv5cKq8zlDoPd1VLKAqX5oLuZKs8xkJa4qi6RGn0uhCYFjWtHHC9EM/MwOwYWOs53W+V0aqEXq1sg== - dependencies: - follow-redirects "^1.14.4" - -axobject-query@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" - integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww== - dependencies: - ast-types-flow "0.0.7" - -axobject-query@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== - -babel-eslint@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" - integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - eslint-visitor-keys "^1.0.0" - resolve "^1.12.0" - -babel-extract-comments@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" - integrity sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ== - dependencies: - babylon "^6.18.0" - -babel-jest@^26.6.0, babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-loader@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" - integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== - dependencies: - find-cache-dir "^2.1.0" - loader-utils "^1.4.0" - mkdirp "^0.5.3" - pify "^4.0.1" - schema-utils "^2.6.5" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-import@^1.13.1: - version "1.13.3" - resolved "https://registry.yarnpkg.com/babel-plugin-import/-/babel-plugin-import-1.13.3.tgz#9dbbba7d1ac72bd412917a830d445e00941d26d7" - integrity sha512-1qCWdljJOrDRH/ybaCZuDgySii4yYrtQ8OJQwrcDqdt0y67N30ng3X3nABg6j7gR7qUJgcMa9OMhc4AGViDwWw== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/runtime" "^7.0.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== - dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" - -babel-plugin-named-asset-import@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd" - integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw== - -"babel-plugin-styled-components@>= 1.12.0": - version "2.0.2" - resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.2.tgz#0fac11402dc9db73698b55847ab1dc73f5197c54" - integrity sha512-7eG5NE8rChnNTDxa6LQfynwgHTVOYYaHJbUYSlOhk8QBXIQiMBKq4gyfHBBKPrxUcVBXVJL61ihduCpCQbuNbw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-module-imports" "^7.16.0" - babel-plugin-syntax-jsx "^6.18.0" - lodash "^4.17.11" - -babel-plugin-syntax-jsx@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" - integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= - -babel-plugin-syntax-object-rest-spread@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= - -babel-plugin-transform-object-rest-spread@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" - integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= - dependencies: - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.26.0" - -babel-plugin-transform-react-remove-prop-types@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" - integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - dependencies: - babel-plugin-jest-hoist "^26.6.2" - babel-preset-current-node-syntax "^1.0.0" - -babel-preset-react-app@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-10.0.0.tgz#689b60edc705f8a70ce87f47ab0e560a317d7045" - integrity sha512-itL2z8v16khpuKutx5IH8UdCdSTuzrOhRFTEdIhveZ2i1iBKDrVE0ATa4sFVy+02GLucZNVBWtoarXBy0Msdpg== - dependencies: - "@babel/core" "7.12.3" - "@babel/plugin-proposal-class-properties" "7.12.1" - "@babel/plugin-proposal-decorators" "7.12.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "7.12.1" - "@babel/plugin-proposal-numeric-separator" "7.12.1" - "@babel/plugin-proposal-optional-chaining" "7.12.1" - "@babel/plugin-transform-flow-strip-types" "7.12.1" - "@babel/plugin-transform-react-display-name" "7.12.1" - "@babel/plugin-transform-runtime" "7.12.1" - "@babel/preset-env" "7.12.1" - "@babel/preset-react" "7.12.1" - "@babel/preset-typescript" "7.12.1" - "@babel/runtime" "7.12.1" - babel-plugin-macros "2.8.0" - babel-plugin-transform-react-remove-prop-types "0.4.24" - -babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - -bail@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" - integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -balanced-match@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9" - integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA== - -base-x@^3.0.2: - version "3.0.9" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" - integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== - dependencies: - safe-buffer "^5.0.1" - -base-x@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" - integrity sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA== - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.0.2, base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - 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" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -bfj@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.0.2.tgz#1988ce76f3add9ac2913fd8ba47aad9e651bfbb2" - integrity sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw== - dependencies: - bluebird "^3.5.5" - check-types "^11.1.1" - hoopy "^0.1.4" - tryer "^1.0.1" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -bignumber.js@^9.0.0, bignumber.js@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673" - integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -blakejs@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.1.tgz#bf313053978b2cd4c444a48795710be05c785702" - integrity sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg== - -bluebird@^3.5.0, bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@4.11.6: - version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" - integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU= - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.11.9" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== - -bn.js@^4.11.6: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" - integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== - -bn.js@^5.1.2, bn.js@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - -bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== - 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" - -body-parser@1.19.1, body-parser@^1.16.0: - version "1.19.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4" - integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA== - dependencies: - bytes "3.1.1" - 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.6" - raw-body "2.4.2" - type-is "~1.6.18" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - 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" - -braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - 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" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - 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" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@4.14.2: - version "4.14.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.2.tgz#1b3cec458a1ba87588cc5e9be62f19b6d48813ce" - integrity sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw== - dependencies: - caniuse-lite "^1.0.30001125" - electron-to-chromium "^1.3.564" - escalade "^3.0.2" - node-releases "^1.1.61" - -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.6.2, browserslist@^4.6.4: - version "4.16.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" - integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== - dependencies: - caniuse-lite "^1.0.30001181" - colorette "^1.2.1" - electron-to-chromium "^1.3.649" - escalade "^3.1.1" - node-releases "^1.1.70" - -browserslist@^4.16.6: - version "4.16.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" - integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== - dependencies: - caniuse-lite "^1.0.30001219" - colorette "^1.2.2" - electron-to-chromium "^1.3.723" - escalade "^3.1.1" - node-releases "^1.1.71" - -bs58@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= - dependencies: - base-x "^3.0.2" - -bs58check@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" - integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== - dependencies: - bs58 "^4.0.0" - create-hash "^1.1.0" - safe-buffer "^5.1.2" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" - integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - -buffer-to-arraybuffer@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" - integrity sha1-YGSkD6dutDxyOrqe+PbhIW0QURo= - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.0.5, buffer@^5.5.0, buffer@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -bufferutil@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.3.tgz#66724b756bed23cd7c28c4d306d7994f9943cc6b" - integrity sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw== - dependencies: - node-gyp-build "^4.2.0" - -builtin-modules@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" - integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -bytes32@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/bytes32/-/bytes32-0.0.3.tgz#85d90c220a74cce02fa6f7062dc1a2b5de3b3f78" - integrity sha512-uQM5zGcelcBEk0R7vkIRVN7GnrDd2S5EeWrxv7dSFLPVoI5FwYiSYOOLaFwnsav0oSr3hZQ6mFq6QNi8Vt6n8w== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@3.1.0, bytes@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -bytes@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a" - integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg== - -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cacache@^15.0.5: - version "15.0.5" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" - integrity sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A== - dependencies: - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.0" - tar "^6.0.2" - unique-filename "^1.1.1" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - 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" - -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - 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" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0, camelcase@^6.1.0, camelcase@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -camelize@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" - integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs= - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001181: - version "1.0.30001191" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001191.tgz#bacb432b6701f690c8c5f7c680166b9a9f0843d9" - integrity sha512-xJJqzyd+7GCJXkcoBiQ1GuxEiOBCLQ0aVW9HMekifZsAVGdj5eJ4mFB9fEhSHipq9IOk/QXFJUiIr9lZT+EsGw== - -caniuse-lite@^1.0.30001219: - version "1.0.30001234" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001234.tgz#8fc2e709e3b0679d7af7f073a1c661155c39b975" - integrity sha512-a3gjUVKkmwLdNysa1xkUAwN2VfJUJyVW47rsi3aCbkRCtbHAfo+rOsCqVw29G6coQ8gzAPb5XBXwiGHwme3isA== - -canvas-renderer@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/canvas-renderer/-/canvas-renderer-2.2.0.tgz#512151f5494aaac5270802fba22599785114716d" - integrity sha512-Itdq9pwXcs4IbbkRCXc7reeGBk6i6tlDtZTjE1yc+KvYkx1Mt3WLf6tidZ/Ixbm7Vmi+jpWKG0dRBor67x9yGw== - dependencies: - "@types/node" "*" - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -case-sensitive-paths-webpack-plugin@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" - integrity sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - 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" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.1.0, chalk@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" - integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -character-entities-legacy@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" - integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== - -character-entities@^1.0.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" - integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== - -character-reference-invalid@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" - integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== - -check-types@^11.1.1: - version "11.1.2" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.1.2.tgz#86a7c12bf5539f6324eb0e70ca8896c0e38f3e2f" - integrity sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ== - -"chokidar@>=3.0.0 <4.0.0": - version "3.5.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== - 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" - optionalDependencies: - fsevents "~2.3.2" - -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.1, chokidar@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" - integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== - 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.5.0" - optionalDependencies: - fsevents "~2.3.1" - -chownr@^1.1.1, chownr@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cids@^0.7.1: - version "0.7.5" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" - integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== - dependencies: - buffer "^5.5.0" - class-is "^1.1.0" - multibase "~0.6.0" - multicodec "^1.0.0" - multihashes "~0.4.15" - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-is@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" - integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6: - version "2.3.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" - integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== - -clean-css@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== - dependencies: - source-map "~0.6.0" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -cli-truncate@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" - integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== - dependencies: - slice-ansi "^5.0.0" - string-width "^5.0.0" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= - -clone-deep@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone-regexp@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" - integrity sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q== - dependencies: - is-regexp "^2.0.0" - -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - -clone@^2.1.1, clone@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -cloneable-readable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" - integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -codelyzer@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-6.0.2.tgz#25d72eae641e8ff13ffd7d99b27c9c7ad5d7e135" - integrity sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g== - dependencies: - "@angular/compiler" "9.0.0" - "@angular/core" "9.0.0" - app-root-path "^3.0.0" - aria-query "^3.0.0" - axobject-query "2.0.2" - css-selector-tokenizer "^0.7.1" - cssauron "^1.4.0" - damerau-levenshtein "^1.0.4" - rxjs "^6.5.3" - semver-dsl "^1.0.1" - source-map "^0.5.7" - sprintf-js "^1.1.2" - tslib "^1.10.0" - zone.js "~0.10.3" - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.3.0, color-convert@^1.9.0, color-convert@^1.9.1, color-convert@^1.9.3: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" - integrity sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE= - dependencies: - color-name "^1.0.0" - -color-string@^1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" - integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color-string@^1.6.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.0.tgz#63b6ebd1bec11999d1df3a79a7569451ac2be8aa" - integrity sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^0.11.3: - version "0.11.4" - resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" - integrity sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q= - dependencies: - clone "^1.0.2" - color-convert "^1.3.0" - color-string "^0.3.0" - -color@^3.0.0, color@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" - integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.4" - -color@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" - integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== - dependencies: - color-convert "^1.9.3" - color-string "^1.6.0" - -colorette@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" - integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== - -colorette@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== - -colorette@^2.0.16: - version "2.0.16" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" - integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== - -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.11.0, commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^6.0.0, commander@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -commander@^9.3.0: - version "9.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.3.0.tgz#f619114a5a2d2054e0d9ff1b31d5ccf89255e26b" - integrity sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw== - -comment-parser@1.1.5, comment-parser@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.1.5.tgz#453627ef8f67dbcec44e79a9bd5baa37f0bce9b2" - integrity sha512-RePCE4leIhBlmrqiYTvaqEeGYg7qpSl4etaIabKtdOQVi+mSTIBBklGUwIr79GXYnl3LpMwmDw4KeR2stNc6FA== - -common-tags@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" - integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -compare-func@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" - integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== - dependencies: - array-ify "^1.0.0" - dot-prop "^5.1.0" - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compose-function@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" - integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= - dependencies: - arity-n "^1.0.4" - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -compute-scroll-into-view@^1.0.17: - version "1.0.17" - resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz#6a88f18acd9d42e9cf4baa6bec7e0522607ab7ab" - integrity sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -confusing-browser-globals@^1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" - integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== - -connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-hash@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" - integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== - dependencies: - cids "^0.7.1" - multicodec "^0.5.5" - multihashes "^0.4.15" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -conventional-changelog-angular@^5.0.11: - version "5.0.12" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9" - integrity sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw== - dependencies: - compare-func "^2.0.0" - q "^1.5.1" - -conventional-changelog-conventionalcommits@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz#41bdce54eb65a848a4a3ffdca93e92fa22b64a86" - integrity sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw== - dependencies: - compare-func "^2.0.0" - lodash "^4.17.15" - q "^1.5.1" - -conventional-commits-parser@^3.2.2: - version "3.2.4" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" - integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== - dependencies: - JSONStream "^1.0.4" - is-text-path "^1.0.1" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - -convert-source-map@1.7.0, convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -convert-source-map@^0.3.3: - version "0.3.5" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" - integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== - -cookie@0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" - integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== - -cookiejar@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc" - integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ== - -copy-anything@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.3.tgz#842407ba02466b0df844819bbe3baebbe5d45d87" - integrity sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ== - dependencies: - is-what "^3.12.0" - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -copy-to-clipboard@^3, copy-to-clipboard@^3.2.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" - integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw== - dependencies: - toggle-selection "^1.0.6" - -copy-to-clipboard@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.2.tgz#5b263ec2366224b100181dded7ce0579b340c107" - integrity sha512-Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg== - dependencies: - toggle-selection "^1.0.6" - -core-js-compat@^3.6.2, core-js-compat@^3.8.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.9.0.tgz#29da39385f16b71e1915565aa0385c4e0963ad56" - integrity sha512-YK6fwFjCOKWwGnjFUR3c544YsnA/7DoLL0ysncuOJ4pwbriAtOpvM2bygdlcXbvQCQZ7bBU9CL4t7tGl7ETRpQ== - dependencies: - browserslist "^4.16.3" - semver "7.0.0" - -core-js-pure@^3.0.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.9.0.tgz#326cc74e1fef8b7443a6a793ddb0adfcd81f9efb" - integrity sha512-3pEcmMZC9Cq0D4ZBh3pe2HLtqxpGNJBLXF/kZ2YzK17RbKp94w0HFbdbSx8H8kAlZG5k76hvLrkPm57Uyef+kg== - -core-js@^2.4.0: - version "2.6.12" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - -core-js@^3.6.5: - version "3.9.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.9.0.tgz#790b1bb11553a2272b36e2625c7179db345492f8" - integrity sha512-PyFBJaLq93FlyYdsndE5VaueA9K5cNB7CGzeCj191YYLhkQM0gdZR2SKihM70oF0wdqKSKClv/tEBOpoRmdOVQ== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cors@^2.8.1: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -cosmiconfig-typescript-loader@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-2.0.1.tgz#5622bb1eb87d293570bcc3a57f406940e0960113" - integrity sha512-B9s6sX/omXq7I6gC6+YgLmrBFMJhPWew7ty/X5Tuwtd2zOSgWaUdXjkuVwbe3qqcdETo60+1nSVMekq//LIXVA== - dependencies: - cosmiconfig "^7" - ts-node "^10.8.0" - -cosmiconfig@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -cosmiconfig@^7: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -cosmiconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -craco-antd@^1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/craco-antd/-/craco-antd-1.19.0.tgz#ad3b95853a29a20c6de4003874517ae2a995064b" - integrity sha512-MpbF2LQxb/POiR003oOkuAhHwpyRx1w5opyg7SA4/2og/FMRR/2oca/eqKYQ7vre2dOpt64gkQ5xWETktHWCQQ== - dependencies: - babel-plugin-import "^1.13.1" - craco-less "1.17.0" - less-vars-to-js "^1.3.0" - -craco-less@1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/craco-less/-/craco-less-1.17.0.tgz#3d92e59966e1fdecef4d173b2389985a75cb6bb9" - integrity sha512-G+GPEKPPKiSvYDsnQWuj1C4CIuaY8w+iHvULHkNf5QWLE0LkPfSRf3frhRDJjFxtkThpLPSLjWndD9kx8bCWzw== - dependencies: - less "^3.11.1" - less-loader "^6.1.0" - -crc-32@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" - integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== - dependencies: - exit-on-epipe "~1.0.1" - printj "~1.1.0" - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - 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" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - 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" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-env@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" - integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== - dependencies: - cross-spawn "^7.0.1" - -cross-fetch@3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.4.tgz#9723f3a3a247bf8b89039f3a380a9244e8fa2f39" - integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ== - dependencies: - node-fetch "2.6.1" - -cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - 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" - -crypto-browserify@3.12.0, crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - 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" - -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= - -css-blank-pseudo@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" - integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== - dependencies: - postcss "^7.0.5" - -css-color-keywords@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" - integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU= - -css-color-names@0.0.4, css-color-names@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= - -css-declaration-sorter@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" - integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== - dependencies: - postcss "^7.0.1" - timsort "^0.3.0" - -css-has-pseudo@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" - integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^5.0.0-rc.4" - -css-loader@4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-4.3.0.tgz#c888af64b2a5b2e85462c72c0f4a85c7e2e0821e" - integrity sha512-rdezjCjScIrsL8BSYszgT4s476IcNKt6yX69t0pHjJVnPUTDpn4WfIpDQTN3wCJvUvfsz/mFjuGOekf3PY3NUg== - dependencies: - camelcase "^6.0.0" - cssesc "^3.0.0" - icss-utils "^4.1.1" - loader-utils "^2.0.0" - postcss "^7.0.32" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.3" - postcss-modules-scope "^2.2.0" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^2.7.1" - semver "^7.3.2" - -css-prefers-color-scheme@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" - integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== - dependencies: - postcss "^7.0.5" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^2.0.0, css-select@^2.0.2: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-selector-tokenizer@^0.7.1: - version "0.7.3" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1" - integrity sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg== - dependencies: - cssesc "^3.0.0" - fastparse "^1.1.2" - -css-to-react-native@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.0.0.tgz#62dbe678072a824a689bcfee011fc96e02a7d756" - integrity sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ== - dependencies: - camelize "^1.0.0" - css-color-keywords "^1.0.0" - postcss-value-parser "^4.0.2" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.2.tgz#9ae393b5dafd7dae8a622475caec78d3d8fbd7b5" - integrity sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-unit-converter@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21" - integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== - -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - -css@^2.0.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" - integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== - dependencies: - inherits "^2.0.3" - source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" - -cssauron@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cssauron/-/cssauron-1.4.0.tgz#a6602dff7e04a8306dc0db9a551e92e8b5662ad8" - integrity sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg= - dependencies: - through X.X.X - -cssdb@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" - integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== - -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" - integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== - dependencies: - css-declaration-sorter "^4.0.1" - cssnano-util-raw-cache "^4.0.1" - postcss "^7.0.0" - postcss-calc "^7.0.1" - postcss-colormin "^4.0.3" - postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.2" - postcss-discard-duplicates "^4.0.2" - postcss-discard-empty "^4.0.1" - postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.11" - postcss-merge-rules "^4.0.3" - postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.2" - postcss-minify-params "^4.0.2" - postcss-minify-selectors "^4.0.2" - postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.2" - postcss-normalize-positions "^4.0.2" - postcss-normalize-repeat-style "^4.0.2" - postcss-normalize-string "^4.0.2" - postcss-normalize-timing-functions "^4.0.2" - postcss-normalize-unicode "^4.0.1" - postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.2" - postcss-ordered-values "^4.1.2" - postcss-reduce-initial "^4.0.3" - postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.2" - postcss-unique-selectors "^4.0.1" - -cssnano-util-get-arguments@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" - integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= - -cssnano-util-get-match@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" - integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= - -cssnano-util-raw-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" - integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== - dependencies: - postcss "^7.0.0" - -cssnano-util-same-parent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" - integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== - -cssnano@^4.1.10: - version "4.1.10" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" - integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.7" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^4.0.2: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -csstype@^3.0.2: - version "3.0.8" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340" - integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw== - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -damerau-levenshtein@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" - integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== - -damerau-levenshtein@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" - integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug== - -dargs@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" - integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-uri-to-buffer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz#b5db46aea50f6176428ac05b73be39a57701a64b" - integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA== - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -date-fns-tz@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/date-fns-tz/-/date-fns-tz-1.1.6.tgz#93cbf354e2aeb2cd312ffa32e462c1943cf20a8e" - integrity sha512-nyy+URfFI3KUY7udEJozcoftju+KduaqkVfwyTIE0traBiVye09QnyWKLZK7drRr5h9B7sPJITmQnS3U6YOdQg== - -date-fns@^2.15.0, date-fns@^2.22.1: - version "2.22.1" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.22.1.tgz#1e5af959831ebb1d82992bf67b765052d8f0efc4" - integrity sha512-yUFPQjrxEmIsMqlHhAhmxkuH769baF21Kk+nZwZGyrMoyLA+LugaQtC0+Tqf9CBUUULWwUJt6Q5ySI3LJDDCGg== - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.0: - version "10.2.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" - integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -decompress-response@^3.2.0, decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - 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" - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^4.0.0, deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== - dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" - -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= - -del@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" - integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== - dependencies: - "@types/glob" "^7.1.1" - globby "^6.1.0" - is-path-cwd "^2.0.0" - is-path-in-cwd "^2.0.0" - p-map "^2.0.0" - pify "^4.0.1" - rimraf "^2.6.3" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -dequal@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.2.tgz#85ca22025e3a87e65ef75a7a437b35284a7e319d" - integrity sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug== - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== - -detect-port-alt@1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== - dependencies: - address "^1.0.1" - debug "^2.6.0" - -detective@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" - integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== - dependencies: - acorn-node "^1.6.1" - defined "^1.0.0" - minimist "^1.1.1" - -didyoumean@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff" - integrity sha1-6S7f2tplN9SE1zwBcv0eugxJdv8= - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -dns-packet@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-align@^1.7.0: - version "1.12.2" - resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.2.tgz#0f8164ebd0c9c21b0c790310493cd855892acd4b" - integrity sha512-pHuazgqrsTFrGU2WLDdXxCFabkdQDx72ddkraZNih1KsMcN5qsRSTR9O4VJRlwTPCPb5COYg3LOfiMHHcPInHg== - -dom-converter@^0.2: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-helpers@^5.0.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" - integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - -dom-serializer@0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -dom-walk@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" - integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domelementtype@1, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e" - integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w== - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== - dependencies: - domelementtype "1" - -domutils@^1.5.1, domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dot-prop@^5.1.0, dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -dotenv-expand@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - -dotenv@8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" - integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -duplexer@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ed2curve@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/ed2curve/-/ed2curve-0.3.0.tgz#322b575152a45305429d546b071823a93129a05d" - integrity sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ== - dependencies: - tweetnacl "1.x.x" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -ejs@^2.6.1: - version "2.7.4" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" - integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== - -electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.649: - version "1.3.671" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.671.tgz#8feaed6eae42d279fa4611f58c42a5a1eb81b2a0" - integrity sha512-RTD97QkdrJKaKwRv9h/wGAaoR2lGxNXEcBXS31vjitgTPwTWAbLdS7cEsBK68eEQy7p6YyT8D5BxBEYHu2SuwQ== - -electron-to-chromium@^1.3.723: - version "1.3.749" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.749.tgz#0ecebc529ceb49dd2a7c838ae425236644c3439a" - integrity sha512-F+v2zxZgw/fMwPz/VUGIggG4ZndDsYy0vlpthi3tjmDZlcfbhN5mYW0evXUsBr2sUtuDANFtle410A9u/sd/4A== - -elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.3, elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - 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" - -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.0.0: - version "9.2.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.1.tgz#c9b25604256bb3428964bead3ab63069d736f7ee" - integrity sha512-117l1H6U4X3Krn+MrzYrL57d5H7siRHWraBs7s+LjRuFK7Fe7hJqnJ0skWlinqsycVLU5YAo6L8CsEYQ0V5prg== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -ensure-array@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ensure-array/-/ensure-array-1.0.0.tgz#317e9fc632c656bb849eb649133528e205b23abc" - integrity sha512-A+3Ntl5WS+GjDnHtC67dKIjw+IoGoeFdNvjn3ZfKEmZgWUz0nxBPE4W52QMCbGZsat0VwWskD5T6AEpe3T2d1g== - -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -eol@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/eol/-/eol-0.9.1.tgz#f701912f504074be35c6117a5c4ade49cd547acd" - integrity sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg== - -errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" - integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== - dependencies: - stackframe "^1.1.1" - -es-abstract@^1.17.2: - version "1.17.7" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" - integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== - 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" - -es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: - version "1.18.0-next.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.2.tgz#088101a55f0541f595e7e057199e27ddc8f3a5c2" - integrity sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.2" - is-negative-zero "^2.0.1" - is-regex "^1.1.1" - object-inspect "^1.9.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.3" - string.prototype.trimstart "^1.0.3" - -es-abstract@^1.18.2: - version "1.18.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" - integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.2" - is-callable "^1.2.3" - is-negative-zero "^2.0.1" - is-regex "^1.1.3" - is-string "^1.0.6" - object-inspect "^1.10.3" - 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-abstract@^1.18.5: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== - 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.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.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@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.53" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" - integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.3" - next-tick "~1.0.0" - -es6-iterator@2.0.3, es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -escalade@^3.0.2, escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@^1.14.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" - integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== - -eslint-config-react-app@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-6.0.0.tgz#ccff9fc8e36b322902844cbd79197982be355a0e" - integrity sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A== - dependencies: - confusing-browser-globals "^1.0.10" - -eslint-import-resolver-node@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== - dependencies: - debug "^2.6.9" - pkg-dir "^2.0.0" - -eslint-module-utils@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233" - integrity sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== - dependencies: - debug "^3.2.7" - pkg-dir "^2.0.0" - -eslint-plugin-flowtype@^5.2.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.2.2.tgz#c6e5dd2fad4e757a1c63e652da6cff597659554f" - integrity sha512-C4PlPYpszr9h1cBfUbTNRI1IdxUCF0qrXAHkXS2+bESp7WUUCnvb3UBBnYlaQLvJYJ2lRz+2SPQQ/WyV7p/Tow== - dependencies: - lodash "^4.17.15" - string-natural-compare "^3.0.1" - -eslint-plugin-import@^2.22.1: - version "2.22.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" - integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== - dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" - -eslint-plugin-import@^2.23.4: - version "2.23.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz#8dceb1ed6b73e46e50ec9a5bb2411b645e7d3d97" - integrity sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ== - dependencies: - array-includes "^3.1.3" - array.prototype.flat "^1.2.4" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.1" - find-up "^2.0.0" - has "^1.0.3" - is-core-module "^2.4.0" - minimatch "^3.0.4" - object.values "^1.1.3" - pkg-up "^2.0.0" - read-pkg-up "^3.0.0" - resolve "^1.20.0" - tsconfig-paths "^3.9.0" - -eslint-plugin-jest@^24.1.0: - version "24.1.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.1.5.tgz#1e866a9f0deac587d0a3d5d7cefe99815a580de2" - integrity sha512-FIP3lwC8EzEG+rOs1y96cOJmMVpdFNreoDJv29B5vIupVssRi8zrSY3QadogT0K3h1Y8TMxJ6ZSAzYUmFCp2hg== - dependencies: - "@typescript-eslint/experimental-utils" "^4.0.1" - -eslint-plugin-jsdoc@^35.1.2: - version "35.1.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-35.1.2.tgz#dbd447f61e9baa6c369eb85d6cd8c2df0e1f63c9" - integrity sha512-IPChTbaL9rWe6DCinKOpUdqsBV7r2dKEId1nweSKsjJqZp1VAQyzQJ5N6ogji2AWmrPU1jdjfHA5HIG2RaiRBA== - dependencies: - "@es-joy/jsdoccomment" "^0.8.0-alpha.2" - comment-parser "1.1.5" - debug "^4.3.1" - esquery "^1.4.0" - jsdoc-type-pratt-parser "^1.0.2" - lodash "^4.17.21" - regextras "^0.8.0" - semver "^7.3.5" - spdx-expression-parse "^3.0.1" - -eslint-plugin-jsx-a11y@^6.3.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" - integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg== - dependencies: - "@babel/runtime" "^7.11.2" - aria-query "^4.2.2" - array-includes "^3.1.1" - ast-types-flow "^0.0.7" - axe-core "^4.0.2" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.6" - emoji-regex "^9.0.0" - has "^1.0.3" - jsx-ast-utils "^3.1.0" - language-tags "^1.0.5" - -eslint-plugin-prettier@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz#cdbad3bf1dbd2b177e9825737fe63b476a08f0c7" - integrity sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-react-hooks@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" - integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== - -eslint-plugin-react@^7.21.5: - version "7.22.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.22.0.tgz#3d1c542d1d3169c45421c1215d9470e341707269" - integrity sha512-p30tuX3VS+NWv9nQot9xIGAHBXR0+xJVaZriEsHoJrASGCJZDJ8JLNM0YqKqI0AKm6Uxaa1VUHoNEibxRCMQHA== - dependencies: - array-includes "^3.1.1" - array.prototype.flatmap "^1.2.3" - doctrine "^2.1.0" - has "^1.0.3" - jsx-ast-utils "^2.4.1 || ^3.0.0" - object.entries "^1.1.2" - object.fromentries "^2.0.2" - object.values "^1.1.1" - prop-types "^15.7.2" - resolve "^1.18.1" - string.prototype.matchall "^4.0.2" - -eslint-plugin-react@^7.24.0: - version "7.24.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.24.0.tgz#eadedfa351a6f36b490aa17f4fa9b14e842b9eb4" - integrity sha512-KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q== - dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" - doctrine "^2.1.0" - has "^1.0.3" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.0.4" - object.entries "^1.1.4" - object.fromentries "^2.0.4" - object.values "^1.1.4" - prop-types "^15.7.2" - resolve "^2.0.0-next.3" - string.prototype.matchall "^4.0.5" - -eslint-plugin-testing-library@^3.9.2: - version "3.10.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-3.10.1.tgz#4dd02306d601c3238fdabf1d1dbc5f2a8e85d531" - integrity sha512-nQIFe2muIFv2oR2zIuXE4vTbcFNx8hZKRzgHZqJg8rfopIWwoTwtlbCCNELT/jXzVe1uZF68ALGYoDXjLczKiQ== - dependencies: - "@typescript-eslint/experimental-utils" "^3.10.1" - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.0.0, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== - -eslint-webpack-plugin@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.2.tgz#4ee17577d6392bf72048080a1678d6237183db81" - integrity sha512-ndD9chZ/kaGnjjx7taRg7c6FK/YKb29SSYzaLtPBIYLYJQmZtuKqtQbAvTS2ymiMQT6X0VW9vZIHK0KLstv93Q== - dependencies: - "@types/eslint" "^7.2.6" - arrify "^2.0.1" - jest-worker "^26.6.2" - micromatch "^4.0.2" - schema-utils "^3.0.0" - -eslint@^7.11.0: - version "7.20.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.20.0.tgz#db07c4ca4eda2e2316e7aa57ac7fc91ec550bdc7" - integrity sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.3.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" - 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" - file-entry-cache "^6.0.0" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.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 "^4.17.20" - 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.4" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -eslint@^7.27.0: - version "7.28.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.28.0.tgz#435aa17a0b82c13bb2be9d51408b617e49c1e820" - integrity sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.2" - 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" - -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.0, esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -estree-walker@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" - integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -eth-ens-namehash@2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" - integrity sha1-IprEbsqG1S4MmR58sq74P/D2i88= - dependencies: - idna-uts46-hx "^2.3.1" - js-sha3 "^0.5.7" - -eth-lib@0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" - integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - xhr-request-promise "^0.1.2" - -eth-lib@^0.1.26: - version "0.1.29" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9" - integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== - 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" - -ethereum-blockies-base64@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ethereum-blockies-base64/-/ethereum-blockies-base64-1.0.2.tgz#4aebca52142bf4d16a3144e6e2b59303e39ed2b3" - integrity sha512-Vg2HTm7slcWNKaRhCUl/L3b4KrB8ohQXdd5Pu3OI897EcR6tVRvUqdTwAyx+dnmoDzj8e2bwBLDQ50ByFmcz6w== - dependencies: - pnglib "0.0.1" - -ethereum-bloom-filters@^1.0.6: - version "1.0.10" - resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" - integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== - dependencies: - js-sha3 "^0.8.0" - -ethereum-cryptography@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" - 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" - -ethereumjs-util@^7.0.10, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz#b55d7b64dde3e3e45749e4c41288238edec32d23" - integrity sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw== - 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" - -ethjs-unit@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" - integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= - dependencies: - bn.js "4.11.6" - number-to-bn "1.7.0" - -eventemitter3@4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" - integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== - -eventemitter3@^4.0.0, eventemitter3@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" - integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== - -eventsource@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== - dependencies: - original "^1.0.0" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -execa@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" - integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^3.0.1" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.0" - -execall@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45" - integrity sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow== - dependencies: - clone-regexp "^2.1.0" - -exit-on-epipe@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" - integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - 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" - -expect@^26.6.0, expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -express@^4.14.0: - version "4.17.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz#c18369f265297319beed4e5558753cc8c1364cb3" - integrity sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg== - dependencies: - accepts "~1.3.7" - array-flatten "1.1.1" - body-parser "1.19.1" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.4.1" - 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.6" - 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" - -express@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== - 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" - -ext@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" - integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== - dependencies: - type "^2.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@^3.0.0, extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - 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" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.1.1, fast-glob@^3.2.5: - version "3.2.5" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" - integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - -fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastest-levenshtein@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" - integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== - -fastparse@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" - integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== - -fastq@^1.6.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.10.1.tgz#8b8f2ac8bf3632d67afcd65dac248d5fdc45385e" - integrity sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA== - dependencies: - reusify "^1.0.4" - -faye-websocket@^0.11.3: - version "0.11.3" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" - integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -fetch-blob@^3.1.2, fetch-blob@^3.1.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" - integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== - dependencies: - node-domexception "^1.0.0" - web-streams-polyfill "^3.0.3" - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - -file-entry-cache@^6.0.0, file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-loader@6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.1.1.tgz#a6f29dfb3f5933a1c350b2dbaa20ac5be0539baa" - integrity sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -file-saver@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38" - integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA== - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -filesize@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00" - integrity sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - 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" - -find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" - integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" - integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== - -flatten@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" - integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== - -flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -follow-redirects@^1.0.0: - version "1.13.2" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.2.tgz#dd73c8effc12728ba5cf4259d760ea5fb83e3147" - integrity sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA== - -follow-redirects@^1.14.4: - version "1.14.4" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" - integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -fork-ts-checker-webpack-plugin@4.1.6: - version "4.1.6" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz#5055c703febcf37fa06405d400c122b905167fc5" - integrity sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw== - dependencies: - "@babel/code-frame" "^7.5.5" - chalk "^2.4.1" - micromatch "^3.1.10" - minimatch "^3.0.4" - semver "^5.6.0" - tapable "^1.0.0" - worker-rpc "^0.1.0" - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -formdata-polyfill@^4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" - integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== - dependencies: - fetch-blob "^3.1.2" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0.1, fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - 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" - -fs-minipass@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-mkdirp-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" - integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= - dependencies: - graceful-fs "^4.1.11" - through2 "^2.0.3" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@^2.1.2, fsevents@^2.1.3, fsevents@~2.3.1, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stdin@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" - integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - -get-stream@^4.0.0, get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0, get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0, get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -git-raw-commits@^2.0.0: - version "2.0.10" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.10.tgz#e2255ed9563b1c9c3ea6bd05806410290297bbc1" - integrity sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ== - dependencies: - dargs "^7.0.0" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= - dependencies: - is-glob "^2.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - dependencies: - is-glob "^4.0.1" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-stream@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" - integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= - dependencies: - extend "^3.0.0" - glob "^7.1.1" - glob-parent "^3.1.0" - is-negated-glob "^1.0.0" - ordered-read-streams "^1.0.0" - pumpify "^1.3.5" - readable-stream "^2.1.5" - remove-trailing-separator "^1.0.1" - to-absolute-glob "^2.0.0" - unique-stream "^2.0.2" - -glob@^7.0.0: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - 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" - -glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - 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" - -global-dirs@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= - dependencies: - ini "^1.3.4" - -global-modules@2.0.0, global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -global@~4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" - integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== - dependencies: - min-document "^2.19.0" - process "^0.11.10" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0, globals@^13.9.0: - version "13.9.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz#4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb" - integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA== - dependencies: - type-fest "^0.20.2" - -globby@11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" - integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globby@^11.0.1: - version "11.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" - integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globby@^11.0.3: - version "11.0.3" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" - integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globjoin@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" - integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM= - -gonzales-pe@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.3.0.tgz#fe9dec5f3c557eead09ff868c65826be54d067b3" - integrity sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ== - dependencies: - minimist "^1.2.5" - -got@9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - 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" - -got@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" - integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== - 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" - -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -graphql-tag@^2.12.6: - version "2.12.6" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" - integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== - dependencies: - tslib "^2.1.0" - -graphql@^16.5.0: - version "16.5.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.5.0.tgz#41b5c1182eaac7f3d47164fb247f61e4dfb69c85" - integrity sha512-qbHgh8Ix+j/qY+a/ZcJnFQ+j8ezakqPiHwPiZhV/3PgGlgf96QMBB5/f2rkiC9sgLoy/xvT6TSiaf2nTHJh5iA== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -gulp-sort@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/gulp-sort/-/gulp-sort-2.0.0.tgz#c6762a2f1f0de0a3fc595a21599d3fac8dba1aca" - integrity sha1-xnYqLx8N4KP8WVohWZ0/rI26Gso= - dependencies: - through2 "^2.0.1" - -gzip-size@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== - dependencies: - duplexer "^0.1.1" - pify "^4.0.1" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - -harmony-reflect@^1.4.6: - version "1.6.1" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" - integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA== - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbol-support-x@^1.4.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" - integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== - -has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" - integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== - dependencies: - has-symbol-support-x "^1.4.1" - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.0, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.5, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== - -highcharts-react-official@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/highcharts-react-official/-/highcharts-react-official-3.1.0.tgz#921e5614f9e8580bc99a1e3b531d51a70f396500" - integrity sha512-CkWJHrVMOc6CT8KFu1dR+a0w5OxCVKKgZUNWtEi5TmR0xqBDIDe+RyM652MAN/jBYppxMo6TCUVlRObCyWAn0Q== - -highcharts@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/highcharts/-/highcharts-10.2.0.tgz#646b1c80fb4add9e35e5813bd87419ccdf1fc6b7" - integrity sha512-MvLo4dzR2Vo7Y85dsqJ07uabBXSSIRKRRdW4l9IGP55h2jYWNm/m9JBszVVxySH5Lda6g+Ins9NdGppZJpjNCA== - -history@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz#1548abaa245ba47992f063a0783db91ef201c73b" - integrity sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ== - dependencies: - "@babel/runtime" "^7.7.6" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -hosted-git-info@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" - integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== - dependencies: - lru-cache "^6.0.0" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" - integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" - integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= - -html-comment-regex@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" - integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-entities@^1.2.1, html-entities@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" - integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-minifier-terser@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" - integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== - dependencies: - camel-case "^4.1.1" - clean-css "^4.2.3" - commander "^4.1.1" - he "^1.2.0" - param-case "^3.0.3" - relateurl "^0.2.7" - terser "^4.6.3" - -html-parse-stringify@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2" - integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg== - dependencies: - void-elements "3.1.0" - -html-tags@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" - integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== - -html-webpack-plugin@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz#625097650886b97ea5dae331c320e3238f6c121c" - integrity sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw== - dependencies: - "@types/html-minifier-terser" "^5.0.0" - "@types/tapable" "^1.0.5" - "@types/webpack" "^4.41.8" - html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" - lodash "^4.17.15" - pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" - -htmlparser2@^3.10.0, htmlparser2@^3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== - dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" - -http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= - -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" - integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.1" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-https@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" - integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs= - -http-parser-js@>=0.5.1: - version "0.5.3" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" - integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== - -http-proxy-middleware@0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== - dependencies: - http-proxy "^1.17.0" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" - -http-proxy@^1.17.0: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -human-signals@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" - integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== - -husky@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9" - integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw== - -i18next-browser-languagedetector@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-6.1.1.tgz#fc4c6606bb3f7afc331737cf7c41e50919d55542" - integrity sha512-hckgbBdCpJPhkGUANe6tsvD52k9R7GuYskG0EaIw89pZz3owUvUEwXHqM5pX1Pn93jz+O65Y09ikwJrMkqtq2Q== - dependencies: - "@babel/runtime" "^7.5.5" - -i18next-http-backend@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/i18next-http-backend/-/i18next-http-backend-1.2.6.tgz#80b12e8b207814aebb3b8a74c4487dd156973bee" - integrity sha512-NeNNRofj+rR6Cw+/Elf8bCVaCiqWg2Y6F+CrmDvHiPzAW2Dtxxlk8O0na2et/rr1n3ST6rJr4nMXH/QOFuhaeA== - dependencies: - cross-fetch "3.1.4" - -i18next-scanner-typescript@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/i18next-scanner-typescript/-/i18next-scanner-typescript-1.0.6.tgz#1b4d4c27bd47cef68bfa89be543fcff563ea2f0e" - integrity sha512-v6kULnsv32OlFM9pnWTH+wNtRXf5owmFUNBYcX78jbZxQBFnTCUo3w99JjnxuzuXA9ch4UKNQBnt2P/o94eyeQ== - dependencies: - typescript "^3.0.0" - -i18next-scanner@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/i18next-scanner/-/i18next-scanner-3.0.0.tgz#16024fa7f6dc5fd73d91545bd01566f86a76529a" - integrity sha512-cm4Ch3VqicGZS8y+4xSvXoOsnE/iWhHZi6AZEyAgLLm3EDZ/eY21gDbLfbnwKVY6wCghzAEO9LfRNlxwTo8KMQ== - dependencies: - acorn "^8.0.4" - acorn-dynamic-import "^4.0.0" - acorn-jsx "^5.3.1" - acorn-stage3 "^4.0.0" - acorn-walk "^8.0.0" - chalk "^4.1.0" - clone-deep "^4.0.0" - commander "^6.2.0" - deepmerge "^4.0.0" - ensure-array "^1.0.0" - eol "^0.9.1" - esprima "^4.0.0" - gulp-sort "^2.0.0" - i18next "*" - lodash "^4.0.0" - parse5 "^6.0.0" - sortobject "^4.0.0" - through2 "^4.0.0" - vinyl "^2.2.0" - vinyl-fs "^3.0.1" - -i18next@*, i18next@^20.3.1: - version "20.3.1" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-20.3.1.tgz#b51dd281a2eec8087753edf1727e160dac8a5554" - integrity sha512-WTY07KreR5z2LBSzAIKs05zpR5tgUT98C4fD96e7Risbc/HZePwF6AEnb9VkjdeSeRn9PDqQBay7ZkphuXt0Xw== - dependencies: - "@babel/runtime" "^7.12.0" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - -identity-obj-proxy@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= - dependencies: - harmony-reflect "^1.4.6" - -idna-uts46-hx@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" - integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== - dependencies: - punycode "2.1.0" - -ieee754@^1.1.13, ieee754@^1.1.4: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.4, ignore@^5.1.8: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -image-size@~0.5.0: - version "0.5.5" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" - integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= - -immer@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/immer/-/immer-8.0.1.tgz#9c73db683e2b3975c424fb0572af5889877ae656" - integrity sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA== - -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - dependencies: - import-from "^2.1.0" - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= - dependencies: - resolve-from "^3.0.0" - -import-lazy@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" - integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== - -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -infer-owner@^1.0.3, infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@^1.3.4, ini@^1.3.5: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -internal-ip@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" - integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -intro.js-react@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/intro.js-react/-/intro.js-react-0.5.0.tgz#d4e67a4f6e4726bee803222ff09d6deacb4598c8" - integrity sha512-tr9uhoy/aRgcdZxpqYC/TPSVlJ/Gt9Kx4mpI7clCdFa7c3SG8reJugIa1U5XnWlDLRNMc+e8egb8Jf186yvc1A== - -intro.js@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/intro.js/-/intro.js-5.0.0.tgz#4e5fab764be6c086dd0413c6e0b6dac54d5ed7b2" - integrity sha512-bj3R8Fb9h5I/oJIit60KciZUXBDviA4qV1iM9O/AXQvrfv78Szx9ILuRWET1W2jGge8RcM11TApxwQ0007Y1nQ== - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.9.1, ipaddr.js@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= - -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - -is-absolute@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" - integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== - dependencies: - is-relative "^1.0.0" - is-windows "^1.0.1" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-alphabetical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" - integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== - -is-alphanumerical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" - integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== - dependencies: - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - -is-arguments@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" - integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== - dependencies: - call-bind "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-bigint@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" - integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" - integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== - dependencies: - call-bind "^1.0.2" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - -is-callable@^1.1.4, is-callable@^1.2.2, is-callable@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" - integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== - -is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-color-stop@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" - integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= - dependencies: - css-color-names "^0.0.4" - hex-color-regex "^1.1.0" - hsl-regex "^1.0.0" - hsla-regex "^1.0.0" - rgb-regex "^1.0.1" - rgba-regex "^1.0.0" - -is-core-module@^2.0.0, is-core-module@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== - dependencies: - has "^1.0.3" - -is-core-module@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" - integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== - -is-decimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" - integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - -is-docker@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" - integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== - -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-fullwidth-code-point@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" - integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== - -is-function@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" - integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= - dependencies: - is-extglob "^1.0.0" - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-hex-prefixed@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" - integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= - -is-hexadecimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" - integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== - -is-mobile@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-mobile/-/is-mobile-3.0.0.tgz#683005f3a40adbc0ca5867e1d5e75d7bbf66d764" - integrity sha512-UruBjgykgDJ5zRpJ8Zgh9ZUe4jQaHD8klX9FlkOt0oPyu3FpwJpxHvKg4+lhJOWGxSrMKsRuPFk60xeltvyliQ== - -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= - -is-negated-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" - integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= - -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== - -is-number-object@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" - integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" - integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== - -is-path-cwd@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-in-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" - integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== - dependencies: - is-path-inside "^2.1.0" - -is-path-inside@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" - integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== - dependencies: - path-is-inside "^1.0.2" - -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-obj@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - -is-regex@^1.0.4, is-regex@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" - integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== - dependencies: - call-bind "^1.0.2" - has-symbols "^1.0.1" - -is-regex@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" - integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== - dependencies: - call-bind "^1.0.2" - has-symbols "^1.0.2" - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-regexp@^2.0.0, is-regexp@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" - integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA== - -is-relative@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" - integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== - dependencies: - is-unc-path "^1.0.0" - -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - -is-retry-allowed@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - -is-root@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" - integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-stream@^1.0.0, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== - -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== - -is-string@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" - integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== - -is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-svg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" - integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== - dependencies: - html-comment-regex "^1.1.0" - -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== - dependencies: - has-symbols "^1.0.1" - -is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-text-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= - dependencies: - text-extensions "^1.0.0" - -is-typed-array@^1.1.3, is-typed-array@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79" - integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA== - 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-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-unc-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" - integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== - dependencies: - unc-path-regex "^0.1.2" - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-utf8@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-valid-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" - integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= - -is-weakref@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-what@^3.12.0: - version "3.14.1" - resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" - integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== - -is-windows@^1.0.1, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -is-wsl@^2.1.1, is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" - integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - -jdenticon@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/jdenticon/-/jdenticon-3.1.1.tgz#76a5b81195d7147c635a1303adf314dd08bcd4cb" - integrity sha512-/m0Kk5ou7tPHjW6YovCysRETqPlFcTabWG96r8NbbSsEK+eQ3jHiGULaGOtp4XBqkRxWS1XMopLRGwdhet5ezw== - dependencies: - canvas-renderer "~2.2.0" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-circus@26.6.0: - version "26.6.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-26.6.0.tgz#7d9647b2e7f921181869faae1f90a2629fd70705" - integrity sha512-L2/Y9szN6FJPWFK8kzWXwfp+FOR7xq0cUL4lIsdbIdwz3Vh6P1nrpcqOleSzr28zOtSHQNV9Z7Tl+KkuK7t5Ng== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.0" - "@jest/test-result" "^26.6.0" - "@jest/types" "^26.6.0" - "@types/babel__traverse" "^7.0.4" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - expect "^26.6.0" - is-generator-fn "^2.0.0" - jest-each "^26.6.0" - jest-matcher-utils "^26.6.0" - jest-message-util "^26.6.0" - jest-runner "^26.6.0" - jest-runtime "^26.6.0" - jest-snapshot "^26.6.0" - jest-util "^26.6.0" - pretty-format "^26.6.0" - stack-utils "^2.0.2" - throat "^5.0.0" - -jest-cli@^26.6.0: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.0, jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -jest-get-type@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.0, jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.0, jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@26.6.0: - version "26.6.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.0.tgz#070fe7159af87b03e50f52ea5e17ee95bbee40e1" - integrity sha512-tRAz2bwraHufNp+CCmAD8ciyCpXCs1NQxB5EJAmtCFy6BN81loFEGWKzYu26Y62lAJJe4X4jg36Kf+NsQyiStQ== - dependencies: - "@jest/types" "^26.6.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.0" - read-pkg-up "^7.0.1" - resolve "^1.17.0" - slash "^3.0.0" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.0, jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.0, jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.6.0, jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.6.0, jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watch-typeahead@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.6.1.tgz#45221b86bb6710b7e97baaa1640ae24a07785e63" - integrity sha512-ITVnHhj3Jd/QkqQcTqZfRgjfyRhDFM/auzgVo2RKvSwi18YMvh0WvXDJFoFED6c7jd/5jxtu4kSOb9PTu2cPVg== - dependencies: - ansi-escapes "^4.3.1" - chalk "^4.0.0" - jest-regex-util "^26.0.0" - jest-watcher "^26.3.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - -jest-watcher@^26.3.0, jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - -jest-worker@^26.5.0, jest-worker@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@26.6.0: - version "26.6.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.0.tgz#546b25a1d8c888569dbbe93cae131748086a4a25" - integrity sha512-jxTmrvuecVISvKFFhOkjsWRZV7sFqdSUAd1ajOKY+/QE/aLBVstsJ/dX8GczLzwiT6ZEwwmZqtCUHLHHQVzcfA== - dependencies: - "@jest/core" "^26.6.0" - import-local "^3.0.2" - jest-cli "^26.6.0" - -js-sha3@0.8.0, js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-sha3@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" - integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdoc-type-pratt-parser@1.0.0-alpha.23: - version "1.0.0-alpha.23" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.0.0-alpha.23.tgz#01c232d92b99b7e7ef52235ab8c9115137426639" - integrity sha512-COtimMd97eo5W0h6R9ISFj9ufg/9EiAzVAeQpKBJ1xJs/x8znWE155HGBDR2rwOuZsCes1gBXGmFVfvRZxGrhg== - -jsdoc-type-pratt-parser@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.0.4.tgz#5750d2d32ffb001866537d3baaedea7cf84c7036" - integrity sha512-jzmW9gokeq9+bHPDR1nCeidMyFUikdZlbOhKzh9+/nJqB75XhpNKec1/UuxW5c4+O+Pi31Gc/dCboyfSm/pSpQ== - -jsdom@^16.4.0: - version "16.4.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" - integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== - dependencies: - abab "^2.0.3" - acorn "^7.1.1" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.2.0" - data-urls "^2.0.0" - decimal.js "^10.2.0" - domexception "^2.0.1" - escodegen "^1.14.1" - html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" - nwsapi "^2.2.0" - parse5 "5.1.1" - request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" - symbol-tree "^3.2.4" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.2.3" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json2mq@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" - integrity sha1-tje9O6nqvhIsg+lyBIOusQ0skEo= - dependencies: - string-convert "^0.2.0" - -json3@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" - integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" - integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== - dependencies: - array-includes "^3.1.2" - object.assign "^4.1.2" - -keccak@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" - integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - readable-stream "^3.6.0" - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - -killable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -klona@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" - integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== - -known-css-properties@^0.21.0: - version "0.21.0" - resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.21.0.tgz#15fbd0bbb83447f3ce09d8af247ed47c68ede80d" - integrity sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw== - -language-subtag-registry@~0.3.2: - version "0.3.21" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" - integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== - -language-tags@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" - integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= - dependencies: - language-subtag-registry "~0.3.2" - -last-call-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" - integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== - dependencies: - lodash "^4.17.5" - webpack-sources "^1.1.0" - -lazystream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" - integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= - dependencies: - readable-stream "^2.0.5" - -lead@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" - integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= - dependencies: - flush-write-stream "^1.0.2" - -less-bundle-promise@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/less-bundle-promise/-/less-bundle-promise-1.0.7.tgz#198d7991ac4f5f3c7862fac1074c7b9aca7b9cb2" - integrity sha512-B4mN+YtkOxAPUHyorhup+ETVNZ9E1PO65sPhgPvDDHDVtR1oYRd87EbYVYOsU0Oev0MW/6MSouS5QYlhe7XrzA== - -less-loader@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-6.2.0.tgz#8b26f621c155b342eefc24f5bd6e9dc40c42a719" - integrity sha512-Cl5h95/Pz/PWub/tCBgT1oNMFeH1WTD33piG80jn5jr12T4XbxZcjThwNXDQ7AG649WEynuIzO4b0+2Tn9Qolg== - dependencies: - clone "^2.1.2" - less "^3.11.3" - loader-utils "^2.0.0" - schema-utils "^2.7.0" - -less-plugin-npm-import@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/less-plugin-npm-import/-/less-plugin-npm-import-2.1.0.tgz#823e6986c93318a98171ca858848b6bead55bf3e" - integrity sha1-gj5phskzGKmBccqFiEi2vq1Vvz4= - dependencies: - promise "~7.0.1" - resolve "~1.1.6" - -less-vars-to-js@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/less-vars-to-js/-/less-vars-to-js-1.3.0.tgz#c322cf43a3c8fc3fab655da3e51a14c1499ab571" - integrity sha512-xeiLLn/IMCGtdyCkYQnW8UuzoW2oYMCKg9boZRaGI58fLz5r90bNJDlqGzmVt/1Uqk75/DxIVtQSNCMkE5fRZQ== - dependencies: - strip-json-comments "^2.0.1" - -less@^3.11.1, less@^3.11.3, less@^3.9.0: - version "3.13.1" - resolved "https://registry.yarnpkg.com/less/-/less-3.13.1.tgz#0ebc91d2a0e9c0c6735b83d496b0ab0583077909" - integrity sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw== - dependencies: - copy-anything "^2.0.1" - tslib "^1.10.0" - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - make-dir "^2.1.0" - mime "^1.4.1" - native-request "^1.0.5" - source-map "~0.6.0" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lilconfig@2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25" - integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -lint-staged@>=10: - version "13.0.0" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.0.0.tgz#ce3526a844e6328814a3261fbfedc610a18856fa" - integrity sha512-vWban5utFt78VZohbosUxNIa46KKJ+KOQTDWTQ8oSl1DLEEVl9zhUtaQbiiydAmx+h2wKJK2d0+iMaRmknuWRQ== - dependencies: - cli-truncate "^3.1.0" - colorette "^2.0.16" - commander "^9.3.0" - debug "^4.3.4" - execa "^6.1.0" - lilconfig "2.0.5" - listr2 "^4.0.5" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-inspect "^1.12.2" - pidtree "^0.5.0" - string-argv "^0.3.1" - yaml "^2.1.1" - -listr2@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.5.tgz#9dcc50221583e8b4c71c43f9c7dfd0ef546b75d5" - integrity sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA== - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.5" - through "^2.3.8" - wrap-ansi "^7.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - -loader-utils@2.0.0, loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash.template@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" - -lodash.toarray@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" - integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= - -lodash.topath@^4.5.2: - version "4.5.2" - resolved "https://registry.yarnpkg.com/lodash.topath/-/lodash.topath-4.5.2.tgz#3616351f3bba61994a0931989660bd03254fd009" - integrity sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak= - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - -loglevel@^1.6.8: - version "1.7.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" - integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== - -longest-streak@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" - integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -magic-string@^0.25.0, magic-string@^0.25.7: - version "0.25.7" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" - integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== - dependencies: - sourcemap-codec "^1.4.4" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.0, make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" - integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -mathml-tag-names@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" - integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdast-util-from-markdown@^0.8.0: - version "0.8.5" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" - integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string "^2.0.0" - micromark "~2.11.0" - parse-entities "^2.0.0" - unist-util-stringify-position "^2.0.0" - -mdast-util-to-markdown@^0.6.0: - version "0.6.5" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz#b33f67ca820d69e6cc527a93d4039249b504bebe" - integrity sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== - dependencies: - "@types/unist" "^2.0.0" - longest-streak "^2.0.0" - mdast-util-to-string "^2.0.0" - parse-entities "^2.0.0" - repeat-string "^1.0.0" - zwitch "^1.0.0" - -mdast-util-to-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" - integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -meow@^8.0.0: - version "8.1.2" - resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" - integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -meow@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" - integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize "^1.2.0" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -mersenne-twister@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz#f916618ee43d7179efcf641bec4531eb9670978a" - integrity sha1-+RZhjuQ9cXnvz2Qb7EUx65Zwl4o= - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -microevent.ts@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" - integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== - -micromark@~2.11.0: - version "2.11.4" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a" - integrity sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== - dependencies: - debug "^4.0.0" - parse-entities "^2.0.0" - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - 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" - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.46.0, "mime-db@>= 1.43.0 < 2": - version "1.46.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" - integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== - -mime-db@1.51.0: - version "1.51.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.29" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" - integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== - dependencies: - mime-db "1.46.0" - -mime-types@^2.1.16: - version "2.1.34" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== - dependencies: - mime-db "1.51.0" - -mime@1.6.0, mime@^1.4.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^2.4.4: - version "2.5.2" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" - integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== - -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" - integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= - dependencies: - dom-walk "^0.1.0" - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -mini-css-extract-plugin@0.11.3: - version "0.11.3" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz#15b0910a7f32e62ffde4a7430cfefbd700724ea6" - integrity sha512-n9BA8LonkOkW1/zn+IbLPQmovsL0wMb9yx75fMJQZf2X1Zoec9yTZtyMePcyu19wPkmFbzZZA6fLTotpFhQsOA== - dependencies: - loader-utils "^1.1.0" - normalize-url "1.9.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@3.0.4, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.2: - version "1.2.4" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass@^2.6.0, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" - integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== - dependencies: - yallist "^4.0.0" - -minizlib@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp-promise@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" - integrity sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE= - dependencies: - mkdirp "*" - -mkdirp@*, mkdirp@^1.0.3, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mock-fs@^4.1.0: - version "4.14.0" - resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" - integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== - -mock-socket@^9.1.5: - version "9.1.5" - resolved "https://registry.yarnpkg.com/mock-socket/-/mock-socket-9.1.5.tgz#2c4e44922ad556843b6dfe09d14ed8041fa2cdeb" - integrity sha512-3DeNIcsQixWHHKk6NdoBhWI4t1VMj5/HzfnI1rE/pLl5qKx7+gd4DNA07ehTaZ6MoUU053si6Hd+YtiM/tQZfg== - -modern-normalize@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/modern-normalize/-/modern-normalize-1.1.0.tgz#da8e80140d9221426bd4f725c6e11283d34f90b7" - integrity sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA== - -moment@^2.24.0, moment@^2.25.3: - version "2.29.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" - integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -mri@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.6.tgz#49952e1044db21dbf90f6cd92bc9c9a777d415a6" - integrity sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multibase@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" - integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multibase@~0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" - integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - -multicodec@^0.5.5: - version "0.5.7" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" - integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== - dependencies: - varint "^5.0.0" - -multicodec@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" - integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== - dependencies: - buffer "^5.6.0" - varint "^5.0.0" - -multihashes@^0.4.15, multihashes@~0.4.15: - version "0.4.21" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" - integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== - dependencies: - buffer "^5.5.0" - multibase "^0.7.0" - varint "^5.0.0" - -multimatch@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3" - integrity sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ== - dependencies: - "@types/minimatch" "^3.0.3" - array-differ "^3.0.0" - array-union "^2.1.0" - arrify "^2.0.1" - minimatch "^3.0.4" - -nan@^2.12.1: - version "2.14.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" - integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== - -nano-json-stream-parser@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" - integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18= - -nanoid@^3.1.20: - version "3.1.20" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" - integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== - -nanoid@^3.1.23: - version "3.1.23" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" - integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - 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" - -native-request@^1.0.5: - version "1.0.8" - resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.0.8.tgz#8f66bf606e0f7ea27c0e5995eb2f5d03e33ae6fb" - integrity sha512-vU2JojJVelUGp6jRcLwToPoWGxSx23z/0iX+I77J3Ht17rf2INGjrhOoQnjVo60nQd8wVsgzKkPfRXBiVdD2ag== - -native-url@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.2.6.tgz#ca1258f5ace169c716ff44eccbddb674e10399ae" - integrity sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA== - dependencies: - querystring "^0.2.0" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -neo-async@^2.5.0, neo-async@^2.6.1, neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -next-tick@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -nock@^13.2.9: - version "13.2.9" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.2.9.tgz#4faf6c28175d36044da4cfa68e33e5a15086ad4c" - integrity sha512-1+XfJNYF1cjGB+TKMWi29eZ0b82QOvQs2YoLNzbpWGqFMtRQHTa57osqdGj4FrFPgkO4D4AZinzUJR9VvW3QUA== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - lodash "^4.17.21" - propagate "^2.0.0" - -node-addon-api@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" - integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== - -node-domexception@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" - integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== - -node-emoji@^1.8.1: - version "1.10.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" - integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== - dependencies: - lodash.toarray "^4.4.0" - -node-fetch@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== - -node-fetch@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== - -node-fetch@^3.2.10: - version "3.2.10" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.10.tgz#e8347f94b54ae18b57c9c049ef641cef398a85c8" - integrity sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA== - dependencies: - data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.4" - formdata-polyfill "^4.0.10" - -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== - -node-gyp-build@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" - integrity sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1" - integrity sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -node-releases@^1.1.61, node-releases@^1.1.70: - version "1.1.70" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.70.tgz#66e0ed0273aa65666d7fe78febe7634875426a08" - integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw== - -node-releases@^1.1.71: - version "1.1.72" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe" - integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw== - -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - 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" - -normalize-package-data@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz#cae5c410ae2434f9a6c1baa65d5bc3b9366c8699" - integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== - dependencies: - hosted-git-info "^4.0.1" - resolve "^1.20.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -normalize-selector@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/normalize-selector/-/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03" - integrity sha1-0LFF62kRicY6eNIB3E/bEpPvDAM= - -normalize-url@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -normalize-url@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - -normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - -now-and-later@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" - integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== - dependencies: - once "^1.3.2" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0, npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npm-run-path@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" - integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== - dependencies: - path-key "^4.0.0" - -nth-check@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -number-to-bn@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" - integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA= - dependencies: - bn.js "4.11.6" - strip-hex-prefix "1.0.0" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" - integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== - -object-inspect@^1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" - integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== - -object-inspect@^1.11.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -object-inspect@^1.12.2: - version "1.12.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== - -object-inspect@^1.8.0, object-inspect@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== - -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.0.4, object.assign@^4.1.0, object.assign@^4.1.1, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.entries@^1.1.0, object.entries@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" - integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - has "^1.0.3" - -object.entries@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd" - integrity sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.2" - -object.fromentries@^2.0.2, object.fromentries@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" - integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" - -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" - integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.0, object.values@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.2.tgz#7a2015e06fcb0f546bd652486ce8583a4731c731" - integrity sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - has "^1.0.3" - -object.values@^1.1.3, object.values@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" - integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.2" - -oboe@2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.5.tgz#5554284c543a2266d7a38f17e073821fbde393cd" - integrity sha1-VVQoTFQ6ImbXo48X4HOCH73jk80= - dependencies: - http-https "^1.0.0" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== - dependencies: - mimic-fn "^4.0.0" - -open@^7.0.2: - version "7.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" - integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - -opn@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== - dependencies: - is-wsl "^1.1.0" - -optimism@^0.16.1: - version "0.16.1" - resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.16.1.tgz#7c8efc1f3179f18307b887e18c15c5b7133f6e7d" - integrity sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg== - dependencies: - "@wry/context" "^0.6.0" - "@wry/trie" "^0.3.0" - -optimize-css-assets-webpack-plugin@5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz#85883c6528aaa02e30bbad9908c92926bb52dc90" - integrity sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A== - dependencies: - cssnano "^4.1.10" - last-call-webpack-plugin "^3.0.0" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - 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" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - 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" - -ordered-read-streams@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" - integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= - dependencies: - readable-stream "^2.0.1" - -original@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== - dependencies: - url-parse "^1.4.3" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -p-cancelable@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" - integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== - -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-retry@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" - integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== - dependencies: - retry "^0.12.0" - -p-timeout@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" - integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= - dependencies: - p-finally "^1.0.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pako/-/pako-2.0.4.tgz#6cebc4bbb0b6c73b0d5b8d7e8476e2b2fbea576d" - integrity sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg== - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - 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" - -parse-entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" - integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== - dependencies: - character-entities "^1.0.0" - character-entities-legacy "^1.0.0" - character-reference-invalid "^1.0.0" - is-alphanumerical "^1.0.0" - is-decimal "^1.0.0" - is-hexadecimal "^1.0.0" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-headers@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.4.tgz#9eaf2d02bed2d1eff494331ce3df36d7924760bf" - integrity sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw== - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -parse5@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pbkdf2@^3.0.17: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - 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" - -pbkdf2@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== - 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" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pidtree@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.5.0.tgz#ad5fbc1de78b8a5f99d6fbdd4f6e4eee21d1aca1" - integrity sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-up@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - -pnglib@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/pnglib/-/pnglib-0.0.1.tgz#f9ab6f9c688f4a9d579ad8be28878a716e30c096" - integrity sha1-+atvnGiPSp1Xmti+KIeKcW4wwJY= - -pnp-webpack-plugin@1.6.4: - version "1.6.4" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" - integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== - dependencies: - ts-pnp "^1.1.6" - -portfinder@^1.0.26: - version "1.0.28" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-attribute-case-insensitive@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" - integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^6.0.2" - -postcss-browser-comments@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-3.0.0.tgz#1248d2d935fb72053c8e1f61a84a57292d9f65e9" - integrity sha512-qfVjLfq7HFd2e0HW4s1dvU8X080OZdG46fFbIBFjW7US7YPDcWfRvdElvwMJr2LI6hMmD+7LnH2HcmXTs+uOig== - dependencies: - postcss "^7" - -postcss-calc@^7.0.1: - version "7.0.5" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" - integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== - dependencies: - postcss "^7.0.27" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" - -postcss-color-functional-notation@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" - integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-gray@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" - integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-color-hex-alpha@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" - integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== - dependencies: - postcss "^7.0.14" - postcss-values-parser "^2.0.1" - -postcss-color-mod-function@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" - integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-rebeccapurple@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" - integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-colormin@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" - integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== - dependencies: - browserslist "^4.0.0" - color "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-convert-values@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" - integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-custom-media@^7.0.8: - version "7.0.8" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" - integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== - dependencies: - postcss "^7.0.14" - -postcss-custom-properties@^8.0.11: - version "8.0.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" - integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== - dependencies: - postcss "^7.0.17" - postcss-values-parser "^2.0.1" - -postcss-custom-selectors@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" - integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-dir-pseudo-class@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" - integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-discard-comments@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" - integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== - dependencies: - postcss "^7.0.0" - -postcss-discard-duplicates@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" - integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== - dependencies: - postcss "^7.0.0" - -postcss-discard-empty@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" - integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== - dependencies: - postcss "^7.0.0" - -postcss-discard-overridden@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" - integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== - dependencies: - postcss "^7.0.0" - -postcss-double-position-gradients@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" - integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== - dependencies: - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-env-function@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" - integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-flexbugs-fixes@4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz#9218a65249f30897deab1033aced8578562a6690" - integrity sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ== - dependencies: - postcss "^7.0.26" - -postcss-focus-visible@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" - integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== - dependencies: - postcss "^7.0.2" - -postcss-focus-within@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" - integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== - dependencies: - postcss "^7.0.2" - -postcss-font-variant@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" - integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA== - dependencies: - postcss "^7.0.2" - -postcss-functions@^3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-functions/-/postcss-functions-3.0.0.tgz#0e94d01444700a481de20de4d55fb2640564250e" - integrity sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4= - dependencies: - glob "^7.1.2" - object-assign "^4.1.1" - postcss "^6.0.9" - postcss-value-parser "^3.3.0" - -postcss-gap-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" - integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== - dependencies: - postcss "^7.0.2" - -postcss-html@^0.36.0: - version "0.36.0" - resolved "https://registry.yarnpkg.com/postcss-html/-/postcss-html-0.36.0.tgz#b40913f94eaacc2453fd30a1327ad6ee1f88b204" - integrity sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw== - dependencies: - htmlparser2 "^3.10.0" - -postcss-image-set-function@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" - integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-initial@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.2.tgz#f018563694b3c16ae8eaabe3c585ac6319637b2d" - integrity sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA== - dependencies: - lodash.template "^4.5.0" - postcss "^7.0.2" - -postcss-js@^2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-2.0.3.tgz#a96f0f23ff3d08cec7dc5b11bf11c5f8077cdab9" - integrity sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w== - dependencies: - camelcase-css "^2.0.1" - postcss "^7.0.18" - -postcss-lab-function@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" - integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-less@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-3.1.4.tgz#369f58642b5928ef898ffbc1a6e93c958304c5ad" - integrity sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA== - dependencies: - postcss "^7.0.14" - -postcss-load-config@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" - integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== - dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" - -postcss-loader@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" - integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== - dependencies: - loader-utils "^1.1.0" - postcss "^7.0.0" - postcss-load-config "^2.0.0" - schema-utils "^1.0.0" - -postcss-logical@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" - integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== - dependencies: - postcss "^7.0.2" - -postcss-media-minmax@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" - integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== - dependencies: - postcss "^7.0.2" - -postcss-media-query-parser@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" - integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= - -postcss-merge-longhand@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" - integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== - dependencies: - css-color-names "0.0.4" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - stylehacks "^4.0.0" - -postcss-merge-rules@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" - integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - cssnano-util-same-parent "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - vendors "^1.0.0" - -postcss-minify-font-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" - integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-gradients@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" - integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - is-color-stop "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-params@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" - integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== - dependencies: - alphanum-sort "^1.0.0" - browserslist "^4.0.0" - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - uniqs "^2.0.0" - -postcss-minify-selectors@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" - integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" - -postcss-modules-local-by-default@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" - integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== - dependencies: - icss-utils "^4.1.1" - postcss "^7.0.32" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== - dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" - -postcss-nested@^4: - version "4.2.3" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-4.2.3.tgz#c6f255b0a720549776d220d00c4b70cd244136f6" - integrity sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw== - dependencies: - postcss "^7.0.32" - postcss-selector-parser "^6.0.2" - -postcss-nesting@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" - integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== - dependencies: - postcss "^7.0.2" - -postcss-normalize-charset@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" - integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== - dependencies: - postcss "^7.0.0" - -postcss-normalize-display-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" - integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-positions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" - integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== - dependencies: - cssnano-util-get-arguments "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-repeat-style@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" - integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-string@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" - integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-timing-functions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" - integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-unicode@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" - integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-url@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" - integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-whitespace@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" - integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-8.0.1.tgz#90e80a7763d7fdf2da6f2f0f82be832ce4f66776" - integrity sha512-rt9JMS/m9FHIRroDDBGSMsyW1c0fkvOJPy62ggxSHUldJO7B195TqFMqIf+lY5ezpDcYOV4j86aUp3/XbxzCCQ== - dependencies: - "@csstools/normalize.css" "^10.1.0" - browserslist "^4.6.2" - postcss "^7.0.17" - postcss-browser-comments "^3.0.0" - sanitize.css "^10.0.0" - -postcss-ordered-values@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" - integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-overflow-shorthand@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" - integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== - dependencies: - postcss "^7.0.2" - -postcss-page-break@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" - integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== - dependencies: - postcss "^7.0.2" - -postcss-place@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" - integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-preset-env@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" - integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== - dependencies: - autoprefixer "^9.6.1" - browserslist "^4.6.4" - caniuse-lite "^1.0.30000981" - css-blank-pseudo "^0.1.4" - css-has-pseudo "^0.10.0" - css-prefers-color-scheme "^3.1.1" - cssdb "^4.4.0" - postcss "^7.0.17" - postcss-attribute-case-insensitive "^4.0.1" - postcss-color-functional-notation "^2.0.1" - postcss-color-gray "^5.0.0" - postcss-color-hex-alpha "^5.0.3" - postcss-color-mod-function "^3.0.3" - postcss-color-rebeccapurple "^4.0.1" - postcss-custom-media "^7.0.8" - postcss-custom-properties "^8.0.11" - postcss-custom-selectors "^5.1.2" - postcss-dir-pseudo-class "^5.0.0" - postcss-double-position-gradients "^1.0.0" - postcss-env-function "^2.0.2" - postcss-focus-visible "^4.0.0" - postcss-focus-within "^3.0.0" - postcss-font-variant "^4.0.0" - postcss-gap-properties "^2.0.0" - postcss-image-set-function "^3.0.1" - postcss-initial "^3.0.0" - postcss-lab-function "^2.0.1" - postcss-logical "^3.0.0" - postcss-media-minmax "^4.0.0" - postcss-nesting "^7.0.0" - postcss-overflow-shorthand "^2.0.0" - postcss-page-break "^2.0.0" - postcss-place "^4.0.1" - postcss-pseudo-class-any-link "^6.0.0" - postcss-replace-overflow-wrap "^3.0.0" - postcss-selector-matches "^4.0.0" - postcss-selector-not "^4.0.0" - -postcss-pseudo-class-any-link@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" - integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-reduce-initial@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" - integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - -postcss-reduce-transforms@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" - integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-replace-overflow-wrap@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" - integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== - dependencies: - postcss "^7.0.2" - -postcss-resolve-nested-selector@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" - integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4= - -postcss-safe-parser@5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-5.0.2.tgz#459dd27df6bc2ba64608824ba39e45dacf5e852d" - integrity sha512-jDUfCPJbKOABhwpUKcqCVbbXiloe/QXMcbJ6Iipf3sDIihEzTqRCeMBfRaOHxhBuTYqtASrI1KJWxzztZU4qUQ== - dependencies: - postcss "^8.1.0" - -postcss-safe-parser@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96" - integrity sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g== - dependencies: - postcss "^7.0.26" - -postcss-sass@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.4.4.tgz#91f0f3447b45ce373227a98b61f8d8f0785285a3" - integrity sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg== - dependencies: - gonzales-pe "^4.3.0" - postcss "^7.0.21" - -postcss-scss@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-2.1.1.tgz#ec3a75fa29a55e016b90bf3269026c53c1d2b383" - integrity sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA== - dependencies: - postcss "^7.0.6" - -postcss-selector-matches@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" - integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-not@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" - integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-parser@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" - integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== - dependencies: - dot-prop "^5.2.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== - dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" - integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== - dependencies: - cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - util-deprecate "^1.0.2" - -postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5: - version "6.0.6" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" - integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" - integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== - dependencies: - is-svg "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - -postcss-syntax@^0.36.2: - version "0.36.2" - resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c" - integrity sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w== - -postcss-unique-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" - integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== - dependencies: - alphanum-sort "^1.0.0" - postcss "^7.0.0" - uniqs "^2.0.0" - -postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - -postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" - integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss@7.0.21: - version "7.0.21" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" - integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^6.0.21, postcss@^6.0.9: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - -postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.35" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" - integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^8.1.0: - version "8.2.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.6.tgz#5d69a974543b45f87e464bc4c3e392a97d6be9fe" - integrity sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg== - dependencies: - colorette "^1.2.1" - nanoid "^3.1.20" - source-map "^0.6.1" - -postcss@^8.2.1: - version "8.3.0" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.0.tgz#b1a713f6172ca427e3f05ef1303de8b65683325f" - integrity sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ== - dependencies: - colorette "^1.2.2" - nanoid "^3.1.23" - source-map-js "^0.6.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prepend-http@^1.0.0, prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier-quick@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/prettier-quick/-/prettier-quick-0.0.5.tgz#10912263ede6e99872f4d3655b6a8a205265d4ce" - integrity sha512-5zOMSPAK7JQMNWjtxAy35XPgRN8TQY+khgpNhznQ30Zsv6V0hOIjre8X5cTrtdqa3NKZWWF1+TNS5+1LX/3a0w== - -prettier@^2.2.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" - integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== - -pretty-bytes@^5.3.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - -pretty-error@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" - integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== - dependencies: - lodash "^4.17.20" - renderkid "^2.0.4" - -pretty-format@^26.6.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -pretty-hrtime@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= - -pretty-quick@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pretty-quick/-/pretty-quick-3.1.0.tgz#cb172e9086deb57455dea7c7e8f136cd0a4aef6c" - integrity sha512-DtxIxksaUWCgPFN7E1ZZk4+Aav3CCuRdhrDSFZENb404sYMtuo9Zka823F+Mgeyt8Zt3bUiCjFzzWYE9LYqkmQ== - dependencies: - chalk "^3.0.0" - execa "^4.0.0" - find-up "^4.1.0" - ignore "^5.1.4" - mri "^1.1.5" - multimatch "^4.0.0" - -printj@~1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" - integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== - -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -promise@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" - integrity sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q== - dependencies: - asap "~2.0.6" - -promise@~7.0.1: - version "7.0.4" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.0.4.tgz#363e84a4c36c8356b890fed62c91ce85d02ed539" - integrity sha1-Nj6EpMNsg1a4kP7WLJHOhdAu1Tk= - dependencies: - asap "~2.0.3" - -prompts@2.4.0, prompts@^2.0.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" - integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.5.8, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -prop-types@^15.6.2, prop-types@^15.7.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== - -proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.9.1" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - 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" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3, pumpify@^1.3.5: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" - integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -purgecss@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-3.1.3.tgz#26987ec09d12eeadc318e22f6e5a9eb0be094f41" - integrity sha512-hRSLN9mguJ2lzlIQtW4qmPS2kh6oMnA9RxdIYK8sz18QYqd6ePp4GNDl18oWHA1f2v2NEQIh51CO8s/E3YGckQ== - dependencies: - commander "^6.0.0" - glob "^7.0.0" - postcss "^8.2.1" - postcss-selector-parser "^6.0.2" - -q@^1.1.2, q@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - -qs@6.9.6: - version "6.9.6" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee" - integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystring@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" - integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -queue-microtask@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3" - integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg== - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -raf@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== - dependencies: - performance-now "^2.1.0" - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== - dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" - -raw-body@2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32" - integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ== - dependencies: - bytes "3.1.1" - http-errors "1.8.1" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc-align@^4.0.0: - version "4.0.9" - resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.9.tgz#46d8801c4a139ff6a65ad1674e8efceac98f85f2" - integrity sha512-myAM2R4qoB6LqBul0leaqY8gFaiECDJ3MtQDmzDo9xM9NRT/04TvWOYd2YHU9zvGzqk9QXF6S9/MifzSKDZeMw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - dom-align "^1.7.0" - rc-util "^5.3.0" - resize-observer-polyfill "^1.5.1" - -rc-cascader@~1.4.0: - version "1.4.3" - resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-1.4.3.tgz#d91b0dcf8157b60ebe9ec3e58b4db054d5299464" - integrity sha512-Q4l9Mv8aaISJ+giVnM9IaXxDeMqHUGLvi4F+LksS6pHlaKlN4awop/L+IMjIXpL+ug/ojaCyv/ixcVopJYYCVA== - dependencies: - "@babel/runtime" "^7.12.5" - array-tree-filter "^2.1.0" - rc-trigger "^5.0.4" - rc-util "^5.0.1" - warning "^4.0.1" - -rc-checkbox@~2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-2.3.2.tgz#f91b3678c7edb2baa8121c9483c664fa6f0aefc1" - integrity sha512-afVi1FYiGv1U0JlpNH/UaEXdh6WUJjcWokj/nUN2TgG80bfG+MDdbfHKlLcNNba94mbjy2/SXJ1HDgrOkXGAjg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - -rc-collapse@~3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-3.1.1.tgz#2421d454e85781d1cf2f04f906918e0677d779e6" - integrity sha512-/oetKApTHzGGeR8Q8vD168EXkCs2MpEIrURGyy2D+LrrJd29LY/huuIMvOiJoSV6W3bcGhJqIdgHtg1Dxn1smA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.3.4" - rc-util "^5.2.1" - shallowequal "^1.1.0" - -rc-dialog@~8.5.0, rc-dialog@~8.5.1: - version "8.5.2" - resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-8.5.2.tgz#530e289c25a31c15c85a0e8a4ba3f33414bff418" - integrity sha512-3n4taFcjqhTE9uNuzjB+nPDeqgRBTEGBfe46mb1e7r88DgDo0lL4NnxY/PZ6PJKd2tsCt+RrgF/+YeTvJ/Thsw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-motion "^2.3.0" - rc-util "^5.6.1" - -rc-drawer@~4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-4.3.1.tgz#356333a7af01b777abd685c96c2ce62efb44f3f3" - integrity sha512-GMfFy4maqxS9faYXEhQ+0cA1xtkddEQzraf6SAdzWbn444DrrLogwYPk1NXSpdXjLCLxgxOj9MYtyYG42JsfXg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-util "^5.7.0" - -rc-dropdown@^3.2.0, rc-dropdown@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.2.0.tgz#da6c2ada403842baee3a9e909a0b1a91ba3e1090" - integrity sha512-j1HSw+/QqlhxyTEF6BArVZnTmezw2LnSmRk6I9W7BCqNCKaRwleRmMMs1PHbuaG8dKHVqP6e21RQ7vPBLVnnNw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-trigger "^5.0.4" - -rc-field-form@~1.20.0: - version "1.20.1" - resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.20.1.tgz#d1c51888107cf075b42704b7b575bef84c359291" - integrity sha512-f64KEZop7zSlrG4ef/PLlH12SLn6iHDQ3sTG+RfKBM45hikwV1i8qMf53xoX12NvXXWg1VwchggX/FSso4bWaA== - dependencies: - "@babel/runtime" "^7.8.4" - async-validator "^3.0.3" - rc-util "^5.8.0" - -rc-image@~5.2.4: - version "5.2.4" - resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-5.2.4.tgz#ff1059f937bde6ca918c6f1beb316beba911f255" - integrity sha512-kWOjhZC1OoGKfvWqtDoO9r8WUNswBwnjcstI6rf7HMudz0usmbGvewcWqsOhyaBRJL9+I4eeG+xiAoxV1xi75Q== - dependencies: - "@babel/runtime" "^7.11.2" - classnames "^2.2.6" - rc-dialog "~8.5.0" - rc-util "^5.0.6" - -rc-input-number@~7.1.0: - version "7.1.3" - resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-7.1.3.tgz#152872d77bf0958980017127622772db652924c0" - integrity sha512-o7/YTXAnxio53lCV402OcFRn8/jcm6YfKjCzPd+al0drQ7oyQkjQqcWbacSQwwN4gCHmqXGfgnRuAuBHoYz1dw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.9.8" - -rc-mentions@~1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.6.1.tgz#46035027d64aa33ef840ba0fbd411871e34617ae" - integrity sha512-LDzGI8jJVGnkhpTZxZuYBhMz3avcZZqPGejikchh97xPni/g4ht714Flh7DVvuzHQ+BoKHhIjobHnw1rcP8erg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-menu "^9.0.0" - rc-textarea "^0.3.0" - rc-trigger "^5.0.4" - rc-util "^5.0.1" - -rc-menu@^9.0.0, rc-menu@~9.0.9: - version "9.0.10" - resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.0.10.tgz#59fde6442c138dc60693fbe02ea50c33c8164f38" - integrity sha512-wb7fZZ3f5KBqr7v3q8U1DB5K4SEm31KLPe/aANyrHajVJjQpiiGTMLF7ZB7vyqjC4QJq0SJewB4FkumT2U86fw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.4.3" - rc-overflow "^1.2.0" - rc-trigger "^5.1.2" - rc-util "^5.12.0" - shallowequal "^1.1.0" - -rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.0, rc-motion@^2.4.3: - version "2.4.4" - resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.4.4.tgz#e995d5fa24fc93065c24f714857cf2677d655bb0" - integrity sha512-ms7n1+/TZQBS0Ydd2Q5P4+wJTSOrhIrwNxLXCZpR7Fa3/oac7Yi803HDALc2hLAKaCTQtw9LmQeB58zcwOsqlQ== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-util "^5.2.1" - -rc-notification@~4.5.7: - version "4.5.7" - resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-4.5.7.tgz#265e6e6a0c1a0fac63d6abd4d832eb8ff31522f1" - integrity sha512-zhTGUjBIItbx96SiRu3KVURcLOydLUHZCPpYEn1zvh+re//Tnq/wSxN4FKgp38n4HOgHSVxcLEeSxBMTeBBDdw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.2.0" - rc-util "^5.0.1" - -rc-overflow@^1.0.0, rc-overflow@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.2.2.tgz#95b0222016c0cdbdc0db85f569c262e7706a5f22" - integrity sha512-X5kj9LDU1ue5wHkqvCprJWLKC+ZLs3p4He/oxjZ1Q4NKaqKBaYf5OdSzRSgh3WH8kSdrfU8LjvlbWnHgJOEkNQ== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-resize-observer "^1.0.0" - rc-util "^5.5.1" - -rc-pagination@~3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-3.1.6.tgz#db3c06e50270b52fe272ac527c1fdc2c8d28af1f" - integrity sha512-Pb2zJEt8uxXzYCWx/2qwsYZ3vSS9Eqdw0cJBli6C58/iYhmvutSBqrBJh51Z5UzYc5ZcW5CMeP5LbbKE1J3rpw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - -rc-picker@~2.5.10: - version "2.5.10" - resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.5.10.tgz#0db17c535a37abbe5d016bdcdfb13d6626f802d0" - integrity sha512-d2or2jql9SSY8CaRPybpbKkXBq3bZ6g88UKyWQZBLTCrc92Xm87RfRC/P3UEQo/CLmia3jVF7IXVi1HmNe2DZA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - date-fns "^2.15.0" - moment "^2.24.0" - rc-trigger "^5.0.4" - rc-util "^5.4.0" - shallowequal "^1.1.0" - -rc-progress@~3.1.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-3.1.4.tgz#66040d0fae7d8ced2b38588378eccb2864bad615" - integrity sha512-XBAif08eunHssGeIdxMXOmRQRULdHaDdIFENQ578CMb4dyewahmmfJRyab+hw4KH4XssEzzYOkAInTLS7JJG+Q== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - -rc-rate@~2.9.0: - version "2.9.1" - resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.9.1.tgz#e43cb95c4eb90a2c1e0b16ec6614d8c43530a731" - integrity sha512-MmIU7FT8W4LYRRHJD1sgG366qKtSaKb67D0/vVvJYR0lrCuRrCiVQ5qhfT5ghVO4wuVIORGpZs7ZKaYu+KMUzA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.0.1" - -rc-resize-observer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.0.0.tgz#97fb89856f62fec32ab6e40933935cf58e2e102d" - integrity sha512-RgKGukg1mlzyGdvzF7o/LGFC8AeoMH9aGzXTUdp6m+OApvmRdUuOscq/Y2O45cJA+rXt1ApWlpFoOIioXL3AGg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - rc-util "^5.0.0" - resize-observer-polyfill "^1.5.1" - -rc-select@^12.0.0, rc-select@~12.1.6: - version "12.1.10" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-12.1.10.tgz#66ce43192751190b7c0e9a0ab1ef79606421ce30" - integrity sha512-LQdUhYncvcULlrNcAShYicc1obPtnNK7/rvCD+YCm0b2BLLYxl3M3b/HOX6o+ppPej+yZulkUPeU6gcgcp9nag== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-overflow "^1.0.0" - rc-trigger "^5.0.4" - rc-util "^5.9.8" - rc-virtual-list "^3.2.0" - -rc-slider@~9.7.1: - version "9.7.2" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-9.7.2.tgz#282f571f7582752ebaa33964e441184f4e79ad74" - integrity sha512-mVaLRpDo6otasBs6yVnG02ykI3K6hIrLTNfT5eyaqduFv95UODI9PDS6fWuVVehVpdS4ENgOSwsTjrPVun+k9g== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-tooltip "^5.0.1" - rc-util "^5.0.0" - shallowequal "^1.1.0" - -rc-steps@~4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-4.1.3.tgz#208580e22db619e3830ddb7fa41bc886c65d9803" - integrity sha512-GXrMfWQOhN3sVze3JnzNboHpQdNHcdFubOETUHyDpa/U3HEKBZC3xJ8XK4paBgF4OJ3bdUVLC+uBPc6dCxvDYA== - dependencies: - "@babel/runtime" "^7.10.2" - classnames "^2.2.3" - rc-util "^5.0.1" - -rc-switch@~3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-3.2.2.tgz#d001f77f12664d52595b4f6fb425dd9e66fba8e8" - integrity sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - rc-util "^5.0.1" - -rc-table@~7.15.1: - version "7.15.2" - resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.15.2.tgz#f6ab73b2cfb1c76f3cf9682c855561423c6b5b22" - integrity sha512-TAs7kCpIZwc2mtvD8CMrXSM6TqJDUsy0rUEV1YgRru33T8bjtAtc+9xW/KC1VWROJlHSpU0R0kXjFs9h/6+IzQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-resize-observer "^1.0.0" - rc-util "^5.13.0" - shallowequal "^1.1.0" - -rc-tabs@~11.9.1: - version "11.9.1" - resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-11.9.1.tgz#5b2e74da9a276978c2172ef9a05ae8af14da74cb" - integrity sha512-CLNx3qaWnO8KBWPd+7r52Pfk0MoPyKtlr+2ltWq2I9iqAjd1nZu6iBpQP7wbWBwIomyeFNw/WjHdRN7VcX5Qtw== - dependencies: - "@babel/runtime" "^7.11.2" - classnames "2.x" - rc-dropdown "^3.2.0" - rc-menu "^9.0.0" - rc-resize-observer "^1.0.0" - rc-util "^5.5.0" - -rc-textarea@^0.3.0, rc-textarea@~0.3.0: - version "0.3.4" - resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-0.3.4.tgz#1408a64c87b5e76db5c847699ef9ab5ee97dd6f9" - integrity sha512-ILUYx831ZukQPv3m7R4RGRtVVWmL1LV4ME03L22mvT56US0DGCJJaRTHs4vmpcSjFHItph5OTmhodY4BOwy81A== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - rc-resize-observer "^1.0.0" - rc-util "^5.7.0" - -rc-tooltip@^5.0.1, rc-tooltip@~5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.1.1.tgz#94178ed162d0252bc4993b725f5dc2ac0fccf154" - integrity sha512-alt8eGMJulio6+4/uDm7nvV+rJq9bsfxFDCI0ljPdbuoygUscbsMYb6EQgwib/uqsXQUvzk+S7A59uYHmEgmDA== - dependencies: - "@babel/runtime" "^7.11.2" - rc-trigger "^5.0.0" - -rc-tree-select@~4.3.0: - version "4.3.3" - resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-4.3.3.tgz#28eba4d8a8dc8c0f9b61d83ce465842a6915eca4" - integrity sha512-0tilOHLJA6p+TNg4kD559XnDX3PTEYuoSF7m7ryzFLAYvdEEPtjn0QZc5z6L0sMKBiBlj8a2kf0auw8XyHU3lA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-select "^12.0.0" - rc-tree "^4.0.0" - rc-util "^5.0.5" - -rc-tree@^4.0.0, rc-tree@~4.1.0: - version "4.1.5" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-4.1.5.tgz#734ab1bfe835e78791be41442ca0e571147ab6fa" - integrity sha512-q2vjcmnBDylGZ9/ZW4F9oZMKMJdbFWC7um+DAQhZG1nqyg1iwoowbBggUDUaUOEryJP+08bpliEAYnzJXbI5xQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-util "^5.0.0" - rc-virtual-list "^3.0.1" - -rc-trigger@^5.0.0, rc-trigger@^5.0.4, rc-trigger@^5.1.2, rc-trigger@^5.2.1: - version "5.2.8" - resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.2.8.tgz#27c8291c24518b8f11d76c848f5424e0c429e94a" - integrity sha512-Tn84oGmvNBLXI+ptpzxyJx4ArKTduuB6l74ShDLhDaJaF9f5JAMizfx31L30ELVIzRr3Ze4sekG7rzwPGwVOdw== - dependencies: - "@babel/runtime" "^7.11.2" - classnames "^2.2.6" - rc-align "^4.0.0" - rc-motion "^2.0.0" - rc-util "^5.5.0" - -rc-upload@~4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.3.0.tgz#2fbbd11242f730802b900c09b469f28437bac0ff" - integrity sha512-wDXf1ZdUTwBIfagTof1MJDjOHZ6xluD0xcgojYZeAZSi+3Doyc21jNV8bRIeK5jx/OQmllrpQp1/MWKkqvkBhg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.2.0" - -rc-util@^5.0.0, rc-util@^5.0.1, rc-util@^5.0.5, rc-util@^5.0.6, rc-util@^5.0.7, rc-util@^5.12.0, rc-util@^5.13.0, rc-util@^5.13.1, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.3.0, rc-util@^5.4.0, rc-util@^5.5.0, rc-util@^5.5.1, rc-util@^5.6.1, rc-util@^5.7.0, rc-util@^5.8.0, rc-util@^5.9.4, rc-util@^5.9.8: - version "5.13.1" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.13.1.tgz#03e74955b5c46a58cbc6236e4d30dd462c755290" - integrity sha512-Dws2tjXBBihfjVQFlG5JzZ/5O3Wutctm0W94Wb1+M7GD2roWJPrQdSa4AkWm2pn0Ms32zoVPPkWodFeAYZPLfA== - dependencies: - "@babel/runtime" "^7.12.5" - react-is "^16.12.0" - shallowequal "^1.1.0" - -rc-virtual-list@^3.0.1, rc-virtual-list@^3.2.0: - version "3.2.6" - resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.2.6.tgz#2c92a40f4425e19881b38134d6bd286a11137d2d" - integrity sha512-8FiQLDzm3c/tMX0d62SQtKDhLH7zFlSI6pWBAPt+TUntEqd3Lz9zFAmpvTu8gkvUom/HCsDSZs4wfV4wDPWC0Q== - dependencies: - classnames "^2.2.6" - rc-resize-observer "^1.0.0" - rc-util "^5.0.7" - -react-app-polyfill@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-2.0.0.tgz#a0bea50f078b8a082970a9d853dc34b6dcc6a3cf" - integrity sha512-0sF4ny9v/B7s6aoehwze9vJNWcmCemAUYBVasscVr92+UYiEqDXOxfKjXN685mDaMRNF3WdhHQs76oTODMocFA== - dependencies: - core-js "^3.6.5" - object-assign "^4.1.1" - promise "^8.1.0" - raf "^3.4.1" - regenerator-runtime "^0.13.7" - whatwg-fetch "^3.4.1" - -react-copy-to-clipboard@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.4.tgz#42ec519b03eb9413b118af92d1780c403a5f19bf" - integrity sha512-IeVAiNVKjSPeGax/Gmkqfa/+PuMTBhutEvFUaMQLwE2tS0EXrAdgOpWDX26bWTXF3HrioorR7lr08NqeYUWQCQ== - dependencies: - copy-to-clipboard "^3" - prop-types "^15.5.8" - -react-copy-to-clipboard@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz#09aae5ec4c62750ccb2e6421a58725eabc41255c" - integrity sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A== - dependencies: - copy-to-clipboard "^3.3.1" - prop-types "^15.8.1" - -react-dev-utils@^11.0.3: - version "11.0.4" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-11.0.4.tgz#a7ccb60257a1ca2e0efe7a83e38e6700d17aa37a" - integrity sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A== - dependencies: - "@babel/code-frame" "7.10.4" - address "1.1.2" - browserslist "4.14.2" - chalk "2.4.2" - cross-spawn "7.0.3" - detect-port-alt "1.1.6" - escape-string-regexp "2.0.0" - filesize "6.1.0" - find-up "4.1.0" - fork-ts-checker-webpack-plugin "4.1.6" - global-modules "2.0.0" - globby "11.0.1" - gzip-size "5.1.1" - immer "8.0.1" - is-root "2.1.0" - loader-utils "2.0.0" - open "^7.0.2" - pkg-up "3.1.0" - prompts "2.4.0" - react-error-overlay "^6.0.9" - recursive-readdir "2.2.2" - shell-quote "1.7.2" - strip-ansi "6.0.0" - text-table "0.2.0" - -react-dom@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" - integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - scheduler "^0.20.2" - -react-error-overlay@^6.0.9: - version "6.0.9" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" - integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== - -react-i18next@^11.10.0: - version "11.10.0" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.10.0.tgz#f34257447e18e710e36d8fd3f721dd7d37c7004f" - integrity sha512-Vn0Xw2MczBZHKciWdayx4J+P3S9Im2FWIzUPV2O7iUVFqIOhMv6o9mVTJN1gEi/MA2FZzorjvaEijglCMeehZQ== - dependencies: - "@babel/runtime" "^7.14.0" - html-parse-stringify "^3.0.1" - -react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^17.0.1: - version "17.0.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" - integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== - -react-refresh@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" - integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== - -react-router-dom@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.3.0.tgz#a0216da813454e521905b5fa55e0e5176123f43d" - integrity sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw== - dependencies: - history "^5.2.0" - react-router "6.3.0" - -react-router@6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.3.0.tgz#3970cc64b4cb4eae0c1ea5203a80334fdd175557" - integrity sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ== - dependencies: - history "^5.2.0" - -react-scripts@4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-4.0.3.tgz#b1cafed7c3fa603e7628ba0f187787964cb5d345" - integrity sha512-S5eO4vjUzUisvkIPB7jVsKtuH2HhWcASREYWHAQ1FP5HyCv3xgn+wpILAEWkmy+A+tTNbSZClhxjT3qz6g4L1A== - dependencies: - "@babel/core" "7.12.3" - "@pmmmwh/react-refresh-webpack-plugin" "0.4.3" - "@svgr/webpack" "5.5.0" - "@typescript-eslint/eslint-plugin" "^4.5.0" - "@typescript-eslint/parser" "^4.5.0" - babel-eslint "^10.1.0" - babel-jest "^26.6.0" - babel-loader "8.1.0" - babel-plugin-named-asset-import "^0.3.7" - babel-preset-react-app "^10.0.0" - bfj "^7.0.2" - camelcase "^6.1.0" - case-sensitive-paths-webpack-plugin "2.3.0" - css-loader "4.3.0" - dotenv "8.2.0" - dotenv-expand "5.1.0" - eslint "^7.11.0" - eslint-config-react-app "^6.0.0" - eslint-plugin-flowtype "^5.2.0" - eslint-plugin-import "^2.22.1" - eslint-plugin-jest "^24.1.0" - eslint-plugin-jsx-a11y "^6.3.1" - eslint-plugin-react "^7.21.5" - eslint-plugin-react-hooks "^4.2.0" - eslint-plugin-testing-library "^3.9.2" - eslint-webpack-plugin "^2.5.2" - file-loader "6.1.1" - fs-extra "^9.0.1" - html-webpack-plugin "4.5.0" - identity-obj-proxy "3.0.0" - jest "26.6.0" - jest-circus "26.6.0" - jest-resolve "26.6.0" - jest-watch-typeahead "0.6.1" - mini-css-extract-plugin "0.11.3" - optimize-css-assets-webpack-plugin "5.0.4" - pnp-webpack-plugin "1.6.4" - postcss-flexbugs-fixes "4.2.1" - postcss-loader "3.0.0" - postcss-normalize "8.0.1" - postcss-preset-env "6.7.0" - postcss-safe-parser "5.0.2" - prompts "2.4.0" - react-app-polyfill "^2.0.0" - react-dev-utils "^11.0.3" - react-refresh "^0.8.3" - resolve "1.18.1" - resolve-url-loader "^3.1.2" - sass-loader "^10.0.5" - semver "7.3.2" - style-loader "1.3.0" - terser-webpack-plugin "4.2.3" - ts-pnp "1.2.0" - url-loader "4.1.1" - webpack "4.44.2" - webpack-dev-server "3.11.1" - webpack-manifest-plugin "2.2.0" - workbox-webpack-plugin "5.1.4" - optionalDependencies: - fsevents "^2.1.3" - -react-transition-group@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" - integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - -react@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" - integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - 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" - -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== - dependencies: - picomatch "^2.2.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -recursive-readdir@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" - integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== - dependencies: - minimatch "3.0.4" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -reduce-css-calc@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz#7ef8761a28d614980dc0c982f772c93f7a99de03" - integrity sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg== - dependencies: - css-unit-converter "^1.1.1" - postcss-value-parser "^3.3.0" - -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regex-parser@^2.2.11: - version "2.2.11" - resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" - integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== - -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" - integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== - -regexpu-core@^4.7.1: - version "4.7.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" - integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - -regextras@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.8.0.tgz#ec0f99853d4912839321172f608b544814b02217" - integrity sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ== - -regjsgen@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.6.4: - version "0.6.7" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.7.tgz#c00164e1e6713c2e3ee641f1701c4b7aa0a7f86c" - integrity sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ== - dependencies: - jsesc "~0.5.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -remark-parse@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640" - integrity sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== - dependencies: - mdast-util-from-markdown "^0.8.0" - -remark-stringify@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-9.0.1.tgz#576d06e910548b0a7191a71f27b33f1218862894" - integrity sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg== - dependencies: - mdast-util-to-markdown "^0.6.0" - -remark@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/remark/-/remark-13.0.0.tgz#d15d9bf71a402f40287ebe36067b66d54868e425" - integrity sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA== - dependencies: - remark-parse "^9.0.0" - remark-stringify "^9.0.0" - unified "^9.1.0" - -remove-bom-buffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" - integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== - dependencies: - is-buffer "^1.1.5" - is-utf8 "^0.2.1" - -remove-bom-stream@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" - integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= - dependencies: - remove-bom-buffer "^3.0.0" - safe-buffer "^5.1.0" - through2 "^2.0.3" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.5.tgz#483b1ac59c6601ab30a7a596a5965cabccfdd0a5" - integrity sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ== - dependencies: - css-select "^2.0.2" - dom-converter "^0.2" - htmlparser2 "^3.10.1" - lodash "^4.17.20" - strip-ansi "^3.0.0" - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.0.0, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -replace-ext@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" - integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.8: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.79.0, request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - 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" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" - integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@5.0.0, resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-global@1.0.0, resolve-global@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-global/-/resolve-global-1.0.0.tgz#a2a79df4af2ca3f49bf77ef9ddacd322dad19255" - integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw== - dependencies: - global-dirs "^0.1.1" - -resolve-options@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" - integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= - dependencies: - value-or-function "^3.0.0" - -resolve-url-loader@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz#235e2c28e22e3e432ba7a5d4e305c59a58edfc08" - integrity sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ== - dependencies: - adjust-sourcemap-loader "3.0.0" - camelcase "5.3.1" - compose-function "3.0.3" - convert-source-map "1.7.0" - es6-iterator "2.0.3" - loader-utils "1.2.3" - postcss "7.0.21" - rework "1.0.1" - rework-visit "1.0.0" - source-map "0.6.1" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" - integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== - dependencies: - is-core-module "^2.0.0" - path-parse "^1.0.6" - -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -resolve@^2.0.0-next.3: - version "2.0.0-next.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" - integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -resolve@~1.1.6: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= - dependencies: - lowercase-keys "^1.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rework-visit@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" - integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= - -rework@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" - integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= - dependencies: - convert-source-map "^0.3.3" - css "^2.0.0" - -rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== - -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" - integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= - -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - -rimraf@^2.5.4, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rlp@^2.2.4: - version "2.2.7" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" - integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== - dependencies: - bn.js "^5.2.0" - -rollup-plugin-babel@^4.3.3: - version "4.4.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb" - integrity sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - rollup-pluginutils "^2.8.1" - -rollup-plugin-terser@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413" - integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== - dependencies: - "@babel/code-frame" "^7.5.5" - jest-worker "^24.9.0" - rollup-pluginutils "^2.8.2" - serialize-javascript "^4.0.0" - terser "^4.6.2" - -rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" - integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== - dependencies: - estree-walker "^0.6.1" - -rollup@^1.31.1: - version "1.32.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4" - integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== - dependencies: - "@types/estree" "*" - "@types/node" "*" - acorn "^7.1.0" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -rxjs@^6.5.3: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - -rxjs@^7.5.5: - version "7.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" - integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== - dependencies: - tslib "^2.1.0" - -rxjs@^7.5.6: - version "7.5.6" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc" - integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw== - dependencies: - tslib "^2.1.0" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -sanitize.css@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/sanitize.css/-/sanitize.css-10.0.0.tgz#b5cb2547e96d8629a60947544665243b1dc3657a" - integrity sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg== - -sass-loader@^10.0.5: - version "10.1.1" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.1.1.tgz#4ddd5a3d7638e7949065dd6e9c7c04037f7e663d" - integrity sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw== - dependencies: - klona "^2.0.4" - loader-utils "^2.0.0" - neo-async "^2.6.2" - schema-utils "^3.0.0" - semver "^7.3.2" - -sass@^1.43.4: - version "1.43.4" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.43.4.tgz#68c7d6a1b004bef49af0d9caf750e9b252105d1f" - integrity sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg== - dependencies: - chokidar ">=3.0.0 <4.0.0" - -sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -saxes@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -scheduler@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" - integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.6.5, schema-utils@^2.7.0, schema-utils@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -schema-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" - integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== - dependencies: - "@types/json-schema" "^7.0.6" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -scroll-into-view-if-needed@^2.2.25: - version "2.2.28" - resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.28.tgz#5a15b2f58a52642c88c8eca584644e01703d645a" - integrity sha512-8LuxJSuFVc92+0AdNv4QOxRL4Abeo1DgLnGNkn1XlaujPH/3cCFz3QI60r2VNu4obJJROzgnIUw5TKQkZvZI1w== - dependencies: - compute-scroll-into-view "^1.0.17" - -scrypt-js@^3.0.0, scrypt-js@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -secp256k1@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" - integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= - -selfsigned@^1.10.8: - version "1.10.8" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" - integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== - dependencies: - node-forge "^0.10.0" - -semver-dsl@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/semver-dsl/-/semver-dsl-1.0.1.tgz#d3678de5555e8a61f629eed025366ae5f27340a0" - integrity sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA= - dependencies: - semver "^5.3.0" - -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -semver@7.3.7: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.2.1, semver@^7.3.2: - version "7.3.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" - integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.4, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - 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" - -send@0.17.2: - version "0.17.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" - integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== - 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" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -serve-static@1.14.2: - version "1.14.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" - integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.2" - -servify@^0.1.12: - version "0.1.12" - resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" - integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== - dependencies: - body-parser "^1.16.0" - cors "^2.8.1" - express "^4.14.0" - request "^2.79.0" - xhr "^2.3.3" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4, setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^2.7.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d" - integrity sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw== - dependencies: - decompress-response "^3.3.0" - once "^1.3.1" - simple-concat "^1.0.0" - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" - integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== - dependencies: - ansi-styles "^6.0.0" - is-fullwidth-code-point "^4.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" + integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== + +eslint@^8.38.0: + version "8.42.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.42.0.tgz#7bebdc3a55f9ed7167251fe7259f75219cade291" + integrity sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.0.3" + "@eslint/js" "8.42.0" + "@humanwhocodes/config-array" "^0.11.10" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.0" + eslint-visitor-keys "^3.4.1" + espree "^9.5.2" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== +espree@^9.5.2: + version "9.5.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b" + integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw== dependencies: - kind-of "^3.2.0" + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - 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" - -sockjs-client@^1.5.0: +esquery@^1.4.2: version "1.5.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.0.tgz#2f8ff5d4b659e0d092f7aba0b7c386bd2aa20add" - integrity sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q== - dependencies: - debug "^3.2.6" - eventsource "^1.0.7" - faye-websocket "^0.11.3" - inherits "^2.0.4" - json3 "^3.3.3" - url-parse "^1.4.7" - -sockjs@^0.3.21: - version "0.3.21" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" - integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== - dependencies: - faye-websocket "^0.11.3" - uuid "^3.4.0" - websocket-driver "^0.7.4" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - -sortobject@^4.0.0: - version "4.14.0" - resolved "https://registry.yarnpkg.com/sortobject/-/sortobject-4.14.0.tgz#1c1b09862033c93731198a4f7d25eb5140328123" - integrity sha512-CpH+1tXhO2IOZU7rlpuoBAil/1oxcd5kYIvwKcNd03/3Y9ls9YYe7jbJ6kNW70A/sKJbMBBHTzy68IO7KIM58g== - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-js@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" - integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== - -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - 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" - -source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.7.3, source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -sourcemap-codec@^1.4.4: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.7" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" - integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -specificity@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.4.1.tgz#aab5e645012db08ba182e151165738d00887b019" - integrity sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -split2@^3.0.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" - integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== - dependencies: - readable-stream "^3.0.0" - -sprintf-js@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" - integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + estraverse "^5.1.0" -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - 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" - -ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: - figgy-pudding "^3.5.1" + estraverse "^5.2.0" -ssri@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== -stack-utils@^2.0.2: +esutils@^2.0.2: version "2.0.3" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" - integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== - dependencies: - escape-string-regexp "^2.0.0" - -stackframe@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" - integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -store@^2.0.12: - version "2.0.12" - resolved "https://registry.yarnpkg.com/store/-/store-2.0.12.tgz#8c534e2a0b831f72b75fc5f1119857c44ef5d593" - integrity sha1-jFNOKguDH3K3X8XxEZhXxE711ZM= - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -string-argv@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -string-convert@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" - integrity sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c= - -string-length@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" - integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-natural-compare@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" - integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -string-width@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" - integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== +ethereum-blockies-base64@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ethereum-blockies-base64/-/ethereum-blockies-base64-1.0.2.tgz#4aebca52142bf4d16a3144e6e2b59303e39ed2b3" + integrity sha512-Vg2HTm7slcWNKaRhCUl/L3b4KrB8ohQXdd5Pu3OI897EcR6tVRvUqdTwAyx+dnmoDzj8e2bwBLDQ50ByFmcz6w== dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" + pnglib "0.0.1" -string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - 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" +eventemitter3@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -string-width@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== -string.prototype.matchall@^4.0.2: - version "4.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" - integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has-symbols "^1.0.1" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.3.1" - side-channel "^1.0.4" - -string.prototype.matchall@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" - integrity sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.2" - get-intrinsic "^1.1.1" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.3.1" - side-channel "^1.0.4" - -string.prototype.trimend@^1.0.1, string.prototype.trimend@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" - integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== +execa@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-7.1.1.tgz#3eb3c83d239488e7b409d48e8813b76bb55c9c43" + integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q== dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^4.3.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.0" -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -string.prototype.trimstart@^1.0.1, string.prototype.trimstart@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" - integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== +fast-glob@^3.2.12, fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" + "@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" -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: - safe-buffer "~5.1.0" + reusify "^1.0.4" -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" + integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" + node-domexception "^1.0.0" + web-streams-polyfill "^3.0.3" -strip-ansi@6.0.0, strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: - ansi-regex "^5.0.0" + flat-cache "^3.0.4" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" +file-saver@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38" + integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA== -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: - ansi-regex "^4.1.0" + to-regex-range "^5.0.1" -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: - ansi-regex "^5.0.1" + locate-path "^6.0.0" + path-exists "^4.0.0" -strip-ansi@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + flatted "^3.1.0" + rimraf "^3.0.2" -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== -strip-comments@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d" - integrity sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw== +formdata-polyfill@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== dependencies: - babel-extract-comments "^1.0.0" - babel-plugin-transform-object-rest-spread "^6.26.0" + fetch-blob "^3.1.2" -strip-css-comments@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/strip-css-comments/-/strip-css-comments-4.1.0.tgz#ca798e3e6b71929f0b354e0bd72e7759b2ea17e0" - integrity sha512-azjRwrqk7nK21LU7QuL7DpDyPjvRROQvqPrNyyz6emdzbOh6fsNTvkSvUiThBLzC6+MN90rFu296VbPb/KV+3A== - dependencies: - is-regexp "^2.1.0" +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== -strip-eof@^1.0.0: +fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -strip-hex-prefix@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" - integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= - dependencies: - is-hex-prefixed "1.0.0" +get-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: - min-indent "^1.0.0" + is-glob "^4.0.1" -strip-json-comments@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +glob@7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + 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" -style-loader@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" - integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q== +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: - loader-utils "^2.0.0" - schema-utils "^2.7.0" + 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" -style-search@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" - integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI= +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -styled-components@^5.3.5: - version "5.3.5" - resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.5.tgz#a750a398d01f1ca73af16a241dec3da6deae5ec4" - integrity sha512-ndETJ9RKaaL6q41B69WudeqLzOpY1A/ET/glXkNZ2T7dPjPqpPCXXQjDFYZWwNnE5co0wX+gTCqx9mfxTmSIPg== +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/traverse" "^7.4.5" - "@emotion/is-prop-valid" "^1.1.0" - "@emotion/stylis" "^0.8.4" - "@emotion/unitless" "^0.7.4" - babel-plugin-styled-components ">= 1.12.0" - css-to-react-native "^3.0.0" - hoist-non-react-statics "^3.0.0" - shallowequal "^1.1.0" - supports-color "^5.5.0" + type-fest "^0.20.2" -stylehacks@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" - integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" + 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" + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== -stylelint-config-prettier@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/stylelint-config-prettier/-/stylelint-config-prettier-8.0.2.tgz#da9de33da4c56893cbe7e26df239a7374045e14e" - integrity sha512-TN1l93iVTXpF9NJstlvP7nOu9zY2k+mN0NSFQ/VEGz15ZIP9ohdDZTtCWHs5LjctAhSAzaILULGbgiM0ItId3A== +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== -stylelint-config-recommended@^4.0.0: +has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-4.0.0.tgz#665a0034065e6704d5032ba51bf4efa37d328ef9" - integrity sha512-sgna89Ng+25Hr9kmmaIxpGWt2LStVm1xf1807PdcWasiPDaOTkOHRL61sINw0twky7QMzafCGToGDnHT/kTHtQ== + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -stylelint-config-standard@^21.0.0: - version "21.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-21.0.0.tgz#4942cfa27301eb6702fa8fc46a44da35d1a5cfd7" - integrity sha512-Yf6mx5oYEbQQJxWuW7X3t1gcxqbUx52qC9SMS3saC2ruOVYEyqmr5zSW6k3wXflDjjFrPhar3kp68ugRopmlzg== +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: - stylelint-config-recommended "^4.0.0" + function-bind "^1.1.1" -stylelint-prettier@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/stylelint-prettier/-/stylelint-prettier-1.2.0.tgz#a133d75c794ba820ee47136fc4bf8c72ea185427" - integrity sha512-/MYz6W2CNgKHblPzPtk7cybu8H5dGG3c2GevL64RButERj1uJg4SdBIIat1hMfDOmN6QQpldc6tCc//ZAWh9WQ== +hoist-non-react-statics@^3.0.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: - prettier-linter-helpers "^1.0.0" + react-is "^16.7.0" -stylelint@^13.12.0: - version "13.13.1" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-13.13.1.tgz#fca9c9f5de7990ab26a00f167b8978f083a18f3c" - integrity sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ== - dependencies: - "@stylelint/postcss-css-in-js" "^0.37.2" - "@stylelint/postcss-markdown" "^0.36.2" - autoprefixer "^9.8.6" - balanced-match "^2.0.0" - chalk "^4.1.1" - cosmiconfig "^7.0.0" - debug "^4.3.1" - execall "^2.0.0" - fast-glob "^3.2.5" - fastest-levenshtein "^1.0.12" - file-entry-cache "^6.0.1" - get-stdin "^8.0.0" - global-modules "^2.0.0" - globby "^11.0.3" - globjoin "^0.1.4" - html-tags "^3.1.0" - ignore "^5.1.8" - import-lazy "^4.0.0" - imurmurhash "^0.1.4" - known-css-properties "^0.21.0" - lodash "^4.17.21" - log-symbols "^4.1.0" - mathml-tag-names "^2.1.3" - meow "^9.0.0" - micromatch "^4.0.4" - normalize-selector "^0.2.0" - postcss "^7.0.35" - postcss-html "^0.36.0" - postcss-less "^3.1.4" - postcss-media-query-parser "^0.2.3" - postcss-resolve-nested-selector "^0.1.1" - postcss-safe-parser "^4.0.2" - postcss-sass "^0.4.4" - postcss-scss "^2.1.1" - postcss-selector-parser "^6.0.5" - postcss-syntax "^0.36.2" - postcss-value-parser "^4.1.0" - resolve-from "^5.0.0" - slash "^3.0.0" - specificity "^0.4.1" - string-width "^4.2.2" - strip-ansi "^6.0.0" - style-search "^0.1.0" - sugarss "^2.0.0" - svg-tags "^1.0.0" - table "^6.6.0" - v8-compile-cache "^2.3.0" - write-file-atomic "^3.0.3" - -sugarss@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d" - integrity sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ== +html-parse-stringify@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2" + integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg== dependencies: - postcss "^7.0.2" + void-elements "3.1.0" -supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" +human-signals@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" + integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" +husky@^8.0.0: + version "8.0.3" + resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" + integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== +i18next-browser-languagedetector@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.0.2.tgz#22d8ed48411750c1a1828ac2031c816a5108e55f" + integrity sha512-5ViaK+gikxfqZ9M3jJ7gJkUzzu/p3HwiqfLoL1bdiL7CUb0IylcTyVLdPaTU3pH5VFWFCiGFuJDg3VkLUikWgg== dependencies: - has-flag "^4.0.0" + "@babel/runtime" "^7.19.4" -supports-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== +i18next-http-backend@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/i18next-http-backend/-/i18next-http-backend-2.2.1.tgz#cdb7efbafa46ce8f237d9db443f62514664a3bdf" + integrity sha512-ZXIdn/8NJIBJ0X4hzXfc3STYxKrCKh1fYjji9HPyIpEJfvTvy8/ZlTl8RuTizzCPj2ZcWrfaecyOMKs6bQ7u5A== dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -svg-parser@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + cross-fetch "3.1.6" -svg-tags@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" - integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= - -svgo@^1.0.0, svgo@^1.2.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -swarm-js@^0.1.40: - version "0.1.40" - resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.40.tgz#b1bc7b6dcc76061f6c772203e004c11997e06b99" - integrity sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA== - 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" - -symbol-observable@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" - integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -table@^6.0.4: - version "6.0.7" - resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" - integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== +i18next@^22.5.0: + version "22.5.0" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.5.0.tgz#16d98eba7c748ab183a36505046b5b91f87e989b" + integrity sha512-sqWuJFj+wJAKQP2qBQ+b7STzxZNUmnSxrehBCCj9vDOW9RDYPfqCaK1Hbh2frNYQuPziz6O2CGoJPwtzY3vAYA== dependencies: - ajv "^7.0.2" - lodash "^4.17.20" - slice-ansi "^4.0.0" - string-width "^4.2.0" + "@babel/runtime" "^7.20.6" -table@^6.0.9, table@^6.6.0: - version "6.7.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" - integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== - dependencies: - ajv "^8.0.1" - lodash.clonedeep "^4.5.0" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.0" - strip-ansi "^6.0.0" +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== -tailwindcss-aspect-ratio@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tailwindcss-aspect-ratio/-/tailwindcss-aspect-ratio-3.0.0.tgz#4f9fc7ca0f3468373290faaa8b92652157bee6a4" - integrity sha512-syVueHOdk0u6S9lFSQQxHwsYS+9AJ0tp1WWBB+vAwmJYzc9g/2OLwq4mHpigYue6t3PUgTSbRi9unQd7WEDjGQ== +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: - lodash "^4.17.15" + parent-module "^1.0.0" + resolve-from "^4.0.0" -tailwindcss-pseudo-elements@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/tailwindcss-pseudo-elements/-/tailwindcss-pseudo-elements-2.0.0.tgz#778a29b9aafeef89fe2e22efe047ae56822627a3" - integrity sha512-cbnF8Rg1tJjsgrUK1sLt/TNAea9zKNhWGTI5NtKxZ8WhYjHCMAGOjaHg+iql8UlXaW1U9jPeyJsGlQsLGrbomQ== +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -tar@^4.0.2: - version "4.4.19" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" - integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== - 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" - -tar@^6.0.2: - version "6.1.0" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" - integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 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" + once "^1.3.0" + wrappy "1" -temp-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" - integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -tempy@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.3.0.tgz#6f6c5b295695a16130996ad5ab01a8bd726e8bf8" - integrity sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ== +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: - temp-dir "^1.0.0" - type-fest "^0.3.1" - unique-string "^1.0.0" + binary-extensions "^2.0.0" -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== +is-core-module@^2.11.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" + integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" + has "^1.0.3" -terser-webpack-plugin@4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz#28daef4a83bd17c1db0297070adc07fc8cfc6a9a" - integrity sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ== - dependencies: - cacache "^15.0.5" - find-cache-dir "^3.3.1" - jest-worker "^26.5.0" - p-limit "^3.0.2" - schema-utils "^3.0.0" - serialize-javascript "^5.0.1" - source-map "^0.6.1" - terser "^5.3.4" - webpack-sources "^1.4.3" - -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser@^4.1.2, terser@^4.6.2, terser@^4.6.3: - version "4.8.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -terser@^5.3.4: - version "5.6.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.0.tgz#138cdf21c5e3100b1b3ddfddf720962f88badcd2" - integrity sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.19" +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== -text-extensions@^1.0.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" - integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" -text-table@0.2.0, text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -through2-filter@^3.0.0: +is-stream@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" - integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== - dependencies: - through2 "~2.0.0" - xtend "~4.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== -through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -through2@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== +jdenticon@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jdenticon/-/jdenticon-3.2.0.tgz#b5b9ef413cb66f70c600d6e69a764c977f248a46" + integrity sha512-z6Iq3fTODUMSOiR2nNYrqigS6Y0GvdXfyQWrUby7htDHvX7GNEwaWR4hcaL+FmhEgBe08Xkup/BKxXQhDJByPA== dependencies: - readable-stream "3" - -"through@>=2.2.7 <3", through@X.X.X, through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + canvas-renderer "~2.2.0" -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== +jiti@^1.18.2: + version "1.18.2" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.18.2.tgz#80c3ef3d486ebf2450d9335122b32d121f2a83cd" + integrity sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg== -timed-out@^4.0.0, timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: - setimmediate "^1.0.4" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + argparse "^2.0.1" -tmpl@1.0.x: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -to-absolute-glob@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" - integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= - dependencies: - is-absolute "^1.0.0" - is-negated-glob "^1.0.0" +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -to-arraybuffer@^1.0.0: +json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: - kind-of "^3.0.2" + prelude-ls "^1.2.1" + type-check "~0.4.0" -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== +lilconfig@2.1.0, lilconfig@^2.0.5, lilconfig@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== +lint-staged@^13.2.2: + version "13.2.2" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.2.2.tgz#5e711d3139c234f73402177be2f8dd312e6508ca" + integrity sha512-71gSwXKy649VrSU09s10uAT0rWCcY3aewhMaHyl2N84oBk4Xs9HgxvUp3AYu+bNsK4NrOYYxvSgg7FyGJ+jGcA== dependencies: - is-number "^7.0.0" + chalk "5.2.0" + cli-truncate "^3.1.0" + commander "^10.0.0" + debug "^4.3.4" + execa "^7.0.0" + lilconfig "2.1.0" + listr2 "^5.0.7" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-inspect "^1.12.3" + pidtree "^0.6.0" + string-argv "^0.3.1" + yaml "^2.2.2" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== +listr2@^5.0.7: + version "5.0.8" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.8.tgz#a9379ffeb4bd83a68931a65fb223a11510d6ba23" + integrity sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA== dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" + cli-truncate "^2.1.0" + colorette "^2.0.19" + log-update "^4.0.0" + p-map "^4.0.0" + rfdc "^1.3.0" + rxjs "^7.8.0" + through "^2.3.8" + wrap-ansi "^7.0.0" -to-through@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" - integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: - through2 "^2.0.3" + p-locate "^5.0.0" -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= +lodash.debounce@^4.0.6: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== +lodash.throttle@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== +loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: - punycode "^2.1.1" + js-tokens "^3.0.0 || ^4.0.0" -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" -trough@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" - integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -tryer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -ts-invariant@^0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.10.3.tgz#3e048ff96e91459ffca01304dbc7f61c1f642f6c" - integrity sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== +micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: - tslib "^2.1.0" + braces "^3.0.2" + picomatch "^2.3.1" -ts-node@^10.8.0: - version "10.8.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.8.0.tgz#3ceb5ac3e67ae8025c1950626aafbdecb55d82ce" - integrity sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA== - dependencies: - "@cspotcode/source-map-support" "^0.8.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.1" - yn "3.1.1" - -ts-pnp@1.2.0, ts-pnp@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" - integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== -tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" - strip-bom "^3.0.0" + brace-expansion "^1.1.7" -tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +mkdirp@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" + integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== -tslib@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" - integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== +mock-socket@^9.2.1: + version "9.2.1" + resolved "https://registry.yarnpkg.com/mock-socket/-/mock-socket-9.2.1.tgz#cc9c0810aa4d0afe02d721dcb2b7e657c00e2282" + integrity sha512-aw9F9T9G2zpGipLLhSNh6ZpgUyUl4frcVmRN08uE1NWPWg43Wx6+sGPDbQ7E5iFZZDJW5b5bypMeAEHqTbIFag== -tslib@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tslib@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tsutils@^3.17.1: - version "3.20.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.20.0.tgz#ea03ea45462e146b53d70ce0893de453ff24f698" - integrity sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg== - dependencies: - tslib "^1.8.1" +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== dependencies: - tslib "^1.8.1" + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== -tweetnacl@1.x.x, tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +nock@^13.3.1: + version "13.3.1" + resolved "https://registry.yarnpkg.com/nock/-/nock-13.3.1.tgz#f22d4d661f7a05ebd9368edae1b5dc0a62d758fc" + integrity sha512-vHnopocZuI93p2ccivFyGuUfzjq2fxNyNurp7816mlT5V5HF4SzXu8lvLrVzBbNqzs+ODooZ6OksuSUNM7Njkw== + dependencies: + debug "^4.1.0" + json-stringify-safe "^5.0.1" + lodash "^4.17.21" + propagate "^2.0.0" -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== +node-fetch@^2.6.11: + version "2.6.11" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25" + integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w== dependencies: - prelude-ls "^1.2.1" + whatwg-url "^5.0.0" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= +node-fetch@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.1.tgz#b3eea7b54b3a48020e46f4f88b9c5a7430d20b2e" + integrity sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow== dependencies: - prelude-ls "~1.1.2" + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== +node-releases@^2.0.12: + version "2.0.12" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039" + integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== +npm-run-path@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" + integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== + dependencies: + path-key "^4.0.0" -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== +object-assign@^4.0.1, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -type-fest@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" - integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== +object-inspect@^1.12.3: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" -type-is@~1.6.17, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" + mimic-fn "^2.1.0" -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + 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" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" -type@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/type/-/type-2.3.0.tgz#ada7c045f07ead08abf9e2edd29be1a0c0661132" - integrity sha512-rgPIqOdfK/4J9FhiVrZ3cveAjRRo5rsQBAIhnylX874y1DX/kEKSVdLsnuHB6l1KTjHyU01VjiMBHgU2adejyg== +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: - is-typedarray "^1.0.0" + aggregate-error "^3.0.0" -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +pako@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" + integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== -typescript@^3.0.0: - version "3.9.9" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.9.tgz#e69905c54bc0681d0518bd4d587cc6f2d0b1a674" - integrity sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w== +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" -typescript@^4.1.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.2.tgz#399ab18aac45802d6f2498de5054fcbbe716a805" - integrity sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw== +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== -typescript@^4.6.4: - version "4.7.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4" - integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A== +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== -unc-path-regex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== +pidtree@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" + integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== -unified@^9.1.0: - version "9.2.1" - resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.1.tgz#ae18d5674c114021bfdbdf73865ca60f410215a3" - integrity sha512-juWjuI8Z4xFg8pJbnEZ41b5xjGUWGHqXALmBZ3FC3WX0PIx1CZBIIJ6mXbYMcf6Yw4Fi0rFUTA1cdz/BglbOhA== - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= +pirates@^4.0.1: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= +pnglib@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/pnglib/-/pnglib-0.0.1.tgz#f9ab6f9c688f4a9d579ad8be28878a716e30c096" + integrity sha512-95ChzOoYLOPIyVmL+Y6X+abKGXUJlvOVLkB1QQkyXl7Uczc6FElUy/x01NS7r2GX6GRezloO/ecCX9h4U9KadA== -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== +postcss-import@^15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" + integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== dependencies: - unique-slug "^2.0.0" + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== +postcss-js@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" + integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== dependencies: - imurmurhash "^0.1.4" + camelcase-css "^2.0.1" -unique-stream@^2.0.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" - integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== +postcss-load-config@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd" + integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA== dependencies: - json-stable-stringify-without-jsonify "^1.0.1" - through2-filter "^3.0.0" + lilconfig "^2.0.5" + yaml "^2.1.1" -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" - integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= +postcss-nested@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" + integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== dependencies: - crypto-random-string "^1.0.0" + postcss-selector-parser "^6.0.11" -unist-util-find-all-after@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz#fdfecd14c5b7aea5e9ef38d5e0d5f774eeb561f6" - integrity sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ== +postcss-selector-parser@^6.0.11: + version "6.0.13" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== dependencies: - unist-util-is "^4.0.0" + cssesc "^3.0.0" + util-deprecate "^1.0.2" -unist-util-is@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" - integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== +postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -unist-util-stringify-position@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" - integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== +postcss@^8.4.23, postcss@^8.4.24: + version "8.4.24" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.24.tgz#f714dba9b2284be3cc07dbd2fc57ee4dc972d2df" + integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg== dependencies: - "@types/unist" "^2.0.2" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= +prettier-plugin-tailwindcss@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.3.0.tgz#8299b307c7f6467f52732265579ed9375be6c818" + integrity sha512-009/Xqdy7UmkcTBpwlq7jsViDqXAYSOMLDrHAdTMlVZOrKfM2o9Ci7EMWTMZ7SkKBFTG04UM9F9iM2+4i6boDA== -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= +prettier@^2.8.8: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= +prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1, upath@^1.1.2, upath@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" +propagate@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" + integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== -url-loader@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" - integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== - dependencies: - loader-utils "^2.0.0" - mime-types "^2.1.27" - schema-utils "^3.0.0" +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= +react-copy-to-clipboard@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz#09aae5ec4c62750ccb2e6421a58725eabc41255c" + integrity sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A== dependencies: - prepend-http "^1.0.1" + copy-to-clipboard "^3.3.1" + prop-types "^15.8.1" -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= +react-dom@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== dependencies: - prepend-http "^2.0.0" + loose-envify "^1.1.0" + scheduler "^0.23.0" -url-parse@^1.4.3, url-parse@^1.4.7: - version "1.5.1" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b" - integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q== +react-i18next@^12.3.1: + version "12.3.1" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-12.3.1.tgz#30134a41a2a71c61dc69c6383504929aed1c99e7" + integrity sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA== dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url-set-query@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" - integrity sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk= + "@babel/runtime" "^7.20.6" + html-parse-stringify "^3.0.1" -url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" - integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= +react-is@^16.13.1, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= +react-router-dom@^6.11.2: + version "6.11.2" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.11.2.tgz#324d55750ffe2ecd54ca4ec6b7bc7ab01741f170" + integrity sha512-JNbKtAeh1VSJQnH6RvBDNhxNwemRj7KxCzc5jb7zvDSKRnPWIFj9pO+eXqjM69gQJ0r46hSz1x4l9y0651DKWw== dependencies: - punycode "1.3.2" - querystring "0.2.0" + "@remix-run/router" "1.6.2" + react-router "6.11.2" -use-deep-compare-effect@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/use-deep-compare-effect/-/use-deep-compare-effect-1.6.1.tgz#061a0ac5400aa0461e33dddfaa2a98bca873182a" - integrity sha512-VB3b+7tFI81dHm8buGyrpxi8yBhzYZdyMX9iBJra7SMFMZ4ci4FJ1vFc1nvChiB1iLv4GfjqaYfvbNEpTT1rFQ== +react-router@6.11.2: + version "6.11.2" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.11.2.tgz#006301c4da1a173d7ad76b7ecd2da01b9dd3837a" + integrity sha512-74z9xUSaSX07t3LM+pS6Un0T55ibUE/79CzfZpy5wsPDZaea1F8QkrsiyRnA2YQ7LwE/umaydzXZV80iDCPkMg== dependencies: - "@babel/runtime" "^7.12.5" - "@types/react" "^17.0.0" - dequal "^2.0.2" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + "@remix-run/router" "1.6.2" -utf-8-validate@^5.0.2: - version "5.0.5" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.5.tgz#dd32c2e82c72002dc9f02eb67ba6761f43456ca1" - integrity sha512-+pnxRYsS/axEpkrrEpzYfNZGXp0IjC/9RIxwM5gntY4Koi8SHmUGSfxfWqxZdRxrtaoVstuOzUp/rbs3JSPELQ== +react@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== dependencies: - node-gyp-build "^4.2.0" - -utf8@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" - integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + loose-envify "^1.1.0" -util.promisify@1.0.0: +read-cache@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" + pify "^2.3.0" -util@^0.12.0: - version "0.12.4" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" - integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 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" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - -uuid@^3.3.2, uuid@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + picomatch "^2.2.1" -v8-compile-cache@^2.0.3: - version "2.2.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" - integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== -v8-compile-cache@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -v8-to-istanbul@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" - integrity sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g== +resolve@^1.1.7, resolve@^1.22.2: + version "1.22.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" + is-core-module "^2.11.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" -value-or-function@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" - integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -varint@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" - integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== +rfdc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" -vendors@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" - integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== +rollup@^3.21.0: + version "3.23.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.23.1.tgz#a6e50cb86a17fc2e3248d8ec12ff8666992b0780" + integrity sha512-ybRdFVHOoljGEFILHLd2g/qateqUdjE6YS41WXq4p3C/WwD3xtWxV4FYWETA1u9TeXQc5K8L8zHE5d/scOvrOQ== + optionalDependencies: + fsevents "~2.3.2" -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" + queue-microtask "^1.2.2" -vfile-message@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" - integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== +rxjs@^7.8.0, rxjs@^7.8.1: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^2.0.0" + tslib "^2.1.0" -vfile@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" - integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" + loose-envify "^1.1.0" -vinyl-fs@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" - integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== +semver@^7.3.7: + version "7.5.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.1.tgz#c90c4d631cf74720e46b21c1d37ea07edfab91ec" + integrity sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw== dependencies: - fs-mkdirp-stream "^1.0.0" - glob-stream "^6.1.0" - graceful-fs "^4.0.0" - is-valid-glob "^1.0.0" - lazystream "^1.0.0" - lead "^1.0.0" - object.assign "^4.0.4" - pumpify "^1.3.5" - readable-stream "^2.3.3" - remove-bom-buffer "^3.0.0" - remove-bom-stream "^1.2.0" - resolve-options "^1.1.0" - through2 "^2.0.0" - to-through "^2.0.0" - value-or-function "^3.0.0" - vinyl "^2.0.0" - vinyl-sourcemap "^1.1.0" - -vinyl-sourcemap@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" - integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= - dependencies: - append-buffer "^1.0.2" - convert-source-map "^1.5.0" - graceful-fs "^4.1.6" - normalize-path "^2.1.1" - now-and-later "^2.0.0" - remove-bom-buffer "^3.0.0" - vinyl "^2.0.0" - -vinyl@^2.0.0, vinyl@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" - integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -void-elements@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" - integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk= + lru-cache "^6.0.0" -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== -w3c-xmlserializer@^2.0.0: +shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: - xml-name-validator "^3.0.0" + shebang-regex "^3.0.0" -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -warning@^4.0.1, warning@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== +signal-exit@^3.0.2, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== dependencies: - loose-envify "^1.0.0" + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: - chokidar "^2.1.8" + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== +smoldot@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/smoldot/-/smoldot-1.0.4.tgz#e4c38cedad68d699a11b5b9ce72bb75c891bfd98" + integrity sha512-N3TazI1C4GGrseFH/piWyZCCCRJTRx2QhDfrUKRT4SzILlW5m8ayZ3QTKICcz1C/536T9cbHHJyP7afxI6Mi1A== dependencies: - minimalistic-assert "^1.0.0" + pako "^2.0.4" + ws "^8.8.1" -web-streams-polyfill@^3.0.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" - integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -web-vitals@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-2.1.3.tgz#6dca59f41dbc3fcccdb889da06191b437b18f534" - integrity sha512-+ijpniAzcnQicXaXIN0/eHQAiV/jMt1oHGHTmz7VdAJPPkzzDhmoYPSpLgJTuFtUh+jCjxCoeTZPg7Ic+g8o7w== +store@^2.0.12: + version "2.0.12" + resolved "https://registry.yarnpkg.com/store/-/store-2.0.12.tgz#8c534e2a0b831f72b75fc5f1119857c44ef5d593" + integrity sha512-eO9xlzDpXLiMr9W1nQ3Nfp9EzZieIQc10zPPMP5jsVV7bLOziSFFBP0XoDXACEIFtdI+rIz0NwWVA/QVJ8zJtw== -web3-bzz@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.7.0.tgz#0b754d787a1700f0580fa741fc707d19d1447ff4" - integrity sha512-XPhTWUnZa8gnARfiqaag3jJ9+6+a66Li8OikgBUJoMUqPuQTCJPncTbGYqOJIfRFGavEAdlMnfYXx9lvgv2ZPw== - dependencies: - "@types/node" "^12.12.6" - got "9.6.0" - swarm-js "^0.1.40" - -web3-core-helpers@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.7.0.tgz#0eaef7bc55ff7ec5ba726181d0e8529be5d60903" - integrity sha512-kFiqsZFHJliKF8VKZNjt2JvKu3gu7h3N1/ke3EPhdp9Li/rLmiyzFVr6ApryZ1FSjbSx6vyOkibG3m6xQ5EHJA== - dependencies: - web3-eth-iban "1.7.0" - web3-utils "1.7.0" +string-argv@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== -web3-core-method@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.7.0.tgz#5e98030ac9e0d96c6ff1ba93fde1292a332b1b81" - integrity sha512-43Om+kZX8wU5u1pJ28TltF9e9pSTRph6b8wrOb6wgXAfPHqMulq6UTBJWjXXIRVN46Eiqv0nflw35hp9bbgnbA== - dependencies: - "@ethersproject/transactions" "^5.0.0-beta.135" - web3-core-helpers "1.7.0" - web3-core-promievent "1.7.0" - web3-core-subscriptions "1.7.0" - web3-utils "1.7.0" - -web3-core-promievent@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.7.0.tgz#e2c6c38f29b912cc549a2a3f806636a3393983eb" - integrity sha512-xPH66XeC0K0k29GoRd0vyPQ07yxERPRd4yVPrbMzGAz/e9E4M3XN//XK6+PdfGvGw3fx8VojS+tNIMiw+PujbQ== +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: - eventemitter3 "4.0.4" + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" -web3-core-requestmanager@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.7.0.tgz#5b62b413471d6d2a789ee33d587d280178979c7e" - integrity sha512-rA3dBTBPrt+eIfTAQ2/oYNTN/2wbZaYNR3pFZGqG8+2oCK03+7oQyz4sWISKy/nYQhURh4GK01rs9sN4o/Tq9w== - dependencies: - util "^0.12.0" - web3-core-helpers "1.7.0" - web3-providers-http "1.7.0" - web3-providers-ipc "1.7.0" - web3-providers-ws "1.7.0" - -web3-core-subscriptions@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.7.0.tgz#30475d8ed5f51a170e5df02085f721925622a795" - integrity sha512-6giF8pyJrPmWrRpc2WLoVCvQdMMADp20ZpAusEW72axauZCNlW1XfTjs0i4QHQBfdd2lFp65qad9IuATPhuzrQ== +string-width@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.7.0" + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" -web3-core@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.7.0.tgz#67b7839130abd19476e7f614ea6ec4c64d08eb00" - integrity sha512-U/CRL53h3T5KHl8L3njzCBT7fCaHkbE6BGJe3McazvFldRbfTDEHXkUJCyM30ZD0RoLi3aDfTVeFIusmEyCctA== - dependencies: - "@types/bn.js" "^4.11.5" - "@types/node" "^12.12.6" - bignumber.js "^9.0.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-core-requestmanager "1.7.0" - web3-utils "1.7.0" - -web3-eth-abi@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz#4fac9c7d9e5a62b57f8884b37371f515c766f3f4" - integrity sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg== +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - "@ethersproject/abi" "5.0.7" - web3-utils "1.7.0" + ansi-regex "^5.0.1" -web3-eth-accounts@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.7.0.tgz#d0a6f2cfbd61dd6014224056070b7f8d1d63c0ab" - integrity sha512-Zwm7TlQXdXGRuS6+ib1YsR5fQwpfnFyL6UAZg1zERdrUrs3IkCZSL3yCP/8ZYbAjdTEwWljoott2iSqXNH09ug== - dependencies: - "@ethereumjs/common" "^2.5.0" - "@ethereumjs/tx" "^3.3.2" - 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.7.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-utils "1.7.0" - -web3-eth-contract@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.7.0.tgz#3795767a65d7b87bd22baea3e18aafdd928d5313" - integrity sha512-2LY1Xwxu5rx468nqHuhvupQAIpytxIUj3mGL9uexszkhrQf05THVe3i4OnUCzkeN6B2cDztNOqLT3j9SSnVQDg== - dependencies: - "@types/bn.js" "^4.11.5" - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-core-promievent "1.7.0" - web3-core-subscriptions "1.7.0" - web3-eth-abi "1.7.0" - web3-utils "1.7.0" - -web3-eth-ens@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.7.0.tgz#49c5300935b026578aaaf9664e5e5529d4c76a68" - integrity sha512-I1bikYJJWQ/FJZIAvwsGOvzAgcRIkosWG4s1L6veRoXaU8OEJFeh4s00KcfHDxg7GWZZGbUSbdbzKpwRbWnvkg== - dependencies: - content-hash "^2.5.2" - eth-ens-namehash "2.0.8" - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-promievent "1.7.0" - web3-eth-abi "1.7.0" - web3-eth-contract "1.7.0" - web3-utils "1.7.0" - -web3-eth-iban@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.7.0.tgz#b56cd58587457d3339730e0cb42772a37141b434" - integrity sha512-1PFE/Og+sPZaug+M9TqVUtjOtq0HecE+SjDcsOOysXSzslNC2CItBGkcRwbvUcS+LbIkA7MFsuqYxOL0IV/gyA== +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: - bn.js "^4.11.9" - web3-utils "1.7.0" + ansi-regex "^6.0.1" -web3-eth-personal@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.7.0.tgz#260c9b6af6e0bea772c6a9a5d58c8d62c035ed99" - integrity sha512-Dr9RZTNOR80PhrPKGdktDUXpOgExEcCcosBj080lKCJFU1paSPj9Zfnth3u6BtIOXyKsVFTrpqekqUDyAwXnNw== - dependencies: - "@types/node" "^12.12.6" - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-net "1.7.0" - web3-utils "1.7.0" - -web3-eth@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.7.0.tgz#4adbed9b28ab7f81cb11e3586a12d01ab6e812aa" - integrity sha512-3uYwjMjn/MZjKIzXCt4YL9ja/k9X5shfa4lKparZhZE6uesmu+xmSmrEFXA/e9qcveF50jkV7frjkT8H+cLYtw== - dependencies: - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-core-subscriptions "1.7.0" - web3-eth-abi "1.7.0" - web3-eth-accounts "1.7.0" - web3-eth-contract "1.7.0" - web3-eth-ens "1.7.0" - web3-eth-iban "1.7.0" - web3-eth-personal "1.7.0" - web3-net "1.7.0" - web3-utils "1.7.0" - -web3-net@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.7.0.tgz#694a0c7988f7efc336bab0ee413eb4522efee3b2" - integrity sha512-8pmfU1Se7DmG40Pu8nOCKlhuI12VsVzCtdFDnLAai0zGVAOUuuOCK71B2aKm6u9amWBJjtOlyrCwvsG+QEd6dw== - dependencies: - web3-core "1.7.0" - web3-core-method "1.7.0" - web3-utils "1.7.0" - -web3-providers-http@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.7.0.tgz#0661261eace122a0ed5853f8be5379d575a9130c" - integrity sha512-Y9reeEiApfvQKLUUtrU4Z0c+H6b7BMWcsxjgoXndI1C5NB297mIUfltXxfXsh5C/jk5qn4Q3sJp3SwQTyVjH7Q== - dependencies: - web3-core-helpers "1.7.0" - xhr2-cookies "1.1.0" +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== -web3-providers-ipc@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.7.0.tgz#152dc1231eb4f17426498d4d5d973c865eab03d9" - integrity sha512-U5YLXgu6fvAK4nnMYqo9eoml3WywgTym0dgCdVX/n1UegLIQ4nctTubBAuWQEJzmAzwh+a6ValGcE7ZApTRI7Q== - dependencies: - oboe "2.1.5" - web3-core-helpers "1.7.0" +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -web3-providers-ws@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.7.0.tgz#99c2de9f6b5ac56e926794ef9074c7442d937372" - integrity sha512-0a8+lVV3JBf+eYnGOsdzOpftK1kis5X7s35QAdoaG5SDapnEylXFlR4xDSSSU88ZwMwvse8hvng2xW6A7oeWxw== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.7.0" - websocket "^1.0.32" - -web3-shh@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.7.0.tgz#ed9d085b670bb5a938f2847393478e33df3ec95c" - integrity sha512-RZhxcevALIPK178VZCpwMBvQeW+IoWtRJ4EMdegpbnETeZaC3aRUcs6vKnrf0jXJjm4J/E2Dt438Y1Ord/1IMw== - dependencies: - web3-core "1.7.0" - web3-core-method "1.7.0" - web3-core-subscriptions "1.7.0" - web3-net "1.7.0" - -web3-utils@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.7.0.tgz#c59f0fd43b2449357296eb54541810b99b1c771c" - integrity sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w== - 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" - -web3@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.7.0.tgz#5867cd10a2bebb5c33fc218368e3f6f826f6897e" - integrity sha512-n39O7QQNkpsjhiHMJ/6JY6TaLbdX+2FT5iGs8tb3HbIWOhPm4+a7UDbr5Lkm+gLa9aRKWesZs5D5hWyEvg4aJA== - dependencies: - web3-bzz "1.7.0" - web3-core "1.7.0" - web3-eth "1.7.0" - web3-eth-personal "1.7.0" - web3-net "1.7.0" - web3-shh "1.7.0" - web3-utils "1.7.0" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -webpack-dev-middleware@^3.7.2: - version "3.7.3" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" - integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== - dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" - range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-dev-server@3.11.1: - version "3.11.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz#c74028bf5ba8885aaf230e48a20e8936ab8511f0" - integrity sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ== +styled-components@^5.3.11: + version "5.3.11" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.11.tgz#9fda7bf1108e39bf3f3e612fcc18170dedcd57a8" + integrity sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw== dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.1.8" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - debug "^4.1.1" - del "^4.1.1" - express "^4.17.1" - html-entities "^1.3.1" - http-proxy-middleware "0.19.1" - import-local "^2.0.0" - internal-ip "^4.3.0" - ip "^1.1.5" - is-absolute-url "^3.0.3" - killable "^1.0.1" - loglevel "^1.6.8" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.26" - schema-utils "^1.0.0" - selfsigned "^1.10.8" - semver "^6.3.0" - serve-index "^1.9.1" - sockjs "^0.3.21" - sockjs-client "^1.5.0" - spdy "^4.0.2" - strip-ansi "^3.0.1" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.7.2" - webpack-log "^2.0.0" - ws "^6.2.1" - yargs "^13.3.2" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" + "@babel/helper-module-imports" "^7.0.0" + "@babel/traverse" "^7.4.5" + "@emotion/is-prop-valid" "^1.1.0" + "@emotion/stylis" "^0.8.4" + "@emotion/unitless" "^0.7.4" + babel-plugin-styled-components ">= 1.12.0" + css-to-react-native "^3.0.0" + hoist-non-react-statics "^3.0.0" + shallowequal "^1.1.0" + supports-color "^5.5.0" -webpack-manifest-plugin@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz#19ca69b435b0baec7e29fbe90fb4015de2de4f16" - integrity sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ== +sucrase@^3.32.0: + version "3.32.0" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.32.0.tgz#c4a95e0f1e18b6847127258a75cf360bc568d4a7" + integrity sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ== dependencies: - fs-extra "^7.0.0" - lodash ">=3.5 <5" - object.entries "^1.1.0" - tapable "^1.0.0" - -webpack-merge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" - integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== + "@jridgewell/gen-mapping" "^0.3.2" + commander "^4.0.0" + glob "7.1.6" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + ts-interface-checker "^0.1.9" + +supports-color@^5.3.0, supports-color@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: - lodash "^4.17.15" + has-flag "^3.0.0" -webpack-sources@^1.1.0, webpack-sources@^1.3.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" + has-flag "^4.0.0" -webpack-sources@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.1.tgz#251a7d9720d75ada1469ca07dbb62f3641a05b6d" - integrity sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA== +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -webpack@4.44.2: - version "4.44.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" - integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.3.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== +tailwindcss@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.2.tgz#2f9e35d715fdf0bbf674d90147a0684d7054a2d3" + integrity sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w== dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + "@alloc/quick-lru" "^5.2.0" + arg "^5.0.2" + chokidar "^3.5.3" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.2.12" + glob-parent "^6.0.2" + is-glob "^4.0.3" + jiti "^1.18.2" + lilconfig "^2.1.0" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.4.23" + postcss-import "^15.1.0" + postcss-js "^4.0.1" + postcss-load-config "^4.0.1" + postcss-nested "^6.0.1" + postcss-selector-parser "^6.0.11" + postcss-value-parser "^4.2.0" + resolve "^1.22.2" + sucrase "^3.32.0" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -websocket@^1.0.32, websocket@^1.0.34: - version "1.0.34" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" - integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== 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" - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== dependencies: - iconv-lite "0.4.24" + any-promise "^1.0.0" -whatwg-fetch@^3.4.1: - version "3.6.1" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.1.tgz#93bc4005af6c2cc30ba3e42ec3125947c8f54ed3" - integrity sha512-IEmN/ZfmMw6G1hgZpVd0LuZXOQDisrMOZrzYd5x3RAK4bMPlJohKUZWZ9t/QsTvH0dV9TbPDcc2OSuIDcihnHA== +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== -whatwg-url@^8.0.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" - integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" - webidl-conversions "^6.1.0" + is-number "^7.0.0" -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - 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" +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -which-typed-array@^1.1.2: - version "1.1.7" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793" - integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw== - 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" - -which@^1.2.9, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +tslib@^2.1.0, tslib@^2.5.0, tslib@^2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" + integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== -workbox-background-sync@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-5.1.4.tgz#5ae0bbd455f4e9c319e8d827c055bb86c894fd12" - integrity sha512-AH6x5pYq4vwQvfRDWH+vfOePfPIYQ00nCEB7dJRU1e0n9+9HMRyvI63FlDvtFT2AvXVRsXvUt7DNMEToyJLpSA== +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: - workbox-core "^5.1.4" + tslib "^1.8.1" -workbox-broadcast-update@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-5.1.4.tgz#0eeb89170ddca7f6914fa3523fb14462891f2cfc" - integrity sha512-HTyTWkqXvHRuqY73XrwvXPud/FN6x3ROzkfFPsRjtw/kGZuZkPzfeH531qdUGfhtwjmtO/ZzXcWErqVzJNdXaA== +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: - workbox-core "^5.1.4" + prelude-ls "^1.2.1" -workbox-build@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-5.1.4.tgz#23d17ed5c32060c363030c8823b39d0eabf4c8c7" - integrity sha512-xUcZn6SYU8usjOlfLb9Y2/f86Gdo+fy1fXgH8tJHjxgpo53VVsqRX0lUDw8/JuyzNmXuo8vXX14pXX2oIm9Bow== - dependencies: - "@babel/core" "^7.8.4" - "@babel/preset-env" "^7.8.4" - "@babel/runtime" "^7.8.4" - "@hapi/joi" "^15.1.0" - "@rollup/plugin-node-resolve" "^7.1.1" - "@rollup/plugin-replace" "^2.3.1" - "@surma/rollup-plugin-off-main-thread" "^1.1.1" - common-tags "^1.8.0" - fast-json-stable-stringify "^2.1.0" - fs-extra "^8.1.0" - glob "^7.1.6" - lodash.template "^4.5.0" - pretty-bytes "^5.3.0" - rollup "^1.31.1" - rollup-plugin-babel "^4.3.3" - rollup-plugin-terser "^5.3.1" - source-map "^0.7.3" - source-map-url "^0.4.0" - stringify-object "^3.3.0" - strip-comments "^1.0.2" - tempy "^0.3.0" - upath "^1.2.0" - workbox-background-sync "^5.1.4" - workbox-broadcast-update "^5.1.4" - workbox-cacheable-response "^5.1.4" - workbox-core "^5.1.4" - workbox-expiration "^5.1.4" - workbox-google-analytics "^5.1.4" - workbox-navigation-preload "^5.1.4" - workbox-precaching "^5.1.4" - workbox-range-requests "^5.1.4" - workbox-routing "^5.1.4" - workbox-strategies "^5.1.4" - workbox-streams "^5.1.4" - workbox-sw "^5.1.4" - workbox-window "^5.1.4" - -workbox-cacheable-response@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-5.1.4.tgz#9ff26e1366214bdd05cf5a43da9305b274078a54" - integrity sha512-0bfvMZs0Of1S5cdswfQK0BXt6ulU5kVD4lwer2CeI+03czHprXR3V4Y8lPTooamn7eHP8Iywi5QjyAMjw0qauA== - dependencies: - workbox-core "^5.1.4" +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -workbox-core@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-5.1.4.tgz#8bbfb2362ecdff30e25d123c82c79ac65d9264f4" - integrity sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg== +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== -workbox-expiration@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-5.1.4.tgz#92b5df461e8126114943a3b15c55e4ecb920b163" - integrity sha512-oDO/5iC65h2Eq7jctAv858W2+CeRW5e0jZBMNRXpzp0ZPvuT6GblUiHnAsC5W5lANs1QS9atVOm4ifrBiYY7AQ== - dependencies: - workbox-core "^5.1.4" +typescript@^5.0.2: + version "5.1.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.3.tgz#8d84219244a6b40b6fb2b33cc1c062f715b9e826" + integrity sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw== -workbox-google-analytics@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-5.1.4.tgz#b3376806b1ac7d7df8418304d379707195fa8517" - integrity sha512-0IFhKoEVrreHpKgcOoddV+oIaVXBFKXUzJVBI+nb0bxmcwYuZMdteBTp8AEDJacENtc9xbR0wa9RDCnYsCDLjA== - dependencies: - workbox-background-sync "^5.1.4" - workbox-core "^5.1.4" - workbox-routing "^5.1.4" - workbox-strategies "^5.1.4" - -workbox-navigation-preload@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-5.1.4.tgz#30d1b720d26a05efc5fa11503e5cc1ed5a78902a" - integrity sha512-Wf03osvK0wTflAfKXba//QmWC5BIaIZARU03JIhAEO2wSB2BDROWI8Q/zmianf54kdV7e1eLaIEZhth4K4MyfQ== +update-browserslist-db@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== dependencies: - workbox-core "^5.1.4" + escalade "^3.1.1" + picocolors "^1.0.0" -workbox-precaching@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-5.1.4.tgz#874f7ebdd750dd3e04249efae9a1b3f48285fe6b" - integrity sha512-gCIFrBXmVQLFwvAzuGLCmkUYGVhBb7D1k/IL7pUJUO5xacjLcFUaLnnsoVepBGAiKw34HU1y/YuqvTKim9qAZA== +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: - workbox-core "^5.1.4" + punycode "^2.1.0" -workbox-range-requests@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-5.1.4.tgz#7066a12c121df65bf76fdf2b0868016aa2bab859" - integrity sha512-1HSujLjgTeoxHrMR2muDW2dKdxqCGMc1KbeyGcmjZZAizJTFwu7CWLDmLv6O1ceWYrhfuLFJO+umYMddk2XMhw== - dependencies: - workbox-core "^5.1.4" +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -workbox-routing@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-5.1.4.tgz#3e8cd86bd3b6573488d1a2ce7385e547b547e970" - integrity sha512-8ljknRfqE1vEQtnMtzfksL+UXO822jJlHTIR7+BtJuxQ17+WPZfsHqvk1ynR/v0EHik4x2+826Hkwpgh4GKDCw== +vite@^4.3.9: + version "4.3.9" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.3.9.tgz#db896200c0b1aa13b37cdc35c9e99ee2fdd5f96d" + integrity sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg== dependencies: - workbox-core "^5.1.4" + esbuild "^0.17.5" + postcss "^8.4.23" + rollup "^3.21.0" + optionalDependencies: + fsevents "~2.3.2" -workbox-strategies@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-5.1.4.tgz#96b1418ccdfde5354612914964074d466c52d08c" - integrity sha512-VVS57LpaJTdjW3RgZvPwX0NlhNmscR7OQ9bP+N/34cYMDzXLyA6kqWffP6QKXSkca1OFo/v6v7hW7zrrguo6EA== - dependencies: - workbox-core "^5.1.4" - workbox-routing "^5.1.4" +void-elements@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" + integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== -workbox-streams@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-5.1.4.tgz#05754e5e3667bdc078df2c9315b3f41210d8cac0" - integrity sha512-xU8yuF1hI/XcVhJUAfbQLa1guQUhdLMPQJkdT0kn6HP5CwiPOGiXnSFq80rAG4b1kJUChQQIGPrq439FQUNVrw== - dependencies: - workbox-core "^5.1.4" - workbox-routing "^5.1.4" - -workbox-sw@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-5.1.4.tgz#2bb34c9f7381f90d84cef644816d45150011d3db" - integrity sha512-9xKnKw95aXwSNc8kk8gki4HU0g0W6KXu+xks7wFuC7h0sembFnTrKtckqZxbSod41TDaGh+gWUA5IRXrL0ECRA== - -workbox-webpack-plugin@5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-5.1.4.tgz#7bfe8c16e40fe9ed8937080ac7ae9c8bde01e79c" - integrity sha512-PZafF4HpugZndqISi3rZ4ZK4A4DxO8rAqt2FwRptgsDx7NF8TVKP86/huHquUsRjMGQllsNdn4FNl8CD/UvKmQ== - dependencies: - "@babel/runtime" "^7.5.5" - fast-json-stable-stringify "^2.0.0" - source-map-url "^0.4.0" - upath "^1.1.2" - webpack-sources "^1.3.0" - workbox-build "^5.1.4" - -workbox-window@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-5.1.4.tgz#2740f7dea7f93b99326179a62f1cc0ca2c93c863" - integrity sha512-vXQtgTeMCUq/4pBWMfQX8Ee7N2wVC4Q7XYFqLnfbXJ2hqew/cU1uMTD2KqGEgEpE4/30luxIxgE+LkIa8glBYw== - dependencies: - workbox-core "^5.1.4" +web-streams-polyfill@^3.0.3: + version "3.2.1" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" + integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -worker-rpc@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" - integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: - microevent.ts "~0.1.1" + tr46 "~0.0.3" + webidl-conversions "^3.0.0" -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" + isexe "^2.0.0" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== wrap-ansi@^6.2.0: version "6.2.0" @@ -17555,231 +3007,24 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^3.0.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - -ws@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== - dependencies: - async-limiter "~1.0.0" - -ws@^7.2.3: - version "7.4.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd" - integrity sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA== - -ws@^8.8.1: - version "8.8.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" - integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== - -xhr-request-promise@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" - integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg== - dependencies: - xhr-request "^1.1.0" - -xhr-request@^1.0.1, xhr-request@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" - integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== - 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" - -xhr2-cookies@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" - integrity sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg= - dependencies: - cookiejar "^2.1.1" - -xhr@^2.0.4, xhr@^2.3.3: - version "2.6.0" - resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" - integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== - dependencies: - global "~4.4.0" - is-function "^1.0.1" - parse-headers "^2.0.0" - xtend "^4.0.0" - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yaeti@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" - integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= - -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +ws@^8.13.0, ws@^8.8.1: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.7.2: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== - -yaml@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.1.tgz#1e06fb4ca46e60d9da07e4f786ea370ed3c3cfec" - integrity sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw== - -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.3: - version "20.2.7" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" - integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== - -yargs-parser@^21.0.0: - version "21.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" - integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== - -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - 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" - -yargs@^15.4.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.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 "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^17.0.0: - version "17.5.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" - integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== +yaml@^2.1.1, yaml@^2.2.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" + integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -zen-observable-ts@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58" - integrity sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== - dependencies: - zen-observable "0.8.15" - -zen-observable@0.8.15: - version "0.8.15" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== - -zone.js@~0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.10.3.tgz#3e5e4da03c607c9dcd92e37dd35687a14a140c16" - integrity sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg== - -zwitch@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" - integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==