diff options
257 files changed, 49178 insertions, 4414 deletions
@@ -15,6 +15,7 @@ yarn-error.log* # Editor directories and files .idea .vscode +.prettierrc *.suo *.ntvs* *.njsproj @@ -1,3 +1,12 @@ +# IBS Sila + +This branch created from 'ibs' revision: 0f7d2a13a0a6bf96fa60d4c257c544558e310207 + + + + +---------------------------- + # webui-vue webui-vue is a web-based user interface for the OpenBMC firmware stack built on diff --git a/package-lock.json b/package-lock.json index 413dd624..608db030 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,431 +1,241 @@ { "name": "webui-vue", "version": "0.1.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "packages": { + "": { + "name": "webui-vue", + "version": "0.1.0", + "dependencies": { + "@carbon/icons-vue": "10.28.0", + "@novnc/novnc": "1.2.0", + "axios": "0.21.4", + "bootstrap": "4.6.0", + "bootstrap-vue": "2.21.2", + "chart.js": "3.7.1", + "core-js": "3.9.1", + "date-fns": "2.19.0", + "date-fns-tz": "1.1.3", + "highcharts-vue": "1.4.0", + "js-cookie": "2.2.1", + "lodash": "4.17.21", + "vue": "2.6.12", + "vue-chartjs": "3.5.1", + "vue-i18n": "8.24.2", + "vue-router": "3.5.1", + "vuelidate": "0.7.6", + "vuex": "3.6.2", + "xterm": "4.11.0", + "xterm-addon-attach": "0.6.0", + "xterm-addon-fit": "0.5.0" + }, + "devDependencies": { + "@intlify/vue-i18n-loader": "1.1.0", + "@vue/cli-plugin-babel": "4.5.12", + "@vue/cli-plugin-eslint": "4.5.12", + "@vue/cli-plugin-router": "4.5.12", + "@vue/cli-plugin-unit-jest": "4.5.12", + "@vue/cli-plugin-vuex": "4.5.12", + "@vue/cli-service": "4.5.12", + "@vue/eslint-config-prettier": "5.0.0", + "@vue/test-utils": "1.1.3", + "babel-eslint": "10.1.0", + "babel-plugin-transform-require-context": "0.1.1", + "check-node-version": "4.1.0", + "compression-webpack-plugin": "6.0.3", + "eslint": "7.22.0", + "eslint-plugin-prettier": "3.3.1", + "eslint-plugin-vue": "7.8.0", + "lint-staged": "10.5.4", + "prettier": "2.2.1", + "sass": "1.32.8", + "sass-loader": "8.0.0", + "vue-cli-plugin-i18n": "0.6.1", + "vue-template-compiler": "2.6.12", + "vuepress": "1.8.2" + }, + "engines": { + "node": ">=12.14.1" + } + }, + "node_modules/@achrinza/node-ipc": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-9.2.2.tgz", + "integrity": "sha512-b90U39dx0cU6emsOvy5hxU4ApNXnE3+Tuo8XQZfiKTGelDwpMwBVgBP7QX6dGTcJgu/miyJuNJ/2naFBliNWEw==", + "dev": true, + "dependencies": { + "@node-ipc/js-queue": "2.0.3", + "event-pubsub": "4.3.0", + "js-message": "1.0.7" + }, + "engines": { + "node": "8 || 10 || 12 || 14 || 16 || 17" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.0" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/compat-data": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.12.tgz", - "integrity": "sha512-3eJJ841uKxeV8dcN/2yGEUy+RfgQspPEgQat85umsE1rotuquQ2AbIub4S6j7c50a2d+4myc+zSlnXeIHrOnhQ==", - "dev": true + "node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } }, - "@babel/core": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.10.tgz", - "integrity": "sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.9", - "@babel/helper-compilation-targets": "^7.13.10", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helpers": "^7.13.10", - "@babel/parser": "^7.13.10", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0", + "node_modules/@babel/compat-data": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", + "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.9", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helpers": "^7.17.9", + "@babel/parser": "^7.17.9", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "json5": "^2.2.1", + "semver": "^6.3.0" }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", - "dev": true, - "requires": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", - "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "node_modules/@babel/generator": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", + "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", "dev": true, - "requires": { - "@babel/types": "^7.12.11", + "dependencies": { + "@babel/types": "^7.17.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", "dev": true, - "requires": { - "@babel/types": "^7.12.13" - }, "dependencies": { - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" - }, "dependencies": { - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-compilation-targets": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.10.tgz", - "integrity": "sha512-/Xju7Qg1GQO4mHZ/Kcs6Au7gfafgZnwm+a7sy/ow/tV1sHeraRUHbjdat8/UvDor4Tez+siGKDk6zIKtCPKVJA==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", "dev": true, - "requires": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-create-class-features-plugin": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", - "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", + "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.0", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13" - }, "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", - "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", + "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "regexpu-core": "^4.7.1" + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-define-polyfill-provider": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", - "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==", + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", "dev": true, - "requires": { + "dependencies": { "@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-module-imports": "^7.12.13", "@babel/helper-plugin-utils": "^7.13.0", @@ -435,1207 +245,24663 @@ "resolve": "^1.14.2", "semver": "^6.1.2" }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "dev": true, "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.16.7", + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", + "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", + "dev": true, + "dependencies": { + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", + "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", + "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.9.tgz", + "integrity": "sha512-EfH2LZ/vPa2wuPwJ26j+kYRkaubf89UlwxKXtxqEm57HrgSEYDB8t4swFP+p8LcI9yiP9ZRJJjo/58hS6BnaDA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.17.9", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/plugin-syntax-decorators": "^7.17.0", + "charcodes": "^0.2.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", + "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.0", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.10", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.17.0.tgz", + "integrity": "sha512-qWe85yCXsvDEluNP0OyeQjH63DlhAR3W7K9BxxU1MvbDb48tgBG+Ao6IJJ6smPDrrVzSQZrbF6donpkFBMcs3A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz", + "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", + "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.15.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz", + "integrity": "sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@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-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", + "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", + "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.9", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.9", + "@babel/types": "^7.17.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@carbon/icon-helpers": { + "version": "10.29.0", + "resolved": "https://registry.npmjs.org/@carbon/icon-helpers/-/icon-helpers-10.29.0.tgz", + "integrity": "sha512-QlYdeL97klhqahsayK6uEDPtr7imU4bdaudWPVZojg+7Uio3WNzb5iUNLkWA5zRLvP4xgcjSpbdDX2sT3CgL2A==" + }, + "node_modules/@carbon/icons-vue": { + "version": "10.28.0", + "resolved": "https://registry.npmjs.org/@carbon/icons-vue/-/icons-vue-10.28.0.tgz", + "integrity": "sha512-JQHultYyqvsGeoroHZ9/huRNMblXr+sctATVOz7zAX8p70fVifpIEmt3w87lzH4RPOpGy8vAu5qWYbeaFK5bqQ==", + "dependencies": { + "@carbon/icon-helpers": "^10.15.0" + } + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "deprecated": "Moved to 'npm install @sideway/address'", + "dev": true + }, + "node_modules/@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "deprecated": "This version has been deprecated and is no longer supported or maintained", + "dev": true + }, + "node_modules/@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "deprecated": "This version has been deprecated and is no longer supported or maintained", + "dev": true + }, + "node_modules/@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "deprecated": "Switch to 'npm install joi'", + "dev": true, + "dependencies": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "node_modules/@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "deprecated": "This version has been deprecated and is no longer supported or maintained", + "dev": true, + "dependencies": { + "@hapi/hoek": "^8.3.0" + } + }, + "node_modules/@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", + "dev": true, + "dependencies": { + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/@intlify/shared": { + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.1.9.tgz", + "integrity": "sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/vue-i18n-loader": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@intlify/vue-i18n-loader/-/vue-i18n-loader-1.1.0.tgz", + "integrity": "sha512-9LXiztMtYKTE8t/hRwwGUp+ofrwU0sxLQLzFEOZ38zvn0DonUIQmZUj1cfz5p1Lu8BllxKbCrn6HnsRJ+LYA6g==", + "dev": true, + "dependencies": { + "@intlify/shared": "^9.0.0", + "js-yaml": "^3.13.1", + "json5": "^2.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@jest/console": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "dev": true, + "dependencies": { + "@jest/source-map": "^24.9.0", + "chalk": "^2.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/core": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", + "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", + "dev": true, + "dependencies": { + "@jest/console": "^24.7.1", + "@jest/reporters": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-changed-files": "^24.9.0", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-resolve-dependencies": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "jest-watcher": "^24.9.0", + "micromatch": "^3.1.10", + "p-each-series": "^1.0.0", + "realpath-native": "^1.1.0", + "rimraf": "^2.5.4", + "slash": "^2.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/core/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/core/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/environment": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", + "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/fake-timers": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/reporters": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", + "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", + "dev": true, + "dependencies": { + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.2", + "istanbul-lib-coverage": "^2.0.2", + "istanbul-lib-instrument": "^3.0.1", + "istanbul-lib-report": "^2.0.4", + "istanbul-lib-source-maps": "^3.0.1", + "istanbul-reports": "^2.2.6", + "jest-haste-map": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "node-notifier": "^5.4.2", + "slash": "^2.0.0", + "source-map": "^0.6.0", + "string-length": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/source-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.1.15", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "dependencies": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", + "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", + "dev": true, + "dependencies": { + "@jest/test-result": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/transform": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", + "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^24.9.0", + "babel-plugin-istanbul": "^5.1.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.1.15", + "jest-haste-map": "^24.9.0", + "jest-regex-util": "^24.9.0", + "jest-util": "^24.9.0", + "micromatch": "^3.1.10", + "pirates": "^4.0.1", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "2.4.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@jest/types": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", + "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", + "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "dependencies": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@node-ipc/js-queue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@node-ipc/js-queue/-/js-queue-2.0.3.tgz", + "integrity": "sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==", + "dev": true, + "dependencies": { + "easy-stack": "1.0.1" + }, + "engines": { + "node": ">=1.0.0" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@novnc/novnc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@novnc/novnc/-/novnc-1.2.0.tgz", + "integrity": "sha512-FaUckOedGhSbwQBXk/KGyxKt9ngskg4wPw6ghbHWXOUEmQscAZr3467lTU5DSfppwHJt5k+lQiHoeYUuY90l2Q==" + }, + "node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@npmcli/fs/node_modules/lru-cache": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz", + "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", + "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", + "dev": true, + "dependencies": { + "lru-cache": "^7.4.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nuxt/opencollective": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.3.2.tgz", + "integrity": "sha512-XG7rUdXG9fcafu9KTDIYjJSkRO38EwjlKYIb5TQ/0WDbiTUTtUtgncMscKOYzfsY86kGs05pAuMOR+3Fi0aN3A==", + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.0", + "node-fetch": "^2.6.1" + }, + "bin": { + "opencollective": "bin/opencollective.js" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", + "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "error-stack-parser": "^2.0.6", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.0.0" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", + "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", + "dev": true + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/chart.js": { + "version": "2.9.36", + "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.36.tgz", + "integrity": "sha512-lkG9C6O5TqKyW3JDWMfCedVUATH4AeQCo8Q/vflT/0VDj6KMcba+jr1wLe+IXQ+F9mVWn80DVsDnt6cPuGutIg==", + "dependencies": { + "moment": "^2.10.2" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/http-proxy": { + "version": "1.17.8", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", + "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "24.9.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.9.1.tgz", + "integrity": "sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q==", + "dev": true, + "dependencies": { + "jest-diff": "^24.3.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/q": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=", + "dev": true + }, + "node_modules/@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "node_modules/@types/tapable": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", + "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", + "dev": true + }, + "node_modules/@types/uglify-js": { + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.2.tgz", + "integrity": "sha512-/xFrPIo+4zOeNGtVMbf9rUm0N+i4pDf1ynExomqtokIJmVzR3962lJ1UE+MmexMkA0cmN9oTzg5Xcbwge0Ij2Q==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/@types/uglify-js/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/webpack": { + "version": "4.41.32", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz", + "integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "anymatch": "^3.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@types/webpack-dev-server": { + "version": "3.11.6", + "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz", + "integrity": "sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==", + "dev": true, + "dependencies": { + "@types/connect-history-api-fallback": "*", + "@types/express": "*", + "@types/serve-static": "*", + "@types/webpack": "^4", + "http-proxy-middleware": "^1.0.0" + } + }, + "node_modules/@types/webpack-sources": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + } + }, + "node_modules/@types/webpack-sources/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/webpack/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@types/yargs": { + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", + "integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==", + "dev": true + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz", + "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==", + "dev": true + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/template": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "@vue/babel-helper-vue-transform-on": "^1.0.2", + "camelcase": "^6.0.0", + "html-tags": "^3.1.0", + "svg-tags": "^1.0.0" + } + }, + "node_modules/@vue/babel-plugin-transform-vue-jsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz", + "integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-plugin-transform-vue-jsx/node_modules/html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/babel-preset-app": { + "version": "4.5.17", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.17.tgz", + "integrity": "sha512-iFv9J3F5VKUPcbx+TqW5qhGmAVyXQxPRpKpPOuTLFIVTzg+iwJnrqVbL4kJU5ECGDxPESW2oCVgxv9bTlDPu7w==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.0", + "@babel/helper-compilation-targets": "^7.9.6", + "@babel/helper-module-imports": "^7.8.3", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-decorators": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.11.0", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.0", + "@vue/babel-plugin-jsx": "^1.0.3", + "@vue/babel-preset-jsx": "^1.2.4", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", + "core-js-compat": "^3.6.5", + "semver": "^6.1.0" + }, + "peerDependencies": { + "@babel/core": "*", + "core-js": "^3", + "vue": "^2 || ^3.0.0-0" + }, + "peerDependenciesMeta": { + "core-js": { + "optional": true }, - "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", - "dev": true, - "requires": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } + "vue": { + "optional": true + } + } + }, + "node_modules/@vue/babel-preset-jsx": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz", + "integrity": "sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==", + "dev": true, + "dependencies": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "@vue/babel-sugar-composition-api-inject-h": "^1.2.1", + "@vue/babel-sugar-composition-api-render-instance": "^1.2.4", + "@vue/babel-sugar-functional-vue": "^1.2.2", + "@vue/babel-sugar-inject-h": "^1.2.2", + "@vue/babel-sugar-v-model": "^1.2.3", + "@vue/babel-sugar-v-on": "^1.2.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-composition-api-inject-h": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz", + "integrity": "sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-composition-api-render-instance": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz", + "integrity": "sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-functional-vue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz", + "integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-inject-h": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz", + "integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-model": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz", + "integrity": "sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-model/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/babel-sugar-v-model/node_modules/html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/babel-sugar-v-on": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz", + "integrity": "sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-on/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/cli-overlay": { + "version": "4.5.17", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.17.tgz", + "integrity": "sha512-QKKp66VbMg+X8Qh0wgXSwgxLfxY7EIkZkV6bZ6nFqBx8xtaJQVDbTL+4zcUPPA6nygbIcQ6gvTinNEqIqX6FUQ==", + "dev": true + }, + "node_modules/@vue/cli-plugin-babel": { + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.12.tgz", + "integrity": "sha512-PhiNDhlGydsRR0F00OJqG/Q3Mz2G1ko8XqS7CJ0l1GVVGmklUEBy2dW/S8ntEgHpSkFa6h49PgYP3WE2OM3CEg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.0", + "@vue/babel-preset-app": "^4.5.12", + "@vue/cli-shared-utils": "^4.5.12", + "babel-loader": "^8.1.0", + "cache-loader": "^4.1.0", + "thread-loader": "^2.1.3", + "webpack": "^4.0.0" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0-0" + } + }, + "node_modules/@vue/cli-plugin-eslint": { + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.12.tgz", + "integrity": "sha512-nbjGJkWxo/xdD32DwvnEAUwkWYsObpqNk9NuU7T62ehdzHPzz58o3j03YZ7a7T7Le8bYyOWMYsdNfz63F+XiZQ==", + "dev": true, + "dependencies": { + "@vue/cli-shared-utils": "^4.5.12", + "eslint-loader": "^2.2.1", + "globby": "^9.2.0", + "inquirer": "^7.1.0", + "webpack": "^4.0.0", + "yorkie": "^2.0.0" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0-0", + "eslint": ">= 1.6.0 < 7.0.0" + } + }, + "node_modules/@vue/cli-plugin-router": { + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.12.tgz", + "integrity": "sha512-DYNz5AA3W7Ewt3aaiOLGdYFt4MX4w/HTEtep+kPzP9S9tAknzyoIJXkaYzhwu8ArpEYwhWgtuCcDZ8hR6++DbA==", + "dev": true, + "dependencies": { + "@vue/cli-shared-utils": "^4.5.12" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0-0" + } + }, + "node_modules/@vue/cli-plugin-unit-jest": { + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-unit-jest/-/cli-plugin-unit-jest-4.5.12.tgz", + "integrity": "sha512-hZibVfMDGTANN7QENbE7eEAlk8adTW8fEpuGXA4IV+eDqLDPUPVUOwcw8f9d7Rx3KVHES3GyFQ9yVK/KeI9NGw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.0", + "@babel/plugin-transform-modules-commonjs": "^7.9.6", + "@types/jest": "^24.0.19", + "@vue/cli-shared-utils": "^4.5.12", + "babel-core": "^7.0.0-bridge.0", + "babel-jest": "^24.9.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.26.2", + "deepmerge": "^4.2.2", + "jest": "^24.9.0", + "jest-environment-jsdom-fifteen": "^1.0.2", + "jest-serializer-vue": "^2.0.2", + "jest-transform-stub": "^2.0.0", + "jest-watch-typeahead": "^0.4.2", + "ts-jest": "^24.2.0", + "vue-jest": "^3.0.5" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0-0" + } + }, + "node_modules/@vue/cli-plugin-vuex": { + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.12.tgz", + "integrity": "sha512-STgbvNv/3iHAKArc18b/qjN7RX1FTrfxPeHH26GOr/A8lJes7+CSluZZ8E5R7Zr/vL0zOqOkUVDAjFXVf4zWQA==", + "dev": true, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0-0" + } + }, + "node_modules/@vue/cli-service": { + "version": "4.5.12", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.5.12.tgz", + "integrity": "sha512-Di/dFw72HIvUrpTgnnPQkPq07mdd7z3GPeCH/o+6fv4bxOD+gwK9z7P6RkG4lGv2QdLz+qjim9f7xw5w+9ENkg==", + "dev": true, + "dependencies": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@soda/get-current-script": "^1.0.0", + "@types/minimist": "^1.2.0", + "@types/webpack": "^4.0.0", + "@types/webpack-dev-server": "^3.11.0", + "@vue/cli-overlay": "^4.5.12", + "@vue/cli-plugin-router": "^4.5.12", + "@vue/cli-plugin-vuex": "^4.5.12", + "@vue/cli-shared-utils": "^4.5.12", + "@vue/component-compiler-utils": "^3.1.2", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^7.4.0", + "acorn-walk": "^7.1.1", + "address": "^1.1.2", + "autoprefixer": "^9.8.6", + "browserslist": "^4.12.0", + "cache-loader": "^4.1.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.4", + "clipboardy": "^2.3.0", + "cliui": "^6.0.0", + "copy-webpack-plugin": "^5.1.1", + "css-loader": "^3.5.3", + "cssnano": "^4.1.10", + "debug": "^4.1.1", + "default-gateway": "^5.0.5", + "dotenv": "^8.2.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^4.2.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.9.0", + "minimist": "^1.2.5", + "pnp-webpack-plugin": "^1.6.4", + "portfinder": "^1.0.26", + "postcss-loader": "^3.0.0", + "ssri": "^7.1.0", + "terser-webpack-plugin": "^2.3.6", + "thread-loader": "^2.1.3", + "url-loader": "^2.2.0", + "vue-loader": "^15.9.2", + "vue-style-loader": "^4.1.2", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.8.0", + "webpack-chain": "^6.4.0", + "webpack-dev-server": "^3.11.0", + "webpack-merge": "^4.2.2" + }, + "bin": { + "vue-cli-service": "bin/vue-cli-service.js" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "vue-loader-v16": "npm:vue-loader@^16.1.0" + }, + "peerDependencies": { + "@vue/compiler-sfc": "^3.0.0-beta.14", + "vue-template-compiler": "^2.0.0" + }, + "peerDependenciesMeta": { + "@vue/compiler-sfc": { + "optional": true }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } + "less-loader": { + "optional": true }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } + "pug-plain-loader": { + "optional": true }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } + "raw-loader": { + "optional": true }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } + "sass-loader": { + "optional": true }, - "@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", - "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", - "dev": true + "stylus-loader": { + "optional": true }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/@vue/cli-service/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@vue/cli-service/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/@vue/cli-service/node_modules/cacache": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", + "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", + "dev": true, + "dependencies": { + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@vue/cli-service/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/@vue/cli-service/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@vue/cli-service/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vue/cli-service/node_modules/ssri": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.1.tgz", + "integrity": "sha512-w+daCzXN89PseTL99MkA+fxJEcU3wfaE/ah0i0lnOlpG1CYLJ2ZjzEry68YBKfLs4JfoTShrTEsJkAZuNZ/stw==", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@vue/cli-service/node_modules/terser-webpack-plugin": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz", + "integrity": "sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w==", + "dev": true, + "dependencies": { + "cacache": "^13.0.1", + "find-cache-dir": "^3.3.1", + "jest-worker": "^25.4.0", + "p-limit": "^2.3.0", + "schema-utils": "^2.6.6", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.6.12", + "webpack-sources": "^1.4.3" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/@vue/cli-service/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@vue/cli-shared-utils": { + "version": "4.5.17", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.17.tgz", + "integrity": "sha512-VoFNdxvTW4vZu3ne+j1Mf7mU99J2SAoRVn9XPrsouTUUJablglM8DASk7Ixhsh6ymyL/W9EADQFR6Pgj8Ujjuw==", + "dev": true, + "dependencies": { + "@achrinza/node-ipc": "9.2.2", + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "read-pkg": "^5.1.1", + "request": "^2.88.2", + "semver": "^6.1.0", + "strip-ansi": "^6.0.0" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@vue/cli-shared-utils/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "dev": true, + "dependencies": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "optionalDependencies": { + "prettier": "^1.18.2 || ^2.0.0" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/@vue/eslint-config-prettier": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-5.0.0.tgz", + "integrity": "sha512-OXcH+XWevp3DIdC3BBornC1q6/MNYfca/3HY66awV6aGm+dtkR/hpfBb6fX7nsVjcox13kgG+eSUtUfJ3uxZ8A==", + "dev": true, + "dependencies": { + "eslint-config-prettier": "^6.0.0" + }, + "peerDependencies": { + "eslint": ">= 5.0.0", + "eslint-plugin-prettier": "^3.1.0", + "prettier": ">= 1.13.0" + } + }, + "node_modules/@vue/preload-webpack-plugin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", + "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", + "dev": true, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "html-webpack-plugin": ">=2.26.0", + "webpack": ">=4.0.0" + } + }, + "node_modules/@vue/test-utils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.1.3.tgz", + "integrity": "sha512-BAY1Cwe9JpkJseimC295EW3YlAmgIJI9OPkg2FSP62+PHZooB0B+wceDi9TYyU57oqzL0yLbcP73JKFpKiLc9A==", + "dev": true, + "dependencies": { + "dom-event-types": "^1.0.0", + "lodash": "^4.17.15", + "pretty": "^2.0.0" + }, + "peerDependencies": { + "vue": "2.x", + "vue-template-compiler": "^2.x" + } + }, + "node_modules/@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", + "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "dev": true + }, + "node_modules/@vuepress/core": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@vuepress/core/-/core-1.8.2.tgz", + "integrity": "sha512-lh9BLC06k9s0wxTuWtCkiNj49fkbW87enp0XSrFZHEoyDGSGndQjZmMMErcHc5Hx7nrW1nzc33sPH1NNtJl0hw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.8.4", + "@vue/babel-preset-app": "^4.1.2", + "@vuepress/markdown": "1.8.2", + "@vuepress/markdown-loader": "1.8.2", + "@vuepress/plugin-last-updated": "1.8.2", + "@vuepress/plugin-register-components": "1.8.2", + "@vuepress/shared-utils": "1.8.2", + "autoprefixer": "^9.5.1", + "babel-loader": "^8.0.4", + "cache-loader": "^3.0.0", + "chokidar": "^2.0.3", + "connect-history-api-fallback": "^1.5.0", + "copy-webpack-plugin": "^5.0.2", + "core-js": "^3.6.4", + "cross-spawn": "^6.0.5", + "css-loader": "^2.1.1", + "file-loader": "^3.0.1", + "js-yaml": "^3.13.1", + "lru-cache": "^5.1.1", + "mini-css-extract-plugin": "0.6.0", + "optimize-css-assets-webpack-plugin": "^5.0.1", + "portfinder": "^1.0.13", + "postcss-loader": "^3.0.0", + "postcss-safe-parser": "^4.0.1", + "toml": "^3.0.0", + "url-loader": "^1.0.1", + "vue": "^2.6.10", + "vue-loader": "^15.7.1", + "vue-router": "^3.4.5", + "vue-server-renderer": "^2.6.10", + "vue-template-compiler": "^2.6.10", + "vuepress-html-webpack-plugin": "^3.2.0", + "vuepress-plugin-container": "^2.0.2", + "webpack": "^4.8.1", + "webpack-chain": "^6.0.0", + "webpack-dev-server": "^3.5.1", + "webpack-merge": "^4.1.2", + "webpackbar": "3.2.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@vuepress/core/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/@vuepress/core/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vuepress/core/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vuepress/core/node_modules/cache-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-3.0.1.tgz", + "integrity": "sha512-HzJIvGiGqYsFUrMjAJNDbVZoG7qQA+vy9AIoKs7s9DscNfki0I589mf2w6/tW+kkFH3zyiknoWV5Jdynu6b/zw==", + "dev": true, + "dependencies": { + "buffer-json": "^2.0.0", + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/@vuepress/core/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vuepress/core/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "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" + } + }, + "node_modules/@vuepress/core/node_modules/css-loader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", + "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", + "dev": true, + "dependencies": { + "camelcase": "^5.2.0", + "icss-utils": "^4.1.0", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.14", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^2.0.6", + "postcss-modules-scope": "^2.1.0", + "postcss-modules-values": "^2.0.0", + "postcss-value-parser": "^3.3.0", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/@vuepress/core/node_modules/file-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", + "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", + "dev": true, + "dependencies": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/@vuepress/core/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vuepress/core/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vuepress/core/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/@vuepress/core/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/@vuepress/core/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vuepress/core/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vuepress/core/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vuepress/core/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/@vuepress/core/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@vuepress/core/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vuepress/core/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vuepress/core/node_modules/mini-css-extract-plugin": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.6.0.tgz", + "integrity": "sha512-79q5P7YGI6rdnVyIAV4NXpBQJFWdkzJxCim3Kog4078fM0piAaFlwocqbejdWtLW1cEzCexPrh6EdyFsPgVdAw==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "normalize-url": "^2.0.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.4.0" + } + }, + "node_modules/@vuepress/core/node_modules/normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dev": true, + "dependencies": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vuepress/core/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vuepress/core/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vuepress/core/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vuepress/core/node_modules/postcss-modules-local-by-default": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", + "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0", + "postcss-value-parser": "^3.3.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@vuepress/core/node_modules/postcss-modules-values": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", + "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", + "dev": true, + "dependencies": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^7.0.6" + } + }, + "node_modules/@vuepress/core/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/@vuepress/core/node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vuepress/core/node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dev": true, + "dependencies": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@vuepress/core/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@vuepress/core/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@vuepress/core/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@vuepress/core/node_modules/sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vuepress/core/node_modules/url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", + "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^3.0.0 || ^4.0.0" + } + }, + "node_modules/@vuepress/markdown": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@vuepress/markdown/-/markdown-1.8.2.tgz", + "integrity": "sha512-zznBHVqW+iBkznF/BO/GY9RFu53khyl0Ey0PnGqvwCJpRLNan6y5EXgYumtjw2GSYn5nDTTALYxtyNBdz64PKg==", + "dev": true, + "dependencies": { + "@vuepress/shared-utils": "1.8.2", + "markdown-it": "^8.4.1", + "markdown-it-anchor": "^5.0.2", + "markdown-it-chain": "^1.3.0", + "markdown-it-emoji": "^1.4.0", + "markdown-it-table-of-contents": "^0.4.0", + "prismjs": "^1.13.0" + } + }, + "node_modules/@vuepress/markdown-loader": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@vuepress/markdown-loader/-/markdown-loader-1.8.2.tgz", + "integrity": "sha512-mWzFXikCUcAN/chpKkqZpRYKdo0312hMv8cBea2hvrJYV6y4ODB066XKvXN8JwOcxuCjxWYJkhWGr+pXq1oTtw==", + "dev": true, + "dependencies": { + "@vuepress/markdown": "1.8.2", + "loader-utils": "^1.1.0", + "lru-cache": "^5.1.1" + } + }, + "node_modules/@vuepress/markdown-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/@vuepress/markdown-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@vuepress/plugin-active-header-links": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.8.2.tgz", + "integrity": "sha512-JmXAQg8D7J8mcKe2Ue3BZ9dOCzJMJXP4Cnkkc/IrqfDg0ET0l96gYWZohCqlvRIWt4f0VPiFAO4FLYrW+hko+g==", + "dev": true, + "dependencies": { + "lodash.debounce": "^4.0.8" + } + }, + "node_modules/@vuepress/plugin-last-updated": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-last-updated/-/plugin-last-updated-1.8.2.tgz", + "integrity": "sha512-pYIRZi52huO9b6HY3JQNPKNERCLzMHejjBRt9ekdnJ1xhLs4MmRvt37BoXjI/qzvXkYtr7nmGgnKThNBVRTZuA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.5" + } + }, + "node_modules/@vuepress/plugin-nprogress": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-1.8.2.tgz", + "integrity": "sha512-3TOBee2NM3WLr1tdjDTGfrAMggjN+OlEPyKyv8FqThsVkDYhw48O3HwqlThp9KX7UbL3ExxIFBwWRFLC+kYrdw==", + "dev": true, + "dependencies": { + "nprogress": "^0.2.0" + } + }, + "node_modules/@vuepress/plugin-register-components": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-register-components/-/plugin-register-components-1.8.2.tgz", + "integrity": "sha512-6SUq3nHFMEh9qKFnjA8QnrNxj0kLs7+Gspq1OBU8vtu0NQmSvLFZVaMV7pzT/9zN2nO5Pld5qhsUJv1g71MrEA==", + "dev": true, + "dependencies": { + "@vuepress/shared-utils": "1.8.2" + } + }, + "node_modules/@vuepress/plugin-search": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-search/-/plugin-search-1.8.2.tgz", + "integrity": "sha512-JrSJr9o0Kar14lVtZ4wfw39pplxvvMh8vDBD9oW09a+6Zi/4bySPGdcdaqdqGW+OHSiZNvG+6uyfKSBBBqF6PA==", + "dev": true + }, + "node_modules/@vuepress/shared-utils": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.8.2.tgz", + "integrity": "sha512-6kGubc7iBDWruEBUU7yR+sQ++SOhMuvKWvWeTZJKRZedthycdzYz7QVpua0FaZSAJm5/dIt8ymU4WQvxTtZgTQ==", + "dev": true, + "dependencies": { + "chalk": "^2.3.2", + "escape-html": "^1.0.3", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "gray-matter": "^4.0.1", + "hash-sum": "^1.0.2", + "semver": "^6.0.0", + "toml": "^3.0.0", + "upath": "^1.1.0" + } + }, + "node_modules/@vuepress/shared-utils/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vuepress/shared-utils/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vuepress/shared-utils/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@vuepress/shared-utils/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@vuepress/shared-utils/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vuepress/shared-utils/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "node_modules/@vuepress/shared-utils/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vuepress/theme-default": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-1.8.2.tgz", + "integrity": "sha512-rE7M1rs3n2xp4a/GrweO8EGwqFn3EA5gnFWdVmVIHyr7C1nix+EqjpPQF1SVWNnIrDdQuCw38PqS+oND1K2vYw==", + "dev": true, + "dependencies": { + "@vuepress/plugin-active-header-links": "1.8.2", + "@vuepress/plugin-nprogress": "1.8.2", + "@vuepress/plugin-search": "1.8.2", + "docsearch.js": "^2.5.2", + "lodash": "^4.17.15", + "stylus": "^0.54.8", + "stylus-loader": "^3.0.2", + "vuepress-plugin-container": "^2.0.2", + "vuepress-plugin-smooth-scroll": "^0.0.3" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "dependencies": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "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" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "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" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "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" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "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" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "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" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/agentkeepalive": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz", + "integrity": "sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/algoliasearch": { + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.35.1.tgz", + "integrity": "sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ==", + "dev": true, + "dependencies": { + "agentkeepalive": "^2.2.0", + "debug": "^2.6.9", + "envify": "^4.0.0", + "es6-promise": "^4.1.0", + "events": "^1.1.0", + "foreach": "^2.0.5", + "global": "^4.3.2", + "inherits": "^2.0.1", + "isarray": "^2.0.1", + "load-script": "^1.0.0", + "object-keys": "^1.0.11", + "querystring-es3": "^0.2.1", + "reduce": "^1.0.1", + "semver": "^5.1.0", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/algoliasearch/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/algoliasearch/node_modules/events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/algoliasearch/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/algoliasearch/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/algoliasearch/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", + "dev": true + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autocomplete.js": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/autocomplete.js/-/autocomplete.js-0.36.0.tgz", + "integrity": "sha512-jEwUXnVMeCHHutUt10i/8ZiRaCb0Wo+ZyKxeGsYwBDtw6EJHqEeDrq4UwZRD8YBSvp3g6klP678il2eeiVXN2Q==", + "dev": true, + "dependencies": { + "immediate": "^3.2.3" + } + }, + "node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/autoprefixer/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "node_modules/babel-code-frame/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "dev": true, + "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" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" + } + }, + "node_modules/babel-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", + "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", + "dev": true, + "dependencies": { + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/babel__core": "^7.1.0", + "babel-plugin-istanbul": "^5.1.0", + "babel-preset-jest": "^24.9.0", + "chalk": "^2.4.2", + "slash": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-loader": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz", + "integrity": "sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "find-up": "^3.0.0", + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", + "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", + "dev": true, + "dependencies": { + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.1", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "dependencies": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "node_modules/babel-plugin-transform-require-context": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-require-context/-/babel-plugin-transform-require-context-0.1.1.tgz", + "integrity": "sha512-4ceqYOtzgmq4/QsB8dP7pUrUOCjY/jrRYdt7YkIOWHxtGDQbcf6YZDyLCiPQf6KsEIcIbSQiTRXOsbLiuJfgNQ==", + "dev": true, + "dependencies": { + "@babel/template": "7" + } + }, + "node_modules/babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "node_modules/babel-preset-jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", + "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "babel-plugin-jest-hoist": "^24.9.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/babel-traverse/node_modules/globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-traverse/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.9.7", + "raw-body": "2.4.3", + "type-is": "~1.6.18" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", + "dev": true, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "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" + } + }, + "node_modules/bonjour/node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "node_modules/bootstrap": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + }, + "peerDependencies": { + "jquery": "1.9.1 - 3", + "popper.js": "^1.16.1" + } + }, + "node_modules/bootstrap-vue": { + "version": "2.21.2", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.21.2.tgz", + "integrity": "sha512-0Exe+4MZysqhZNXIKf4TzkvXaupxh9EHsoCRez0o5Dc0J7rlafayOEwql63qXv74CgZO8E4U8ugRNJko1vMvNw==", + "hasInstallScript": true, + "dependencies": { + "@nuxt/opencollective": "^0.3.2", + "bootstrap": ">=4.5.3 <5.0.0", + "popper.js": "^1.16.1", + "portal-vue": "^2.1.7", + "vue-functional-data-merge": "^3.1.0" + } + }, + "node_modules/boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "dependencies": { + "resolve": "1.1.7" + } + }, + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-sign/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.20.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", + "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001317", + "electron-to-chromium": "^1.4.84", + "escalade": "^3.1.1", + "node-releases": "^2.0.2", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "node_modules/buffer-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", + "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cac": { + "version": "6.7.12", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.12.tgz", + "integrity": "sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "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" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cache-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz", + "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", + "dev": true, + "dependencies": { + "buffer-json": "^2.0.0", + "find-cache-dir": "^3.0.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^2.0.0" + }, + "engines": { + "node": ">= 8.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/cache-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/cache-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-callsite/node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001327", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001327.tgz", + "integrity": "sha512-1/Cg4jlD9qjZzhbzkzEaAC2JHsP0WrOc8Rd/3a3LuajGzGWR/hD7TVyvq99VqmTy99eVh8Zkmdq213OgvgXx7w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" } + ] + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", "dev": true, - "requires": { - "@babel/types": "^7.13.0" + "engines": { + "node": ">=4" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/charcodes": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/charcodes/-/charcodes-0.2.0.tgz", + "integrity": "sha512-Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chart.js": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.7.1.tgz", + "integrity": "sha512-8knRegQLFnPQAheZV8MjxIXc5gQEfDFD897BJgv/klO/vtIyFFmgMXrNfgrXpbTr/XbTturxRgxIXx/Y+ASJBA==" + }, + "node_modules/check-node-version": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/check-node-version/-/check-node-version-4.1.0.tgz", + "integrity": "sha512-TSXGsyfW5/xY2QseuJn8/hleO2AU7HxVCdkc900jp1vcfzF840GkjvRT7CHl8sRtWn23n3X3k0cwH9RXeRwhfw==", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } + "chalk": "^3.0.0", + "map-values": "^1.0.1", + "minimist": "^1.2.0", + "object-filter": "^1.0.2", + "run-parallel": "^1.1.4", + "semver": "^6.3.0" + }, + "bin": { + "check-node-version": "bin.js" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/check-node-version/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "node_modules/chokidar/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "node_modules/chokidar/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "requires": { - "@babel/types": "^7.12.10" + "engines": { + "node": ">=0.12.0" } }, - "@babel/helper-hoist-variables": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz", - "integrity": "sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==", + "node_modules/chokidar/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "requires": { - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "dependencies": { + "is-number": "^7.0.0" }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", - "dev": true, - "requires": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", - "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "bin": { + "highlight": "bin/highlight" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, + "node_modules/cli-highlight/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cli-highlight/node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "node_modules/cli-highlight/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/cli-highlight/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-highlight/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-highlight/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-truncate/node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "dependencies": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clipboardy/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/coa/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/coa/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-string": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", + "dev": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression-webpack-plugin": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-6.0.3.tgz", + "integrity": "sha512-xzSWiZWwBs+HHGhlYxw0oFaYL/0VYErEqDHCAJhJ3Mza5fmF5JJ4iaB6Ap2JT68C0UhhmoI4Mh37LVz/THv2Fw==", + "dev": true, + "dependencies": { + "cacache": "^15.0.5", + "find-cache-dir": "^3.3.1", + "schema-utils": "^3.0.0", + "serialize-javascript": "^5.0.1", + "webpack-sources": "^1.4.3" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/compression-webpack-plugin/node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@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.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/compression-webpack-plugin/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/compression-webpack-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/compression-webpack-plugin/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/compression-webpack-plugin/node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/compression-webpack-plugin/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/compression-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/compression-webpack-plugin/node_modules/serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/compression-webpack-plugin/node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/compression-webpack-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/condense-newlines": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", + "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-whitespace": "^0.3.0", + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/condense-newlines/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/condense-newlines/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/configstore/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "dependencies": { + "bluebird": "^3.1.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "node_modules/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "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" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz", + "integrity": "sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==", + "dev": true, + "dependencies": { + "cacache": "^12.0.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.1", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/copy-webpack-plugin/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "node_modules/copy-webpack-plugin/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/copy-webpack-plugin/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/copy-webpack-plugin/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/copy-webpack-plugin/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/copy-webpack-plugin/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/copy-webpack-plugin/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz", + "integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz", + "integrity": "sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==", + "dev": true, + "dependencies": { + "browserslist": "^4.19.1", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cosmiconfig/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "engines": { + "node": ">4" + } + }, + "node_modules/css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", + "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/css-loader/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/css-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/css-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "dev": true, + "dependencies": { + "css": "^2.0.0" + } + }, + "node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", + "dev": true, + "dependencies": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-preset-default": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", + "dev": true, + "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.3", + "postcss-unique-selectors": "^4.0.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "dev": true, + "dependencies": { + "cssom": "0.3.x" + } + }, + "node_modules/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "node_modules/data-urls/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/data-urls/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/data-urls/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/date-fns": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.19.0.tgz", + "integrity": "sha512-X3bf2iTPgCAQp9wvjOQytnf5vO5rESYRXlPIVcgSbtT5OTScPcsf9eZU+B/YIkKAtYr5WeCii58BgATrNitlWg==", + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/date-fns-tz": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-1.1.3.tgz", + "integrity": "sha512-mD26WkejWz842RggjFrKsY6ehGgyBQSJ209mn83/vsjhgQ5WbdVvBzJ0CuosnGdklDxOvOppQ/wn1UgvTOPKPw==", + "peerDependencies": { + "date-fns": ">=2.0.0-alpha.13" + } + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "node_modules/deasync": { + "version": "0.1.26", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.26.tgz", + "integrity": "sha512-YKw0BmJSWxkjtQsbgn6Q9CHSWB7DKMen8vKrgyC006zy0UZ6nWyGidB0IzZgqkVRkOglAeUaFtiRTeLyel72bg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^1.7.1" + }, + "engines": { + "node": ">=0.11.0" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "optional": true } } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", - "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true, - "requires": { - "@babel/types": "^7.13.12" + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "node_modules/deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz", + "integrity": "sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==", + "dev": true, + "dependencies": { + "execa": "^3.3.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/default-gateway/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/default-gateway/node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "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", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/default-gateway/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/default-gateway/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/default-gateway/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/del/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/globby/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "node_modules/detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/diff-sequences": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "dependencies": { + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "node_modules/dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dev": true, + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "dependencies": { + "buffer-indexof": "^1.0.0" + } + }, + "node_modules/docsearch.js": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/docsearch.js/-/docsearch.js-2.6.3.tgz", + "integrity": "sha512-GN+MBozuyz664ycpZY0ecdQE0ND/LSgJKhTLA0/v3arIS3S1Rpf2OJz6A35ReMsm91V5apcmzr5/kM84cvUg+A==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @docsearch/js.", + "dev": true, + "dependencies": { + "algoliasearch": "^3.24.5", + "autocomplete.js": "0.36.0", + "hogan.js": "^3.0.2", + "request": "^2.87.0", + "stack-utils": "^1.0.1", + "to-factory": "^1.0.0", + "zepto": "^1.2.0" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-event-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.1.0.tgz", + "integrity": "sha512-jNCX+uNJ3v38BKvPbpki6j5ItVlnSqVV6vDWGS6rExzCMjsc39frLjm1n91o6YaKK6AZl0wLloItW6C6mr61BQ==", + "dev": true + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" } + ] + }, + "node_modules/dom-walk": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==", + "dev": true + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" } }, - "@babel/helper-module-imports": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", - "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, - "requires": { - "@babel/types": "^7.13.12" + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domhandler/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dot-object": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/dot-object/-/dot-object-2.1.4.tgz", + "integrity": "sha512-7FXnyyCLFawNYJ+NhkqyP9Wd2yzuo+7n9pGiYpkmXCTYa8Ci2U0eUNDVg5OuO5Pm6aFXI2SWN8/N/w7SJWu1WA==", + "dev": true, + "dependencies": { + "commander": "^4.0.0", + "glob": "^7.1.5" + }, + "bin": { + "dot-object": "bin/dot-object" + } + }, + "node_modules/dot-object/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", + "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "dev": true, + "dependencies": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + }, + "bin": { + "editorconfig": "bin/editorconfig" + } + }, + "node_modules/editorconfig/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/editorconfig/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/editorconfig/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true, + "hasInstallScript": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.106", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.106.tgz", + "integrity": "sha512-ZYfpVLULm67K7CaaGP7DmjyeMY4naxsbTy+syVVxT6QHI1Ww8XbJjmr9fDckrhq44WzCrcC5kH3zGpdusxwwqg==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/enquirer/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/envify": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/envify/-/envify-4.1.0.tgz", + "integrity": "sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.0", + "through": "~2.3.4" + }, + "bin": { + "envify": "bin/envify" + } + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz", + "integrity": "sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==", + "dev": true, + "dependencies": { + "stackframe": "^1.1.1" + } + }, + "node_modules/es-abstract": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", + "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "7.22.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.22.0.tgz", + "integrity": "sha512-3VawOtjSJUQiiqac8MQc+w457iGLfuNGLFn8JmF051tTKbh5/x/0vlcEj8OgDCaw7Ysa2Jn8paGshV7x2abKXg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.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.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "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": "^4.17.21", + "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" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", + "dev": true, + "dependencies": { + "get-stdin": "^6.0.0" + }, + "bin": { + "eslint-config-prettier-check": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=3.14.1" + } + }, + "node_modules/eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", + "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", + "deprecated": "This loader has been deprecated. Please use eslint-webpack-plugin", + "dev": true, + "dependencies": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + }, + "peerDependencies": { + "eslint": ">=1.6.0 <7.0.0", + "webpack": ">=2.0.0 <5.0.0" + } + }, + "node_modules/eslint-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/eslint-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz", + "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">=5.0.0", + "prettier": ">=1.13.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true } } }, - "@babel/helper-module-transforms": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.12.tgz", - "integrity": "sha512-7zVQqMO3V+K4JOOj40kxiCrMf6xlQAkewBB0eu2b03OO/Q21ZutOzjpfD79A5gtE/2OWi1nv625MrDlGlkbknQ==", + "node_modules/eslint-plugin-vue": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.8.0.tgz", + "integrity": "sha512-OGrnPz+PuYL2HmVyBHxm4mRjxW2kfFCQE6Hw9G6qOHs/Pcu0srOlCCW0FMa8SLzIEqxl8WuKoBSPcMnrjUG2vw==", "dev": true, - "requires": { - "@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.12.11", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" + "dependencies": { + "eslint-utils": "^2.1.0", + "natural-compare": "^1.4.0", + "semver": "^7.3.2", + "vue-eslint-parser": "^7.6.0" + }, + "engines": { + "node": ">=8.10" }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0" + } + }, + "node_modules/eslint-plugin-vue/node_modules/lru-cache": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz", + "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/eslint-plugin-vue/node_modules/semver": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", + "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", + "dev": true, "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", - "dev": true, - "requires": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", - "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", - "dev": true + "lru-cache": "^7.4.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/lru-cache": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz", + "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/eslint/node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", + "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", + "dev": true, + "dependencies": { + "lru-cache": "^7.4.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/eslint/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/eventsource": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", + "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", + "dev": true, + "dependencies": { + "original": "^1.0.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/expect": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-styles": "^3.2.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/expect/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/expect/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/express": { + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", + "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.19.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.4.2", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.9.7", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/express/node_modules/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", + "dev": true, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extract-from-css": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/extract-from-css/-/extract-from-css-0.4.4.tgz", + "integrity": "sha1-HqffLnx8brmSL6COitrqSG9vj5I=", + "dev": true, + "dependencies": { + "css": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0", + "npm": ">=2.0.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "dependencies": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", + "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", + "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", + "dev": true, + "dependencies": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + }, + "engines": { + "node": ">= 8.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/file-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/file-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true + }, + "node_modules/filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/find-babel-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", + "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", + "dev": true, + "dependencies": { + "json5": "^0.5.1", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/find-babel-config/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/find-babel-config/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "dev": true, + "dependencies": { + "is-buffer": "~2.0.3" + }, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flat/node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "dev": true + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/follow-redirects": { + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "node_modules/get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "node_modules/global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "dev": true, + "dependencies": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "node_modules/global-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz", + "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==", + "dev": true, + "dependencies": { + "ini": "1.3.7" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", + "dev": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dev": true, + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "node_modules/gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash-base/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "node_modules/highcharts": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/highcharts/-/highcharts-10.0.0.tgz", + "integrity": "sha512-a14PrTraVaoSNyaRPhLF/jJ3/09rJwfUZedLgZOkzozGz4K/H8WtWNJtUZt/tc5QiJkaZHw4YX7vvuO98s+EoA==", + "peer": true + }, + "node_modules/highcharts-vue": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/highcharts-vue/-/highcharts-vue-1.4.0.tgz", + "integrity": "sha512-fTPqJmU/wR/nUEtofbC/iJqcgULGcP3C0Hd4YYCKH2FiiteNs7UidjSM4eYj5Y4ldpOVhwPtNj/m6XwC3ajp6g==", + "peerDependencies": { + "highcharts": ">=5.0.0", + "vue": ">=1.0.0" + } + }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hogan.js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz", + "integrity": "sha1-TNnhq9QpQUbnZ55B14mHMrAse/0=", + "dev": true, + "dependencies": { + "mkdirp": "0.3.0", + "nopt": "1.0.10" + }, + "bin": { + "hulk": "bin/hulk" + } + }, + "node_modules/hogan.js/node_modules/mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=", + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/hogan.js/node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "node_modules/html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "dev": true + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "dependencies": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/html-minifier/node_modules/commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "node_modules/html-tags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "deprecated": "3.x is no longer supported", + "dev": true, + "dependencies": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "engines": { + "node": ">=6.9" + }, + "peerDependencies": { + "webpack": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/html-webpack-plugin/node_modules/big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/html-webpack-plugin/node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/html-webpack-plugin/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/html-webpack-plugin/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/html-webpack-plugin/node_modules/util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/htmlparser2/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/htmlparser2/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/htmlparser2/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", + "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.5", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/http-proxy-middleware/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/http-proxy-middleware/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/http-proxy-middleware/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/http-proxy-middleware/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "node_modules/icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.14" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immediate": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz", + "integrity": "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==", + "dev": true + }, + "node_modules/import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "dependencies": { + "import-from": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "dependencies": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/import-local/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-local/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/inquirer/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "dependencies": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-ip/node_modules/default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "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" + } + }, + "node_modules/is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-installed-globally": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", + "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", + "dev": true, + "dependencies": { + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-installed-globally/node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-npm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", + "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "dependencies": { + "is-path-inside": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "dependencies": { + "path-is-inside": "^1.0.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-whitespace": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", + "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "dependencies": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", + "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", + "dev": true + }, + "node_modules/jest": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", + "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", + "dev": true, + "dependencies": { + "import-local": "^2.0.0", + "jest-cli": "^24.9.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-changed-files": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", + "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "execa": "^1.0.0", + "throat": "^4.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-config": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", + "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^24.9.0", + "@jest/types": "^24.9.0", + "babel-jest": "^24.9.0", + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^24.9.0", + "jest-environment-node": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "micromatch": "^3.1.10", + "pretty-format": "^24.9.0", + "realpath-native": "^1.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-diff": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-docblock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", + "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", + "dev": true, + "dependencies": { + "detect-newline": "^2.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-each": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", + "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", + "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", + "dev": true, + "dependencies": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0", + "jsdom": "^11.5.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-jsdom-fifteen": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom-fifteen/-/jest-environment-jsdom-fifteen-1.0.2.tgz", + "integrity": "sha512-nfrnAfwklE1872LIB31HcjM65cWTh1wzvMSp10IYtPJjLDUbTTvDpajZgIxUnhRmzGvogdHDayCIlerLK0OBBg==", + "dev": true, + "dependencies": { + "@jest/environment": "^24.3.0", + "@jest/fake-timers": "^24.3.0", + "@jest/types": "^24.3.0", + "jest-mock": "^24.0.0", + "jest-util": "^24.0.0", + "jsdom": "^15.2.1" + } + }, + "node_modules/jest-environment-jsdom-fifteen/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jest-environment-jsdom-fifteen/node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "node_modules/jest-environment-jsdom-fifteen/node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom-fifteen/node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + }, + "node_modules/jest-environment-jsdom-fifteen/node_modules/jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jest-environment-jsdom-fifteen/node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "node_modules/jest-environment-jsdom-fifteen/node_modules/tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "dependencies": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-jsdom-fifteen/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/jest-environment-jsdom-fifteen/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/jest-environment-jsdom-fifteen/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/jest-environment-jsdom-fifteen/node_modules/ws": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "utf-8-validate": { + "optional": true } } }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "node_modules/jest-environment-node": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", "dev": true, - "requires": { - "@babel/types": "^7.12.13" + "dependencies": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-get-type": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-haste-map": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.15", + "invariant": "^2.2.4", + "jest-serializer": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.9.0", + "micromatch": "^3.1.10", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "engines": { + "node": ">= 6" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/jest-haste-map/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/jest-haste-map/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/jest-haste-map/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-jasmine2": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", + "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "co": "^4.6.0", + "expect": "^24.9.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0", + "throat": "^4.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-jasmine2/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-leak-detector": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", + "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", + "dev": true, + "dependencies": { + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-matcher-utils": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-message-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^2.0.1", + "micromatch": "^3.1.10", + "slash": "^2.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-mock": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true } } }, - "@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", + "node_modules/jest-regex-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-resolve": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", + "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "browser-resolve": "^1.11.3", + "chalk": "^2.0.1", + "jest-pnp-resolver": "^1.2.1", + "realpath-native": "^1.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", + "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-snapshot": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-runner": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", + "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.4.2", + "exit": "^0.1.2", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-docblock": "^24.3.0", + "jest-haste-map": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-leak-detector": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "source-map-support": "^0.5.6", + "throat": "^4.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-runtime": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", + "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", + "dev": true, + "dependencies": { + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/source-map": "^24.3.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-regex-util": "^24.3.0", + "jest-resolve": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "realpath-native": "^1.1.0", + "slash": "^2.0.0", + "strip-bom": "^3.0.0", + "yargs": "^13.3.0" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-serializer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-serializer-vue": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jest-serializer-vue/-/jest-serializer-vue-2.0.2.tgz", + "integrity": "sha1-sjjvKGNX7GtIBCG9RxRQUJh9WbM=", + "dev": true, + "dependencies": { + "pretty": "2.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", + "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "expect": "^24.9.0", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^24.9.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-transform-stub": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jest-transform-stub/-/jest-transform-stub-2.0.0.tgz", + "integrity": "sha512-lspHaCRx/mBbnm3h4uMMS3R5aZzMwyNpNIJLXj4cEsV0mIUtS4IjYJLSoyjRCtnxb6RIGJ4NL2quZzfIeNhbkg==", + "dev": true + }, + "node_modules/jest-util": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "dev": true, + "dependencies": { + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "callsites": "^3.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.15", + "is-ci": "^2.0.0", + "mkdirp": "^0.5.1", + "slash": "^2.0.0", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-util/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-util/node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest-util/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-validate": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "camelcase": "^5.3.1", + "chalk": "^2.0.1", + "jest-get-type": "^24.9.0", + "leven": "^3.1.0", + "pretty-format": "^24.9.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-watch-typeahead": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.4.2.tgz", + "integrity": "sha512-f7VpLebTdaXs81rg/oj4Vg/ObZy2QtGzAmGLNsqUS5G5KtSN68tFcIsbvNODfNyQxU78g7D8x77o3bgfBTR+2Q==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^2.4.1", + "jest-regex-util": "^24.9.0", + "jest-watcher": "^24.3.0", + "slash": "^3.0.0", + "string-length": "^3.1.0", + "strip-ansi": "^5.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-watch-typeahead/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "dev": true, + "dependencies": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-watch-typeahead/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-watcher": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", + "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "jest-util": "^24.9.0", + "string-length": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-watcher/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/jest/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/jest/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/jest/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest/node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/jest/node_modules/jest-cli": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", + "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", + "dev": true, + "dependencies": { + "@jest/core": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "chalk": "^2.0.1", + "exit": "^0.1.2", + "import-local": "^2.0.0", + "is-ci": "^2.0.0", + "jest-config": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "prompts": "^2.0.1", + "realpath-native": "^1.1.0", + "yargs": "^13.3.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/js-beautify": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.3.tgz", + "integrity": "sha512-f1ra8PHtOEu/70EBnmiUlV8nJePS58y9qKjl4JHfYWlFH6bo7ogZBz//FAZp7jDuXtYnGYKymZPlrg2I/9Zo4g==", + "dev": true, + "dependencies": { + "config-chain": "^1.1.13", + "editorconfig": "^0.15.3", + "glob": "^7.1.3", + "nopt": "^5.0.0" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" + }, + "node_modules/js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", + "dev": true, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "node_modules/jsdom": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", + "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "acorn": "^5.5.3", + "acorn-globals": "^4.1.0", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": "^1.0.0", + "data-urls": "^1.0.0", + "domexception": "^1.0.1", + "escodegen": "^1.9.1", + "html-encoding-sniffer": "^1.0.2", + "left-pad": "^1.3.0", + "nwsapi": "^2.0.7", + "parse5": "4.0.0", + "pn": "^1.1.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.5", + "sax": "^1.2.4", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.3.4", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.3", + "whatwg-mimetype": "^2.1.0", + "whatwg-url": "^6.4.1", + "ws": "^5.2.0", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/jsdom/node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsdom/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/jsdom/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/jsdom/node_modules/whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "dev": true, + "dependencies": { + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "node_modules/latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "dependencies": { + "package-json": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/launch-editor": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.3.0.tgz", + "integrity": "sha512-3QrsCXejlWYHjBPFXTyGNhPj4rrQdB+5+r5r3wArpLH201aR+nWUgw/zKKkTmilCfY/sv6u8qo98pNvtg8LUTA==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.6.1" + } + }, + "node_modules/launch-editor-middleware": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.3.0.tgz", + "integrity": "sha512-GJR64trLdFFwCoL9DMn/d1SZX0OzTDPixu4mcfWTShQ4tIqCHCGvlg9fOEYQXyBlrSMQwylsJfUWncheShfV2w==", + "dev": true, + "dependencies": { + "launch-editor": "^2.3.0" + } + }, + "node_modules/left-pad": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", + "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", + "deprecated": "use String.prototype.padStart()", + "dev": true + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/lint-staged": { + "version": "10.5.4", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.4.tgz", + "integrity": "sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "cli-truncate": "^2.1.0", + "commander": "^6.2.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.2.0", + "dedent": "^0.7.0", + "enquirer": "^2.3.6", + "execa": "^4.1.0", + "listr2": "^3.2.2", + "log-symbols": "^4.0.0", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "^3.3.0" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/lint-staged/node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lint-staged/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/lint-staged/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/lint-staged/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lint-staged/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/lint-staged/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/lint-staged/node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/lint-staged/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "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.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true } } }, - "@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", + "node_modules/listr2/node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.13.12", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/rxjs": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "dev": true, "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", - "dev": true, - "requires": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", - "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } + "tslib": "^2.1.0" + } + }, + "node_modules/listr2/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=", + "dev": true + }, + "node_modules/loader-fs-cache": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", + "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", + "dev": true, + "dependencies": { + "find-cache-dir": "^0.1.1", + "mkdirp": "^0.5.1" + } + }, + "node_modules/loader-fs-cache/node_modules/find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-fs-cache/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-fs-cache/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-fs-cache/node_modules/pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "dependencies": { + "find-up": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "node_modules/lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", + "dev": true + }, + "node_modules/lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", + "dev": true + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", + "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-update/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/log-update/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loglevel": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", + "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-values/-/map-values-1.0.1.tgz", + "integrity": "sha1-douOecAJvytk/ugG4ip7HEGQyZA=", + "dev": true + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-anchor": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz", + "integrity": "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==", + "dev": true, + "peerDependencies": { + "markdown-it": "*" + } + }, + "node_modules/markdown-it-chain": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/markdown-it-chain/-/markdown-it-chain-1.3.0.tgz", + "integrity": "sha512-XClV8I1TKy8L2qsT9iX3qiV+50ZtcInGXI80CA+DP62sMs7hXlyV/RM3hfwy5O3Ad0sJm9xIwQELgANfESo8mQ==", + "dev": true, + "dependencies": { + "webpack-chain": "^4.9.0" + }, + "engines": { + "node": ">=6.9" + }, + "peerDependencies": { + "markdown-it": ">=5.0.0" + } + }, + "node_modules/markdown-it-chain/node_modules/deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-it-chain/node_modules/javascript-stringify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz", + "integrity": "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=", + "dev": true + }, + "node_modules/markdown-it-chain/node_modules/webpack-chain": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-4.12.1.tgz", + "integrity": "sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ==", + "dev": true, + "dependencies": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^1.6.0" + } + }, + "node_modules/markdown-it-container": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-2.0.0.tgz", + "integrity": "sha1-ABm0P9Au7+zi8ZYKKJX7qBpARpU=", + "dev": true + }, + "node_modules/markdown-it-emoji": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz", + "integrity": "sha1-m+4OmpkKljupbfaYDE/dsF37Tcw=", + "dev": true + }, + "node_modules/markdown-it-table-of-contents": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/markdown-it-table-of-contents/-/markdown-it-table-of-contents-0.4.4.tgz", + "integrity": "sha512-TAIHTHPwa9+ltKvKPWulm/beozQU41Ab+FIefRaQV1NRnpzwcV9QOe6wXQS5WLivm5Q/nlo0rl6laGkMDZE7Gw==", + "dev": true, + "engines": { + "node": ">6.4.0" + } + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/merge-source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true, + "dependencies": { + "dom-walk": "^0.1.0" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.4.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "dependencies": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "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" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/moment": { + "version": "2.29.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", + "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==", + "engines": { + "node": "*" + } + }, + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "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" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "dependencies": { + "lower-case": "^1.1.1" + } + }, + "node_modules/node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "dev": true + }, + "node_modules/node-cache": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/node-cache/-/node-cache-4.2.1.tgz", + "integrity": "sha512-BOb67bWg2dTyax5kdef5WfU3X8xu4wPg+zHzkvls0Q/QpYycIFRLEEIdAx9Wma43DxG6Qzn4illdZoYseKWa4A==", + "dev": true, + "dependencies": { + "clone": "2.x", + "lodash": "^4.17.15" + }, + "engines": { + "node": ">= 0.4.6" + } + }, + "node_modules/node-cache/node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "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/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/node-notifier": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.5.tgz", + "integrity": "sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==", + "dev": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" + } + }, + "node_modules/node-notifier/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/node-releases": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", + "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", + "dev": true + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=", + "dev": true + }, + "node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "node_modules/nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-filter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-filter/-/object-filter-1.0.2.tgz", + "integrity": "sha1-rwt5f/6+r4pSxmN87b6IFs/sG8g=", + "dev": true + }, + "node_modules/object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "dev": true, + "bin": { + "opencollective-postinstall": "index.js" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "dependencies": { + "is-wsl": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/optimize-css-assets-webpack-plugin": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.8.tgz", + "integrity": "sha512-mgFS1JdOtEGzD8l+EuISqL57cKO+We9GcoiQEmdCWRqqck+FGNmYJtx9qfAPzEz+lRrlThWMuGDaRkI/yWNx/Q==", + "dev": true, + "dependencies": { + "cssnano": "^4.1.10", + "last-call-webpack-plugin": "^3.0.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "dependencies": { + "url-parse": "^1.4.3" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "dev": true, + "dependencies": { + "p-reduce": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "dependencies": { + "retry": "^0.12.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "dependencies": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "node_modules/pnp-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", + "dev": true, + "dependencies": { + "ts-pnp": "^1.1.6" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/portal-vue": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/portal-vue/-/portal-vue-2.1.7.tgz", + "integrity": "sha512-+yCno2oB3xA7irTt0EU5Ezw22L2J51uKAacE/6hMPMoO/mx3h4rXFkkBkT4GFsMDv/vEe8TNKC3ujJJ0PTwb6g==", + "peerDependencies": { + "vue": "^2.5.18" + } + }, + "node_modules/portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "dependencies": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-colormin/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-convert-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dev": true, + "dependencies": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/postcss-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-loader/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "dependencies": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-params/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "dependencies": { + "postcss": "^7.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", + "dev": true, + "dependencies": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "dev": true, + "dependencies": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dev": true, + "dependencies": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "dependencies": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "dependencies": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-safe-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", + "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", + "dev": true, + "dependencies": { + "postcss": "^7.0.26" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-svgo/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/postcss/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prettier": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", + "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", + "dev": true, + "dependencies": { + "condense-newlines": "^0.2.1", + "extend-shallow": "^2.0.1", + "js-beautify": "^1.6.12" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "node_modules/pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, + "dependencies": { + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pretty-format/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/pretty-format/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pretty/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prismjs": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", + "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dev": true, + "dependencies": { + "escape-goat": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", + "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "1.8.1", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "dev": true, + "dependencies": { + "util.promisify": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/reduce": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce/-/reduce-1.0.2.tgz", + "integrity": "sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.1.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", + "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", + "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "dev": true, + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "node_modules/renderkid": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", + "dev": true, + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" + } + }, + "node_modules/renderkid/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } + { + "type": "patreon", + "url": "https://www.patreon.com/feross" }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "dev": true, + "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" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sane/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/sane/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sass": { + "version": "1.32.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz", + "integrity": "sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==", + "dev": true, + "dependencies": { + "chokidar": ">=2.0.0 <4.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/sass-loader": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.0.tgz", + "integrity": "sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.1.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.9.0" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0", + "sass": "^1.3.0", + "webpack": "^4.36.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } + "node-sass": { + "optional": true }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "sass": { + "optional": true + } + } + }, + "node_modules/sass-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/sass-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "dev": true, + "dependencies": { + "xmlchars": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/section-matter/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "node_modules/selfsigned": { + "version": "1.10.14", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", + "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", + "dev": true, + "dependencies": { + "node-forge": "^0.10.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "node_modules/semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dev": true, + "dependencies": { + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/send": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "1.8.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", + "dev": true + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/smoothscroll-polyfill": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", + "integrity": "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==", + "dev": true + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs-client": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.0.tgz", + "integrity": "sha512-qVHJlyfdHFht3eBFZdKEXKTlb7I4IV41xnVNo8yUKA1UHcPJwgW2SvTq9LhnjjCywSkSK7c/e4nghU0GOoMCRQ==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "eventsource": "^1.1.0", + "faye-websocket": "^0.11.4", + "inherits": "^2.0.4", + "url-parse": "^1.5.10" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://tidelift.com/funding/github/npm/sockjs-client" + } + }, + "node_modules/sockjs-client/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "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" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "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" + } + }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "dev": true + }, + "node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz", + "integrity": "sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg==", + "dev": true + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/std-env": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.1.tgz", + "integrity": "sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g==", + "dev": true, + "dependencies": { + "ci-info": "^3.1.1" + } + }, + "node_modules/std-env/node_modules/ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "dev": true + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "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" + } + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-length": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", + "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "dev": true, + "dependencies": { + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-length/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/stringify-object/node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/stylehacks/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylus": { + "version": "0.54.8", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", + "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", + "dev": true, + "dependencies": { + "css-parse": "~2.0.0", + "debug": "~3.1.0", + "glob": "^7.1.6", + "mkdirp": "~1.0.4", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "semver": "^6.3.0", + "source-map": "^0.7.3" + }, + "bin": { + "stylus": "bin/stylus" + }, + "engines": { + "node": "*" + } + }, + "node_modules/stylus-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", + "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", + "dev": true, + "dependencies": { + "loader-utils": "^1.0.2", + "lodash.clonedeep": "^4.5.0", + "when": "~3.6.x" + }, + "peerDependencies": { + "stylus": ">=0.52.4" + } + }, + "node_modules/stylus-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/stylus-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/stylus/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/stylus/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stylus/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/stylus/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dev": true, + "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" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/svgo/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/table": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/terser-webpack-plugin/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/terser-webpack-plugin/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/terser-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "dependencies": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", + "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", + "dev": true, + "dependencies": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + }, + "engines": { + "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/thread-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/thread-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "node_modules/to-factory": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-factory/-/to-factory-1.0.0.tgz", + "integrity": "sha1-hzivi9lxIK0dQEeXKtpVY7+UebE=", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/toml": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==", + "dev": true + }, + "node_modules/toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "node_modules/ts-jest": { + "version": "24.3.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-24.3.0.tgz", + "integrity": "sha512-Hb94C/+QRIgjVZlJyiWwouYUF+siNJHJHknyspaOcZ+OQAIdFG/UrdQVXw/0B8Z3No34xkUXZJpOTy9alOWdVQ==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "mkdirp": "0.x", + "resolve": "1.x", + "semver": "^5.5", + "yargs-parser": "10.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "jest": ">=24 <25" + } + }, + "node_modules/ts-jest/node_modules/camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "dependencies": { + "camelcase": "^4.1.0" + } + }, + "node_modules/ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "dependencies": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "node_modules/uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "dependencies": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-js/node_modules/commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "node_modules/uglify-js/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "node_modules/uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-notifier": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz", + "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/update-notifier/node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", + "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", + "dev": true, + "dependencies": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.5.0" + }, + "engines": { + "node": ">= 8.9.0" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/url-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/url-parse-lax/node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/util.promisify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.1.1.tgz", + "integrity": "sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "for-each": "^0.3.3", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/vue": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", + "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" + }, + "node_modules/vue-chartjs": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-3.5.1.tgz", + "integrity": "sha512-foocQbJ7FtveICxb4EV5QuVpo6d8CmZFmAopBppDIGKY+esJV8IJgwmEW0RexQhxqXaL/E1xNURsgFFYyKzS/g==", + "dependencies": { + "@types/chart.js": "^2.7.55" + }, + "engines": { + "node": ">=6.9.0", + "npm": ">= 3.0.0" + }, + "peerDependencies": { + "chart.js": ">= 2.5" + } + }, + "node_modules/vue-cli-plugin-i18n": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/vue-cli-plugin-i18n/-/vue-cli-plugin-i18n-0.6.1.tgz", + "integrity": "sha512-/2T/T47x8Aj3xLfrNYe5L1pzw+TnoDdKahcQflsPPjkXCuDss4rRVXVH0zzI3gpx2B1s9WW+yMYsg0JUlxgGEw==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "deepmerge": "^2.1.1", + "dotenv": "^6.0.0", + "flat": "^4.0.0", + "rimraf": "^2.6.3", + "vue": "^2.5.16", + "vue-i18n": "^8.0.0", + "vue-i18n-extract": "^1.0.2" + } + }, + "node_modules/vue-cli-plugin-i18n/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/vue-cli-plugin-i18n/node_modules/deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vue-cli-plugin-i18n/node_modules/dotenv": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", + "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/vue-eslint-parser": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz", + "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.2.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8.10" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/vue-functional-data-merge": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz", + "integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA==" + }, + "node_modules/vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "node_modules/vue-i18n": { + "version": "8.24.2", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.24.2.tgz", + "integrity": "sha512-+TkAPBQw4Cp2bQrSPtPNkhET7XcWYjjDt1UjWYQs+xbT41q5OAl1I3IZyhg0drjn1nlC1K0f8sLVB/nshUcF1Q==" + }, + "node_modules/vue-i18n-extract": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/vue-i18n-extract/-/vue-i18n-extract-1.2.3.tgz", + "integrity": "sha512-ZLtF6wp732KHKawHx5ZSmjyydkli9g26z0NfGLP89DkiGx4nKFYZ2oIH35HtImdhcfq1zqkeSwxs7kRzarLoVw==", + "dev": true, + "dependencies": { + "commander": "^6.1.0", + "dot-object": "^2.1.4", + "glob": "^7.1.6", + "is-valid-glob": "^1.0.0", + "js-yaml": "^3.14.0" + }, + "bin": { + "vue-i18n-extract": "bin/vue-i18n-extract.js" + } + }, + "node_modules/vue-i18n-extract/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/vue-jest": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vue-jest/-/vue-jest-3.0.7.tgz", + "integrity": "sha512-PIOxFM+wsBMry26ZpfBvUQ/DGH2hvp5khDQ1n51g3bN0TwFwTy4J85XVfxTRMukqHji/GnAoGUnlZ5Ao73K62w==", + "dev": true, + "dependencies": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0", + "chalk": "^2.1.0", + "deasync": "^0.1.15", + "extract-from-css": "^0.4.4", + "find-babel-config": "^1.1.0", + "js-beautify": "^1.6.14", + "node-cache": "^4.1.1", + "object-assign": "^4.1.1", + "source-map": "^0.5.6", + "tsconfig": "^7.0.0", + "vue-template-es2015-compiler": "^1.6.0" + }, + "peerDependencies": { + "babel-core": "^6.25.0 || ^7.0.0-0", + "vue": "^2.x", + "vue-template-compiler": "^2.x" + } + }, + "node_modules/vue-jest/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/vue-jest/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/vue-jest/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/vue-jest/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/vue-jest/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/vue-jest/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/vue-loader": { + "version": "15.9.8", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", + "integrity": "sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==", + "dev": true, + "dependencies": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "peerDependencies": { + "css-loader": "*", + "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "cache-loader": { + "optional": true }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/vue-loader-v16": { + "name": "vue-loader", + "version": "16.8.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", + "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", + "dev": true, + "optional": true, + "dependencies": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + } + }, + "node_modules/vue-loader/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "node_modules/vue-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/vue-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/vue-router": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.1.tgz", + "integrity": "sha512-RRQNLT8Mzr8z7eL4p7BtKvRaTSGdCbTy2+Mm5HTJvLGYSSeG9gDzNasJPP/yOYKLy+/cLG/ftrqq5fvkFwBJEw==" + }, + "node_modules/vue-server-renderer": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.14.tgz", + "integrity": "sha512-HifYRa/LW7cKywg9gd4ZtvtRuBlstQBao5ZCWlg40fyB4OPoGfEXAzxb0emSLv4pBDOHYx0UjpqvxpiQFEuoLA==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "hash-sum": "^1.0.2", + "he": "^1.1.0", + "lodash.template": "^4.5.0", + "lodash.uniq": "^4.5.0", + "resolve": "^1.2.0", + "serialize-javascript": "^3.1.0", + "source-map": "0.5.6" + } + }, + "node_modules/vue-server-renderer/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vue-server-renderer/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vue-server-renderer/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vue-server-renderer/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "node_modules/vue-server-renderer/node_modules/serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/vue-server-renderer/node_modules/source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vue-server-renderer/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vue-server-renderer/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "dependencies": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "node_modules/vue-style-loader/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "node_modules/vue-style-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/vue-style-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/vue-template-compiler": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", + "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "node_modules/vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "node_modules/vuelidate": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/vuelidate/-/vuelidate-0.7.6.tgz", + "integrity": "sha512-suzIuet1jGcyZ4oUSW8J27R2tNrJ9cIfklAh63EbAkFjE380iv97BAiIeolRYoB9bF9usBXCu4BxftWN1Dkn3g==", + "engines": { + "node": ">= 4.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/vuepress": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/vuepress/-/vuepress-1.8.2.tgz", + "integrity": "sha512-BU1lUDwsA3ghf7a9ga4dsf0iTc++Z/l7BR1kUagHWVBHw7HNRgRDfAZBDDQXhllMILVToIxaTifpne9mSi94OA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@vuepress/core": "1.8.2", + "@vuepress/theme-default": "1.8.2", + "cac": "^6.5.6", + "envinfo": "^7.2.0", + "opencollective-postinstall": "^2.0.2", + "update-notifier": "^4.0.0" + }, + "bin": { + "vuepress": "cli.js" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/vuepress-html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vuepress-html-webpack-plugin/-/vuepress-html-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-BebAEl1BmWlro3+VyDhIOCY6Gef2MCBllEVAP3NUAtMguiyOwo/dClbwJ167WYmcxHJKLl7b0Chr9H7fpn1d0A==", + "dev": true, + "dependencies": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "engines": { + "node": ">=6.9" + }, + "peerDependencies": { + "webpack": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/vuepress-html-webpack-plugin/node_modules/big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/vuepress-html-webpack-plugin/node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vuepress-html-webpack-plugin/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/vuepress-html-webpack-plugin/node_modules/loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "dependencies": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "node_modules/vuepress-html-webpack-plugin/node_modules/util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/vuepress-plugin-container": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/vuepress-plugin-container/-/vuepress-plugin-container-2.1.5.tgz", + "integrity": "sha512-TQrDX/v+WHOihj3jpilVnjXu9RcTm6m8tzljNJwYhxnJUW0WWQ0hFLcDTqTBwgKIFdEiSxVOmYE+bJX/sq46MA==", + "dev": true, + "dependencies": { + "@vuepress/shared-utils": "^1.2.0", + "markdown-it-container": "^2.0.0" + } + }, + "node_modules/vuepress-plugin-smooth-scroll": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/vuepress-plugin-smooth-scroll/-/vuepress-plugin-smooth-scroll-0.0.3.tgz", + "integrity": "sha512-qsQkDftLVFLe8BiviIHaLV0Ea38YLZKKonDGsNQy1IE0wllFpFIEldWD8frWZtDFdx6b/O3KDMgVQ0qp5NjJCg==", + "dev": true, + "dependencies": { + "smoothscroll-polyfill": "^0.4.3" + } + }, + "node_modules/vuex": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz", + "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==", + "peerDependencies": { + "vue": "^2.0.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dev": true, + "dependencies": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/w3c-xmlserializer/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "optional": true, + "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" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, + "node_modules/webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "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.5.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" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "webpack-command": { + "optional": true } } }, - "@babel/helper-simple-access": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", - "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", + "node_modules/webpack-bundle-analyzer": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", + "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", "dev": true, - "requires": { - "@babel/types": "^7.13.12" + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.19", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 6.14.4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/webpack-bundle-analyzer/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "dev": true, + "dependencies": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-chain/node_modules/deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dev": true, + "dependencies": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", + "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", + "dev": true, + "dependencies": { + "ansi-html-community": "0.0.8", + "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" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 6.11.5" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true } } }, + "node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "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" + } + }, + "node_modules/webpack-dev-server/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/webpack-dev-server/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "dependencies": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-dev-server/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack-dev-server/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-dev-server/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "dependencies": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/webpack/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpackbar": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-3.2.0.tgz", + "integrity": "sha512-PC4o+1c8gWWileUfwabe0gqptlXUDJd5E0zbpr2xHP1VSOVlZVPBZ8j6NCR8zM5zbKdxPhctHXahgpNK1qFDPw==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.1.0", + "chalk": "^2.4.1", + "consola": "^2.6.0", + "figures": "^3.0.0", + "pretty-time": "^1.1.0", + "std-env": "^2.2.1", + "text-table": "^0.2.0", + "wrap-ansi": "^5.1.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^3.0.0 || ^4.0.0" + } + }, + "node_modules/webpackbar/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpackbar/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpackbar/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/webpackbar/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/webpackbar/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpackbar/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/when": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", + "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", + "dev": true + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", + "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", + "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/xterm": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/xterm/-/xterm-4.11.0.tgz", + "integrity": "sha512-NeJH909WTO2vth/ZlC0gkP3AGzupbvVHVlmtrpBw56/sGFXaF9bNdKgqKa3tf8qbGvXMzL2JhCcHVklqFztIRw==" + }, + "node_modules/xterm-addon-attach": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/xterm-addon-attach/-/xterm-addon-attach-0.6.0.tgz", + "integrity": "sha512-Mo8r3HTjI/EZfczVCwRU6jh438B4WLXxdFO86OB7bx0jGhwh2GdF4ifx/rP+OB+Cb2vmLhhVIZ00/7x3YSP3dg==", + "peerDependencies": { + "xterm": "^4.0.0" + } + }, + "node_modules/xterm-addon-fit": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz", + "integrity": "sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ==", + "peerDependencies": { + "xterm": "^4.0.0" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/yorkie/node_modules/execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/yorkie/node_modules/normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yorkie/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/zepto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zepto/-/zepto-1.2.0.tgz", + "integrity": "sha1-4Se9nmb9hGvl6rSME5SIL3wOT5g=", + "dev": true + } + }, + "dependencies": { + "@achrinza/node-ipc": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-9.2.2.tgz", + "integrity": "sha512-b90U39dx0cU6emsOvy5hxU4ApNXnE3+Tuo8XQZfiKTGelDwpMwBVgBP7QX6dGTcJgu/miyJuNJ/2naFBliNWEw==", + "dev": true, + "requires": { + "@node-ipc/js-queue": "2.0.3", + "event-pubsub": "4.3.0", + "js-message": "1.0.7" + } + }, + "@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.0" + } + }, + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/compat-data": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==", + "dev": true + }, + "@babel/core": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz", + "integrity": "sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.9", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helpers": "^7.17.9", + "@babel/parser": "^7.17.9", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz", + "integrity": "sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==", + "dev": true, + "requires": { + "@babel/types": "^7.17.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", + "semver": "^6.3.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", + "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", + "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-function-name": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "dev": true, + "requires": { + "@babel/template": "^7.16.7", + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", + "dev": true, + "requires": { + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-module-transforms": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" + } + }, + "@babel/helper-replace-supers": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "dev": true, + "requires": { + "@babel/types": "^7.17.0" + } + }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.16.0" } }, "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "requires": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.16.7" } }, "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", - "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", - "dev": true, - "requires": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", - "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" } }, "@babel/helpers": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.10.tgz", - "integrity": "sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", + "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", "dev": true, "requires": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", - "dev": true, - "requires": { - "@babel/types": "^7.13.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", - "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.9", + "@babel/types": "^7.17.0" } }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", + "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -1693,166 +24959,201 @@ } }, "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz", + "integrity": "sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==", "dev": true }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", - "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.13.12" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz", - "integrity": "sha512-rPBnhj+WgoSmgq+4gQUtXx/vOcU+UYtjy1AA/aeD61Hwj410fwYyqfUcRP3lR8ucgliVJL/G7sXcNUecC75IXA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-decorators": { - "version": "7.13.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.13.5.tgz", - "integrity": "sha512-i0GDfVNuoapwiheevUOuSW67mInqJ8qw7uWfpjNVeHMn143kXblEy/bmL9AdZ/0yf/4BMQeWXezK0tQIvNPqag==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.9.tgz", + "integrity": "sha512-EfH2LZ/vPa2wuPwJ26j+kYRkaubf89UlwxKXtxqEm57HrgSEYDB8t4swFP+p8LcI9yiP9ZRJJjo/58hS6BnaDA==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/plugin-syntax-decorators": "^7.12.13" + "@babel/helper-create-class-features-plugin": "^7.17.9", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/plugin-syntax-decorators": "^7.17.0", + "charcodes": "^0.2.0" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", - "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", - "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", - "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", - "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", - "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", - "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", - "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", + "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/compat-data": "^7.17.0", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.13.0" + "@babel/plugin-transform-parameters": "^7.16.7" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", - "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz", - "integrity": "sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.10", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-syntax-async-generators": { @@ -1873,13 +25174,22 @@ "@babel/helper-plugin-utils": "^7.12.13" } }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, "@babel/plugin-syntax-decorators": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz", - "integrity": "sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.17.0.tgz", + "integrity": "sha512-qWe85yCXsvDEluNP0OyeQjH63DlhAR3W7K9BxxU1MvbDb48tgBG+Ao6IJJ6smPDrrVzSQZrbF6donpkFBMcs3A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-syntax-dynamic-import": { @@ -1910,12 +25220,12 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", - "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz", + "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -1972,616 +25282,382 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, "@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", - "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-classes": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", - "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", - "dev": true, - "requires": { - "@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.13.0", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", - "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-destructuring": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz", - "integrity": "sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", - "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", - "dev": true, - "requires": { - "@babel/highlight": "^7.12.13" - } - }, - "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.13" - } - }, - "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", - "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", - "dev": true - }, - "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" - } - }, - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", - "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", - "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", + "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", - "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.7" } }, "@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" } }, "@babel/plugin-transform-parameters": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", - "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-regenerator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", - "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", + "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", "dev": true, "requires": { - "regenerator-transform": "^0.14.2" + "regenerator-transform": "^0.15.0" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-runtime": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.10.tgz", - "integrity": "sha512-Y5k8ipgfvz5d/76tx7JYbKQTcgFSU6VgJ3kKQv4zGTKr+a9T/KBvfRvGtSFgKDQGt/DBykQixV0vNWKIdzWErA==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz", + "integrity": "sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "babel-plugin-polyfill-corejs2": "^0.1.4", - "babel-plugin-polyfill-corejs3": "^0.1.3", - "babel-plugin-polyfill-regenerator": "^0.1.2", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", "semver": "^6.3.0" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/preset-env": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.12.tgz", - "integrity": "sha512-JzElc6jk3Ko6zuZgBtjOd01pf9yYDEIH8BcqVuYIuOkzOwDesoa/Nz4gIo4lBG6K861KTV9TvIgmFuT6ytOaAA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.12", - "@babel/helper-compilation-targets": "^7.13.10", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.13.8", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-dynamic-import": "^7.13.8", - "@babel/plugin-proposal-export-namespace-from": "^7.12.13", - "@babel/plugin-proposal-json-strings": "^7.13.8", - "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-numeric-separator": "^7.12.13", - "@babel/plugin-proposal-object-rest-spread": "^7.13.8", - "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", @@ -2591,65 +25667,53 @@ "@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.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.12.13", - "@babel/plugin-transform-classes": "^7.13.0", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.0", - "@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.13.0", - "@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.13.0", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.13.0", - "@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.13.0", - "@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.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@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.4", - "@babel/types": "^7.13.12", - "babel-plugin-polyfill-corejs2": "^0.1.4", - "babel-plugin-polyfill-corejs3": "^0.1.3", - "babel-plugin-polyfill-regenerator": "^0.1.2", - "core-js-compat": "^3.9.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", "semver": "^6.3.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -2660,57 +25724,57 @@ } }, "@babel/runtime": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz", - "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", + "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz", + "integrity": "sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.9", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.9", + "@babel/types": "^7.17.0", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", + "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" } }, "@carbon/icon-helpers": { - "version": "10.15.0", - "resolved": "https://registry.npmjs.org/@carbon/icon-helpers/-/icon-helpers-10.15.0.tgz", - "integrity": "sha512-TpCvRARVI1XnyuhxM8BgHl3m+HRlUkkef32SC6NGhz2cF99/3EsWAzcPz98JNCojAYYXHjGiEfO6K61z53u+lg==" + "version": "10.29.0", + "resolved": "https://registry.npmjs.org/@carbon/icon-helpers/-/icon-helpers-10.29.0.tgz", + "integrity": "sha512-QlYdeL97klhqahsayK6uEDPtr7imU4bdaudWPVZojg+7Uio3WNzb5iUNLkWA5zRLvP4xgcjSpbdDX2sT3CgL2A==" }, "@carbon/icons-vue": { "version": "10.28.0", @@ -2731,15 +25795,15 @@ } }, "@eslint/eslintrc": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", - "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.1.1", "espree": "^7.3.0", - "globals": "^12.1.0", + "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", @@ -2748,12 +25812,12 @@ }, "dependencies": { "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" } }, "import-fresh": { @@ -2779,13 +25843,19 @@ "dev": true }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true } } }, + "@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, "@hapi/address": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", @@ -2837,9 +25907,9 @@ } }, "@intlify/shared": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.0.0.tgz", - "integrity": "sha512-0r4v7dnY8g/Jfx2swUWy2GyfH/WvIpWvkU4OIupvxDTWiE8RhcpbOCVvqpVh/xGi0proHQ/r2Dhc0QSItUsfDQ==", + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.1.9.tgz", + "integrity": "sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==", "dev": true }, "@intlify/vue-i18n-loader": { @@ -3264,6 +26334,28 @@ "@types/yargs": "^13.0.0" } }, + "@jridgewell/resolve-uri": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", + "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", + "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", @@ -3274,6 +26366,15 @@ "glob-to-regexp": "^0.3.0" } }, + "@node-ipc/js-queue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@node-ipc/js-queue/-/js-queue-2.0.3.tgz", + "integrity": "sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==", + "dev": true, + "requires": { + "easy-stack": "1.0.1" + } + }, "@nodelib/fs.stat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", @@ -3285,13 +26386,41 @@ "resolved": "https://registry.npmjs.org/@novnc/novnc/-/novnc-1.2.0.tgz", "integrity": "sha512-FaUckOedGhSbwQBXk/KGyxKt9ngskg4wPw6ghbHWXOUEmQscAZr3467lTU5DSfppwHJt5k+lQiHoeYUuY90l2Q==" }, + "@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dev": true, + "requires": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + }, + "dependencies": { + "lru-cache": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz", + "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==", + "dev": true + }, + "semver": { + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", + "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", + "dev": true, + "requires": { + "lru-cache": "^7.4.0" + } + } + } + }, "@npmcli/move-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", - "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", "dev": true, "requires": { - "mkdirp": "^1.0.4" + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" }, "dependencies": { "mkdirp": { @@ -3299,6 +26428,15 @@ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } } } }, @@ -3319,115 +26457,25 @@ "dev": true }, "@soda/friendly-errors-webpack-plugin": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.0.tgz", - "integrity": "sha512-RLotfx6k1+nfLacwNCenj7VnTMPxVwYKoGOcffMFoJDKM8tXzBiCN0hMHFJNnoAojduYAsxuiMm0EOMixgiRow==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", + "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", "dev": true, "requires": { - "chalk": "^2.4.2", - "error-stack-parser": "^2.0.2", - "string-width": "^2.0.0", - "strip-ansi": "^5" + "chalk": "^3.0.0", + "error-stack-parser": "^2.0.6", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } } } @@ -3447,16 +26495,10 @@ "defer-to-connect": "^1.0.1" } }, - "@types/anymatch": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", - "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", - "dev": true - }, "@types/babel__core": { - "version": "7.1.14", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz", - "integrity": "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==", + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -3467,18 +26509,18 @@ } }, "@types/babel__generator": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", - "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, "requires": { "@babel/types": "^7.0.0" } }, "@types/babel__template": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", - "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -3486,37 +26528,45 @@ } }, "@types/babel__traverse": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz", - "integrity": "sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==", + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", "dev": true, "requires": { "@babel/types": "^7.3.0" } }, "@types/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", "dev": true, "requires": { "@types/connect": "*", "@types/node": "*" } }, + "@types/chart.js": { + "version": "2.9.36", + "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.36.tgz", + "integrity": "sha512-lkG9C6O5TqKyW3JDWMfCedVUATH4AeQCo8Q/vflT/0VDj6KMcba+jr1wLe+IXQ+F9mVWn80DVsDnt6cPuGutIg==", + "requires": { + "moment": "^2.10.2" + } + }, "@types/connect": { - "version": "3.4.34", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz", - "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==", + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dev": true, "requires": { "@types/node": "*" } }, "@types/connect-history-api-fallback": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.4.tgz", - "integrity": "sha512-Kf8v0wljR5GSCOCF/VQWdV3ZhKOVA73drXtY3geMTQgHy9dgqQ0dLrf31M0hcuWkhFzK5sP0kkS3mJzcKVtZbw==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", "dev": true, "requires": { "@types/express-serve-static-core": "*", @@ -3524,9 +26574,9 @@ } }, "@types/express": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz", - "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==", + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", "dev": true, "requires": { "@types/body-parser": "*", @@ -3536,9 +26586,9 @@ } }, "@types/express-serve-static-core": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz", - "integrity": "sha512-DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA==", + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", "dev": true, "requires": { "@types/node": "*", @@ -3547,9 +26597,9 @@ } }, "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, "requires": { "@types/minimatch": "*", @@ -3557,18 +26607,18 @@ } }, "@types/http-proxy": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.5.tgz", - "integrity": "sha512-GNkDE7bTv6Sf8JbV2GksknKOsk7OznNYHSdrtvPJXO0qJ9odZig6IZKUi5RFGi6d1bf6dgIAe4uXi3DBc7069Q==", + "version": "1.17.8", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", + "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", "dev": true, "requires": { "@types/node": "*" } }, "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", "dev": true }, "@types/istanbul-lib-report": { @@ -3600,9 +26650,9 @@ } }, "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "@types/mime": { @@ -3612,27 +26662,27 @@ "dev": true }, "@types/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", "dev": true }, "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, "@types/node": { - "version": "14.14.36", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.36.tgz", - "integrity": "sha512-kjivUwDJfIjngzbhooRnOLhGYz6oRFi+L+EpMjxroDYXwDw9lHrJJ43E+dJ6KAd3V3WxWAJ/qZE9XKYHhjPOFQ==", + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==", "dev": true }, "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", "dev": true }, "@types/parse-json": { @@ -3642,27 +26692,27 @@ "dev": true }, "@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", + "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", "dev": true }, "@types/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==", + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true }, "@types/range-parser": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", - "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, "@types/serve-static": { - "version": "1.13.9", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz", - "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==", + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", "dev": true, "requires": { "@types/mime": "^1", @@ -3694,15 +26744,15 @@ "dev": true }, "@types/tapable": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", - "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", + "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==", "dev": true }, "@types/uglify-js": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.0.tgz", - "integrity": "sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q==", + "version": "3.13.2", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.2.tgz", + "integrity": "sha512-/xFrPIo+4zOeNGtVMbf9rUm0N+i4pDf1ynExomqtokIJmVzR3962lJ1UE+MmexMkA0cmN9oTzg5Xcbwge0Ij2Q==", "dev": true, "requires": { "source-map": "^0.6.1" @@ -3717,16 +26767,16 @@ } }, "@types/webpack": { - "version": "4.41.26", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", - "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", + "version": "4.41.32", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz", + "integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==", "dev": true, "requires": { - "@types/anymatch": "*", "@types/node": "*", - "@types/tapable": "*", + "@types/tapable": "^1", "@types/uglify-js": "*", "@types/webpack-sources": "*", + "anymatch": "^3.0.0", "source-map": "^0.6.0" }, "dependencies": { @@ -3739,22 +26789,22 @@ } }, "@types/webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", - "integrity": "sha512-13w1VhaghN+G1rYjkBPgN/GFRoHd9uI2fwK9cSKvLutdmZ22L9iicFEvt69by40DP2I6uNcClaGTyPY6nYhIgQ==", + "version": "3.11.6", + "resolved": "https://registry.npmjs.org/@types/webpack-dev-server/-/webpack-dev-server-3.11.6.tgz", + "integrity": "sha512-XCph0RiiqFGetukCTC3KVnY1jwLcZ84illFRMbyFzCcWl90B/76ew0tSqF46oBhnLC4obNDG7dMO0JfTN0MgMQ==", "dev": true, "requires": { "@types/connect-history-api-fallback": "*", "@types/express": "*", "@types/serve-static": "*", - "@types/webpack": "*", + "@types/webpack": "^4", "http-proxy-middleware": "^1.0.0" } }, "@types/webpack-sources": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", - "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz", + "integrity": "sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==", "dev": true, "requires": { "@types/node": "*", @@ -3771,18 +26821,18 @@ } }, "@types/yargs": { - "version": "13.0.11", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", - "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", + "version": "13.0.12", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz", + "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==", "dev": true, "requires": { "@types/yargs-parser": "*" } }, "@types/yargs-parser": { - "version": "20.2.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", "dev": true }, "@vue/babel-helper-vue-jsx-merge-props": { @@ -3798,9 +26848,9 @@ "dev": true }, "@vue/babel-plugin-jsx": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.3.tgz", - "integrity": "sha512-+52ZQFmrM0yh61dQlgwQlfHZXmYbswbQEL25SOSt9QkjegAdfIGu87oELw0l8H6cuJYazZCiNjPR9eU++ZIbxg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz", + "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", @@ -3837,9 +26887,9 @@ } }, "@vue/babel-preset-app": { - "version": "4.5.12", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.12.tgz", - "integrity": "sha512-8q67ORQ9O0Ms0nlqsXTVhaBefRBaLrzPxOewAZhdcO7onHwcO5/wRdWtHhZgfpCZlhY7NogkU16z3WnorSSkEA==", + "version": "4.5.17", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.17.tgz", + "integrity": "sha512-iFv9J3F5VKUPcbx+TqW5qhGmAVyXQxPRpKpPOuTLFIVTzg+iwJnrqVbL4kJU5ECGDxPESW2oCVgxv9bTlDPu7w==", "dev": true, "requires": { "@babel/core": "^7.11.0", @@ -3960,9 +27010,9 @@ } }, "@vue/cli-overlay": { - "version": "4.5.12", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.12.tgz", - "integrity": "sha512-dCN0RzVpA8fp+MfjuVBROgM483MPObAb/je+APE/JhpCJyPQORYQEvNpmaorpN+9Cp6mrESVSzhh0qD4SFrlzg==", + "version": "4.5.17", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.17.tgz", + "integrity": "sha512-QKKp66VbMg+X8Qh0wgXSwgxLfxY7EIkZkV6bZ6nFqBx8xtaJQVDbTL+4zcUPPA6nygbIcQ6gvTinNEqIqX6FUQ==", "dev": true }, "@vue/cli-plugin-babel": { @@ -4030,7 +27080,8 @@ "version": "4.5.12", "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.12.tgz", "integrity": "sha512-STgbvNv/3iHAKArc18b/qjN7RX1FTrfxPeHH26GOr/A8lJes7+CSluZZ8E5R7Zr/vL0zOqOkUVDAjFXVf4zWQA==", - "dev": true + "dev": true, + "requires": {} }, "@vue/cli-service": { "version": "4.5.12", @@ -4155,18 +27206,6 @@ "supports-color": "^7.0.0" } }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "optional": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -4174,9 +27213,9 @@ "dev": true }, "ssri": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", - "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.1.tgz", + "integrity": "sha512-w+daCzXN89PseTL99MkA+fxJEcU3wfaE/ah0i0lnOlpG1CYLJ2ZjzEry68YBKfLs4JfoTShrTEsJkAZuNZ/stw==", "dev": true, "requires": { "figgy-pudding": "^3.5.1", @@ -4200,18 +27239,6 @@ "webpack-sources": "^1.4.3" } }, - "vue-loader-v16": { - "version": "npm:vue-loader@16.1.2", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.2.tgz", - "integrity": "sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==", - "dev": true, - "optional": true, - "requires": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "loader-utils": "^2.0.0" - } - }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -4226,17 +27253,17 @@ } }, "@vue/cli-shared-utils": { - "version": "4.5.12", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.12.tgz", - "integrity": "sha512-qnIQPJ4XckMoqYh9fJ0Y91QKMIb4Hiibrm9+k4E15QHpk5RaokuOpf10SsOr2NLPCXSWsHOLo3hduZSwHPGY/Q==", + "version": "4.5.17", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.17.tgz", + "integrity": "sha512-VoFNdxvTW4vZu3ne+j1Mf7mU99J2SAoRVn9XPrsouTUUJablglM8DASk7Ixhsh6ymyL/W9EADQFR6Pgj8Ujjuw==", "dev": true, "requires": { + "@achrinza/node-ipc": "9.2.2", "@hapi/joi": "^15.0.1", "chalk": "^2.4.2", "execa": "^1.0.0", "launch-editor": "^2.2.1", "lru-cache": "^5.1.1", - "node-ipc": "^9.1.1", "open": "^6.3.0", "ora": "^3.4.0", "read-pkg": "^5.1.1", @@ -4298,18 +27325,18 @@ } }, "@vue/component-compiler-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz", - "integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", "dev": true, "requires": { "consolidate": "^0.15.1", "hash-sum": "^1.0.2", "lru-cache": "^4.1.2", "merge-source-map": "^1.1.0", - "postcss": "^7.0.14", + "postcss": "^7.0.36", "postcss-selector-parser": "^6.0.2", - "prettier": "^1.18.2", + "prettier": "^1.18.2 || ^2.0.0", "source-map": "~0.6.1", "vue-template-es2015-compiler": "^1.9.0" }, @@ -4330,13 +27357,6 @@ "yallist": "^2.1.2" } }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true, - "optional": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -4364,7 +27384,8 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", - "dev": true + "dev": true, + "requires": {} }, "@vue/test-utils": { "version": "1.1.3", @@ -4586,6 +27607,32 @@ "binary-extensions": "^1.0.0" } }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -4771,6 +27818,28 @@ "@vuepress/markdown": "1.8.2", "loader-utils": "^1.1.0", "lru-cache": "^5.1.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } } }, "@vuepress/plugin-active-header-links": { @@ -5107,13 +28176,13 @@ "dev": true }, "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" } }, "acorn": { @@ -5133,10 +28202,11 @@ } }, "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} }, "acorn-walk": { "version": "6.2.0", @@ -5182,13 +28252,15 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true + "dev": true, + "requires": {} }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "dev": true, + "requires": {} }, "algoliasearch": { "version": "3.35.1", @@ -5255,46 +28327,12 @@ "dev": true }, "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dev": true, "requires": { - "string-width": "^3.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "string-width": "^4.1.0" } }, "ansi-colors": { @@ -5320,16 +28358,16 @@ } } }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "dev": true }, "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "ansi-styles": { @@ -5347,9 +28385,9 @@ "dev": true }, "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -5429,9 +28467,9 @@ "dev": true }, "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "requires": { "safer-buffer": "~2.1.0" @@ -5545,18 +28583,26 @@ } }, "autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", "dev": true, "requires": { "browserslist": "^4.12.0", "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + } } }, "aws-sign2": { @@ -5576,7 +28622,7 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "requires": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.0" } }, "babel-code-frame": { @@ -5642,7 +28688,8 @@ "version": "7.0.0-bridge.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "dev": true + "dev": true, + "requires": {} }, "babel-eslint": { "version": "10.1.0", @@ -5726,13 +28773,13 @@ } }, "babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz", + "integrity": "sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A==", "dev": true, "requires": { "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", + "loader-utils": "^2.0.0", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" } @@ -5813,33 +28860,33 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.10.tgz", - "integrity": "sha512-DO95wD4g0A8KRaHKi0D51NdGXzvpqVLnLu5BTvDlpqUEpTmeEtypgC1xqesORaWmiUOQI14UHKlzNd9iZ2G3ZA==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.0", - "@babel/helper-define-polyfill-provider": "^0.1.5", + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.1", "semver": "^6.1.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", - "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.1.5", - "core-js-compat": "^3.8.1" + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.6.tgz", - "integrity": "sha512-OUrYG9iKPKz8NxswXbRAdSwF0GhRdIEMTloQATJi4bDuFqrXaXcCUT/VGNrr8pBcjMh1RxZ7Xt9cytVJTJfvMg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.1.5" + "@babel/helper-define-polyfill-provider": "^0.3.1" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -5857,7 +28904,7 @@ "babel-plugin-transform-require-context": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-require-context/-/babel-plugin-transform-require-context-0.1.1.tgz", - "integrity": "sha1-MZtUXKgwgLUGJ3a0bMm4s0b+qaY=", + "integrity": "sha512-4ceqYOtzgmq4/QsB8dP7pUrUOCjY/jrRYdt7YkIOWHxtGDQbcf6YZDyLCiPQf6KsEIcIbSQiTRXOsbLiuJfgNQ==", "dev": true, "requires": { "@babel/template": "7" @@ -5987,9 +29034,9 @@ "dev": true }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "base": { @@ -6114,21 +29161,21 @@ "dev": true }, "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", "dev": true, "requires": { - "bytes": "3.1.0", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", - "http-errors": "1.7.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "qs": "6.9.7", + "raw-body": "2.4.3", + "type-is": "~1.6.18" }, "dependencies": { "debug": { @@ -6147,9 +29194,9 @@ "dev": true }, "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", "dev": true } } @@ -6185,7 +29232,8 @@ "bootstrap": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", - "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==" + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==", + "requires": {} }, "bootstrap-vue": { "version": "2.21.2", @@ -6400,16 +29448,16 @@ } }, "browserslist": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", - "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "version": "4.20.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", + "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.649", + "caniuse-lite": "^1.0.30001317", + "electron-to-chromium": "^1.4.84", "escalade": "^3.1.1", - "node-releases": "^1.1.70" + "node-releases": "^2.0.2", + "picocolors": "^1.0.0" } }, "bs-logger": { @@ -6442,9 +29490,9 @@ } }, "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "buffer-indexof": { @@ -6472,15 +29520,15 @@ "dev": true }, "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true }, "cac": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.2.tgz", - "integrity": "sha512-w0bH1IF9rEjdi0a6lTtlXYT+vBZEJL9oytaXXRdsD68MH6+SrZGOGsu7s2saHQvYXqwo/wBdkW75tt8wFpj+mw==", + "version": "6.7.12", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.12.tgz", + "integrity": "sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==", "dev": true }, "cacache": { @@ -6535,6 +29583,28 @@ "mkdirp": "^0.5.1", "neo-async": "^2.6.1", "schema-utils": "^2.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } } }, "cacheable-request": { @@ -6568,9 +29638,9 @@ "dev": true }, "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", "dev": true } } @@ -6634,9 +29704,9 @@ } }, "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true }, "caniuse-api": { @@ -6652,9 +29722,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001204", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001204.tgz", - "integrity": "sha512-JUdjWpcxfJ9IPamy2f5JaRDCaqJOxDzOSKtbdx4rH9VivMd1vIzoPumsJa9LoMIi4Fx2BV2KZOxWhNkBjaYivQ==", + "version": "1.0.30001327", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001327.tgz", + "integrity": "sha512-1/Cg4jlD9qjZzhbzkzEaAC2JHsP0WrOc8Rd/3a3LuajGzGWR/hD7TVyvq99VqmTy99eVh8Zkmdq213OgvgXx7w==", "dev": true }, "capture-exit": { @@ -6679,20 +29749,31 @@ "dev": true }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, + "charcodes": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/charcodes/-/charcodes-0.2.0.tgz", + "integrity": "sha512-Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ==", + "dev": true + }, "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "chart.js": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.7.1.tgz", + "integrity": "sha512-8knRegQLFnPQAheZV8MjxIXc5gQEfDFD897BJgv/klO/vtIyFFmgMXrNfgrXpbTr/XbTturxRgxIXx/Y+ASJBA==" + }, "check-node-version": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/check-node-version/-/check-node-version-4.1.0.tgz", @@ -6726,19 +29807,19 @@ "dev": true }, "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" }, "dependencies": { "braces": { @@ -6783,13 +29864,10 @@ "dev": true }, "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true }, "ci-info": { "version": "1.6.0", @@ -6831,9 +29909,9 @@ } }, "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", "dev": true, "requires": { "source-map": "~0.6.0" @@ -6869,13 +29947,13 @@ } }, "cli-highlight": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.10.tgz", - "integrity": "sha512-CcPFD3JwdQ2oSzy+AMG6j3LRTkNjM82kzcSKzoVw6cLanDCJNlsLjeqVTOTfOfucnWv5F0rmBemVf1m9JiIasw==", + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", "dev": true, "requires": { "chalk": "^4.0.0", - "highlight.js": "^10.0.0", + "highlight.js": "^10.7.1", "mz": "^2.4.0", "parse5": "^5.1.1", "parse5-htmlparser2-tree-adapter": "^6.0.0", @@ -6911,9 +29989,9 @@ } }, "y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, "yargs": { @@ -6932,17 +30010,17 @@ } }, "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true } } }, "cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", - "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true }, "cli-truncate": { @@ -6980,18 +30058,6 @@ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true }, - "clipboard": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz", - "integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==", - "dev": true, - "optional": true, - "requires": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" - } - }, "clipboardy": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", @@ -7165,13 +30231,13 @@ } }, "color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dev": true, "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" }, "dependencies": { "color-convert": { @@ -7205,9 +30271,9 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "color-string": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", - "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", "dev": true, "requires": { "color-name": "^1.0.0", @@ -7215,9 +30281,9 @@ } }, "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", "dev": true }, "combined-stream": { @@ -7308,11 +30374,12 @@ }, "dependencies": { "cacache": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", - "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", "dev": true, "requires": { + "@npmcli/fs": "^1.0.0", "@npmcli/move-file": "^1.0.1", "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -7327,7 +30394,7 @@ "p-map": "^4.0.0", "promise-inflight": "^1.0.1", "rimraf": "^3.0.2", - "ssri": "^8.0.0", + "ssri": "^8.0.1", "tar": "^6.0.2", "unique-filename": "^1.1.1" } @@ -7372,12 +30439,12 @@ } }, "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { - "@types/json-schema": "^7.0.6", + "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } @@ -7392,9 +30459,9 @@ } }, "ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", "dev": true, "requires": { "minipass": "^3.1.1" @@ -7458,9 +30525,9 @@ } }, "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, "requires": { "ini": "^1.3.4", @@ -7528,12 +30595,20 @@ "dev": true }, "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } } }, "content-type": { @@ -7543,18 +30618,18 @@ "dev": true }, "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" } }, "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true }, "cookie-signature": { @@ -7672,6 +30747,26 @@ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -7747,12 +30842,12 @@ "integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==" }, "core-js-compat": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.9.1.tgz", - "integrity": "sha512-jXAirMQxrkbiiLsCx9bQPJFA6llDadKMpYrBJQJ3/c4/vsPP/fAf29h24tviRlvwUL6AmY5CHLu2GvjuYviQqA==", + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz", + "integrity": "sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==", "dev": true, "requires": { - "browserslist": "^4.16.3", + "browserslist": "^4.19.1", "semver": "7.0.0" }, "dependencies": { @@ -7947,6 +31042,26 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } } } }, @@ -8008,21 +31123,21 @@ "dev": true }, "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", "dev": true, "requires": { "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", + "cssnano-preset-default": "^4.0.8", "is-resolvable": "^1.0.0", "postcss": "^7.0.0" } }, "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", "dev": true, "requires": { "css-declaration-sorter": "^4.0.1", @@ -8053,7 +31168,7 @@ "postcss-ordered-values": "^4.1.2", "postcss-reduce-initial": "^4.0.3", "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", + "postcss-svgo": "^4.0.3", "postcss-unique-selectors": "^4.0.1" } }, @@ -8094,9 +31209,9 @@ }, "dependencies": { "css-tree": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", - "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, "requires": { "mdn-data": "2.0.14", @@ -8158,6 +31273,21 @@ "whatwg-url": "^7.0.0" }, "dependencies": { + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, "whatwg-url": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", @@ -8179,7 +31309,8 @@ "date-fns-tz": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-1.1.3.tgz", - "integrity": "sha512-mD26WkejWz842RggjFrKsY6ehGgyBQSJ209mn83/vsjhgQ5WbdVvBzJ0CuosnGdklDxOvOppQ/wn1UgvTOPKPw==" + "integrity": "sha512-mD26WkejWz842RggjFrKsY6ehGgyBQSJ209mn83/vsjhgQ5WbdVvBzJ0CuosnGdklDxOvOppQ/wn1UgvTOPKPw==", + "requires": {} }, "de-indent": { "version": "1.0.2", @@ -8188,9 +31319,9 @@ "dev": true }, "deasync": { - "version": "0.1.21", - "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.21.tgz", - "integrity": "sha512-kUmM8Y+PZpMpQ+B4AuOW9k2Pfx/mSupJtxOsLzmnHY2WqZUYRFccFn2RhzPAqt3Xb+sorK/badW2D4zNzqZz5w==", + "version": "0.1.26", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.26.tgz", + "integrity": "sha512-YKw0BmJSWxkjtQsbgn6Q9CHSWB7DKMen8vKrgyC006zy0UZ6nWyGidB0IzZgqkVRkOglAeUaFtiRTeLyel72bg==", "dev": true, "requires": { "bindings": "^1.5.0", @@ -8198,9 +31329,9 @@ } }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -8254,9 +31385,9 @@ "dev": true }, "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, "deepmerge": { @@ -8313,9 +31444,9 @@ } }, "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, "mimic-fn": { @@ -8495,13 +31626,6 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, - "delegate": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", - "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", - "dev": true, - "optional": true - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -8531,9 +31655,9 @@ "dev": true }, "detect-node": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.5.tgz", - "integrity": "sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, "diff-sequences": { @@ -8577,9 +31701,9 @@ "dev": true }, "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", "dev": true, "requires": { "ip": "^1.1.0", @@ -8629,9 +31753,9 @@ } }, "dom-event-types": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.0.0.tgz", - "integrity": "sha512-2G2Vwi2zXTHBGqXHsJ4+ak/iP0N8Ar+G8a7LiD2oup5o4sQWytwqqrZu/O6hIMV0KMID2PL69OhpshLO0n7UJQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/dom-event-types/-/dom-event-types-1.1.0.tgz", + "integrity": "sha512-jNCX+uNJ3v38BKvPbpki6j5ItVlnSqVV6vDWGS6rExzCMjsc39frLjm1n91o6YaKK6AZl0wLloItW6C6mr61BQ==", "dev": true }, "dom-serializer": { @@ -8645,9 +31769,9 @@ }, "dependencies": { "domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true } } @@ -8677,15 +31801,31 @@ "dev": true, "requires": { "webidl-conversions": "^4.0.2" + }, + "dependencies": { + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + } } }, "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "^2.2.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + } } }, "domutils": { @@ -8726,9 +31866,9 @@ } }, "dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", "dev": true }, "dotenv-expand": { @@ -8826,9 +31966,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.700", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.700.tgz", - "integrity": "sha512-wQtaxVZzpOeCjW1CGuC5W3bYjE2jglvk076LcTautBOB9UtHztty7wNzjVsndiMcSsdUsdMy5w76w5J1U7OPTQ==", + "version": "1.4.106", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.106.tgz", + "integrity": "sha512-ZYfpVLULm67K7CaaGP7DmjyeMY4naxsbTy+syVVxT6QHI1Ww8XbJjmr9fDckrhq44WzCrcC5kH3zGpdusxwwqg==", "dev": true }, "elliptic": { @@ -8938,9 +32078,9 @@ } }, "envinfo": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz", - "integrity": "sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true }, "errno": { @@ -8962,36 +32102,40 @@ } }, "error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz", + "integrity": "sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==", "dev": true, "requires": { "stackframe": "^1.1.1" } }, "es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", + "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", "dev": true, "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" + "unbox-primitive": "^1.0.1" } }, "es-to-primitive": { @@ -9102,6 +32246,15 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -9124,15 +32277,15 @@ } }, "eslint-visitor-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", - "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true }, "globals": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz", - "integrity": "sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -9159,13 +32312,10 @@ } }, "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz", + "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==", + "dev": true }, "optionator": { "version": "0.9.1", @@ -9200,12 +32350,12 @@ "dev": true }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", + "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "lru-cache": "^7.4.0" } }, "shebang-command": { @@ -9252,12 +32402,6 @@ "requires": { "isexe": "^2.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, @@ -9281,6 +32425,28 @@ "object-assign": "^4.0.1", "object-hash": "^1.1.4", "rimraf": "^2.6.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } } }, "eslint-plugin-prettier": { @@ -9305,28 +32471,19 @@ }, "dependencies": { "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz", + "integrity": "sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg==", + "dev": true }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.6.tgz", + "integrity": "sha512-HZWqcgwLsjaX1HBD31msI/rXktuIhS+lWvdE4kN9z+8IVT4Itc7vqU2WvYsyD6/sjYCt4dEKH/m1M3dwI9CC5w==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "lru-cache": "^7.4.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true } } }, @@ -9390,9 +32547,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -9407,9 +32564,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -9587,17 +32744,17 @@ } }, "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", + "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", "dev": true, "requires": { - "accepts": "~1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.19.2", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.4.2", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", @@ -9611,13 +32768,13 @@ "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "proxy-addr": "~2.0.7", + "qs": "6.9.7", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.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", @@ -9640,9 +32797,15 @@ "dev": true }, "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==", + "dev": true + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } @@ -9827,9 +32990,9 @@ "dev": true }, "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, "requires": { "websocket-driver": ">=0.5.1" @@ -9876,6 +33039,28 @@ "requires": { "loader-utils": "^1.2.3", "schema-utils": "^2.5.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } } }, "file-uri-to-path": { @@ -9970,9 +33155,9 @@ } }, "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, "requires": { "commondir": "^1.0.1", @@ -10029,9 +33214,9 @@ } }, "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", "dev": true }, "flush-write-stream": { @@ -10045,9 +33230,9 @@ } }, "follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" }, "for-each": { "version": "0.3.3", @@ -10088,9 +33273,9 @@ } }, "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, "fragment-cache": { @@ -10219,6 +33404,16 @@ "pump": "^3.0.0" } }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -10235,9 +33430,9 @@ } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -10312,16 +33507,6 @@ "slash": "^2.0.0" } }, - "good-listener": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", - "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", - "dev": true, - "optional": true, - "requires": { - "delegate": "^3.1.2" - } - }, "got": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", @@ -10342,18 +33527,18 @@ } }, "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, "gray-matter": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.2.tgz", - "integrity": "sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", "dev": true, "requires": { - "js-yaml": "^3.11.0", + "js-yaml": "^3.13.1", "kind-of": "^6.0.2", "section-matter": "^1.0.0", "strip-bom-string": "^1.0.0" @@ -10435,11 +33620,20 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -10536,10 +33730,22 @@ "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", "dev": true }, + "highcharts": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/highcharts/-/highcharts-10.0.0.tgz", + "integrity": "sha512-a14PrTraVaoSNyaRPhLF/jJ3/09rJwfUZedLgZOkzozGz4K/H8WtWNJtUZt/tc5QiJkaZHw4YX7vvuO98s+EoA==", + "peer": true + }, + "highcharts-vue": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/highcharts-vue/-/highcharts-vue-1.4.0.tgz", + "integrity": "sha512-fTPqJmU/wR/nUEtofbC/iJqcgULGcP3C0Hd4YYCKH2FiiteNs7UidjSM4eYj5Y4ldpOVhwPtNj/m6XwC3ajp6g==", + "requires": {} + }, "highlight.js": { - "version": "10.7.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.1.tgz", - "integrity": "sha512-S6G97tHGqJ/U8DsXcEdnACbirtbx58Bx9CzIVeYli8OuswCfYI/LsXH2EiGcoGio1KAC3x4mmUwulOllJ2ZyRA==", + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", "dev": true }, "hmac-drbg": { @@ -10587,9 +33793,9 @@ "dev": true }, "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "hpack.js": { @@ -10616,12 +33822,6 @@ "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", "dev": true }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, "html-encoding-sniffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", @@ -10667,9 +33867,9 @@ } }, "html-tags": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", - "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", "dev": true }, "html-webpack-plugin": { @@ -10730,34 +33930,43 @@ } }, "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "requires": { - "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" + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" }, "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" } } } @@ -10775,30 +33984,22 @@ "dev": true }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "toidentifier": "1.0.1" } }, "http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", "dev": true }, "http-proxy": { @@ -10813,15 +34014,15 @@ } }, "http-proxy-middleware": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.0.6.tgz", - "integrity": "sha512-NyL6ZB6cVni7pl+/IT2W0ni5ME00xR0sN27AQZZrpKn1b+qRh+mLbBxIq9Cq1oGfmTc7BUq4HB77mxwCaxAYNg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", + "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", "dev": true, "requires": { - "@types/http-proxy": "^1.17.4", + "@types/http-proxy": "^1.17.5", "http-proxy": "^1.18.1", "is-glob": "^4.0.1", - "lodash": "^4.17.20", + "is-plain-obj": "^3.0.0", "micromatch": "^4.0.2" }, "dependencies": { @@ -10850,13 +34051,13 @@ "dev": true }, "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "to-regex-range": { @@ -11155,6 +34356,17 @@ } } }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -11209,12 +34421,13 @@ } }, "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, "is-arrayish": { @@ -11224,10 +34437,13 @@ "dev": true }, "is-bigint": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", - "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", - "dev": true + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } }, "is-binary-path": { "version": "2.1.0", @@ -11239,12 +34455,13 @@ } }, "is-boolean-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", - "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" } }, "is-buffer": { @@ -11254,9 +34471,9 @@ "dev": true }, "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", "dev": true }, "is-ci": { @@ -11283,9 +34500,9 @@ } }, "is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "requires": { "has": "^1.0.3" @@ -11312,10 +34529,13 @@ } }, "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-descriptor": { "version": "0.1.6", @@ -11343,9 +34563,9 @@ "dev": true }, "is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true }, "is-extendable": { @@ -11373,9 +34593,9 @@ "dev": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -11400,9 +34620,9 @@ } }, "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true }, "is-npm": { @@ -11432,10 +34652,13 @@ } }, "is-number-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", - "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", - "dev": true + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-obj": { "version": "2.0.0", @@ -11468,9 +34691,9 @@ } }, "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true }, "is-plain-object": { @@ -11483,13 +34706,13 @@ } }, "is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" + "has-tostringtag": "^1.0.0" } }, "is-regexp": { @@ -11504,6 +34727,15 @@ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -11511,27 +34743,21 @@ "dev": true }, "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, "requires": { - "html-comment-regex": "^1.1.0" + "has-tostringtag": "^1.0.0" } }, "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "requires": { - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.2" } }, "is-typedarray": { @@ -11552,6 +34778,15 @@ "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", "dev": true }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "is-whitespace": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", @@ -11712,9 +34947,9 @@ } }, "javascript-stringify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.0.1.tgz", - "integrity": "sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", "dev": true }, "jest": { @@ -12149,6 +35384,21 @@ "punycode": "^2.1.1" } }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, "whatwg-url": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", @@ -12161,10 +35411,11 @@ } }, "ws": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz", - "integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==", - "dev": true + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", + "dev": true, + "requires": {} } } }, @@ -12470,7 +35721,8 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true + "dev": true, + "requires": {} }, "jest-regex-util": { "version": "24.9.0", @@ -13168,24 +36420,15 @@ } }, "js-beautify": { - "version": "1.13.5", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.13.5.tgz", - "integrity": "sha512-MsXlH6Z/BiRYSkSRW3clNDqDjSpiSNOiG8xYVUBXt4k0LnGvDhlTGOlHX1VFtAdoLmtwjxMG5qiWKy/g+Ipv5w==", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.3.tgz", + "integrity": "sha512-f1ra8PHtOEu/70EBnmiUlV8nJePS58y9qKjl4JHfYWlFH6bo7ogZBz//FAZp7jDuXtYnGYKymZPlrg2I/9Zo4g==", "dev": true, "requires": { - "config-chain": "^1.1.12", + "config-chain": "^1.1.13", "editorconfig": "^0.15.3", "glob": "^7.1.3", - "mkdirp": "^1.0.4", "nopt": "^5.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } } }, "js-cookie": { @@ -13199,15 +36442,6 @@ "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", "dev": true }, - "js-queue": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.2.tgz", - "integrity": "sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA==", - "dev": true, - "requires": { - "easy-stack": "^1.0.1" - } - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -13269,6 +36503,32 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "dev": true + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "whatwg-url": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", + "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } } } }, @@ -13297,9 +36557,9 @@ "dev": true }, "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, "json-schema-traverse": { @@ -13320,20 +36580,11 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", - "dev": true - }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true }, "jsonfile": { "version": "4.0.0", @@ -13345,14 +36596,14 @@ } }, "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, @@ -13403,74 +36654,22 @@ } }, "launch-editor": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", - "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.3.0.tgz", + "integrity": "sha512-3QrsCXejlWYHjBPFXTyGNhPj4rrQdB+5+r5r3wArpLH201aR+nWUgw/zKKkTmilCfY/sv6u8qo98pNvtg8LUTA==", "dev": true, "requires": { - "chalk": "^2.3.0", + "picocolors": "^1.0.0", "shell-quote": "^1.6.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "launch-editor-middleware": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", - "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.3.0.tgz", + "integrity": "sha512-GJR64trLdFFwCoL9DMn/d1SZX0OzTDPixu4mcfWTShQ4tIqCHCGvlg9fOEYQXyBlrSMQwylsJfUWncheShfV2w==", "dev": true, "requires": { - "launch-editor": "^2.2.1" + "launch-editor": "^2.3.0" } }, "left-pad": { @@ -13496,9 +36695,9 @@ } }, "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, "linkify-it": { @@ -13549,9 +36748,9 @@ "dev": true }, "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", "dev": true, "requires": { "@types/parse-json": "^4.0.0", @@ -13624,9 +36823,9 @@ "dev": true }, "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, "log-symbols": { @@ -13640,13 +36839,13 @@ } }, "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "mimic-fn": { @@ -13727,18 +36926,17 @@ } }, "listr2": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.4.3.tgz", - "integrity": "sha512-wZmkzNiuinOfwrGqAwTCcPw6aKQGTAMGXwG5xeU1WpDjJNeBA35jGBeWxR3OF+R6Yl5Y3dRG+3vE8t6PDcSNHA==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", "dev": true, "requires": { - "chalk": "^4.1.0", "cli-truncate": "^2.1.0", - "figures": "^3.2.0", - "indent-string": "^4.0.0", + "colorette": "^2.0.16", "log-update": "^4.0.0", "p-map": "^4.0.0", - "rxjs": "^6.6.6", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", "through": "^2.3.8", "wrap-ansi": "^7.0.0" }, @@ -13752,6 +36950,21 @@ "aggregate-error": "^3.0.0" } }, + "rxjs": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", + "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -13859,25 +37072,14 @@ "dev": true }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } + "json5": "^2.1.2" } }, "locate-path": { @@ -13967,6 +37169,12 @@ "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", "dev": true }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -14094,9 +37302,9 @@ } }, "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", + "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", "dev": true }, "loose-envify": { @@ -14136,14 +37344,6 @@ "dev": true, "requires": { "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } } }, "make-error": { @@ -14153,12 +37353,12 @@ "dev": true }, "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "requires": { - "tmpl": "1.0.x" + "tmpl": "1.0.5" } }, "map-cache": { @@ -14207,7 +37407,8 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz", "integrity": "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==", - "dev": true + "dev": true, + "requires": {} }, "markdown-it-chain": { "version": "1.3.0", @@ -14380,24 +37581,24 @@ } }, "mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", "dev": true }, "mime-db": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", - "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true }, "mime-types": { - "version": "2.1.29", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", - "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "requires": { - "mime-db": "1.46.0" + "mime-db": "1.52.0" } }, "mimic-fn": { @@ -14433,6 +37634,26 @@ "webpack-sources": "^1.1.0" }, "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, "normalize-url": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", @@ -14471,24 +37692,24 @@ "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -14587,14 +37808,19 @@ } }, "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" } }, + "moment": { + "version": "2.29.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", + "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==" + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -14649,9 +37875,9 @@ } }, "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", "dev": true, "optional": true }, @@ -14681,9 +37907,9 @@ "dev": true }, "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true }, "neo-async": { @@ -14732,9 +37958,12 @@ } }, "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } }, "node-forge": { "version": "0.10.0", @@ -14748,17 +37977,6 @@ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", "dev": true }, - "node-ipc": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.4.tgz", - "integrity": "sha512-A+f0mn2KxUt1uRTSd5ktxQUsn2OEhj5evo7NUi/powBzMSZ0vocdzDjlq9QN2v3LH6CJi3e5xAenpZ1QwU5A8g==", - "dev": true, - "requires": { - "event-pubsub": "4.3.0", - "js-message": "1.0.7", - "js-queue": "2.0.2" - } - }, "node-libs-browser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", @@ -14798,12 +38016,6 @@ } } }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, "node-notifier": { "version": "5.4.5", "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.5.tgz", @@ -14826,9 +38038,9 @@ } }, "node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", + "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", "dev": true }, "nopt": { @@ -14970,9 +38182,9 @@ "dev": true }, "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", "dev": true }, "object-is": { @@ -15013,14 +38225,14 @@ } }, "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" } }, "object.pick": { @@ -15033,15 +38245,14 @@ } }, "object.values": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", - "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" + "es-abstract": "^1.19.1" } }, "obuf": { @@ -15114,9 +38325,9 @@ } }, "optimize-css-assets-webpack-plugin": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz", - "integrity": "sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.8.tgz", + "integrity": "sha512-mgFS1JdOtEGzD8l+EuISqL57cKO+We9GcoiQEmdCWRqqck+FGNmYJtx9qfAPzEz+lRrlThWMuGDaRkI/yWNx/Q==", "dev": true, "requires": { "cssnano": "^4.1.10", @@ -15446,9 +38657,9 @@ "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-to-regexp": { @@ -15475,9 +38686,9 @@ } }, "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -15493,10 +38704,16 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pify": { @@ -15521,13 +38738,10 @@ } }, "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" - } + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true }, "pkg-dir": { "version": "4.2.0", @@ -15554,9 +38768,9 @@ "dev": true }, "pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", "dev": true, "requires": { "ts-pnp": "^1.1.6" @@ -15570,7 +38784,8 @@ "portal-vue": { "version": "2.1.7", "resolved": "https://registry.npmjs.org/portal-vue/-/portal-vue-2.1.7.tgz", - "integrity": "sha512-+yCno2oB3xA7irTt0EU5Ezw22L2J51uKAacE/6hMPMoO/mx3h4rXFkkBkT4GFsMDv/vEe8TNKC3ujJJ0PTwb6g==" + "integrity": "sha512-+yCno2oB3xA7irTt0EU5Ezw22L2J51uKAacE/6hMPMoO/mx3h4rXFkkBkT4GFsMDv/vEe8TNKC3ujJJ0PTwb6g==", + "requires": {} }, "portfinder": { "version": "1.0.28", @@ -15601,66 +38816,19 @@ "dev": true }, "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true }, "source-map": { @@ -15668,15 +38836,6 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -15788,6 +38947,26 @@ "schema-utils": "^1.0.0" }, "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -16198,24 +39377,21 @@ } }, "postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", "dev": true, "requires": { "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", "util-deprecate": "^1.0.2" } }, "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", "dev": true, "requires": { - "is-svg": "^3.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0", "svgo": "^1.0.0" @@ -16241,9 +39417,9 @@ } }, "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, "prelude-ls": { @@ -16350,13 +39526,10 @@ "dev": true }, "prismjs": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.23.0.tgz", - "integrity": "sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==", - "dev": true, - "requires": { - "clipboard": "^2.0.0" - } + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", + "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==", + "dev": true }, "process": { "version": "0.11.10", @@ -16383,9 +39556,9 @@ "dev": true }, "prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "requires": { "kleur": "^3.0.3", @@ -16399,12 +39572,12 @@ "dev": true }, "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "requires": { - "forwarded": "~0.1.2", + "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, @@ -16503,9 +39676,9 @@ "dev": true }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "dev": true }, "query-string": { @@ -16568,13 +39741,13 @@ "dev": true }, "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", + "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", "dev": true, "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } @@ -16682,9 +39855,9 @@ } }, "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "requires": { "picomatch": "^2.2.1" @@ -16715,24 +39888,24 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", "dev": true, "requires": { - "regenerate": "^1.4.0" + "regenerate": "^1.4.2" } }, "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" @@ -16749,9 +39922,9 @@ } }, "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", + "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -16759,23 +39932,23 @@ } }, "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true }, "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", "dev": true, "requires": { - "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" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" } }, "registry-auth-token": { @@ -16797,15 +39970,15 @@ } }, "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", "dev": true }, "regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -16832,16 +40005,16 @@ "dev": true }, "renderkid": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", - "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", + "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", "dev": true, "requires": { - "css-select": "^2.0.2", - "dom-converter": "^0.2", - "htmlparser2": "^3.10.1", - "lodash": "^4.17.20", - "strip-ansi": "^3.0.0" + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^3.0.1" }, "dependencies": { "ansi-regex": { @@ -16850,6 +40023,62 @@ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -16862,9 +40091,9 @@ } }, "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { @@ -16946,13 +40175,14 @@ "dev": true }, "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "dev": true, "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-cwd": { @@ -17007,6 +40237,12 @@ "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", "dev": true }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, "rgb-regex": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", @@ -17069,9 +40305,9 @@ } }, "rxjs": { - "version": "6.6.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", - "integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -17158,11 +40394,25 @@ "semver": "^6.3.0" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } } } }, @@ -17213,13 +40463,6 @@ } } }, - "select": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", - "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", - "dev": true, - "optional": true - }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -17227,9 +40470,9 @@ "dev": true }, "selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", - "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", + "version": "1.10.14", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", + "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", "dev": true, "requires": { "node-forge": "^0.10.0" @@ -17257,9 +40500,9 @@ } }, "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", "dev": true, "requires": { "debug": "2.6.9", @@ -17269,9 +40512,9 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "1.8.1", "mime": "1.6.0", - "ms": "2.1.1", + "ms": "2.1.3", "on-finished": "~2.3.0", "range-parser": "~1.2.1", "statuses": "~1.5.0" @@ -17301,9 +40544,9 @@ "dev": true }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -17374,15 +40617,15 @@ } }, "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", "dev": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.17.2" } }, "set-blocking": { @@ -17421,9 +40664,9 @@ "dev": true }, "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "sha.js": { @@ -17461,9 +40704,9 @@ "dev": true }, "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", "dev": true }, "shellwords": { @@ -17472,6 +40715,17 @@ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, "sigmund": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", @@ -17479,9 +40733,9 @@ "dev": true }, "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, "simple-swizzle": { @@ -17661,28 +40915,35 @@ } }, "sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, "requires": { "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", + "uuid": "^8.3.2", "websocket-driver": "^0.7.4" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + } } }, "sockjs-client": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", - "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.0.tgz", + "integrity": "sha512-qVHJlyfdHFht3eBFZdKEXKTlb7I4IV41xnVNo8yUKA1UHcPJwgW2SvTq9LhnjjCywSkSK7c/e4nghU0GOoMCRQ==", "dev": true, "requires": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", + "debug": "^3.2.7", + "eventsource": "^1.1.0", + "faye-websocket": "^0.11.4", "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.5.1" + "url-parse": "^1.5.10" }, "dependencies": { "debug": { @@ -17703,6 +40964,14 @@ "dev": true, "requires": { "is-plain-obj": "^1.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + } } }, "source-list-map": { @@ -17731,9 +41000,9 @@ } }, "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -17781,9 +41050,9 @@ } }, "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", "dev": true }, "spdy": { @@ -17842,9 +41111,9 @@ "dev": true }, "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dev": true, "requires": { "asn1": "~0.2.3", @@ -17859,9 +41128,9 @@ } }, "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "requires": { "figgy-pudding": "^3.5.1" @@ -17874,9 +41143,9 @@ "dev": true }, "stack-utils": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.4.tgz", - "integrity": "sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" @@ -17891,9 +41160,9 @@ } }, "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz", + "integrity": "sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg==", "dev": true }, "static-extend": { @@ -17924,18 +41193,18 @@ "dev": true }, "std-env": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz", - "integrity": "sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.1.tgz", + "integrity": "sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g==", "dev": true, "requires": { - "ci-info": "^3.0.0" + "ci-info": "^3.1.1" }, "dependencies": { "ci-info": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.1.1.tgz", - "integrity": "sha512-kdRWLBIJwdsYJWYJFtAFFYxybguqeF91qpZaggjG5Nf8QKdizFG2hjqvaTXbxFIcYbSaD74KpAXv6BSm17DHEQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", "dev": true } } @@ -17991,6 +41260,15 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "string-argv": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", @@ -18008,9 +41286,9 @@ }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true }, "strip-ansi": { @@ -18025,14 +41303,14 @@ } }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "string.prototype.trimend": { @@ -18055,15 +41333,6 @@ "define-properties": "^1.1.3" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -18084,18 +41353,18 @@ } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" }, "dependencies": { "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true } } @@ -18214,6 +41483,28 @@ "loader-utils": "^1.0.2", "lodash.clonedeep": "^4.5.0", "when": "~3.6.x" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } } }, "supports-color": { @@ -18224,6 +41515,12 @@ "has-flag": "^4.0.0" } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, "svg-tags": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", @@ -18322,21 +41619,22 @@ "dev": true }, "table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", "dev": true, "requires": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" }, "dependencies": { "ajv": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.2.3.tgz", - "integrity": "sha512-idv5WZvKVXDqKralOImQgPM9v6WOdLNa0IY3B3doOjw/YxRGT8I+allIJ6kd7Uaj+SF1xZUSU+nPM5aDNBVtnw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -18360,9 +41658,9 @@ "dev": true }, "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "dev": true, "requires": { "chownr": "^2.0.0", @@ -18569,6 +41867,28 @@ "loader-runner": "^2.3.1", "loader-utils": "^1.1.0", "neo-async": "^2.6.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } } }, "throat": { @@ -18614,13 +41934,6 @@ "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", "dev": true }, - "tiny-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", - "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", - "dev": true, - "optional": true - }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -18631,9 +41944,9 @@ } }, "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "to-arraybuffer": { @@ -18703,9 +42016,9 @@ } }, "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, "toml": { @@ -18731,13 +42044,9 @@ } }, "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" }, "tryer": { "version": "1.0.1", @@ -18902,43 +42211,43 @@ } }, "unbox-primitive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.0.tgz", - "integrity": "sha512-P/51NX+JXyxK/aigg1/ZgyccdAxm5K1+n8+tvqSntjOivPt19gvm1VC49RWYetsiub8WViUchdxl/KWHHB0kzA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, "requires": { "function-bind": "^1.1.1", - "has-bigints": "^1.0.0", - "has-symbols": "^1.0.0", - "which-boxed-primitive": "^1.0.1" + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" } }, "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true }, "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" } }, "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", "dev": true }, "union-value": { @@ -19111,9 +42420,9 @@ "dev": true }, "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -19152,12 +42461,34 @@ "loader-utils": "^1.2.3", "mime": "^2.4.4", "schema-utils": "^2.5.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } } }, "url-parse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", - "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, "requires": { "querystringify": "^2.1.1", @@ -19291,6 +42622,14 @@ "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" }, + "vue-chartjs": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-3.5.1.tgz", + "integrity": "sha512-foocQbJ7FtveICxb4EV5QuVpo6d8CmZFmAopBppDIGKY+esJV8IJgwmEW0RexQhxqXaL/E1xNURsgFFYyKzS/g==", + "requires": { + "@types/chart.js": "^2.7.55" + } + }, "vue-cli-plugin-i18n": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/vue-cli-plugin-i18n/-/vue-cli-plugin-i18n-0.6.1.tgz", @@ -19331,17 +42670,18 @@ } }, "vue-eslint-parser": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.6.0.tgz", - "integrity": "sha512-QXxqH8ZevBrtiZMZK0LpwaMfevQi9UL7lY6Kcp+ogWHC88AuwUPwwCIzkOUc1LR4XsYAt/F9yHXAB/QoD17QXA==", + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz", + "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==", "dev": true, "requires": { "debug": "^4.1.1", - "eslint-scope": "^5.0.0", + "eslint-scope": "^5.1.1", "eslint-visitor-keys": "^1.1.0", "espree": "^6.2.1", "esquery": "^1.4.0", - "lodash": "^4.17.15" + "lodash": "^4.17.21", + "semver": "^6.3.0" }, "dependencies": { "acorn": { @@ -19390,9 +42730,9 @@ "integrity": "sha512-+TkAPBQw4Cp2bQrSPtPNkhET7XcWYjjDt1UjWYQs+xbT41q5OAl1I3IZyhg0drjn1nlC1K0f8sLVB/nshUcF1Q==" }, "vue-i18n-extract": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/vue-i18n-extract/-/vue-i18n-extract-1.1.10.tgz", - "integrity": "sha512-DYqcjrAm4L95Ftz8AVIzUyrHCBQV326rbOru6B3W2vXHIzUUuJwwFgyVPE+d7YTeHD189eoOkRu0aL6EzeMWZQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/vue-i18n-extract/-/vue-i18n-extract-1.2.3.tgz", + "integrity": "sha512-ZLtF6wp732KHKawHx5ZSmjyydkli9g26z0NfGLP89DkiGx4nKFYZ2oIH35HtImdhcfq1zqkeSwxs7kRzarLoVw==", "dev": true, "requires": { "commander": "^6.1.0", @@ -19482,9 +42822,9 @@ } }, "vue-loader": { - "version": "15.9.6", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.6.tgz", - "integrity": "sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==", + "version": "15.9.8", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", + "integrity": "sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==", "dev": true, "requires": { "@vue/component-compiler-utils": "^3.1.0", @@ -19499,18 +42839,50 @@ "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } } } }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.8.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", + "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + } + }, "vue-router": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.1.tgz", "integrity": "sha512-RRQNLT8Mzr8z7eL4p7BtKvRaTSGdCbTy2+Mm5HTJvLGYSSeG9gDzNasJPP/yOYKLy+/cLG/ftrqq5fvkFwBJEw==" }, "vue-server-renderer": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.12.tgz", - "integrity": "sha512-3LODaOsnQx7iMFTBLjki8xSyOxhCtbZ+nQie0wWY4iOVeEtTg1a3YQAjd82WvKxrWHHTshjvLb7OXMc2/dYuxw==", + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.14.tgz", + "integrity": "sha512-HifYRa/LW7cKywg9gd4ZtvtRuBlstQBao5ZCWlg40fyB4OPoGfEXAzxb0emSLv4pBDOHYx0UjpqvxpiQFEuoLA==", "dev": true, "requires": { "chalk": "^1.1.3", @@ -19601,6 +42973,26 @@ "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } } } }, @@ -19718,7 +43110,8 @@ "vuex": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz", - "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==" + "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==", + "requires": {} }, "w3c-hr-time": { "version": "1.0.2", @@ -19738,15 +43131,23 @@ "domexception": "^1.0.1", "webidl-conversions": "^4.0.2", "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + } } }, "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "requires": { - "makeerror": "1.0.x" + "makeerror": "1.0.12" } }, "watchpack": { @@ -19899,10 +43300,9 @@ } }, "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" }, "webpack": { "version": "4.46.0", @@ -19935,6 +43335,26 @@ "webpack-sources": "^1.4.1" }, "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -20032,9 +43452,9 @@ } }, "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", "dev": true, "requires": { "async-limiter": "~1.0.0" @@ -20074,12 +43494,12 @@ } }, "webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", - "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", + "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", "dev": true, "requires": { - "ansi-html": "0.0.7", + "ansi-html-community": "0.0.8", "bonjour": "^3.5.0", "chokidar": "^2.1.8", "compression": "^1.7.4", @@ -20273,9 +43693,9 @@ } }, "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", "dev": true, "requires": { "async-limiter": "~1.0.0" @@ -20421,14 +43841,12 @@ "dev": true }, "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", - "dev": true, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "when": { @@ -20576,9 +43994,9 @@ } }, "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", + "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", "dev": true, "requires": { "async-limiter": "~1.0.0" @@ -20616,17 +44034,19 @@ "xterm-addon-attach": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/xterm-addon-attach/-/xterm-addon-attach-0.6.0.tgz", - "integrity": "sha512-Mo8r3HTjI/EZfczVCwRU6jh438B4WLXxdFO86OB7bx0jGhwh2GdF4ifx/rP+OB+Cb2vmLhhVIZ00/7x3YSP3dg==" + "integrity": "sha512-Mo8r3HTjI/EZfczVCwRU6jh438B4WLXxdFO86OB7bx0jGhwh2GdF4ifx/rP+OB+Cb2vmLhhVIZ00/7x3YSP3dg==", + "requires": {} }, "xterm-addon-fit": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.5.0.tgz", - "integrity": "sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ==" + "integrity": "sha512-DsS9fqhXHacEmsPxBJZvfj2la30Iz9xk+UKjhQgnYNkrUIN5CYLbw7WEfz117c7+S86S/tpHPfvNxJsF5/G8wQ==", + "requires": {} }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { diff --git a/package.json b/package.json index 91d45434..4c684512 100644 --- a/package.json +++ b/package.json @@ -20,12 +20,15 @@ "axios": "0.21.4", "bootstrap": "4.6.0", "bootstrap-vue": "2.21.2", + "chart.js": "3.7.1", "core-js": "3.9.1", "date-fns": "2.19.0", "date-fns-tz": "1.1.3", + "highcharts-vue": "1.4.0", "js-cookie": "2.2.1", "lodash": "4.17.21", "vue": "2.6.12", + "vue-chartjs": "3.5.1", "vue-i18n": "8.24.2", "vue-router": "3.5.1", "vuelidate": "0.7.6", diff --git a/public/favicon.ico b/public/favicon.ico Binary files differindex fd9df18d..c2870480 100644 --- a/public/favicon.ico +++ b/public/favicon.ico diff --git a/src/assets/images/Radiobutton.svg b/src/assets/images/Radiobutton.svg new file mode 100644 index 00000000..9647a19f --- /dev/null +++ b/src/assets/images/Radiobutton.svg @@ -0,0 +1,4 @@ +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M8 12C10.2091 12 12 10.2091 12 8C12 5.79086 10.2091 4 8 4C5.79086 4 4 5.79086 4 8C4 10.2091 5.79086 12 8 12Z" fill="#E11717"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM14.4 8C14.4 11.5346 11.5346 14.4 8 14.4C4.46538 14.4 1.6 11.5346 1.6 8C1.6 4.46538 4.46538 1.6 8 1.6C11.5346 1.6 14.4 4.46538 14.4 8Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/amperage-icon.svg b/src/assets/images/amperage-icon.svg new file mode 100644 index 00000000..299777ff --- /dev/null +++ b/src/assets/images/amperage-icon.svg @@ -0,0 +1,3 @@ +<svg width="12" height="16" viewBox="0 0 12 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M2.78183 7.57895H5.48287L2.70925 13.1779L9.21817 8.42106H6.6L9.29075 2.82209L2.78183 7.57895ZM11.7614 0L11.1557 1.39631L8.19869 7.57895H12L0.238644 16L0.844344 14.6037L3.88418 8.42106H0L11.7614 0Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/arrow-down.svg b/src/assets/images/arrow-down.svg new file mode 100644 index 00000000..d20227fc --- /dev/null +++ b/src/assets/images/arrow-down.svg @@ -0,0 +1,3 @@ +<svg width="10" height="6" viewBox="0 0 10 6" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M1.76668 5.2584L5.00002 2.02506L8.23335 5.2584C8.55835 5.5834 9.08335 5.5834 9.40835 5.2584C9.73335 4.9334 9.73335 4.4084 9.40835 4.0834L5.58335 0.258398C5.25835 -0.0666016 4.73335 -0.0666016 4.40835 0.258398L0.58335 4.0834C0.25835 4.4084 0.25835 4.9334 0.58335 5.2584C0.90835 5.57507 1.44168 5.5834 1.76668 5.2584Z" fill="#0C1C29" fill-opacity="0.9"/> +</svg> diff --git a/src/assets/images/arrow-left.svg b/src/assets/images/arrow-left.svg new file mode 100644 index 00000000..feeb6c2f --- /dev/null +++ b/src/assets/images/arrow-left.svg @@ -0,0 +1,3 @@ +<svg width="6" height="10" viewBox="0 0 6 10" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M5.2584 8.23332L2.02506 4.99998L5.2584 1.76665C5.5834 1.44165 5.5834 0.91665 5.2584 0.59165C4.9334 0.26665 4.4084 0.26665 4.0834 0.59165L0.258398 4.41665C-0.0666016 4.74165 -0.0666016 5.26665 0.258398 5.59165L4.0834 9.41665C4.4084 9.74165 4.9334 9.74165 5.2584 9.41665C5.57507 9.09165 5.5834 8.55832 5.2584 8.23332Z" fill="#040A0F" fill-opacity="0.6"/> +</svg> diff --git a/src/assets/images/arrow-right.svg b/src/assets/images/arrow-right.svg new file mode 100644 index 00000000..ce3658eb --- /dev/null +++ b/src/assets/images/arrow-right.svg @@ -0,0 +1,3 @@ +<svg width="6" height="10" viewBox="0 0 6 10" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M0.741553 8.23332L3.97489 4.99998L0.741553 1.76665C0.416553 1.44165 0.416553 0.91665 0.741553 0.59165C1.06655 0.26665 1.59155 0.26665 1.91655 0.59165L5.74155 4.41665C6.06655 4.74165 6.06655 5.26665 5.74155 5.59165L1.91655 9.41665C1.59155 9.74165 1.06655 9.74165 0.741553 9.41665C0.424886 9.09165 0.416553 8.55832 0.741553 8.23332Z" fill="#040A0F" fill-opacity="0.6"/> +</svg> diff --git a/src/assets/images/arrow-up.svg b/src/assets/images/arrow-up.svg new file mode 100644 index 00000000..dc9971f7 --- /dev/null +++ b/src/assets/images/arrow-up.svg @@ -0,0 +1,3 @@ +<svg width="10" height="6" viewBox="0 0 10 6" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M1.76668 0.741797L5.00002 3.97513L8.23335 0.741797C8.55835 0.416797 9.08335 0.416797 9.40835 0.741797C9.73335 1.0668 9.73335 1.5918 9.40835 1.9168L5.58335 5.7418C5.25835 6.0668 4.73335 6.0668 4.40835 5.7418L0.58335 1.9168C0.25835 1.5918 0.25835 1.0668 0.58335 0.741797C0.90835 0.42513 1.44168 0.416797 1.76668 0.741797Z" fill="#0C1C29" fill-opacity="0.9"/> +</svg> diff --git a/src/assets/images/calendar-icon.svg b/src/assets/images/calendar-icon.svg new file mode 100644 index 00000000..cee494ec --- /dev/null +++ b/src/assets/images/calendar-icon.svg @@ -0,0 +1,3 @@ +<svg width="14" height="16" viewBox="0 0 14 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M12.3334 1.99935H11.6667V1.33268C11.6667 0.966016 11.3667 0.666016 11 0.666016C10.6334 0.666016 10.3334 0.966016 10.3334 1.33268V1.99935H3.66671V1.33268C3.66671 0.966016 3.36671 0.666016 3.00004 0.666016C2.63337 0.666016 2.33337 0.966016 2.33337 1.33268V1.99935H1.66671C0.933374 1.99935 0.333374 2.59935 0.333374 3.33268V13.9993C0.333374 14.7327 0.933374 15.3327 1.66671 15.3327H12.3334C13.0667 15.3327 13.6667 14.7327 13.6667 13.9993V3.33268C13.6667 2.59935 13.0667 1.99935 12.3334 1.99935ZM11.6667 13.9993H2.33337C1.96671 13.9993 1.66671 13.6993 1.66671 13.3327V5.33268H12.3334V13.3327C12.3334 13.6993 12.0334 13.9993 11.6667 13.9993Z" fill="#0C1C29" fill-opacity="0.9"/> +</svg> diff --git a/src/assets/images/console-images.svg b/src/assets/images/console-images.svg new file mode 100644 index 00000000..741f9d36 --- /dev/null +++ b/src/assets/images/console-images.svg @@ -0,0 +1,12 @@ +<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M20 40C31.0457 40 40 31.0457 40 20C40 8.95431 31.0457 0 20 0C8.95431 0 0 8.95431 0 20C0 31.0457 8.95431 40 20 40ZM20 30C14.4772 30 10 25.5228 10 20C10 14.4772 14.4772 10 20 10C25.5228 10 30 14.4772 30 20C30 25.5228 25.5228 30 20 30ZM20 27.5C24.1421 27.5 27.5 24.1421 27.5 20C27.5 15.8579 24.1421 12.5 20 12.5C15.8579 12.5 12.5 15.8579 12.5 20C12.5 24.1421 15.8579 27.5 20 27.5ZM20 23.75C17.9289 23.75 16.25 22.0711 16.25 20C16.25 17.9289 17.9289 16.25 20 16.25C22.0711 16.25 23.75 17.9289 23.75 20C23.75 22.0711 22.0711 23.75 20 23.75Z" fill="url(#paint0_linear_1642_14684)"/> +<defs> +<linearGradient id="paint0_linear_1642_14684" x1="6.25" y1="5" x2="35" y2="33.75" gradientUnits="userSpaceOnUse"> +<stop stop-color="#E11717"/> +<stop offset="0.135118" stop-color="#E82424"/> +<stop offset="0.307292" stop-color="#FF6A6A"/> +<stop offset="0.536458" stop-color="#E51E1E"/> +<stop offset="1" stop-color="#E51E1E"/> +</linearGradient> +</defs> +</svg> diff --git a/src/assets/images/edit-no.svg b/src/assets/images/edit-no.svg new file mode 100644 index 00000000..4cb0d8e8 --- /dev/null +++ b/src/assets/images/edit-no.svg @@ -0,0 +1,3 @@ +<svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M11.2496 0.258431C10.9246 -0.0665688 10.3996 -0.0665688 10.0746 0.258431L5.99961 4.3251L1.92461 0.250098C1.59961 -0.0749023 1.07461 -0.0749023 0.749609 0.250098C0.424609 0.575098 0.424609 1.1001 0.749609 1.4251L4.82461 5.5001L0.749609 9.5751C0.424609 9.9001 0.424609 10.4251 0.749609 10.7501C1.07461 11.0751 1.59961 11.0751 1.92461 10.7501L5.99961 6.6751L10.0746 10.7501C10.3996 11.0751 10.9246 11.0751 11.2496 10.7501C11.5746 10.4251 11.5746 9.9001 11.2496 9.5751L7.17461 5.5001L11.2496 1.4251C11.5663 1.10843 11.5663 0.575098 11.2496 0.258431Z" fill="#FF4141"/> +</svg> diff --git a/src/assets/images/edit-ok.svg b/src/assets/images/edit-ok.svg new file mode 100644 index 00000000..2534daca --- /dev/null +++ b/src/assets/images/edit-ok.svg @@ -0,0 +1,3 @@ +<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M4.49993 9.0001L1.58327 6.08343C1.25827 5.75843 0.741602 5.75843 0.416602 6.08343C0.0916016 6.40843 0.0916016 6.9251 0.416602 7.2501L3.90827 10.7418C4.23327 11.0668 4.75827 11.0668 5.08327 10.7418L13.9166 1.91676C14.2416 1.59176 14.2416 1.0751 13.9166 0.750098C13.5916 0.425098 13.0749 0.425098 12.7499 0.750098L4.49993 9.0001Z" fill="#4EBF19"/> +</svg> diff --git a/src/assets/images/event-logs/archive.svg b/src/assets/images/event-logs/archive.svg new file mode 100644 index 00000000..3fe4703f --- /dev/null +++ b/src/assets/images/event-logs/archive.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M15.1167 2.35833L13.9583 0.958333C13.7333 0.675 13.3917 0.5 13 0.5H3C2.60833 0.5 2.26667 0.675 2.03333 0.958333L0.883333 2.35833C0.641667 2.64167 0.5 3.01667 0.5 3.41667V13.8333C0.5 14.75 1.25 15.5 2.16667 15.5H13.8333C14.75 15.5 15.5 14.75 15.5 13.8333V3.41667C15.5 3.01667 15.3583 2.64167 15.1167 2.35833ZM7.70833 12.2917L3.41667 8H6.33333V6.33333H9.66667V8H12.5833L8.29167 12.2917C8.13333 12.45 7.86667 12.45 7.70833 12.2917ZM2.26667 2.16667L2.94167 1.33333H12.9417L13.725 2.16667H2.26667Z" fill="white"/> +</svg> diff --git a/src/assets/images/event-logs/fans.svg b/src/assets/images/event-logs/fans.svg new file mode 100644 index 00000000..ecee5ea3 --- /dev/null +++ b/src/assets/images/event-logs/fans.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M5.0071 14.5899C5.88063 15.1221 6.9438 15.3043 7.65225 15.3043L7.65225 9.70443C7.02871 9.57786 6.52632 9.1177 6.33946 8.51834C5.89187 8.63106 5.42752 8.80613 5.0071 9.06226C4.15196 9.58323 3.47829 10.4354 3.47829 11.8261C3.47829 13.2168 4.15196 14.0689 5.0071 14.5899ZM6.29572 7.65225H0.695659C0.695659 6.9438 0.877919 5.88063 1.41009 5.0071C1.93106 4.15196 2.7832 3.47829 4.17391 3.47829C5.56463 3.47829 6.41677 4.15196 6.93774 5.0071C7.19388 5.42754 7.36896 5.8919 7.48167 6.33951C6.88238 6.5264 6.42228 7.02876 6.29572 7.65225ZM8.34791 7.01596C8.23911 6.97751 8.12204 6.95659 8.00008 6.95659C7.86275 6.95659 7.73161 6.98312 7.61152 7.03133C7.3343 7.14262 7.11592 7.36946 7.01596 7.65225C6.97751 7.76104 6.95659 7.87812 6.95659 8.00008C6.95659 8.13735 6.9831 8.26843 7.03127 8.38849C7.14254 8.66578 7.36941 8.88422 7.65225 8.98419C7.76104 9.02264 7.87812 9.04356 8.00008 9.04356C8.18346 9.04356 8.35579 8.99625 8.50554 8.91318C8.7268 8.79044 8.89876 8.58961 8.98419 8.34791C9.02264 8.23911 9.04356 8.12204 9.04356 8.00008C9.04356 7.81664 8.99623 7.64425 8.91311 7.49447C8.79035 7.27328 8.58956 7.10138 8.34791 7.01596ZM9.586 7.28526C9.35937 6.78322 8.90135 6.40806 8.34791 6.29572V0.746159C8.96378 0.831471 9.67823 1.03288 10.2974 1.41009C11.1525 1.93106 11.8262 2.7832 11.8262 4.17391C11.8262 5.56463 11.1525 6.41677 10.2974 6.93774C10.0699 7.07632 9.82958 7.19117 9.586 7.28526ZM9.70444 8.34791C9.59208 8.9014 9.21686 9.35945 8.71476 9.58606C8.80884 9.82962 8.92369 10.0699 9.06226 10.2974C9.58323 11.1525 10.4354 11.8262 11.8261 11.8262C13.2168 11.8262 14.0689 11.1525 14.5899 10.2974C14.9671 9.67823 15.1685 8.96378 15.2538 8.34791H9.70444ZM8.34791 10.4501V16L7.65225 16C6.85343 16 5.65572 15.7997 4.64517 15.184C3.61623 14.5571 2.78264 13.4962 2.78264 11.8261C2.78264 10.1559 3.61623 9.09503 4.64517 8.46817C4.7141 8.42617 4.78391 8.38611 4.8544 8.34791H1.9281e-06L0 7.65225C0 6.85343 0.200349 5.65572 0.816001 4.64517C1.44286 3.61623 2.50376 2.78264 4.17391 2.78264C5.84407 2.78264 6.90497 3.61623 7.53183 4.64517C7.57388 4.7142 7.614 4.7841 7.65225 4.85469V0.695659V0.347832V0C8.45106 0 9.64878 0.200348 10.6593 0.816001C11.6883 1.44286 12.5219 2.50376 12.5219 4.17391C12.5219 5.84407 11.6883 6.90497 10.6593 7.53183C10.5903 7.57388 10.5204 7.614 10.4498 7.65225H15.3043H15.6522H16C16 8.45106 15.7997 9.64878 15.184 10.6593C14.5571 11.6883 13.4962 12.5219 11.8261 12.5219C10.1559 12.5219 9.09503 11.6883 8.46817 10.6593C8.42617 10.5904 8.38611 10.5206 8.34791 10.4501Z" fill="#0C1C29" fill-opacity="0.6"/> +</svg> diff --git a/src/assets/images/event-logs/memory-module.svg b/src/assets/images/event-logs/memory-module.svg new file mode 100644 index 00000000..842ad676 --- /dev/null +++ b/src/assets/images/event-logs/memory-module.svg @@ -0,0 +1,3 @@ +<svg width="12" height="16" viewBox="0 0 12 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M0.827586 0.820513V11.4872H11.1724V0.820513H0.827586ZM0.827586 15.1795V12.7179H11.1724V15.1795H0.827586ZM0.413793 0C0.185262 0 0 0.183678 0 0.410256V15.5897C0 15.8163 0.185262 16 0.413793 16H11.5862C11.8147 16 12 15.8163 12 15.5897V0.410256C12 0.183678 11.8147 0 11.5862 0H0.413793ZM2.89655 5.12821C2.55375 5.12821 2.27586 5.40372 2.27586 5.74359V6.13886C2.27586 6.41637 2.4632 6.65955 2.73324 6.73256L3.82216 6.9599C3.91217 6.98424 3.93103 7.12062 3.93103 7.21312V7.38462C3.93103 7.4979 3.8384 7.58974 3.72414 7.58974H2.48276V8H3.72414C4.06694 8 4.34483 7.72448 4.34483 7.38462V7.21312C4.34483 6.93561 4.20107 6.63712 3.93103 6.5641L2.84211 6.33676C2.7521 6.31242 2.68966 6.23137 2.68966 6.13886V5.74359C2.68966 5.6303 2.78229 5.53846 2.89655 5.53846H4.13793V5.12821H2.89655ZM5.37931 5.12821C5.03651 5.12821 4.75862 5.40372 4.75862 5.74359V6.13886C4.75862 6.41637 4.94596 6.65955 5.216 6.73256L6.30492 6.9599C6.39493 6.98424 6.41379 7.12062 6.41379 7.21312V7.38462C6.41379 7.4979 6.32116 7.58974 6.2069 7.58974H4.96552V8H6.2069C6.54969 8 6.82759 7.72448 6.82759 7.38462V7.21312C6.82759 6.93561 6.68383 6.63712 6.41379 6.5641L5.32487 6.33676C5.23486 6.31242 5.17241 6.23137 5.17241 6.13886V5.74359C5.17241 5.6303 5.26504 5.53846 5.37931 5.53846H6.62069V5.12821H5.37931ZM2.89655 1.64103H1.65517V2.87179H2.89655V1.64103ZM10.3448 13.5385H7.44828V14.359H10.3448V13.5385ZM9.10345 1.64103H10.3448V2.87179H9.10345V1.64103ZM7.86207 5.12821H7.65517V5.33333V7.79487V8H7.86207H8.81085C9.05307 8 9.28537 7.9046 9.45664 7.73479C9.62792 7.56498 9.72414 7.33467 9.72414 7.09452V6.03368C9.72414 5.79354 9.62792 5.56322 9.45664 5.39341C9.28537 5.2236 9.05307 5.12821 8.81085 5.12821H7.86207ZM8.06897 7.58974V5.53846H8.81085C8.94333 5.53846 9.07037 5.59064 9.16405 5.68351C9.25772 5.77638 9.31035 5.90234 9.31035 6.03368V7.09452C9.31035 7.22586 9.25772 7.35182 9.16405 7.4447C9.07037 7.53757 8.94333 7.58974 8.81085 7.58974H8.06897Z" fill="#0C1C29" fill-opacity="0.6"/> +</svg> diff --git a/src/assets/images/event-logs/not-resolved.svg b/src/assets/images/event-logs/not-resolved.svg new file mode 100644 index 00000000..6778cd17 --- /dev/null +++ b/src/assets/images/event-logs/not-resolved.svg @@ -0,0 +1,3 @@ +<svg width="12" height="14" viewBox="0 0 12 14" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M5.99996 2.9998V4.19313C5.99996 4.49313 6.35996 4.6398 6.56663 4.42646L8.42663 2.56646C8.55996 2.43313 8.55996 2.22646 8.42663 2.09313L6.56663 0.233131C6.35996 0.0264643 5.99996 0.173131 5.99996 0.473131V1.66646C3.05329 1.66646 0.666626 4.05313 0.666626 6.9998C0.666626 7.69313 0.799959 8.3598 1.04663 8.96646C1.22663 9.41313 1.79996 9.53313 2.13996 9.19313C2.31996 9.01313 2.39329 8.7398 2.29329 8.4998C2.09996 8.0398 1.99996 7.52646 1.99996 6.9998C1.99996 4.79313 3.79329 2.9998 5.99996 2.9998ZM9.85996 4.80646C9.67996 4.98646 9.60663 5.26646 9.70662 5.4998C9.89329 5.96646 9.99996 6.47313 9.99996 6.9998C9.99996 9.20646 8.20663 10.9998 5.99996 10.9998V9.80646C5.99996 9.50646 5.63996 9.3598 5.43329 9.57313L3.57329 11.4331C3.43996 11.5665 3.43996 11.7731 3.57329 11.9065L5.43329 13.7665C5.63996 13.9731 5.99996 13.8265 5.99996 13.5331V12.3331C8.94663 12.3331 11.3333 9.94646 11.3333 6.9998C11.3333 6.30646 11.2 5.6398 10.9533 5.03313C10.7733 4.58646 10.2 4.46646 9.85996 4.80646Z" fill="#0C1C29" fill-opacity="0.3"/> +</svg> diff --git a/src/assets/images/event-logs/processor.svg b/src/assets/images/event-logs/processor.svg new file mode 100644 index 00000000..fdf1a119 --- /dev/null +++ b/src/assets/images/event-logs/processor.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M5.05263 0H4.21053V2.10526H2.94737H2.10526V2.94737V4.63158H0V5.47368H2.10526V6.73684H0V7.57895H2.10526V8.8421H0V9.68421H2.10526V10.9474H0V11.7895H2.10526L2.10526 13.0526V13.8947H2.94737H4.21053V16H5.05263V13.8947H6.31579V16H7.15789V13.8947H8.42105V16H9.26316V13.8947H10.5263V16H11.3684V13.8947H13.0526H13.8947V13.0526V11.7895H16V10.9474H13.8947V9.68421H16V8.8421H13.8947V7.57895H16V6.73684H13.8947V5.47368H16V4.63158H13.8947V2.94737V2.10526H13.0526H11.3684V0H10.5263V2.10526H9.26316V0H8.42105V2.10526H7.15789V0H6.31579V2.10526H5.05263V0ZM13.0526 2.94737H2.94737V13.0526H13.0526V2.94737ZM5.47368 5.47368H10.5263V10.5263H5.47368V5.47368ZM4.63158 4.63158H5.47368H10.5263H11.3684V5.47368V10.5263V11.3684H10.5263H5.47368H4.63158V10.5263V5.47368V4.63158Z" fill="#0C1C29" fill-opacity="0.6"/> +</svg> diff --git a/src/assets/images/event-logs/raid-controllers.svg b/src/assets/images/event-logs/raid-controllers.svg new file mode 100644 index 00000000..a81c887a --- /dev/null +++ b/src/assets/images/event-logs/raid-controllers.svg @@ -0,0 +1,3 @@ +<svg width="16" height="13" viewBox="0 0 16 13" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M0.559671 12.461V0.539024H1.21811V12.461H0.559671ZM0 0.253659C0 0.113567 0.117917 0 0.263374 0H1.5144C1.65986 0 1.77778 0.113567 1.77778 0.253659V0.665854H15.7037C15.8673 0.665854 16 0.793615 16 0.951219V12.0963C16 12.2539 15.8673 12.3817 15.7037 12.3817H6.32099C6.15734 12.3817 6.02469 12.2539 6.02469 12.0963V11.0341V10.8915C6.02469 10.6375 5.81097 10.4317 5.54733 10.4317C5.28368 10.4317 5.06996 10.6375 5.06996 10.8915V11.0341V12.0963C5.06996 12.2539 4.9373 12.3817 4.77366 12.3817H1.77778V12.7463C1.77778 12.8864 1.65986 13 1.5144 13H0.263374C0.117917 13 0 12.8864 0 12.7463V0.253659ZM6.55144 11.0341V11.8744H7.11111V11.5415C7.11111 11.4189 7.21429 11.3195 7.34156 11.3195H7.37449C7.50176 11.3195 7.60494 11.4189 7.60494 11.5415V11.8744H8.16461V11.5415C8.16461 11.4189 8.26779 11.3195 8.39506 11.3195H8.42798C8.55526 11.3195 8.65844 11.4189 8.65844 11.5415V11.8744H9.18518V11.5415C9.18518 11.4189 9.28836 11.3195 9.41564 11.3195H9.44856C9.57584 11.3195 9.67901 11.4189 9.67901 11.5415V11.8744H10.2387V11.5415C10.2387 11.4189 10.3419 11.3195 10.4691 11.3195H10.5021C10.6293 11.3195 10.7325 11.4189 10.7325 11.5415V11.8744H11.2922V11.5415C11.2922 11.4189 11.3954 11.3195 11.5226 11.3195H11.5556C11.6828 11.3195 11.786 11.4189 11.786 11.5415V11.8744H12.3457V11.5415C12.3457 11.4189 12.4489 11.3195 12.5761 11.3195H12.6091C12.7363 11.3195 12.8395 11.4189 12.8395 11.5415V11.8744H13.3663V11.5415C13.3663 11.4189 13.4694 11.3195 13.5967 11.3195H13.6296C13.7569 11.3195 13.8601 11.4189 13.8601 11.5415V11.8744H14.4198V11.5098C14.4198 11.3872 14.5229 11.2878 14.6502 11.2878H14.6831C14.8104 11.2878 14.9136 11.3872 14.9136 11.5098V11.8744H15.4733V11.0341H6.55144ZM15.4733 10.5268V1.17317H1.77778V10.5268H4.61703C4.7665 10.1735 5.12671 9.92439 5.54733 9.92439C5.96794 9.92439 6.32815 10.1735 6.47762 10.5268H15.4733ZM1.77778 11.8744V11.0341H4.54321V11.8744H4.01646V11.5415C4.01646 11.4189 3.91328 11.3195 3.78601 11.3195H3.75309C3.62581 11.3195 3.52263 11.4189 3.52263 11.5415V11.8744H2.96296V11.5415C2.96296 11.4189 2.85979 11.3195 2.73251 11.3195H2.69959C2.57231 11.3195 2.46914 11.4189 2.46914 11.5415V11.8744H1.77778ZM3.16049 2.6V4.3439H6.09053V2.6H3.16049ZM2.83128 2.06098C2.704 2.06098 2.60082 2.16035 2.60082 2.28293V4.66098C2.60082 4.78356 2.704 4.88293 2.83128 4.88293H6.41975C6.54703 4.88293 6.65021 4.78356 6.65021 4.66098V2.28293C6.65021 2.16035 6.54703 2.06098 6.41975 2.06098H2.83128ZM3.16049 8.02195V6.27805H6.09053V8.02195H3.16049ZM2.60082 5.96098C2.60082 5.8384 2.704 5.73902 2.83128 5.73902H6.41975C6.54703 5.73902 6.65021 5.8384 6.65021 5.96098V8.33902C6.65021 8.4616 6.54703 8.56098 6.41975 8.56098H2.83128C2.704 8.56098 2.60082 8.4616 2.60082 8.33902V5.96098ZM10.4362 3.42439V6.02439H13.1358V3.42439H10.4362ZM10.107 2.88537C9.97972 2.88537 9.87654 2.98474 9.87654 3.10732V6.34146C9.87654 6.46404 9.97972 6.56341 10.107 6.56341H13.465C13.5923 6.56341 13.6955 6.46404 13.6955 6.34146V3.10732C13.6955 2.98474 13.5923 2.88537 13.465 2.88537H10.107ZM12.3457 4.72439C12.3457 5.04594 12.0812 5.29512 11.7695 5.29512C11.4579 5.29512 11.1934 5.04594 11.1934 4.72439C11.1934 4.40284 11.4579 4.15366 11.7695 4.15366C12.0812 4.15366 12.3457 4.40284 12.3457 4.72439ZM12.7737 4.72439C12.7737 5.26725 12.3241 5.70732 11.7695 5.70732C11.215 5.70732 10.7654 5.26725 10.7654 4.72439C10.7654 4.18153 11.215 3.74146 11.7695 3.74146C12.3241 3.74146 12.7737 4.18153 12.7737 4.72439ZM9.0535 8.68781C9.0535 8.56523 9.15667 8.46585 9.28395 8.46585H9.87654C10.0038 8.46585 10.107 8.56523 10.107 8.68781V8.75122C10.107 8.8738 10.0038 8.97317 9.87654 8.97317H9.28395C9.15667 8.97317 9.0535 8.8738 9.0535 8.75122V8.68781ZM12.3786 8.46585C12.2513 8.46585 12.1481 8.56523 12.1481 8.68781V8.75122C12.1481 8.8738 12.2513 8.97317 12.3786 8.97317H12.9712C13.0985 8.97317 13.2016 8.8738 13.2016 8.75122V8.68781C13.2016 8.56523 13.0985 8.46585 12.9712 8.46585H12.3786ZM13.8601 3.55122C13.8601 3.42864 13.9633 3.32927 14.0905 3.32927H14.4856C14.6129 3.32927 14.716 3.42864 14.716 3.55122V3.58293C14.716 3.70551 14.6129 3.80488 14.4856 3.80488H14.0905C13.9633 3.80488 13.8601 3.70551 13.8601 3.58293V3.55122ZM9.08642 3.32927C8.95914 3.32927 8.85597 3.42864 8.85597 3.55122V3.58293C8.85597 3.70551 8.95914 3.80488 9.08642 3.80488H9.48148C9.60876 3.80488 9.71193 3.70551 9.71193 3.58293V3.55122C9.71193 3.42864 9.60876 3.32927 9.48148 3.32927H9.08642ZM13.0041 1.87073C13.1314 1.87073 13.2346 1.9701 13.2346 2.09268V2.47317C13.2346 2.59575 13.1314 2.69512 13.0041 2.69512H12.9712C12.8439 2.69512 12.7407 2.59575 12.7407 2.47317V2.09268C12.7407 1.9701 12.8439 1.87073 12.9712 1.87073H13.0041ZM13.2346 6.97561C13.2346 6.85303 13.1314 6.75366 13.0041 6.75366H12.9712C12.8439 6.75366 12.7407 6.85303 12.7407 6.97561V7.3561C12.7407 7.47868 12.8439 7.57805 12.9712 7.57805H13.0041C13.1314 7.57805 13.2346 7.47868 13.2346 7.3561V6.97561ZM14.0905 4.12195C13.9633 4.12195 13.8601 4.22132 13.8601 4.3439V4.37561C13.8601 4.49819 13.9633 4.59756 14.0905 4.59756H14.4856C14.6129 4.59756 14.716 4.49819 14.716 4.37561V4.3439C14.716 4.22132 14.6129 4.12195 14.4856 4.12195H14.0905ZM8.85597 4.3439C8.85597 4.22132 8.95914 4.12195 9.08642 4.12195H9.48148C9.60876 4.12195 9.71193 4.22132 9.71193 4.3439V4.37561C9.71193 4.49819 9.60876 4.59756 9.48148 4.59756H9.08642C8.95914 4.59756 8.85597 4.49819 8.85597 4.37561V4.3439ZM12.4115 2.09268C12.4115 1.9701 12.3083 1.87073 12.1811 1.87073H12.1481C12.0209 1.87073 11.9177 1.9701 11.9177 2.09268V2.47317C11.9177 2.59575 12.0209 2.69512 12.1481 2.69512H12.1811C12.3083 2.69512 12.4115 2.59575 12.4115 2.47317V2.09268ZM12.1811 6.75366C12.3083 6.75366 12.4115 6.85303 12.4115 6.97561V7.3561C12.4115 7.47868 12.3083 7.57805 12.1811 7.57805H12.1481C12.0209 7.57805 11.9177 7.47868 11.9177 7.3561V6.97561C11.9177 6.85303 12.0209 6.75366 12.1481 6.75366H12.1811ZM13.8601 5.10488C13.8601 4.9823 13.9633 4.88293 14.0905 4.88293H14.4856C14.6129 4.88293 14.716 4.9823 14.716 5.10488V5.13659C14.716 5.25916 14.6129 5.35854 14.4856 5.35854H14.0905C13.9633 5.35854 13.8601 5.25916 13.8601 5.13659V5.10488ZM9.08642 4.88293C8.95914 4.88293 8.85597 4.9823 8.85597 5.10488V5.13659C8.85597 5.25916 8.95914 5.35854 9.08642 5.35854H9.48148C9.60876 5.35854 9.71193 5.25916 9.71193 5.13659V5.10488C9.71193 4.9823 9.60876 4.88293 9.48148 4.88293H9.08642ZM11.3909 1.87073C11.5182 1.87073 11.6214 1.9701 11.6214 2.09268V2.47317C11.6214 2.59575 11.5182 2.69512 11.3909 2.69512H11.358C11.2307 2.69512 11.1276 2.59575 11.1276 2.47317V2.09268C11.1276 1.9701 11.2307 1.87073 11.358 1.87073H11.3909ZM11.6214 6.97561C11.6214 6.85303 11.5182 6.75366 11.3909 6.75366H11.358C11.2307 6.75366 11.1276 6.85303 11.1276 6.97561V7.3561C11.1276 7.47868 11.2307 7.57805 11.358 7.57805H11.3909C11.5182 7.57805 11.6214 7.47868 11.6214 7.3561V6.97561ZM13.8601 5.86585C13.8601 5.74327 13.9633 5.6439 14.0905 5.6439H14.4856C14.6129 5.6439 14.716 5.74327 14.716 5.86585V5.89756C14.716 6.02014 14.6129 6.11951 14.4856 6.11951H14.0905C13.9633 6.11951 13.8601 6.02014 13.8601 5.89756V5.86585ZM9.08642 5.6439C8.95914 5.6439 8.85597 5.74327 8.85597 5.86585V5.89756C8.85597 6.02014 8.95914 6.11951 9.08642 6.11951H9.48148C9.60876 6.11951 9.71193 6.02014 9.71193 5.89756V5.86585C9.71193 5.74327 9.60876 5.6439 9.48148 5.6439H9.08642ZM10.6008 1.87073C10.7281 1.87073 10.8313 1.9701 10.8313 2.09268V2.47317C10.8313 2.59575 10.7281 2.69512 10.6008 2.69512H10.5679C10.4406 2.69512 10.3374 2.59575 10.3374 2.47317V2.09268C10.3374 1.9701 10.4406 1.87073 10.5679 1.87073H10.6008ZM10.8313 6.97561C10.8313 6.85303 10.7281 6.75366 10.6008 6.75366H10.5679C10.4406 6.75366 10.3374 6.85303 10.3374 6.97561V7.3561C10.3374 7.47868 10.4406 7.57805 10.5679 7.57805H10.6008C10.7281 7.57805 10.8313 7.47868 10.8313 7.3561V6.97561ZM13.6955 8.68781C13.6955 8.56523 13.7986 8.46585 13.9259 8.46585H14.5185C14.6458 8.46585 14.749 8.56523 14.749 8.68781V8.75122C14.749 8.8738 14.6458 8.97317 14.5185 8.97317H13.9259C13.7986 8.97317 13.6955 8.8738 13.6955 8.75122V8.68781ZM13.9259 9.44878C13.7986 9.44878 13.6955 9.54815 13.6955 9.67073V9.73415C13.6955 9.85673 13.7986 9.9561 13.9259 9.9561H14.5185C14.6458 9.9561 14.749 9.85673 14.749 9.73415V9.67073C14.749 9.54815 14.6458 9.44878 14.5185 9.44878H13.9259ZM10.6008 9.67073C10.6008 9.54815 10.704 9.44878 10.8313 9.44878H11.4239C11.5511 9.44878 11.6543 9.54815 11.6543 9.67073V9.73415C11.6543 9.85673 11.5511 9.9561 11.4239 9.9561H10.8313C10.704 9.9561 10.6008 9.85673 10.6008 9.73415V9.67073ZM9.28395 9.44878C9.15667 9.44878 9.0535 9.54815 9.0535 9.67073V9.73415C9.0535 9.85673 9.15667 9.9561 9.28395 9.9561H9.87654C10.0038 9.9561 10.107 9.85673 10.107 9.73415V9.67073C10.107 9.54815 10.0038 9.44878 9.87654 9.44878H9.28395Z" fill="#0C1C29" fill-opacity="0.6"/> +</svg> diff --git a/src/assets/images/event-logs/resolved-button.svg b/src/assets/images/event-logs/resolved-button.svg new file mode 100644 index 00000000..40e76bf0 --- /dev/null +++ b/src/assets/images/event-logs/resolved-button.svg @@ -0,0 +1,3 @@ +<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M9.00001 0.666748C4.40001 0.666748 0.666672 4.40008 0.666672 9.00008C0.666672 13.6001 4.40001 17.3334 9.00001 17.3334C13.6 17.3334 17.3333 13.6001 17.3333 9.00008C17.3333 4.40008 13.6 0.666748 9.00001 0.666748ZM9.00001 15.6667C5.32501 15.6667 2.33334 12.6751 2.33334 9.00008C2.33334 5.32508 5.32501 2.33341 9.00001 2.33341C12.675 2.33341 15.6667 5.32508 15.6667 9.00008C15.6667 12.6751 12.675 15.6667 9.00001 15.6667ZM12.2333 5.90841L7.33334 10.8084L5.76667 9.24175C5.44167 8.91675 4.91667 8.91675 4.59167 9.24175C4.26667 9.56675 4.26667 10.0917 4.59167 10.4167L6.75001 12.5751C7.07501 12.9001 7.60001 12.9001 7.92501 12.5751L13.4167 7.08342C13.7417 6.75841 13.7417 6.23342 13.4167 5.90841C13.0917 5.58342 12.5583 5.58342 12.2333 5.90841Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/event-logs/resolved.svg b/src/assets/images/event-logs/resolved.svg new file mode 100644 index 00000000..ae48e6aa --- /dev/null +++ b/src/assets/images/event-logs/resolved.svg @@ -0,0 +1,3 @@ +<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M7.00004 0.333496C3.32004 0.333496 0.333374 3.32016 0.333374 7.00016C0.333374 10.6802 3.32004 13.6668 7.00004 13.6668C10.68 13.6668 13.6667 10.6802 13.6667 7.00016C13.6667 3.32016 10.68 0.333496 7.00004 0.333496ZM7.00004 12.3335C4.06004 12.3335 1.66671 9.94016 1.66671 7.00016C1.66671 4.06016 4.06004 1.66683 7.00004 1.66683C9.94004 1.66683 12.3334 4.06016 12.3334 7.00016C12.3334 9.94016 9.94004 12.3335 7.00004 12.3335ZM9.58671 4.52683L5.66671 8.44683L4.41337 7.1935C4.15337 6.9335 3.73337 6.9335 3.47337 7.1935C3.21337 7.4535 3.21337 7.8735 3.47337 8.1335L5.20004 9.86016C5.46004 10.1202 5.88004 10.1202 6.14004 9.86016L10.5334 5.46683C10.7934 5.20683 10.7934 4.78683 10.5334 4.52683C10.2734 4.26683 9.84671 4.26683 9.58671 4.52683Z" fill="#4EBF19"/> +</svg> diff --git a/src/assets/images/event-logs/sort-icon-rotate.svg b/src/assets/images/event-logs/sort-icon-rotate.svg new file mode 100644 index 00000000..b4c8833a --- /dev/null +++ b/src/assets/images/event-logs/sort-icon-rotate.svg @@ -0,0 +1,3 @@ +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M3 6H9V8H3V6ZM3 18V16H21V18H3ZM3 11H15V13H3V11Z" fill="#0C1C29"/> +</svg> diff --git a/src/assets/images/event-logs/sort-icon.svg b/src/assets/images/event-logs/sort-icon.svg new file mode 100644 index 00000000..885ae23d --- /dev/null +++ b/src/assets/images/event-logs/sort-icon.svg @@ -0,0 +1,3 @@ +<svg width="16" height="10" viewBox="0 0 16 10" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M1.33333 10H4.66667C5.125 10 5.5 9.625 5.5 9.16667C5.5 8.70833 5.125 8.33333 4.66667 8.33333H1.33333C0.875 8.33333 0.5 8.70833 0.5 9.16667C0.5 9.625 0.875 10 1.33333 10ZM0.5 0.833333C0.5 1.29167 0.875 1.66667 1.33333 1.66667H14.6667C15.125 1.66667 15.5 1.29167 15.5 0.833333C15.5 0.375 15.125 0 14.6667 0H1.33333C0.875 0 0.5 0.375 0.5 0.833333ZM1.33333 5.83333H9.66667C10.125 5.83333 10.5 5.45833 10.5 5C10.5 4.54167 10.125 4.16667 9.66667 4.16667H1.33333C0.875 4.16667 0.5 4.54167 0.5 5C0.5 5.45833 0.875 5.83333 1.33333 5.83333Z" fill="#0C1C29" fill-opacity="0.3"/> +</svg> diff --git a/src/assets/images/event-logs/time.svg b/src/assets/images/event-logs/time.svg new file mode 100644 index 00000000..2a8c2cfd --- /dev/null +++ b/src/assets/images/event-logs/time.svg @@ -0,0 +1,3 @@ +<svg width="13" height="15" viewBox="0 0 13 15" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M8.33328 0.666504H5.66661C5.29994 0.666504 4.99994 0.966504 4.99994 1.33317C4.99994 1.69984 5.29994 1.99984 5.66661 1.99984H8.33328C8.69994 1.99984 8.99994 1.69984 8.99994 1.33317C8.99994 0.966504 8.69994 0.666504 8.33328 0.666504ZM6.99994 9.33317C7.36661 9.33317 7.66661 9.03317 7.66661 8.6665V5.99984C7.66661 5.63317 7.36661 5.33317 6.99994 5.33317C6.63328 5.33317 6.33328 5.63317 6.33328 5.99984V8.6665C6.33328 9.03317 6.63328 9.33317 6.99994 9.33317ZM11.6866 4.9265L12.1866 4.4265C12.4399 4.17317 12.4466 3.75317 12.1866 3.49317L12.1799 3.4865C11.9199 3.2265 11.5066 3.23317 11.2466 3.4865L10.7466 3.9865C9.71328 3.15984 8.41328 2.6665 6.99994 2.6665C3.79994 2.6665 1.07994 5.3065 0.999945 8.5065C0.913278 11.8932 3.62661 14.6665 6.99994 14.6665C10.3199 14.6665 12.9999 11.9798 12.9999 8.6665C12.9999 7.25317 12.5066 5.95317 11.6866 4.9265ZM6.99994 13.3332C4.41994 13.3332 2.33328 11.2465 2.33328 8.6665C2.33328 6.0865 4.41994 3.99984 6.99994 3.99984C9.57994 3.99984 11.6666 6.0865 11.6666 8.6665C11.6666 11.2465 9.57994 13.3332 6.99994 13.3332Z" fill="#0C1C29" fill-opacity="0.3"/> +</svg> diff --git a/src/assets/images/fans-page/fans-icon.svg b/src/assets/images/fans-page/fans-icon.svg new file mode 100644 index 00000000..eddb89ab --- /dev/null +++ b/src/assets/images/fans-page/fans-icon.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M5.0071 14.5899C5.88063 15.1221 6.9438 15.3043 7.65225 15.3043L7.65225 9.70443C7.02871 9.57786 6.52632 9.1177 6.33946 8.51834C5.89187 8.63106 5.42752 8.80613 5.0071 9.06226C4.15196 9.58323 3.47829 10.4354 3.47829 11.8261C3.47829 13.2168 4.15196 14.0689 5.0071 14.5899ZM6.29572 7.65225H0.695659C0.695659 6.9438 0.877919 5.88063 1.41009 5.0071C1.93106 4.15196 2.7832 3.47829 4.17391 3.47829C5.56463 3.47829 6.41677 4.15196 6.93774 5.0071C7.19388 5.42754 7.36896 5.8919 7.48167 6.33951C6.88238 6.5264 6.42228 7.02876 6.29572 7.65225ZM8.34791 7.01596C8.23911 6.97751 8.12204 6.95659 8.00008 6.95659C7.86275 6.95659 7.73161 6.98312 7.61152 7.03133C7.3343 7.14262 7.11592 7.36946 7.01596 7.65225C6.97751 7.76104 6.95659 7.87812 6.95659 8.00008C6.95659 8.13735 6.9831 8.26843 7.03127 8.38849C7.14254 8.66578 7.36941 8.88422 7.65225 8.98419C7.76104 9.02264 7.87812 9.04356 8.00008 9.04356C8.18346 9.04356 8.35579 8.99625 8.50554 8.91318C8.7268 8.79044 8.89876 8.58961 8.98419 8.34791C9.02264 8.23911 9.04356 8.12204 9.04356 8.00008C9.04356 7.81664 8.99623 7.64425 8.91311 7.49447C8.79035 7.27328 8.58956 7.10138 8.34791 7.01596ZM9.586 7.28526C9.35937 6.78322 8.90135 6.40806 8.34791 6.29572V0.746159C8.96378 0.831471 9.67823 1.03288 10.2974 1.41009C11.1525 1.93106 11.8262 2.7832 11.8262 4.17391C11.8262 5.56463 11.1525 6.41677 10.2974 6.93774C10.0699 7.07632 9.82958 7.19117 9.586 7.28526ZM9.70444 8.34791C9.59208 8.9014 9.21686 9.35945 8.71476 9.58606C8.80884 9.82962 8.92369 10.0699 9.06226 10.2974C9.58323 11.1525 10.4354 11.8262 11.8261 11.8262C13.2168 11.8262 14.0689 11.1525 14.5899 10.2974C14.9671 9.67823 15.1685 8.96378 15.2538 8.34791H9.70444ZM8.34791 10.4501V16L7.65225 16C6.85343 16 5.65572 15.7997 4.64517 15.184C3.61623 14.5571 2.78264 13.4962 2.78264 11.8261C2.78264 10.1559 3.61623 9.09503 4.64517 8.46817C4.7141 8.42617 4.78391 8.38611 4.8544 8.34791H1.9281e-06L0 7.65225C0 6.85343 0.200349 5.65572 0.816001 4.64517C1.44286 3.61623 2.50376 2.78264 4.17391 2.78264C5.84407 2.78264 6.90497 3.61623 7.53183 4.64517C7.57388 4.7142 7.614 4.7841 7.65225 4.85469V0.695659V0.347832V0C8.45106 0 9.64878 0.200348 10.6593 0.816001C11.6883 1.44286 12.5219 2.50376 12.5219 4.17391C12.5219 5.84407 11.6883 6.90497 10.6593 7.53183C10.5903 7.57388 10.5204 7.614 10.4498 7.65225H15.3043H15.6522H16C16 8.45106 15.7997 9.64878 15.184 10.6593C14.5571 11.6883 13.4962 12.5219 11.8261 12.5219C10.1559 12.5219 9.09503 11.6883 8.46817 10.6593C8.42617 10.5904 8.38611 10.5206 8.34791 10.4501Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/frequency-icon.svg b/src/assets/images/frequency-icon.svg new file mode 100644 index 00000000..65a3d913 --- /dev/null +++ b/src/assets/images/frequency-icon.svg @@ -0,0 +1,3 @@ +<svg width="20" height="14" viewBox="0 0 20 14" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M2.19997 12.7795L7.49997 7.47954L10.75 10.7295C11.16 11.1395 11.82 11.1195 12.2 10.6895L19.37 2.61954C19.72 2.22954 19.7 1.62954 19.33 1.24954C18.93 0.84954 18.26 0.85954 17.88 1.28954L11.49 8.46954L8.19997 5.17954C7.80997 4.78954 7.17997 4.78954 6.78997 5.17954L0.699971 11.2795C0.309971 11.6695 0.309971 12.2995 0.699971 12.6895L0.789971 12.7795C1.17997 13.1695 1.81997 13.1695 2.19997 12.7795Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/header/header-avatar.svg b/src/assets/images/header/header-avatar.svg new file mode 100644 index 00000000..70a97d0f --- /dev/null +++ b/src/assets/images/header/header-avatar.svg @@ -0,0 +1,10 @@ +<svg width="34" height="34" viewBox="0 0 34 34" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<rect x="3" y="3" width="28" height="28" rx="14" fill="url(#pattern0)"/> +<path d="M17 32C8.71573 32 2 25.2843 2 17H0C0 26.3888 7.61116 34 17 34V32ZM32 17C32 25.2843 25.2843 32 17 32V34C26.3888 34 34 26.3888 34 17H32ZM17 2C25.2843 2 32 8.71573 32 17H34C34 7.61116 26.3888 0 17 0V2ZM17 0C7.61116 0 0 7.61116 0 17H2C2 8.71573 8.71573 2 17 2V0Z" fill="#E11717"/> +<defs> +<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1"> +<use xlink:href="#image0_1034_21700" transform="translate(0 -0.25) scale(0.003125)"/> +</pattern> +<image id="image0_1034_21700" width="320" height="480" xlink:href="data:image/jpeg;base64,/9j/4QBoRXhpZgAATU0AKgAAAAgAAgEOAAIAAAAoAAAAJgE7AAIAAAASAAAATgAAAABodHRwczovL3Vuc3BsYXNoLmNvbS9waG90b3MvQ0dLWU5OM3V1Vm8ARmlsaXBwIFJvbWFub3Zza2kA/+AAEEpGSUYAAQEBAEgASAAA/+ICHElDQ19QUk9GSUxFAAEBAAACDGxjbXMCEAAAbW50clJHQiBYWVogB9wAAQAZAAMAKQA5YWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1sY21zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKZGVzYwAAAPwAAABeY3BydAAAAVwAAAALd3RwdAAAAWgAAAAUYmtwdAAAAXwAAAAUclhZWgAAAZAAAAAUZ1hZWgAAAaQAAAAUYlhZWgAAAbgAAAAUclRSQwAAAcwAAABAZ1RSQwAAAcwAAABAYlRSQwAAAcwAAABAZGVzYwAAAAAAAAADYzIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABJWAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1YWVogAAAAAAAAAxYAAAMzAAACpFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2N1cnYAAAAAAAAAGgAAAMsByQNjBZIIawv2ED8VURs0IfEpkDIYO5JGBVF3Xe1rcHoFibGafKxpv33Tw+kw////2wCEAAICAgMDAwMEBAMFBQUFBQcGBgYGBwoHCAcIBwoPCgsKCgsKDw4RDg0OEQ4YExERExgcGBcYHCIfHyIrKSs4OEsBAgICAwMDAwQEAwUFBQUFBwYGBgYHCgcIBwgHCg8KCwoKCwoPDhEODQ4RDhgTERETGBwYFxgcIh8fIispKzg4S//CABEIAeABQAMBIgACEQEDEQH/xAAeAAAABgMBAQAAAAAAAAAAAAACAwQFBgcAAQgJCv/aAAgBAQAAAACR5mD2LN4MWzR7MNNOUO7tInZxcHtY6PtV8TFBHvYBSIId7FsWtizYjcMMPMPcHZ9e1yx0UDd6q5kKDvN4J91rMHmgDEHFBhuCNNEpcHZ9kqwgw5VV1HlZmswTyEOB2LeswzagwwzYBnHqFLrIpMNGUvqisC81rM08YXrWtqM0EwwYxmGD1sZqhS4yR9NblNWwMnWwZrbqEvQQiUCGA003WCOMMAWecYcukDxvVYQ8vNaDmLw6BgRiMGIItiOGYefgdCMPMOflims42HWaBmLNBLFvQ97GLZQFAD15p4cAcYI05Y4QRmBoOBzSrYNa2IWZgcS6ORVTLrKWNVbIZnN1p48MjSIANYHMV6LKN0dmBKwmPMCeFc9UzY9vwBnYnN16d6GcVJrCmBrABzSrQdG7DveApniGDR1ylEbr3JdKW0iqHyxrr74mS5mKBrAh0BXvWCGLQSucORra5orJYLFa+OGJrGqtikM66m7okaUGtYEOgrhZgtYICfjyYc28urkSBqRqzxO01qdq05WD1Q7qugrmzeB0FzMNBgdBJScZVxTzFFW2MJ0iBzXyVbD06bDOvO8Ku4N9T7K3mBC8Oz2JG3I0zDB+Jt1NTscTJCt7dDH6MpRHbKk3qdOuEOwbhkm8CGQWBYD4THofEOO+FrVgVQxJNgJC/q2RpXLYQmNf1jN3nefnn6AdBGOOAA+Wjbc6eC6m8iqd5xreVy+FBnU3m8jQ1tXi6TUVHXBVKo3blqVF6fWiyP8Ami183u+1Zi5QX5saja6cuCymrtPoxiCijcPp6ha7jgWSf6GjkfoFbqGwHQWgGOVq3tZslM+e/wA/p3znatx+vno0miNFc61c1M1IczUw3oMC4Sa8+o5bdcmKGAGjXm272syL+PvmS+VpZnZns90s7ROhOXquiMVofm6u1VSpdhfeuu+HyRH7CEvWjXS1LmpvnLx5QxG3fZD1JsJfH6X5yqaDVvUPP3PSWrDSnxN0R3zYsuV5gAYHMVxid8qcnc+wXq/3U6bsJ2RVZzBSTXBILqiON2WxktPufUfWNrPkpCEITyikVAymyPNquqZQd5XV1h38PkfheZ9B80VlK3IfDPOzNacAF1B1mmnlsOZgAryiqC5Kuht5s52bXvta6In7VRzzFuXpjznr+bzJ01yRxrGHuxIJIrj7KXLbifjwvAW7l3mFor2rXNiSdSeg/HHsYy8B2T68+CdeSG7Jei574UsHq6HcfGo13ofYVzOuBk5cD5NyS878olt7d6G9XzTqigueeoOqKN53VIY4y1rUrnNK04zOJsDXqTZJuFzdNVrXyr0Nz3yvWrSi9lboXzCkovcPWcnaGPnqg4pFSIm3xjz7lyyQXR6gLcwuyRx9089JWy8YVKYR7Ty18TVk0v3VlsF0XQMQjTGTAnXmLnKXMxvpb1qZoRd1zaKWFzHA6A5DhsIR+r1rPEKi7TDOw5lG6ajLK0EvZ3OXn6ZYlbW57LPwRaLv+3HdKyUPQfn/ABPpHhvtzq1npGqJqluGw4k1N7YJpofmyk8VZnXnqguBgAdE3XZL9QEZ4or3zUsegOh/S1fFobHE6GS700krYZRXBwgDd7E7N7zMwGg9M3ZZsndW/wA8uafOfne3s9OBRBrNZ0rgpITHoYRzdxopWr5c6+ws20IAQ9S3XaMnc1VU0bxog4tm8hiFFxd5eZrZr0AstgjnNXH7grfLJnvV3WmtFgD1hdlkyZ6WmRqruNLk43oSX09HYi9vTg+Hlo2jfN3Gg3eWNtu9k9dBLKCX1heFiyt6XHbxt57hSDlygKpjqtwVZpAW9tlC8YsLtPuqq99HJ2AsoovrG6LRlLwvPM1gCU9U+TletaNtSo2lI+PiWveani8ujbJVmBLAWQm6ouy15e7rzzd5mEkc3ecFIJVCNjZhPcnBF4Pb/RJOBAEoBadB03dNrzt/c1Ih7zAFp0jD5u81QWNMQ3+QnJI0g6DmpRYQFaKTJLuta7rJlTyvNHvMLCFsHwry5XcHiBLq8CPQx0PRruWABQSiCLLltxXRPpU6qztlVbyS6Uz3jc3J3KkCYK+hAFZSjGBA49COYCywFlFThfLr0uOwXt0q/wA0uY+P1lhe0/bqbmuh68j8ChMVSIDzWxKW6X66FlgLKBJTHWa3lc86a/mWqJK8zDpX6KIvDYhXsMriq08VgkdU42qliHd9O4Siii38g5zlV/Xd5V+Rigq5W/pX6G4hEUcPVVNV8eikXbWtvXv7RH49q+H0BJQHQkKhVPZP4OQ+QI70b+wvdSOxZuYk8Ur6u61Y1h6YDXC4WUMV+PpZQF5KMZjlyN5+urgtto32g7xibKhJkLhH6jpGoY2lhPHNAVISokV59Y9XnFAMTEaKUeVtGyp/V2K4/QV0hFdgf3XbZBKXpKuOcvKqIh2EZw3T006uLAUQQnLj3jqzurzPpS4+1XfZruvVp0bHBac5q8meOE+ABrSjZ8h9irFCiIRpy6J8r3FM/TZxfuzvoLkLirGha2GPee3hRUIC04MFo3ex9lelAG0hImT8dcDqC3V7eJJP/UX2HfFAk7NxR45+eJWBb81rNiMGK3PZMtqJSIUnn9ymWac5O81tMNrdq3c3c1cQcxNKHMahYXrBaUhG5e5q1qToErX5fVASeJW+WVZqs7G9jZoTDmhOY3EGFh1m8EoMM9erobCUzVB/LeFbO2dJ7Fm0iTGpGSLwKNJkYEQtlZmt5m1x/oR2khJTNdL+ecKSKAqJc9WI5KU6Rkh8Kb0hSYGwZmZmbFjp2r3/ALQEs3KXFrYxLk6x0kUqXuSdFHoa0JEe0Ygb1mZm9D0q9QemT0aRq4m5qiTY+YSN9WvhiJIljzYSiKLBmszMzMFh3qb0W6IkbVwTy80KporieyVSxsUK1zSUwFtusBmZmZmbEP0u6neEidt84Od215thiYY4QtRJVcuXhZYsNkzA5mZmZm9mdyd3OWI2TyfhTVIZ0giTKaBBt2nLuqqdOzEbBmZmZmZgh9KenZasqr/L+Hrn9wIiKUAC9yh4fHWm1ce1mszMzMzMFuwvYsrY+G+V212TqGZubyw6VPC19VVgsZszMzMzMzM2N89qv//EABwBAAAHAQEAAAAAAAAAAAAAAAABAgMEBQYHCP/aAAgBAhAAAADyYZGCMEgB1193IkarsyCiMiSlK1miiMKvzIAgYQlBLWmhML0ACQRupQ2ggtNCs3NACSDdk3F0zeVeKrWKRZu6EJSrR7PVsSiO0puM5mgeN7QJIK2XQbibIRGmDHc5osYbt+Zo1vTLicbCxIaZ8+X/AC5hWjs75/c6iHV1MW8t5wh5vleQhL1B62221rS6Kgyruqs5hYvhlATmpKZedLnMaCDnGJlzOPM+fqQ16eTrZPSm4BwrWCzK0sWt4tnKdGjttRtrpuHFj38CIqVQ6+JxXDlfSLnU9ChUc1brjKIrexi+fssNBZHpdHa10w2X1mWnVV+WVHqOgP5beu1kxZPKcv7WDyvjij1vS9LUZWLcagoKyGkn0vNeTrVrel6qwTlqt15ZNRr1PLM5Rulpel6+ydOPQ07QNS8xyhLqkXWy6DoZTbSI+XSHVP8AG804arh7b7XQWFlVVFRXLW02fJ88pV6470vqMtmghNVTakMKLlubGged71oZcKhjiTVV9hoZxUfnSo0b9r31yVErHzTEXaKUScBwHRytr1wly2o6QQdNQbh+UdDK6d0JKp76W4TC1qAJrzKcvtGpJUpwMRDcMABHm2JL7xcvJUYS2FGAAXmVmX6GlzIySdfjGYAAHn6h0veEusqDkiKYAAA41//EABsBAAEFAQEAAAAAAAAAAAAAAAIAAQMEBQYH/9oACAEDEAAAAPbEnZIXdIArhvCAwOzpCzknZoy0REaZM7uIoiRtE+nGIUncnQg5ERKNaQBHSInSjiqUrFCztyHfjGOkRpZuJkSxE2dp9npXoxCkRO2NgUK1WWek+/0t3XEaJIsvn82nHMKhmk9BodSQUKWWeXj3tvXk57Goq1o9TsSjmjgRZ1DrOX67p8/i8eoe93V9wy1HQ59tbk9jszxOXpBreg3iDKHKDnrGrYvZlssvj7s/Z6N982rQwK9ja3W5rVsQYnV8DH2fQLPGpl4e31stSAZKUkvnUvf6izqZ0c+z11VtKtnUYeQjs+qCGTy0PQ48vXFWkijocnmXuo7ERxeRxru/p6W1lUJRqcvTudL1USxeQxKj7mv2Veu6PnqfU6F4By+QwaQKXo+m0o3aB+jUYDW57lcqvJLLq92zMqW/bCIa8fM8/QCC/tdJfhEkGtMDUmi5LlYrW7rT7h12lEL8yz2DzjOhv79+Ovv6GFydBbfolihFU82aO/qVQm0KuJGk/R+hUYcLik8M5qWNoREin9eowcpzTtACOwQACTzepHBw2O7RipJWiZJI/ULMHntEXZJ3BmSSf1WWDzeGIyQCQpkkn9F08vz44zZmAhSSSftf/8QAJhAAAQQCAgMAAwADAQAAAAAAAgEDBAUABgcREBIgCBMwFBVAFv/aAAgBAQABAgHz38d9+U8p4TEUcAgJokNHG3BdF9uSMjdJKp/xd99+O0xPCKBNmDrZJgk28po6L23PL99d/PfffhcTwnlPPaEBi4y82fefsQxd2Z5f5d99953477HynntFxF7Q23WZDTikeC573pL99fXaJ46RMT478d9oqYhNusvgargrcqv9e0zvvwi/CYnjpUxF7TEUHWnxcUu7Ql+Ov4dYmdp8doXfsmJ9J47EmnPdCsF/4Os78doqYrjbiYi537Z32i4hC5+yUvX9evj2VTIc7kRLDVNXu0d9nJtptcPdWtnF1FTx37ur/DrF8ddfC+DN+d/vWdkut8mcjLNprx/bv9quyFfpcV13rfIKOo4JlhfxXwuInXXx1su5z90k3r8hoKh2wsVBiFDVuUrtpWlkeykTdR3mptOzxf4rnXXjrrrxveyVmsNwdi2BmMIHIGQmSZrU5CV0JkhUmRZTJ6ZexZfv399Z16+vXwuXkSWztWzSXoxOsK+5PSSk1ZRChwgkqgerUyt2CBvh8wROYqDeu+/lM69fX1666Vc2mbtN0VW4MmS7NNz2LO3VVyAy9Pex3GsHDd4+2WLC2LRLeupbdF+RRtkYiwyiHHUCR1+3vLyWdTc3MmaRdq4pZ+v9QDhH2qoruIENdPsgPk8uODRPlvIjDUUa5ax+rkVrsfk5tbiqm2d666eKH60jsVBU7EKXFGIYJUgqpnuMRXdNva20ubDRo77EU/hpa8oQgAxzg7LIv+W5F/a4b0ZiVWvRWIEaoYoYtONJI16fRDCgtf7CZHPFYWAxFfChnbJsepQa1gMil8AsKRAfi40KN3dRu1MEy2BHaALF5ip1filzi09DHVnq5yLIrrPWpVO+aTLAUJJLTz2Rm5I6xr76P3cKL5XEVlyumwpcdwMfb5ZbfW9aZbqa2sgcdadCgzKqVV20Kew+x6yGblqdBlxUi+rL/YPsu69FZooOuwavE+UVh+vsoE9h7Y7/AGquQNofjZCZ41pNSrIsE2ZUe4i2MaRHcZkDcLYZJas8dcQeybhZqEuPgIP2mdsv19qzcTJ144wlirKtN8e0NYy14lDZtWcKTDkRpbdpVW2rzWrwgLBaDBXVDpUbcDET7TP8j/01bP3e83RyyMS0w9UGHYMTEmPSbKZZbTK3hL2Wj+N5stJIQGKWSE4B/XpNXUzm32H+vhU66ffR2JBek7Ra7DNmPMtaTx+tVqvIddLm2N9yJebTrfHs3jS51kUYebGQ1tFVIH9la4TMV3TNjfbYuY1qzMQvKp11udku4jv1jteymCKsR2Lvb91Sck6ZN2yVeydHjrtV7zOzu0SyZURfTcGZmGcOH/5l1nKHZqe4t9YdrmDa8qnSjeOO0ruFMlWLwsw5Y6rB3aijaPxhB3OXbDotEFVcceytarqyE16OJs8GfCpdFgs3LtgLiPN093qe0uvgiefQhsrifGqaoK7Y9egU7j5vOlx7UNU9bS10jYZU2LxY3Lbs4ruqrqUikPHFsEZrFfgztnS/NlVKLCo7DXqwkRPHq/kXXtthM2EC+nTqu7kE4BMadBRwXpE2TJdc1edBsiVyvOPsE14njcyDGGM9F2SS89GUs1y048qmU+AbfiVzb1dsFVMGdVbNBafclQ3qkycrQtZCq+dDLhSIsyVZ3F5JluOPuIk56NXjG5BtH47UVXa13imqLO08LkdtiK3Wt02+66Em1n7lc1+uP6u9E1GWqwZthYG6YxJ1dYjaTLeZNM3TLw0qFtO0S5SOJdfs1CjgRs68wxiNyqtoJkS64x3aqttY48ntUO1P8VzCx6PZK69GtGgp7B6Y7IVSI89XydlW29ueBVSEOIsbTpPiAkFthoGORYsrk9GNkoNngSuQ4jfGlh1lo2/WE2ccA/cmFjigh5MLZnyLocRADXXeIaHO/itCCjAgHp/icos3nFFvq/8ArqqqOPElyZp3DuyfsNfYFXFVUQXSfXcnRxzDCHFOupq2jj9d/FaMEY6AiIA31LsHFELiPe9IZ1ufx7qDlvAt63qLhbHWWcdzvpcI5Bom6IItgTUFmfP1GLrlp69eVyuyHkbBwcHOn6m70bkdvfNXveLY+tWkZ+xl3iy2A/U3gueykbvTwbS27jRx3ILdk5qmxcb/AHX5DyLgYOJ46yRGLXINdsWsbPrUiqnax/phgBH/AF4pk6GIElNhizILQMs1VXsfGX+TrVR8rlesEo6t4GJ8qnoQbRQ2rBkbivqS4uGaIyIg63NYtaen4trePKbWP8X9XwuLhLBKAUc2lDBxProh3Hj+70F6AFX/AIRo5hICM4KEL8d+LqMx3BT6XFwshOwXYrrRtqKp9rioovxNqjSor7LorgiyI+CB5lEqbL7XFxUjvQJcCQy62Yqn8XH+t2hTIkiI/BNlBbxF7HHQNI8iDO+lxcXAciya+dCksPAYknlT2TdS/JF78g5/5BavWdbw1JZkMORZsEm0wVIxMyPFyFNhzflcXFwCF2FMrbGHKadExPZt1vPybuucrK6MK6NxxxU2ciTbrNjPMvNykdiut9kYERKWKMSZDm/C53iF7g7CnV9rDmtO3t7vW8LKOWMejd0BttX5sme+kpp2BPYdbVmVGfZJBwsLG4/+KbUaXCn/AF2pi4DsKdW2kOd+Qu9k6x4jJBTRC/dIE8XHkJqxjvRnBeRxkoJVywma4mjRzHEjSIFj4Xz7FiF7tOw59ztl7ctAGAkcXF4LplySSo6gA+j8OVBlRX8UgNSIlNx+dZRthKwVGZFdYfCqRe6Ehi7ylsKutOPHBxh+Un48Uhq+pYWIyzEWFIrJ9JYUEqnKuKJbT7Xl2y3w3Pb0hXNXyXQbEw/5IiJM9/cnt/tWnYzilCUMN3hsniXP1JHbii0qOZNKwfmynbHdOS7q88rgF7ZCl8cbr57JfZT9reVdS21/fHciOtOE/wDjpsLitsDHFj9ZIWOZManwtjLbuVDPOvbvz2hwpmqbF4VVXtc73ywLExCZNhxZDbnDO4MYAiiYuGh47jy8lc2bhvHhcVfK4i+ELhy578Kval7clS3cMm8Bxs2XY73pxNzbEloXt7ETh75zVvf5Dkvgi+h8d5oEnx2WKpYq79LPCVMFRMThIwKsa5vtN+UTX5SSvysu/wAtNn5WITJcRFLvx35TF8CsaREleSxxZDm3ye08dirGQcZURXP0LHciuZIN0l8duFiYq/PshdZx3P7LCwsLL5yw8JieByLjJxyV0T9jMjknIdMlxScVMRCX+AEmcNWOEi4WFm5SyJ0V8LgozjJxHP3/ALf2E44cl4yUiIcJc7/khcOQsLw5i5yTJjNyAwU6aRCjYr0cnHVfKQ67JI1xf6p4aXihrvHMcxc5NMlecbRWyYNAxDF1t5ZKuk4ZLnTvg1/qOcWn2nh1FTlA3XXVjIww82Qpn7GyJ/8Ae281h46CB4VV/txE/wCVx1OQ5DiOZGFkHsJHDxMMu28Zb/WrdiuOLif24ZlYikolYnePg5kFDdyQ8uIqn33GFvGsZCc4QmX9+KpeR3RLNysZCiqCGAb7557KaliYzgvNERkrq/8ABqknwJKXI1pKVlkWlz9hE54Twqt4KgbJWD6LIX/grMTP/8QARRAAAQMCAwUEBgcFCAIDAQAAAQACAwQREiExBRATIkEyUWFxFCAwQoGRBiNSYqGxwSQzQHLRFUNQU4KS4fAWYyVEwvH/2gAIAQEAAz8B/hzvKssws1mv2Rw/wEHdayz3ZjNZ6q8Nr/4BbcNx3dUbq7bfwo9Y+tbdffnuv/gVt192e7m/hh7W26++7/8ABLepz/xLW6uATXdlwPl6o9hkrv8A4Yrqs7KOUWeLoZyUdRJFMNCDkn11I7i240LzFLbTE3qgeqsFE3tPAUdO08OJzz4A2VIWt4olaf5Fsye2GrYL/a5fzTXtu0g+IV/Vu7+FDdSoW6ytHmVRRFwdVMHm4KGYnhEFoyuTqqKiBDntxfZac1WVt208LYY/tE/qpHuc2KsIaDflvm5VtG8P9Jf5YiR+KbO1znVsrbj3AB8MxknuxF80jR/Nc/gjT2cyWpeb5YhjH4XTH2c+WU+bnC3zChdH+8DjbrYOA71V0+dDVm7O1G7O/iLKGrfwav6qXQX7JKzGhQsM92X8LRbKjP1gdJ0A/VVVfIfrZ3/cgBA+eqo7YXUz2uPWQlRSNbhlb52Ur2n9oyI6FRUzncWghlf7sjs/wUj3udUNxWOQGTVIb4Ovu6Krv9Zyt1zP6Jrb9o+PeogLloc3uKp5DmwW+7lZMa1rmPkcCOoyHxWBzTbTqFLBM17CQO8JlZ6NKP3ubZfveKq6d4p5XcRnTF08ioKpgLHHPUHUFWLVl/CPo2cCHtlhcfADqVNtFslZW1HDja3Fn1W0aOAutHRUwHvNBfbvICnqYWx+lia+VsFrDp8UzhgGM4+/EfyU0DuZuXjki0crv1U7sruHw/qjbUXvrZBrGsebm3at+afA5h1sb+CtUOcDZrybeRTopARn0IKE1I+HDm3Np+6eisHHxTmOOV8kOUt5SPkU3huAHMOYeLfDxC4tRTNc8jHyO7/ArEbHUaq4/hGVG0q+J5zljhazyxKMV9LALCKnj4x7rjIXQ2m/B/8AXaTYfbt1KixGzCe4AWVXa7GmMeH/ACo7/WzG/fiuqaLsNLj3lF6cNEXaPsfzRLZGvAIy5uqDQ3w0QmcGjtEBNwyP+5ksHEF0xxjBy1zT2uth06p0ZAT4XtLQA+9wSL5+a2jA2OeWhxs+20OF/iLqznWpwP5tf0TyfrNntI72uIWzNqP4bHmOW37t+R+Heh7fLc2n+kVI9+QwsTn1FaylNnStDSb6DqniKMBlxbU9UYQbjNAEFxJB7ysWjfkgfcTd3VZNXKw9bWTTjkdiPcNAnEuGgtb/APiDncx97O2eiDTkL26oyHCTkVhV7JlN+zynklOHyxKjqoGMmp4pLXbctB7OS2VPD9VAyGVzsIMfL8wqnZFaBizZzMeMjrqEamhpKhzbCSNriR2bn8kCPXuieiPciiOm7IpmPAHjHbs9c1DRw4sYu7IXVNtGrhwRue9vUmxcqSmtLLxS45kXBC91vROfh8jdOKcDYI924kIpzhfu70Th6nFyhMYzK45dW6/FEWu7VHK5yTe6wVj4Bc55fH5rEcwjBPEelwhLSSDDe0lx5EJ09Y8aCEWy73Jv9rU7Ge5HY/6zdYthUbXDNoc34XXoz2j+7cbfyu/ofWzV7Idy8FfovBEdEW9E1kVNURPMdTE/kc3u6qqqnOlqZi46Bzls7gH9pY5wB7QAt5d6imuxgxWyy6fNAHnDv+96x9UALI/ZundGpz8OSw9EI+0y7e5MwB18+5HiRAjm1si0uMYuLWz8VUTxNGDFhbdvl1CazExzbj8lZ1tfJdhR4uycgNU2XNv+3vVhgtkD1UbKFpfLhOhHenClfIyHMlz3PfytA/VOrJ5Z5M3yvPCHnkCnUtA1h902/BCaJ7Do4WTnQx4u1o7zGvq5q6ugggeip9mUU1VL2Ixc2zW1IaiZjKeK3T4qq23BNNUPbiiNuXIALA0hulgi8tCZygnXJrGm7lE2zcfNbRtyb+PRMGYdf8U6TQXRdlgTwOyre6i73UX+7ZOiNwdNMk8PscsfXrZB7qmM58oLcvsosjjaGZ2cL+au88ud1dnkViMUbTfKxJ+0dVO17rNUjYxIyTF4LE/GMrp0BDMYNzoqmDZ7YcTGh+Qa3qPNPq69s8jcXCzHn0XCiYHdrU+ZQwt8kS+pHQSfoPWssgshuBVPWU81PMwFkrS037iv7M2ntCmviEUhbf8AJPhg9GYf3rubz/oncB03uucWj4I3VPD+0VGN32GDIE/e8FHVYIWFzQRctOjP+9yNTI2GKInDlpqq6UAvp7NTYY2kMAPzUpBNrDy1XCd2NB1TWXyTM1G7ViY8EtGZ+amp3NOI5HIqTiOwi/f5I8TC5mLyUcctmG4NrrAGktvYnJfvW4jdhuD3tIzCET3C+R/EdE3EfHNCJ4Nza+VhfJTbRqoi8dAxg6NCgoqaFoFzqXW7R/oE1xjBkwAG+ZsoW8NlLinfo0N7N/E9yMMeZBe4lzyOrj+iz9WxWivZXG5rm5oTber5mw2ZjwgDrh6rmmbHm+3yvkhBstlJe7miORx8wuZxdo3Xx8E58rnyuDcPNh6n4I1lTHBD2nOzec/iqCj4YZDmNXkXce5U7IwGxN0TXWNgEzM4UG3yVr5I3WdkwlMOLlXOSH8vXvUjC7CCfEBPbCZD4WV2m6cHXRJPNkujnaIWFrKSQl3Bztr3fJVb2NLquoOV8rgZ+ZXExFzibZcxxKClbyA3Oribk7uvrFpC0zQIGauotn0krzmcOQ71KyGsmqWh01QMOD/LMnN+DVHJtGoEbcLMh8ysc4N+223wGSjiwki+E3sOrkDA9zrBzud3gEXPM5FmmzR5dUGU7eS7nZqwBO7VarnOSzRbfqrBOuVfHc+Xiu3zZD/tlHFFRsdoIw8+N8/1Re+9vkidNbrUE69yCIumslp3HydfRRyWLWhwtdC/mvFX9gWnVYbZprIy5xQrppZXkGKA4nE6Xb/RMZQ1+0ZYw7iB/CaejLYLnxKtE6XDnLNcH7rFjqGX0w5+Q1XEc0DzPgpJJI4WjtgfihaCNoyaAL+SbGxoG/JYroklEdFboghP1sp4wXMJI+afESHJtVS0krLXjaIpAOltD8Va6KuC4dNfBCxvos7fJNuwSdnP8U6Fls7XyPcnh4u7ECsvZCIFxcABqShUh7hJgpmayHK/knVcbWuj4dMzmZF7z/vP/onyfR5kTXcz3vb+NgoYaPZtJBHZsTQwO6uJ6rnH3svgi0P8VHU7SiJPZaB8VHSwNsQLhXssl4oWUbGkl4C2fFivOwkeKoMWdvNUNbi4cwue9WdZBAtzTHhzgxcCQ4euRaevgqN7u26P8l9H6K7qmi9LPQPeQz/VhzPkFHtGslayJscPDecLW2ADR0CHVXaSFxKR8rs2kWQji4Urjg0DurD4+CJADm9L5aeYWNwz8/P2LImue42AF1PtqR8shMdHGeVmnEt1d4LGIZzfh4gY2dP5j+idFE45CyfgnZjuxlTxAPA5q8tFiOQjxfosT06WRjG6k5Kaqge9tTgeD3XX0p2Q8OjrDKzq1S3jiqGlrr2IK4rQ6+q4LXZp9PxGA/FbV2i7CyZwF+UeC21tdzHPxxxe88iw+CpKYE+kOJ7yFDHfC7F55Krpncsrnt+zqPxUkg5orI3QINwojM46eSw5dy8FFRQvP99OMLfus6n4pzWjr3FZptC4QyD6suVLK7HC8C+hB71PQutLETENHNzDVDNLHJDOzmPTQrFkW5oevwKbwOZHgFWyxGDHHDEThtbprqpm4eJCxwGQwp1ZE4MOg65D4BRxQFju3IzPzUk78Tndka+XRYnoQTwSHRrxfyVTs0mmpYmyF2eul/JfS2Cj9LqG0gZhuIy+z3/yjqVSzzsZWUxife2LxUdXRxOY6+S4LH5rHI8lU5bE6GCOepdiNpDhZE1vvvPcnTCRlLJX1vDYcRo4GRQsIHe++ihlnkYH18Ofv4HgD5BTVYvjbMNTbJwHkVFO0EIEqxWSzvong5/NAdLqtq3jhROd5aLaNJGXPa2xGbVw5fBwyRFu8jJCEhs3lmqWq5HxtsfeVKCw2tc9uPlcPPvVds2nfIzahlYwYg2Vt/hcIvp4pDcFzQbeaOEX9W5UVTX1DJM44mWcPHonNhfUcvDD8IaVhYDwi3uKkgk4oOnToVJWyTyvOZdkO4dyLGsYG52z80+/eVhsL3THx7Ol7UhcNdLNKftfZdKymLTNA7E1v2gRmFtKZ7RJR8PnxHG4D4AKXZuzWRPdcjM9Vivmtbrada6WKFjvRHPaahzdXW91Un9iPoGDgxugdFZuWHELXVfQTywzbPkmkazhsLG3jeL5OvfJYIaeF7Txm6vF2gX6C6qI+07F42sU4DNZbuIx2V1LxMLRfPJS1JD5+Rnd3qClDY4YRkLeSnLiHWtboEBMR0JNl9XEe4rEP5tfNVlG8sBv90qDaUD6d92TYDdjuh7x4L06phpW5xNwyTH8mrEb9PWgomnEbvdk1g1Kmgp2yyj6yoldI+34BU9VEx0l8DHPNr6m6ZV4209I1zdC46BMhZVC+bR+iqJOO5reWM5lOBOWalI7mlYyXJtTQ0ge3ssLvmpWC0cjwDrzGyY12Nzr2TYaYrivKD0+lZVsJyc4Oap5OZkzgfBbZF/259vJGSYyTyveSjfkv8U+m134rqPjudw9M1JkGAeR8FTyj93gd1CIlYB72iDZWRg3LL3+JXEj/mb+K5VHtOjc0N+uY27XdclPNJTZftMD8Id3g5Zr0en5u0eZ57yh3erhbdRyTvqJxikJ+Q7k00bXNH7p4NvBCnpZGW/dzO/2v0K2dHR/VvwhrdFTubLiN3SseM+hK9DE8DmAtmAtf3HK8rs7C6D796uxNpqGlFv7pv5btGjRYIbXWNxQ6rAMPcsQF02Tooz7qiiFymOJtvBQxyEoOq5mjKzjZGKYZ5kpsDnzv7MEWXiSnzSPe85uNysETfmrE92oRoq1runcvS9qvmLMg4vWVh6t057DbXUfBGZsh++78CmvjeHNu0jNS7Nq82kxTOFvCxxKllLTgGEeFioqmi+oDcbXX8U1pF4zHITzNtkT3hNa4CQXA+aiF3NOd+7og6zSOqHo0P8AKFdYn3KFys1ksM9r6hZDNAN1Qb1TswCi/U+pLBCODGXOOWXRV8l5HfVjvPVNZzyTOc7oFjdFSA5uIc/9AjFO6Mm9k7gMk6aFXBaeitUNJOl0Y6F9Q9mcz7jyCPd61+iEddOwOwF/M3uddFzed1x3J1SWsjF3cRllsyOC1XgHB5X4tbhbMq7+hQSNdfJ8YKfWOhDo7Pbk42Tdo0znA4C3IO1v5qrjlezlOHq05Zr0FrsWb9EKrZlFJ3xN/BZLgWKYXHmTX6FWac06OZpB0KEkbTfUKw1Vwc0Xu1333NeDhdmEcHMqPZgdhIfMdGhSVE7pnuu5xuUS/Eeqji2e6Ax81nD4uWd0dqbQij9zV58EKaJkbQA1osArrP1LlDJNqGDLmGh6raMeXBZJ3OvZejWnqZACBe3io9p1EdfwhfVzD73mp/o/s51VG6OLoGDMuJyT3bJqKoyXn/eOb4dVE4VVG9t5329H8SdQo6aZ0L+2y8kqjqK17YxkHLiUD4L/ALp/4FWCmDC5pvl2f6KoHMY7fzLa4eDFMzD1DmqdzCHs5vDROGZRZyrLVF3XfcoqwKqKXiSNk1JK2tM58bZ8DdOUZpzyXOfcnXqs9xenOcABmgNo1LHtzwj80QN2vqXctN9UwbLqYqV08VPPxJmNzJFu5bObTjh01U+QjKJsD8d/ktpfSP6QekbQ2fJ6PDDjp4TkC7vPkqqicXzcOOnmNn2zcxqGx9pmShqcTWPDopGqWupqiZ5DKmRrY5PEDqEZRNM7ovRNqNjebCcYfjqEEAEyURtIvmmR5gID3UCsBRIt6uSyQigf5LmJ711X47iBkqeJ9XNIzEWM5B94qTBU1b224h/AK/rZrT1G/YCqXthpogWvkfgjlBw8PxNl9I5dn4v/ACFs+FubC0Nv8VNDSTE1jbB3Ox2uSe8gMGLPUKOwYembh3lOpZ46gZYHhyFTTU8zOzIwO+ajpxd7szoFTO53S4bdCqKY2EiZJm1wKt61gsliesMEi6ldFw2t7yPkjO9rG9o6eKdBJhd06J9RMyLD2n3uo6SighDcNm7r+tpu03xTk8SPFE8c/ge9Um0oCItoVEXLy4H5L6JQVQZWzOfOx/Mx7jz+K2Rs2lqp4qVsEbWEx5Wu5VWzOHxoXcSZuIXHUp3oMlRPMG20aEf7N4PvQHD/AKTmFXzvvxGAA2F73W24Tyvjkb3EYTbzW0cmimW1oubBY+BVeMpKVxd4KWUfWRlp7ir7xusEbOKvC9ZoXF06UOd1BTyQWajMWXpojlcPrByv8VLVTOwPDCwf91VY6vdTzXfhHaHQeXr6LLflvp5NWkeRsqKr4czGWniN2PVZWybIFbsqZsFNVsfUObmwsCpNs7NhqIML+HhNx9jrZbSMOKOve9p0aVU/R2ra6oLrTcjj0t/wuVzSpYhgfoNLpp0aL+AT5PuhN6pt0W+qXlYWK7Fhc5drJYXvaURJeM53u1PErXtyxmzm9zgotkVdQ6ojdzDQ96nrzWV0jMLXuDWC32fXyC5QsvXZMxzHtBDhYraOz5P2GVphN7xPGWa23TTyNdC2WF2jC6xZ5FT7VibC6lwMxXLna5dydRYQWmwy+CZJlZNxHA+yfH0RRG62/Ec1krhOfG6yexzrhWd5p07+W+PuVU6qjaIzfELp9UKiqgykwtszoSp56eOk/slzqw5N5Bke+6Ozdm0tOTd7W3efvHM+votN2XsPDcyvpHttn0KlpZpYnizmmyuUGqNDf3K+/JXvdPkc6wVZXtZKHANU9FI4cJvN76p6PmDAXnUkJuVwMuiZfFhF++2fsMx7an2w3iRu4U4GTuh81t6gc7FQve37cfMFV35oXDzCn+wU5nayTR4onfdZK6xXV+i9HdwXdl2m6w9lay0Wnto3XvG0/BFtfWx2yvcLVWVvWvuLTcIVMQB7bdfZ2K0Qy9qxuV1iWHaMpt2mha7nWVvYPp5A9qZUxhzfiPZ4StM1e3rgdVsjYcJlra1kQ6AnM+Q6r6Kh+H9rt9rg5L6N4fqvSJPKMj81UVczKXZmyHumkOFpkdkPgFU+jxy1snEncLu7h5BAIPnY4fZ3X3AZhZ+wfTSYm/EJlTGHNPn7OxC0zV9+S2ZsKmdPWVLY2jv1PkFIXvbs/Zow9Hzu/wDyF9KK1pHpzYB/6W4T8zdVNbMXzTvkcfee4uP4rHAHN1CknbC1gu97g0DxKpNjxR1ErcdQRm49PJACyDWlcd7iszluy3XRbuz9aSnfib8QmVMYc0+Y9hbdZYSM0Ms1i6q6g2bRzzyyBrY2lxPkqr6SbWmqZHnhB1omfZas8lcomLEFxMcZQ/8AIdkRO049/kgIm+SDDqjJkN2axLBdEu3AotWfqPd0TgiFJTPxN+SjqWYmnzHd7KyLSM1kM0MN7ovZHsyGXt80tu4LuV7rNfs1lwaltuqdJ9KdkkdJv0R4bR4K6tuxOQYxYrrDuCDkHJwT+5faQAyG7Xc+nkD2FMqm5ZO6j2eA6oUFBI/Fo1S7RrKmqldcyO/BE5rA1YpGhWDVaoCk2h9IH1FuSnH4u9TJWN05+ikKeb5ItujdZoIIJqCpqdpdNOyMD7TrLZlWHcGthfbXm/qqN5s2qiJ/nG58Lw5psQm1Ud9HDUezLYOAH9rJYloEcl9YCubwWZd4JtN9HW1Jbz1D3Pv+W7PeXIdyaeiaeiBvkh3Ig9VIPeKm+2otnwmWpq2RMHV3Xy71YubRUpf9+XL8AtuVlw6tMbfsx8n/ACnyEl7y495N14ILaNERwKuRnhfL5FVDLNrKcSD7TOV3y0VNU2npZsVu03QjzCbKxr2nI+vZZrC0nuC49e8X7O7NA9UWu3Xgd5Jv/iWybf5IWSudxKsrb7IC+SaLpmJUWxmOjYBNVWyj+z4vVbtWodPVTl7unc0dzR09e6npJmywSFj29Qo9ptdTyWZMBct7/FvseFSSu8Fx6qZ3e47sOQV9UBmr5k2Qc2wQqdhPpC7mppCPgc1c7x6uK6cbqChgknqJ2RRM7T3mwCknL4NmYo4/849t38o6JznFznFzjmScyd4RPrT0c8NTTvwyROxNKj21s2GqaMJPLI37Lxr7DgbPf5K7irBXKsrC5TnZKwATdibbY2V1oamzHHuPRB4Du/2AWwvo5xYI3CsrR/cRHJh/9jun5ra30lqeNXT3aD9XCzKOP+UfqhusifYEaIxbSnpC7kqGYgPvs/435eriDY7rmsst1kdSV1WJ4WVwUKNkOz9sS/VjKKpPu+D/AOqinjZJHI17HC7XNNwR6uq+jP0bDmy1oqajpT0xD3f6jo1fSDbjXwUf/wAfTuFjwjilcPF/T4epb2fA+kOynX1mDf8Adl69leq+Cu++63qaWWWatmCvpD9Hz+xV8jI9eH2mf7Tkq2IAV+zIpfvMJiP6rY1hi2PV/B7FsdjXYNiVbrd72D+q2vLdtBsamg+9IXTH9F9L9vtcyr2vPwjrGz6qP/a2y6k+oFc+zdTzRSt1Y8PH+nNNqYIZm6SMa8f6hf1M9wbG8+C4tbKb5A2WW7PfchWsgW67s8imnUA/BQXP1bVAb8jU2PIAfJFXXXdlut7G+669K+j2zT1YwxH/AEG2/JZbiyjlKc7E49SsvVuVhRd5LDovBeKyFkOa6vuvuvlvv7LorFYqbaFIf7t4kb5PyP5etwaJ/khI147lYrQepgAWIqwui4+G/W6Cwi91ffnf21wpfS9oVF+RsTY/Nzjf9PWwxNZ3kBESP8VzrnWp3dd2aIAsje6zsrZIWRJsOqxOPgrLrusPbcyDdiY7Zvnff4WG7P1LSQeaDWY0fwWayCN1bdhFke9WQud+FpPXTdcrDkre3sQr7Bj8JpN3L6l6qFnmiYbLTyVyi7NBoWaw78I33KxLNBoLu5YirlXPtw7Y0rb5tqHfiB6l1ZCavBHQFWbks1oEGNusZKtclXN9+e/JZrNYQ1nzXKgG/wABntKG/Rj/ANN+W7BTvd4IzVNQ6/vWHwQNwVmVzK4tfdfIbrepndZIAIOcXdBmuJP5lZ+Svf8AgOFttrL/AL2Jzf13FwN1fJWTaXZ8hvmQd1sW7hjx3WFvX038Onee/JXmCwtPj/A+j7Y2c++kzR88t1lZXXEnZTh2QNz8Fog4knorEuKurBXPsbqzGsXOsv4E+m0tv85n57v/xAApEAEAAgICAwACAwACAgMAAAABABEhMUFREGFxgZEgobEwwUDR4fDx/9oACAEBAAE/EAlfzYQUGXBilw++AkXgedwMVKoYGareJiMxV2y5HSXUwaYdLeSXm68SSoSongIEfDBgfwGDEwPgeLR+F+LRAEtg48ArcOibhgAhXd1LE7Swe0XvIIkqceSMEPkagx8kYMEpCLw+AwgJXBmNNEZxG8G249mVV0JyMoreCSokrwHlXwYtCLqZ+LqE5zJCv4mDpB9eI8bgTTBFyzUTGoXKvMtBcESVH+DBcSP8WGVEj4YBxF4FhKS4vgSnnAoNV41xUqtoay2sESVKleK8EWMuLGFLwkBJzBIIwlCNxQQLgfCWPgIUpjR74nKZoU8QIkqVGKlSvCRfCw8bEIUSGJfm5whXLwi35uXIPg6jVuF4KMshiRIRPKQlxthvwnhhB5JEHhWJmCPaEt8Juw+DXUxGkoJbY9wrUBFYRiaZW0KyMJ5ZUqV4qowohFhFS/ChCFgDVxiSXNMI5I+Gelm+mtb+RHw2exe8emVac+o51zuWqrv/AAZSdmsIflCds6tJ/UYtmglP4gIdxkszLmNRGpcHFAy4j4SU+KlRj4YwLmBBrKAgSpV+FTRBFqT9BBIu7DCuNyVWo02nqL/jjL/OalkbosLUucS6g5nG/saVJkuH4uR2lg23ZSGkkN3E7yCAkB2MTrJQSyV/cpJxsgjScEwkabkLRS/rQ6Q+RV9XDDamwuhWzsY1DB0nruWKckfabxPKRInhhmoLmWEMUwJUaImrZktxvWD7R1AGUV+gtMECzc3+YVnHNM73mXPdpnK/CkrF+VNbKLakdgaj1j80S0HWgbpm65WX2IFrD9Ca6xx1TeJRIDPF00zCSXLnp2FVCoAaBRyV0e4UhlqCv8MzreKuBeyU2otTjmsOqhHFcHWbh4Bhi684tcTmvVwV4GJK/gxIcwhi5mDjDFpHPEfCN/a2vQaDljsbSne9Afo7mWp98qcAvuOYd6SQ5VuTUF4pfqkZIjoB29vEwEQy4UX/AJFBWNNKr9IGil2Rks1MmGrf+iHdxD8bPiQExdlg2ldEOyl7D5Lfi/mOxejiPsBF/wDSPCwooHZKQfZCIrSlt+p6itnReZtFF1HN1mQL7dZmrKhN2fT0wamAIulqCJHykSVGK8VMB4UypUSXBrERbmAtul/uDfT3n+hE46zpj/EvUU14V+S16huhH/u0uDsHnQl+FwMpU7q1qCqkBvfcqBlMqpGWHhyPpjlYibfeGBZay6rNsNeXK/ea/wBY9vGwO3NEeZuBpebaloAiyNY9w9Whk3QnTCFoiqDrhKwEIlg9gMMzIAoFf9JMHEEFfkSE8kMKfWoupG5SV5qPgTeL6mB4YeGZib3xuP8AYau8rNaUt4bGZRETbbn/AFFQjhQH9wPAXTNPUrLhQARRXdE3dfa3L9iP2xjzWoIQFUxXLsX7cS4XpcWPXLLcoUDX5Hf6gJu9QN9AjVbbZCljWyWQFJXAdylQL+l0wZ0W+5UNA+phKio5735Hx1G5qytIIQIBtyhhAiDd5jQMGOncNMtC6Gb7XCSNjNY8JKjL47lRFzEH48CcNeELcQHIw5VD+HoLntIg4Eboc/o4hxLexb93HsQMijYGKUgLtFDLCX7hCXZEJReacMwbgESvxGjjmclYSFhQAC+mggLDINVu1T/ILdKw7kmaXq4MtKx7jQkeFaY5KdGS7thhRWScJpjL0ubhjdxtXxErSVOWhGMlCVl357Ag64Br02wobkpybF/uMQ60ebR/9KY+WMIggMVHAEElwSZvWLGpajPRhqVGDPwI+Hwl6aWXjXQQbc0xhBBoyh8Axhl7p/yDZdOAKlYLd3qFTQTh7jltHTmXTC3UVoNd9xJqbYbb7JVivqlH3vMO1KB7DkXqX8VNArS/72QRWoVcFS/dxZBGxrK4SO1j+hvTFQtYI4N4ZZyaHwEuacZVoeuphCUPYYHgbKONY1G72k4TfdAmO+HOrwOgl8WJ/QTbC7Gzp/DGw0T+igpiRjKywwQGR1ARxqWjVls5QBbOAmtFG7VLlNAqG02/XUBaAZvbBiPWOJeRyyYXFtQasmivKNtKPczp6I0/qKaPdLK0LWANzGKWZK0RNUIb5zGr2Oa7hnJ6YWYU0pUKvkBbVHt0TO0MCu1VndDKXQp4hf8AWP7jMKdGJY2s1fRmbwDQKqBetEsQwtjutcyve73ZzX06i1GXN6uF2nUWi+14mveYyW7eUidBslnVLs1lHszGYuJo/Mz/AL/BJlJcC4e2UWg0QTMAnwjYVFCYC91tPuo1FR2NoeXoZm6bw64fsmY5uHroNI6ZRkG5k+W2LaqZrnlDqNACVfIm7GtoMsvLQmsQldrFFTOr0JL2k7JRAUnDBWnPRDNuS4KhIIOSHtcnTY2sfQ1d4J8hweCFUKTF5U2wpTmOtkC7VNYPXUyx1CXgsr6Rk1KuOkdywpQ4BhUDleC/52seG6Od+o39ssFkskP2Wb9VxafbinMbhjc1ktXoaPUHL5/ELuhCVhHOAHyIxmKKiHcME6BtppcXNm0TvP2zKkfYhfj9ysrHY3ZaPyh6gF34gXtirLkGlc4cEqsusrB7d7gLBhbWT8blyA6CXys6zMNm9SDXIFSJfQBJkwzuv/mUZfaRgeklTSWqHF4VITOMPbMw4c23LT+NSmC+uIlAG2LiNEK1k3ONiol+iAuHCqUvHhYwmuVGSdmbCZkK74XV9dE0ZYbXtr5GMYMrmZJQhgUg92MjSq9p0Qa/GcUshHFTf2HvpI6wn5qJxjGOWkQ3linqH4cSwlFy30W8sAlnHLTIIkvZCqHtgMxTrBDrUEMZhFdsY4MtVkYSAddwsLS7YSgPw5lkjvYq7Qi90Av3twxEP2W3lmmfbC7IvGABoOiYO2CqlVHbZti+GbYX+ZljVY+kNApwWtACpscbehg7mDkQBd2Ihk6jGJGVXgUgJi9bhNOWqO2db/F+wvrZiflHMqLudt6CXcsmFF1FTiUjAp/7CyhG30C4qRAB3ehhwLjjFYq/WdPRmUrDEspgWlupjwEo5ZlRulRFgQNGQUV3cBVrdjf9wywcFW43QjoVnGeSKtclVUoXYg9jr9zghscytaC2opysVuh0GW8WgvV/biZGBjFUw8HDC6mnw+EuMWbSlNbRQB2y5UqY56jBoqClMnSdfmwBq4rIDUPdsAknocopQV5snoMp7cFbsu+hS/iNtVVzRwRhldH4m8sCEpUg6rtQjt0EasEBkp9MCB9Agv5CRMz9xKMuiBXcOjUo4KCBgcqNxW8KI/LxHycuW/DoDcKInd71x6z3mLBX4JUZaFxShiD/ALMYgGx0u3RmKw0OWEMLFuPlp/MKFR3GMSVnixYzZPoitl5rLdukBJQj29XfTgl2hztYszaFirf9MwkUkvOcI1t8f6zigcN/BG8jAdVKVMHp3HOCCabqIZYAhLk1oYezpO0UreLxwlTkV/BUK7kwNsZd5diT5YMlo+MKbPtL/q5WVC7glaVW5EVqTLCc+yX0pO2O9pDn5gfxCM2DwZE6+xCnDZDrt5OxjyobCGA7s54d10PUpcwE2K5OGZLw7rTGc+GJ56C1hsN5QbZb1R6wXB9oADOx1MOHJyODkYGuAZW5XcukahT+AlpfLczbLDvlGHLV04EYfI1NCOETBwRlIODFID0NBMjUMJoMRVtliyU+10muhtYhX2EYHE+oPASlQPyyMlQ8mu4NAOepsmGDgJlwl/uliUeu0SoT/wAgBmwxw+rLjFy9blUDuLp3BxWhv0SualA6Wdw+vH9oU6TLn6xgMRfcMqOGaImr1wi6j79PD4sRjnybqDz9CIw/cBGY2DW6mepbUwTl7jb6ZJw7oaRwJW3OottCEq7rioTChG6nu2+A0IstembhdPUDyQ2pith3UNGNQUC8DHJ5xbsu2XpvmHBv8htFK0FYO4heVE8OEL1m9SolakRS3gUNEpza3sfahAGYHjBRIKGimyIsiotuVVDl0ZsraCFEPmeCCkK9MKYnYqXqVXQr0HMRv053iolpy3gLOyK7owNXv9kFNhomYRjGKRmYObRY9A4QUaPhEryhTkwfOjhTplWKrAa2jq9bjzsqZ6ZUvLUEFephYOKDAExFRHteIrrdWhe0uWxOiromIKs7gBNTaEZqfdgplGNaVUIAXpRfyE7pPru/cyJBeCBhH2YWJK7lfGyoIQEfs9R5eBviThCQMsI3CpzqgcciO2lr6k9Df9kaqZUuBcHGPZUUhgSbxx2iV0XewcfCYeEIKrUYzJjHQuQo5XRLTB7bOAQnrg34sATcuu2/wRNXgXhWpXtfGhUIliMXQOF/MFIrFe4Bk8s8R8HdTD0gv4EuQ47l7ihv7K4cJYLlhIsA5WIJNyU92ja0I8EszmEShqpKxgvO2IO6C+YgYfWl5ijXYqIRuW+Mlwx/0YwF6PxYQw5QAIoWxyJC14jgzi4AdA77lH6i5ixnUgkcK+iuVrcXnJgqWiCLHEDFqasigfpi2Dc5j0kqQaxxDM/T/wBCVy5YeMQowKiP6I0gtU+XHKa/6olOolRYQBhjUMbcHIphfGPpFtgasGY4ZnBeow2Wwi8zAxG2J4FRF5bZnpkXYomaKp3KS8F8cNAUUmSUrbkfR3E2Bp9JcdRS84JV8pSfKUomcAn8C9JjsIYWN+QV2RuXjoVf2YQbY6qhjfF6gHCjW/wAs1Al3cYtYthbUqDb0j7cK7MDUrCnphFc2PopgaRBgeW4lO+Uhui4qCxU6mjCnqT5GWHvECWIq7numGUEPxMCQVEP2E4QjrT29EfFb8s/bGKII9oZ/EunlUHOEnQDmBXAAqgIqoZfUTzQStFQVyFgfGfPhKHpYBf9QYXqr5ziM82ACB7rzNdlXMLBZGRmWMtsiLRejWMaBU2qU6MTJyx9Ze2aATqkOHy+xpgVS3VUGFkh2JX4RgccKc1P5mNaVgd3DqLnjH9om2Ne5eWJZbvUTeL0dQ3VjpL8saWdaVT9WFrKgOeP+ibvPMRKpoDayk1DfKokJ233ct2EAeD4qMRGBoxCEAxFsBDp2FcqYi6uKdEQEGCq6P8ALthtqnFY+biolFZOSFsOTBqSeDD/AGssZTI6pCzcGjZcGmEFTdseGPUAvGoNEw6gLabqsdsYMRmUpMw7agCGmxFQWlqB23xFRd5hCiWAGOYrZWhpMEeWrB6SwJd6qC1EDwxmBDiypZEJVXLbS35L+/xBrakCkW9IHoxFSsgQ8iYEGFG4YJU/5mHcoimtN0R7rB/BcK28oSlCM3JrqAamgUoYjqL03FSa+xFywICWJLVhQAhCOo49rDmyLGGXfqFc1K9P/bCoyAPaaQt7VlvDFDnc9CEbQtQDkajYcVzBsjGXNEpjXBIsJh1KH8aq0tRkqAskUwpPC2qcygw43NgI4SDSoV9xLw9UxzbkgiJM7lCkArRMs11ozJwG7NxlShoQ/wBhbqgc7iXsWyGSJaIC2UMqJaQyNpMKy1EE9ahHyLtnQk1FMXLbCRVWkTjiY7mSG9tFrjQZgHWmC7h4LKR9pVaIvk4OEWCbwYQY+yiOJhcheYfojtRmtk4eyU7dKf7xlICwIeVJZHW5ejVZoRC0rW60/Yp2hkdjKV2miz6XAgX2AWPUGTfLHZory7iwSrgSxqPFs3ZlVzMcQEIdVbGAAcMxBtzCUa17DMSi0H9pBDHWMXsiROwwlVHhGVv40Wm/78MWLLizHBHcA0fHMPIhI/1gJsZSq6XzOnUa71/kjbOhh/iCo8hhAnBhX9ICst9z8mA6hYu9ck4ik2jE3LIEJW5YG79IVKlrUrZbD7ILKMeCfuEK07HNQuREK4i5WsSATKsXvbpB8KWaJ3JgF/8AesWMWMWKoBBIJiIcI8Rwb/hZKMC8SnMItEVKuotas3jeZSxlisk7wqLolN7PcdWufDYVF4QMTEe6i8RgF9zDCGd0vqVwc2zBcgKwalVRep/aMWMfBeG7JNUxVMHjp4n8EjAIx6Ckps+jGgjrJ/qKon0pDq2/hiKwfTU4236I9szwCFg6SlByENJFimS7cMSlSkjFixYsXwdEe5cguUJjF/BL4YeGDzIaY7QzEYSRosgLhTFTK0K68ei4cQh2xKXUMIiNjHRwUO5wRi+GL4XnMGZnNxG+YTWYWJfFBvxxLjGJEiwjcAFCd8hMqCOjiETVxXVRR1DSTFDOAYCKkOObSOTsi+ZMcgxj4YsWLwEqYgZjNN2UqMuTMwEwx+Lm6E7GXB+jzAtFurYzCTr+1rBXrFlnLEVHhKpnjiIBoJtgsMqUSWnEGnEQQlSlDEpmaMEdJvHBj4/Ak+EZyMWLFixYvIMpSKa4CXkq5hoZmXcKNUlrWvQZWPX6OF+4hlXg/wCyTYH5h/MPOPubAy0QAx6a7PEBhgIyXxFV+EcSPRKNJbZK6hUVpGXJU5bFozN0aZTqG3r9CTNA/IMYsYsUYfCM9zcuPZwjCkGCMbMSsUnQIA2hzj49stIoilxfugjbqBOFCnwsEIRRZpRAcEBWINkI1FR1iY5sSKR+ExI4G4bZjAMCYVf6tJCdBPovDGLGXHGeyWVGBmF3eWxrsxCZTyqXyGcSloDTXuagtSIoe0U3m/SihnhHssKmo2liVkXLBuICcQqaJeYpma4lxU76Uo/rKFQQgZpFkogps4Tpl1wN+yMXwYy0UohNDEohp1td9EXyol8DRDLcyqe4ntswvmgMDRFalbfEhQHRN0uZU6g2iWNGpaYl4uwPCVKyCWi6WofpnblLcDi4XmrUqn5iHeaqRPxTEslmgd/VxinY6Y07Se/TBh4HWxYsX+Asq3K0jiZgTe2+EOgaJZDAGpm3RLto9NFmZcifS6jEy9ZgtgbjsIBBukKcZjckucORF8SBz/U5ZxdW6G16Ie8AGq+zNB1hsQ/shyjbVJ/LEDSWKlgRgGODfzsI7ou1l9WUrLNb8J4bUs8DZFiy/DYRcxomiG/yMYK5h+WK1mA5y7AXC8SojVEaytwhdYVKmBaKSOahDUCK5RGCXEzURZMRQi5hhtF9JwetsVt1pp3wCL0SoHoi9xSwZ7lQfRiL8wmzpOTsnqkNe3oixYzBfD/U8WxcJhq0RrfETYlzZDyUyCO2ijxMVuWDgP60ZggNNQup1ph4DuVzFGHiJCkv/wDQXRtg62kcYf0fe4ioVJQ7VdsYKIe47DCrhuMFCHOJWFwOaTs5HkmXetnRHzklxfDhjLuXjBHK6+sax7mzFhcIFx+JQ6TIkyUujjnMrZEAjDIMFQX4VVxkOZYdaIUfkbPkuF9kmwbrt7VsoaInMRt+p6UmCH2XFLDy/aqVbGucGXH3wLLrbxsb4u4guz/kdH2mGRcwvtlaBBsz1ciQI7QjxWrMI49fUjCEAS5EwnjIZGZugWzLdmR/pZHsMGqXC1+Euqqqtsv9sCETlmVVirLiy5f8CrlsAFfxZWLDTy1STGgqLpQeqyxipKMxlJcVKMWYib1iFZRc2cFrXfRYTrG/061lmK+5G17pv9Eesg/TJWOKbX+LCYZdteoOgxF4iC8H9xcluMekz4GJGDkmfCh9Oh2gRJb+cBCxcCxX9y5hEqM11FcWgVjJhmGKyCA2Ve4qWnqZhNS9qslSr+uDH2HUxzHoqGoO90C6jLbo4nM4nP8ASGWJ+Ja1HCoJxkvzb34Ec+AcyVSFa39Rb/EYOpjAyjbqERpphFFqL9YCSqFhQ+zUzSBCHTiiKYJobNGqmQXJiywPuEWPxGj2sCKzHoYOS9RVHdEuUgmDRibKxks4T+R5vy3OliIt07oP9IuZIf1UeILmccuclFMYQ5hVpN5YhGdiYFXEK4lEOghFb5xGzWm5UJYIA/v6sVdjgn7kqlEdPoS1Z6jwNf8AAeOZVvJhjrsanqP6IuASvUen7AUe5ZFiDMToqEWVEtephg8pmtxLYsG9SwJiKsbe+pTQrDDbPMuDZBK4/pKQOMCahDlTeJZCOCv+LacygHeI/GSLuoeFWl1qFVDnEOH5UNFT8y/5G4coTCeWHfZjUHMrCotAibMRAO3csBLYHEF3LNpd3MZURfYpHQsG0OHIIGS7mohg8P8AwkNxWjhlWrT/ALHwJQfspbeeJl+blSe8T1leCOQ0z+uhopKhGprGWMsqEN88RVtsr5l8XlmN5llqy264lnrARUFRja/1KVXLHBiXLFxNH/GbhuZFrQ6HEHEsT7iZGyGDJfUbS/8AczMcmZj4TN2Q6tBE9IgLQI6QbjqmX7Rsx2hMRrLC71cocErgv6ZrpcJBuv8AYdwRb/4x8Uv2AfLUGUQqPBTFw9OpmPIv7lhyL+GEPgS2ll5iOBGwcHbL3BHohRiZn4WWQEcWLHQUNvxHT2NTDOBbFbYuAjgD/kCDhl+UPrJRgyuFI1XyKou57lXtgfdEXC8mZaCbYqgEAJylhDoueZe78hJcKoSpSZQIiIarc9F6z8ilz5X9EvD4W/8AkuGoo9Lb47Qallg5W4NnsuBembugfrAgCSaylDgHZVlJ5yO7i0eC58G9+Mi1qpg7LhWmDc3fcWh/4Boi7bB9rFP/xAAjEQACAgMBAAIDAAMAAAAAAAABAgMEAAURBhATBxIgFRYw/9oACAECAQECAB8A85znOczqlHSxYtEg4c5z9eHOfPCMBHxIxzoPfgA4fjoB+Dh+AcmwHOj+eYucIwjhGA2GU4MGc4QcGcjQVdfqJfGV/Ff6Pb8Ff1AFornFznz0DVafWINedcs5oGCJNprtpQvBcBUj4JBwZVo66sgSuKxiYKHT0urNz1HmRgKk4EKZp9BToQxqWs/5FZhL1ndvQUvT1WGDCKSpR1WqpUpkkmkuWLMdyteDxGRv3van1O6eAfHIpKFuKwrWLCP9OyrMsDVCJf1MfpxLtZJcHzRipmjLfTWlZ7YmoQVFnr2GsrL6ma9C6jBgNaE6TztClTvS2YHsRW3rFpDSeISS7fXbbVzVnRQDQC7vS34RsGnvHIILlqeVVRrOzGV82UvptSSMXPvsZ5yWNdtI8lE2nr23n/fLLU47M12t7PYgZDGKSwaJ7W8tP2GWZ1wYMXItfr9XZo+ntMRnNelOtPp/rqNauxsisRgJaDNOpe1d/IG0wYM1S0BDFc89b19mTX3UlaQkHJJtM8jTL66MHmaptfkBXJIpfLWPPxMM40hkdtfe2Prtr7vbbxBhOvfVz1ynwBLHPrbGfd0Z+kK+t1Ug4BjBDqNhRtRSAtP9qx7agYiioAhfPRefGAAcCQyanaV78FKvTOPLbmlrMFUq2RyTx7zQcAxQAjePhCwpdM+BXeQfvhBRIpq2+8+BigKsfmqQMeXmmLLHWNezTMNTUwa0Y67DQ7vU8AQayqiKVe8qQiExGOWtX1uBcOc/IGj4oQeMrZwGIPUMH0mALgUZzmXqzomR54Wt8AJgJxskbEU/wQ2eopoY88ZB8JikOWdzgH9OPZWkMR8ueiPgb7PsYED+znqI0yEaqsPhj3sYKnB/Zz8gVgPNa84gLYARGe/8fyfH/8QAOREAAgIBAgQEBAQEBAcAAAAAAQIAEQMEIRASMUETIFFhBSIwcSMyUoFCkZKhFFOxwRUkQGNygtH/2gAIAQIBAz8A+jv5KjLC2Fx6/Sr6R5G+31R56Rvt/wBIPCP076CZTZ5DU1706jkT9TflnOzsmoC3uAVIEZmp849+QXNCEALv97lC8Gqv2cTU6VyMmMj37cKxmb/RwtjGo1OXlx3so3Zpgz5FTFpwEBr5XO33pamOqD9zV1FV+cgE+pJ/t6TJXKoU37bwseYtv2mTGVIYkRmF1cTUIyOl2IdPlZStSsZlcD58uoGnUbA47vsLpZi0qBMaGh+0yHfoD6RepBJ9SbiHtKqp2BlCh1gOzAGY/B8YaYZK6rZBr2M+BkjHn+HuATVhy1e/aafRrp9RpchfDn6XvRnXyEwjtwGrxpl5/lumWt7i4MSKo6CDuIomJOpidoCIo5b78OXernjIy9iKIj4smWk/i5RcOD4DoMDfmQg/vvf+s5l5u4NHyA7RWHSYHzuuTGG2sCLgdVVQFLjlECKBBiWyZmcWFNTJHBEJ6mBxsY4oMPtGHTcQhrqYMmrx5sgBRPnNjqRP+Iak8grGnyqPYRsGMlrHP0B69evkONorgbxF1CkdaqHxMAHUU8v/AEhz6gDssBSiogAJqUYQ0+UG43yADqZYNwGgY+HT5Sm8z7/NX2FVHdizMSfK5awSFHUw5M4UfrAPsIcrB+Wubmoew6RlFr03i4rvqYpEVxD2EYNuI2NqgcKQNxBY+RrPaoWsMtEe99YiaJixqyF/cxg7kjr39ZynyHNkVB3M1ox/hqvpyg9B/wDTHw5qyIeYsNouHlF2VXf95l58YTpRmpWmbH1FiFMAaZHYUZm8MH5mJ73t+1TJjamE5jcp5zCY8JPNmWz1FzFrsBxt0YWPYzPoCUy4TlQdD7exmlyhDjykE7AOP9xKM34EEnpeyx8TMLJ5TR7CabNhy52pWXlFn3mWqFDm6mcmLDZN8288cqQKIFE3saniBV69TLyqrGhPEREZGHL0KntPEHSEGcrXMqhUTYnvPno/3h8DEx7zCmIjNiD4mIDH9N95i+G5yRsWvlS75T6g+npL4biMuRSTdGY35DRIY3YM02bxcDg09fsV6R0KgITQFEdI4KKexJjdB3hBYmdISKMA7S+HzCHUahV7Hr9h1mMJhogKa5f5bRcumzq62ChFT/E/Esqg7YgMY/8AXjzkCHm3UkewuGwjBgBZ2G4mDHmxZGsDn5Us2bM1ug1WoxEgrdoCL2PcRn02DLk/O27fYw2pECioGC7Qw8LMy6rIQlCu5mLSKaPMx6tMWfww42Rgwo1uI+l+GavJjNOuPb2s1cJYk9TxtxAQNo5dmR65gLE+fd1Tl2ognYd5pddgxHMQz4jQydCQOxiO2ROx/L+3SMY99JfHaVvByZW9wJVepmNG5C3zVdTwsWTDjNtnK83sidh+/ktxByidIju+RcQYtvuSpB9iJqtPQzu1WCCCSDNRiy/mHZuYCwREbfrEIGwmGjtZlmVLgUVPwmEYEkdREz6hAa5lsqfS+oMyodTkfEvghEGNj3ZuwPk+ebLNl4K6kMLBmHmHJldQCaW7AuHTk5MbsSOo9RByjiBCeHhATR4ecK/NkAojpU1LazHl09Y/DFevMLBNz/GY0xpgGJAxcgMWtj6X0A4gTlyCAgS1E2HEUYtkoeWZMLKKBuOeNwhhOX/mUGxFP9/WfM3kJhUzoCZYEuuCIN2+w7mE9MOT+gzNkfl8PkA6kzGMIPVgYOFcKiZUZGAIIogx9DlLoCcLHY/p9j5mxsCINgTvAqliYzqGzMbP8ANAfymNLKoBAqFvaLj3njUB0EPUQg8NuFRMyMjgMCKIMfROXQE4idj6ex8zKbBmTWZBkcfh4t/u3bjWMAdzAesAlA+pm/SDgODkWFNesDoVdbBFEGNo2OTHZxE/0+YaXQYFrcjmP3PDabqPYzeoe0N2Yh6iYhAO8fNRZuVP7mabFVYgT6tueAYEMoI95p9TjdQoWwQR2MyfDtZlwOpFG1vuDxEOfU4cY7sIFVVHYVK4EqGA/L1+0swQcA23eY0IZtz6dh5k1egbUBfxdOOYH1TuPIG14Y/wqTOnHaD+Hb2jjtH9Ie5gHQcK8vj6bUYf8zGyf1CoykgiiDRHDebajL9l478RB9I6b4rrkqh4pYfZ/mHHk0ANfnYnjv5KHDbz7Q5/jGsPTkYJ/QKm/Cvhmm/8eG0rjf0+T4t8QH/eY/z34Eso9TU8DR4Mf6UE3E2l+Xc/R8P4xmP+YiP/AGr/AGlw6vX4F7KeZvsIB5aHDb6QGo0L9zjYfyM//8QAIhEAAgIDAQADAQEBAQAAAAAAAQIDBAAFERASEyAGFBUw/9oACAEDAQECAPR+e+kMhihgzhzgbO+96Pyc5GvMbwedGAYRg/AxhyLD4fwB63g/RyANh9Hg/BP22Libl9v/ANyLfQWmNcNhPo/Fu5af/StgwCyHkenbq2K+Nh8ODAPZZrUjY072lkUtkZ1d4RazZ+HBnzDjLd+WeR3Ra3/PMRj4FRNdNrJRnMBsFrMtySeKWOvBqINVNrbesdZFjHK9vVUQ+EZIlqvFEorVkiFvS3ZVsRX1+rqy6spVVeeyifJo6A28b09Y0GysTT0rVaOu8WpSu6nD47Le2E01iklS1FXlricYmbeJ2igqWKtpJVY+TEUb8DDXJDqK1aSWppoKPxtw09Sq3RWXV2h6I4s2SF9HBBVvZVFzWwUWSZ6abGeFK76Wt0mVjZE94RUtLI8s0sZMrzSPOZdzs9zHY1ieHLZnmjvJLMlWMO1bomZstHct9deroKje3DZx3g2la9XauDRuquddgm1iXFbUsw8vC1koOI8e7ob34SREABObCpW1FbQ06BJ8tpcjlVsOdR6W8obIpzCZ110w9J6Rfq2YXTiRCH46GyGwnGDJTtnDh8+UiXqUtX7JJUCQUK0VkBiG6UCV7JJ8J66bo9ZqOVRixwI0JX4KXm+UFj3pO1s4cppWVHmuJcqbH7djvLG1JR6e9qWySSbU5OEUGaw1hZlkgvXN0c+Xv85fOHGO8lwHGIt/csn+hnwsT8g3a8oLFs/oJfOt4MGKOuw/AZc1c74+byXO4QR8VHe/qM6WJsfNt58s58eA4f2M1bHHNuT0DhPcP7GfzsxO0sYfOdBbzv8A4fyzf//EADQRAAICAQIEBQEGBQUAAAAAAAECABEDEiEEMUFREBMgImFxMDJAgZGhQlJiscEUIzNDgv/aAAgBAwEDPwD7YGAZFP4T3D1bSvtbYfhPf9ot1YnDi1Js9hzlBQcZNbE2IgAIX9ZkvYD6Qfx4vzEx5Rat4e77Jgxx4ltupPITIqks+9dVH+Tca91/SWukGJYYk7QDYCI9igDFQ84yEENBlQGe77JMfmE8w/5nrHyG2O8QCEciBHBG8skGVuZqY3yjcwSBGL6Dk09jOOotjzrtvVVcyZjkx5VAdOfpEHgcTMmnfoYGZiSITyhmR43WUYxup8wHa6mhhAypbdLM18dncciJRr0EQgzJ5alXqHICSbIXczzGMOVqURBWphcQcgIlVU0mwIcfMRSCQYpPzARzjriZF2Y7T/T47O7NuYHbbpzI9AYQqTtD5ZuDy8p/8zSYvDcIzn7zbCFcthyZqYC5cFT3HaD3E9BKO0I5AGK+Rb2ibQKKA9KnnNKE/BImhNN8qgZwDtyj5VVV+6omQHlGxMInJjEYWpuJlUmHEWU8mhN3kUDvcVQNJsE86qFsy10EGlQDLHoCqTMOr3E97rrA+M6TsBzhyWaqztMNOchNipwpJVMtgbEGLk4gpXzMYBGkATAmQhiigfw0b/O6Mw5BaNK2loDNMzZ1BTA+kdaj8PkDDmImemRgjdpmQtqx2BuSp/wZfjtX5mBlHIWNupmVMmPGLo2SItgm9uU1532saf8AMxpZLk2bAEGMuxFbARsIbIqgkcri+ZlccSvvNlSDdxcJggdCJjZiz7gHlPaKNDsIvn5VHSOzgoxDAbDvH4pADyHM8rHY+hSlDrHUncbUKMyJoyCvb+4MVhZI+QYrnIw7CBSCYNAA+sDbGKDqQTIebbRV2E2lAmovDcLky7WBSj+o8oxOQnc73CmRCDRBnl8Mprd/d+vjpE22Im2oFd6G/Ix3RwP5bahQoTBxGPG1b9YE4p0H3aofUSoXblAHsQaRABLMqYOExjWrH4EzccwDLpQEaVEZFbSfcwMGXicSONi0oUPGlMIJlAA1sesIBpWbVvYrmZlwZG0DSH30xsWjJ25zXVdY1GFYT4XLoQnJiWCz2Ub/AFMIXUJrdXYbY7r5Leilm58HVVUuQB8XcwPvjVbIIIIozDlx1XxpJqjNJTV0/tMOT3DiHUdgwqYRQVyT3uFet+FCFiTAcoY9IpVexhTGexit5Sq516jqHwO/o9s5zn4FSCDMlHUiknmZbqrqADtcQgG+cA3vxvw1EmplbTaUt3MfksuTfV+08hizZNZqgarb0Wphszn6KmbCoU+9fnnE4okaCKHeAD0Aif8AWenKbD0giczCDK8GPIQj+Jf1ioLJuEcTXQiX6LhVrEGVaOzD1BhRhFkS2A/WKCQgFdzzMJ5mFnAjZdu08jfrBQBli4Zv4XGQ3yM8wUfveoMKMXCugfef9h4jzLlHaXULMvYS1A1CETfwqY9QBcX2uC7Vpq2PP1HNxOU3sDQ/LwubMZtcHWbUJkU2GMzOKIudxMeC1Qan/YTis13mIHZdhPmMptWIPcGpnxEazrX9xE4jEuRDYPo8vFkY9BLJPiNRQn7395pFCN3l8z4HGLJoTLltUtV79T6jh4gY79mQ1Xz0PorhyO5AnP0Hrv8AMU9Yg6yuQjObJ8L9Pl5cT/ysD+hgIBHhtP8AjT6n7Lp6T4ebwnDt/QAfqu3jfE12AH4CjBj4PCO41fr43xeb6/gb4Thz/QPDYzzM2Ru5/A6uCQfykjw8nh8h6kUPqZfpv7T/AG869mBn/9k="/> +</defs> +</svg> diff --git a/src/assets/images/header/header-clock.svg b/src/assets/images/header/header-clock.svg new file mode 100644 index 00000000..dae2f062 --- /dev/null +++ b/src/assets/images/header/header-clock.svg @@ -0,0 +1,3 @@ +<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M4.995 0C2.235 0 0 2.24 0 5C0 7.76 2.235 10 4.995 10C7.76 10 10 7.76 10 5C10 2.24 7.76 0 4.995 0ZM5 9C2.79 9 1 7.21 1 5C1 2.79 2.79 1 5 1C7.21 1 9 2.79 9 5C9 7.21 7.21 9 5 9ZM4.89 2.5H4.86C4.66 2.5 4.5 2.66 4.5 2.86V5.22C4.5 5.395 4.59 5.56 4.745 5.65L6.82 6.895C6.99 6.995 7.21 6.945 7.31 6.775C7.415 6.605 7.36 6.38 7.185 6.28L5.25 5.13V2.86C5.25 2.66 5.09 2.5 4.89 2.5Z" fill="white" fill-opacity="0.7"/> +</svg> diff --git a/src/assets/images/header/icon-notification.svg b/src/assets/images/header/icon-notification.svg new file mode 100644 index 00000000..22b5ecc0 --- /dev/null +++ b/src/assets/images/header/icon-notification.svg @@ -0,0 +1,5 @@ +<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M22.075 20.4085L21 19.3335V15.1668C21 12.6085 19.6334 10.4668 17.25 9.90016V9.3335C17.25 8.64183 16.6917 8.0835 16 8.0835C15.3084 8.0835 14.75 8.64183 14.75 9.3335V9.90016C12.3584 10.4668 11 12.6002 11 15.1668V19.3335L9.92504 20.4085C9.40004 20.9335 9.76671 21.8335 10.5084 21.8335H21.4834C22.2334 21.8335 22.6 20.9335 22.075 20.4085ZM19.3334 20.1668H12.6667V15.1668C12.6667 13.1002 13.925 11.4168 16 11.4168C18.075 11.4168 19.3334 13.1002 19.3334 15.1668V20.1668ZM16 24.3335C16.9167 24.3335 17.6667 23.5835 17.6667 22.6668H14.3334C14.3334 23.5835 15.075 24.3335 16 24.3335Z" fill="white"/> +<rect x="14" y="6" width="12" height="12" rx="6" fill="#E11717"/> +<path d="M18.2919 9.18182V15H17.0618V10.3494H17.0277L15.6953 11.1847V10.0938L17.1357 9.18182H18.2919ZM21.956 15.1278C21.4673 15.1259 21.0469 15.0057 20.6946 14.767C20.3442 14.5284 20.0743 14.1828 19.8849 13.7301C19.6974 13.2775 19.6046 12.733 19.6065 12.0966C19.6065 11.4621 19.7003 10.9214 19.8878 10.4744C20.0772 10.0275 20.3471 9.6875 20.6974 9.45455C21.0497 9.2197 21.4692 9.10227 21.956 9.10227C22.4427 9.10227 22.8613 9.2197 23.2116 9.45455C23.5639 9.68939 23.8348 10.0303 24.0241 10.4773C24.2135 10.9223 24.3073 11.4621 24.3054 12.0966C24.3054 12.7348 24.2107 13.2803 24.0213 13.733C23.8338 14.1856 23.5649 14.5312 23.2145 14.7699C22.8641 15.0085 22.4446 15.1278 21.956 15.1278ZM21.956 14.108C22.2893 14.108 22.5554 13.9403 22.7543 13.6051C22.9531 13.2699 23.0516 12.767 23.0497 12.0966C23.0497 11.6553 23.0043 11.2879 22.9134 10.9943C22.8243 10.7008 22.6974 10.4801 22.5327 10.3324C22.3698 10.1847 22.1776 10.1108 21.956 10.1108C21.6245 10.1108 21.3594 10.2765 21.1605 10.608C20.9616 10.9394 20.8613 11.4356 20.8594 12.0966C20.8594 12.5436 20.9039 12.9167 20.9929 13.2159C21.0838 13.5133 21.2116 13.7367 21.3764 13.8864C21.5412 14.0341 21.7344 14.108 21.956 14.108Z" fill="white"/> +</svg> diff --git a/src/assets/images/header/logout-icon.svg b/src/assets/images/header/logout-icon.svg new file mode 100644 index 00000000..c0e8cee2 --- /dev/null +++ b/src/assets/images/header/logout-icon.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M6.99167 11.575C7.31667 11.9 7.84167 11.9 8.16667 11.575L11.1583 8.58333C11.4833 8.25833 11.4833 7.73333 11.1583 7.40833L8.16667 4.41667C7.84167 4.09167 7.31667 4.09167 6.99167 4.41667C6.66667 4.74167 6.66667 5.26667 6.99167 5.59167L8.55833 7.16667H1.33333C0.875 7.16667 0.5 7.54167 0.5 8C0.5 8.45833 0.875 8.83333 1.33333 8.83333H8.55833L6.99167 10.4C6.66667 10.725 6.675 11.2583 6.99167 11.575ZM13.8333 0.5H2.16667C1.24167 0.5 0.5 1.25 0.5 2.16667V4.66667C0.5 5.125 0.875 5.5 1.33333 5.5C1.79167 5.5 2.16667 5.125 2.16667 4.66667V3C2.16667 2.54167 2.54167 2.16667 3 2.16667H13C13.4583 2.16667 13.8333 2.54167 13.8333 3V13C13.8333 13.4583 13.4583 13.8333 13 13.8333H3C2.54167 13.8333 2.16667 13.4583 2.16667 13V11.3333C2.16667 10.875 1.79167 10.5 1.33333 10.5C0.875 10.5 0.5 10.875 0.5 11.3333V13.8333C0.5 14.75 1.25 15.5 2.16667 15.5H13.8333C14.75 15.5 15.5 14.75 15.5 13.8333V2.16667C15.5 1.25 14.75 0.5 13.8333 0.5Z" fill="white"/> +</svg> diff --git a/src/assets/images/icon-chevron-red.svg b/src/assets/images/icon-chevron-red.svg new file mode 100644 index 00000000..7fcd68d4 --- /dev/null +++ b/src/assets/images/icon-chevron-red.svg @@ -0,0 +1,3 @@ +<svg width="8" height="6" viewBox="0 0 8 6" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M1.4134 1.19329L4.00006 3.77996L6.58673 1.19329C6.84673 0.933291 7.26673 0.933291 7.52673 1.19329C7.78673 1.45329 7.78673 1.87329 7.52673 2.13329L4.46673 5.19329C4.20673 5.45329 3.78673 5.45329 3.52673 5.19329L0.466729 2.13329C0.206729 1.87329 0.206729 1.45329 0.466729 1.19329C0.726729 0.939958 1.1534 0.933291 1.4134 1.19329V1.19329Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/icon-chevron.svg b/src/assets/images/icon-chevron.svg new file mode 100644 index 00000000..597287ef --- /dev/null +++ b/src/assets/images/icon-chevron.svg @@ -0,0 +1,3 @@ +<svg width="10" height="6" viewBox="0 0 10 6" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M8.23332 0.741797L4.99998 3.97513L1.76665 0.741797C1.44165 0.416797 0.91665 0.416797 0.59165 0.741797C0.26665 1.0668 0.26665 1.5918 0.59165 1.9168L4.41665 5.7418C4.74165 6.0668 5.26665 6.0668 5.59165 5.7418L9.41665 1.9168C9.74165 1.5918 9.74165 1.0668 9.41665 0.741797C9.09165 0.42513 8.55832 0.416797 8.23332 0.741797Z" fill="#0C1C29" fill-opacity="0.9"/> +</svg> diff --git a/src/assets/images/icon-clear-red.svg b/src/assets/images/icon-clear-red.svg new file mode 100644 index 00000000..2f50ed01 --- /dev/null +++ b/src/assets/images/icon-clear-red.svg @@ -0,0 +1,3 @@ +<svg width="10" height="12" viewBox="0 0 10 12" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M1.00004 10.6667C1.00004 11.4 1.60004 12 2.33337 12H7.66671C8.40004 12 9.00004 11.4 9.00004 10.6667V4C9.00004 3.26667 8.40004 2.66667 7.66671 2.66667H2.33337C1.60004 2.66667 1.00004 3.26667 1.00004 4V10.6667ZM3.00004 4H7.00004C7.36671 4 7.66671 4.3 7.66671 4.66667V10C7.66671 10.3667 7.36671 10.6667 7.00004 10.6667H3.00004C2.63337 10.6667 2.33337 10.3667 2.33337 10V4.66667C2.33337 4.3 2.63337 4 3.00004 4ZM7.33337 0.666667L6.86004 0.193333C6.74004 0.0733333 6.56671 0 6.39337 0H3.60671C3.43337 0 3.26004 0.0733333 3.14004 0.193333L2.66671 0.666667H1.00004C0.633374 0.666667 0.333374 0.966667 0.333374 1.33333C0.333374 1.7 0.633374 2 1.00004 2H9.00004C9.36671 2 9.66671 1.7 9.66671 1.33333C9.66671 0.966667 9.36671 0.666667 9.00004 0.666667H7.33337Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/icon-edit.svg b/src/assets/images/icon-edit.svg new file mode 100644 index 00000000..9897aacd --- /dev/null +++ b/src/assets/images/icon-edit.svg @@ -0,0 +1,3 @@ +<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M2.18244 11.25H0.75V9.81101L7.37231 3.1887L8.81106 4.62745L2.18244 11.25ZM9.87196 4.62769L2.59297 11.9C2.53298 11.9667 2.44633 12 2.35967 12H0.333287C0.146646 12 0 11.8534 0 11.6667V9.64033C0 9.54701 0.0333288 9.46702 0.0999862 9.40036L7.37231 2.12804L9.87196 4.62769ZM11.2143 2.22469L10.5852 2.8538L9.1462 1.4148L9.77531 0.785698L11.2143 2.22469ZM10.5852 3.91446L11.805 2.69463C12.065 2.43466 12.065 2.01472 11.805 1.75476L10.2452 0.194973C9.98528 -0.064991 9.56534 -0.064991 9.30537 0.194973L8.08554 1.4148L10.5852 3.91446Z" fill="#0C1C29" fill-opacity="0.6"/> +</svg> diff --git a/src/assets/images/icon-no.svg b/src/assets/images/icon-no.svg new file mode 100644 index 00000000..4cb0d8e8 --- /dev/null +++ b/src/assets/images/icon-no.svg @@ -0,0 +1,3 @@ +<svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M11.2496 0.258431C10.9246 -0.0665688 10.3996 -0.0665688 10.0746 0.258431L5.99961 4.3251L1.92461 0.250098C1.59961 -0.0749023 1.07461 -0.0749023 0.749609 0.250098C0.424609 0.575098 0.424609 1.1001 0.749609 1.4251L4.82461 5.5001L0.749609 9.5751C0.424609 9.9001 0.424609 10.4251 0.749609 10.7501C1.07461 11.0751 1.59961 11.0751 1.92461 10.7501L5.99961 6.6751L10.0746 10.7501C10.3996 11.0751 10.9246 11.0751 11.2496 10.7501C11.5746 10.4251 11.5746 9.9001 11.2496 9.5751L7.17461 5.5001L11.2496 1.4251C11.5663 1.10843 11.5663 0.575098 11.2496 0.258431Z" fill="#FF4141"/> +</svg> diff --git a/src/assets/images/icon-ok.svg b/src/assets/images/icon-ok.svg new file mode 100644 index 00000000..2534daca --- /dev/null +++ b/src/assets/images/icon-ok.svg @@ -0,0 +1,3 @@ +<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M4.49993 9.0001L1.58327 6.08343C1.25827 5.75843 0.741602 5.75843 0.416602 6.08343C0.0916016 6.40843 0.0916016 6.9251 0.416602 7.2501L3.90827 10.7418C4.23327 11.0668 4.75827 11.0668 5.08327 10.7418L13.9166 1.91676C14.2416 1.59176 14.2416 1.0751 13.9166 0.750098C13.5916 0.425098 13.0749 0.425098 12.7499 0.750098L4.49993 9.0001Z" fill="#4EBF19"/> +</svg> diff --git a/src/assets/images/icon-options.svg b/src/assets/images/icon-options.svg new file mode 100644 index 00000000..b9ab31bb --- /dev/null +++ b/src/assets/images/icon-options.svg @@ -0,0 +1,3 @@ +<svg width="4" height="14" viewBox="0 0 4 14" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M2.00004 3.66683C2.91671 3.66683 3.66671 2.91683 3.66671 2.00016C3.66671 1.0835 2.91671 0.333496 2.00004 0.333496C1.08337 0.333496 0.333374 1.0835 0.333374 2.00016C0.333374 2.91683 1.08337 3.66683 2.00004 3.66683ZM2.00004 5.3335C1.08337 5.3335 0.333374 6.0835 0.333374 7.00016C0.333374 7.91683 1.08337 8.66683 2.00004 8.66683C2.91671 8.66683 3.66671 7.91683 3.66671 7.00016C3.66671 6.0835 2.91671 5.3335 2.00004 5.3335ZM2.00004 10.3335C1.08337 10.3335 0.333374 11.0835 0.333374 12.0002C0.333374 12.9168 1.08337 13.6668 2.00004 13.6668C2.91671 13.6668 3.66671 12.9168 3.66671 12.0002C3.66671 11.0835 2.91671 10.3335 2.00004 10.3335Z" fill="#040A0F" fill-opacity="0.6"/> +</svg> diff --git a/src/assets/images/icon-reload-red.svg b/src/assets/images/icon-reload-red.svg new file mode 100644 index 00000000..c6e8e9ff --- /dev/null +++ b/src/assets/images/icon-reload-red.svg @@ -0,0 +1,3 @@ +<svg width="19" height="14" viewBox="0 0 19 14" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M15.0417 3.95837L12.7167 6.28337C12.45 6.55004 12.6333 7.00004 13.0083 7.00004H14.5C14.5 9.75837 12.2583 12 9.49998 12C8.84165 12 8.19998 11.875 7.62498 11.6334C7.32498 11.5084 6.98332 11.6 6.75832 11.825C6.33332 12.25 6.48332 12.9667 7.04165 13.1917C7.79998 13.5 8.63332 13.6667 9.49998 13.6667C13.1833 13.6667 16.1667 10.6834 16.1667 7.00004H17.6583C18.0333 7.00004 18.2167 6.55004 17.95 6.29171L15.625 3.96671C15.4667 3.80004 15.2 3.80004 15.0417 3.95837V3.95837ZM4.49998 7.00004C4.49998 4.24171 6.74165 2.00004 9.49998 2.00004C10.1583 2.00004 10.8 2.12504 11.375 2.36671C11.675 2.49171 12.0167 2.40004 12.2417 2.17504C12.6667 1.75004 12.5167 1.03337 11.9583 0.808374C11.2 0.500041 10.3667 0.333374 9.49998 0.333374C5.81665 0.333374 2.83332 3.31671 2.83332 7.00004H1.34165C0.966651 7.00004 0.783318 7.45004 1.04998 7.70837L3.37498 10.0334C3.54165 10.2 3.79998 10.2 3.96665 10.0334L6.29165 7.70837C6.54998 7.45004 6.36665 7.00004 5.99165 7.00004H4.49998V7.00004Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/icon-settings-red.svg b/src/assets/images/icon-settings-red.svg new file mode 100644 index 00000000..8ed9156a --- /dev/null +++ b/src/assets/images/icon-settings-red.svg @@ -0,0 +1,3 @@ +<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M15.1917 9.8165C15.225 9.54984 15.25 9.28317 15.25 8.99984C15.25 8.7165 15.225 8.44984 15.1917 8.18317L16.95 6.80817C17.1083 6.68317 17.15 6.45817 17.05 6.27484L15.3833 3.3915C15.2833 3.20817 15.0583 3.1415 14.875 3.20817L12.8 4.0415C12.3667 3.70817 11.9 3.43317 11.3917 3.22484L11.075 1.0165C11.05 0.816504 10.875 0.666504 10.6667 0.666504H7.33332C7.12499 0.666504 6.94999 0.816504 6.92499 1.0165L6.60832 3.22484C6.09999 3.43317 5.63332 3.7165 5.19999 4.0415L3.12499 3.20817C2.93332 3.13317 2.71666 3.20817 2.61666 3.3915L0.949988 6.27484C0.841655 6.45817 0.891655 6.68317 1.04999 6.80817L2.80832 8.18317C2.77499 8.44984 2.74999 8.72484 2.74999 8.99984C2.74999 9.27484 2.77499 9.54984 2.80832 9.8165L1.04999 11.1915C0.891655 11.3165 0.849988 11.5415 0.949988 11.7248L2.61666 14.6082C2.71666 14.7915 2.94165 14.8582 3.12499 14.7915L5.19999 13.9582C5.63332 14.2915 6.09999 14.5665 6.60832 14.7748L6.92499 16.9832C6.94999 17.1832 7.12499 17.3332 7.33332 17.3332H10.6667C10.875 17.3332 11.05 17.1832 11.075 16.9832L11.3917 14.7748C11.9 14.5665 12.3667 14.2832 12.8 13.9582L14.875 14.7915C15.0667 14.8665 15.2833 14.7915 15.3833 14.6082L17.05 11.7248C17.15 11.5415 17.1083 11.3165 16.95 11.1915L15.1917 9.8165ZM8.99999 11.9165C7.39165 11.9165 6.08332 10.6082 6.08332 8.99984C6.08332 7.3915 7.39165 6.08317 8.99999 6.08317C10.6083 6.08317 11.9167 7.3915 11.9167 8.99984C11.9167 10.6082 10.6083 11.9165 8.99999 11.9165Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/labels/critical.svg b/src/assets/images/labels/critical.svg new file mode 100644 index 00000000..a154ad18 --- /dev/null +++ b/src/assets/images/labels/critical.svg @@ -0,0 +1,4 @@ +<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg"> +<rect width="8" height="8" rx="2" fill="#FF4141" fill-opacity="0.1"/> +<rect x="0.5" y="0.5" width="7" height="7" rx="1.5" stroke="#040A0F" stroke-opacity="0.3"/> +</svg> diff --git a/src/assets/images/labels/non-normal.svg b/src/assets/images/labels/non-normal.svg new file mode 100644 index 00000000..2a31e325 --- /dev/null +++ b/src/assets/images/labels/non-normal.svg @@ -0,0 +1,4 @@ +<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg"> +<rect width="8" height="8" rx="2" fill="#F0AC0C" fill-opacity="0.1"/> +<rect x="0.5" y="0.5" width="7" height="7" rx="1.5" stroke="#040A0F" stroke-opacity="0.3"/> +</svg> diff --git a/src/assets/images/labels/shutdown.svg b/src/assets/images/labels/shutdown.svg new file mode 100644 index 00000000..0404f277 --- /dev/null +++ b/src/assets/images/labels/shutdown.svg @@ -0,0 +1,3 @@ +<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg"> +<rect width="8" height="8" rx="2" fill="#1A3E5B" fill-opacity="0.75"/> +</svg> diff --git a/src/assets/images/labels/warning.svg b/src/assets/images/labels/warning.svg new file mode 100644 index 00000000..3d31df37 --- /dev/null +++ b/src/assets/images/labels/warning.svg @@ -0,0 +1,3 @@ +<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg"> +<rect width="8" height="8" rx="2" fill="#E11717"/> +</svg> diff --git a/src/assets/images/login/autrorization-left-image.svg b/src/assets/images/login/autrorization-left-image.svg new file mode 100644 index 00000000..364afa5e --- /dev/null +++ b/src/assets/images/login/autrorization-left-image.svg @@ -0,0 +1,11 @@ +<svg width="480" height="900" viewBox="0 0 480 900" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<rect width="480" height="900" fill="url(#pattern0)"/> +<rect width="480" height="900" fill="#1A3E5B" fill-opacity="0.85"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M178.44 441.619V434H138.073C133.615 434 130 437.639 130 442.127V457.873C130 462.361 133.615 466 138.073 466H178.44V456.857H144.128C142.178 456.857 140.596 455.265 140.596 453.302V445.175C140.596 443.211 142.178 441.619 144.128 441.619H178.44ZM188.028 466V434H204.679V441.619H199.128V457.873L224.358 434H238.991V466H228.395V442.127L203.67 466H188.028ZM253.624 434V441.619H257.156V442.127L244.794 466H255.138L267.752 441.619H271.789L284.404 466H295.505L278.853 434H253.624ZM308.119 441.619V434H332.844L350 466H338.395L336.376 461.937H311.147L309.128 466H299.037L311.147 442.127V441.619H308.119ZM315.688 452.794V454.317H332.339V452.794L325.78 441.619H321.743L315.688 452.794Z" fill="#E11717"/> +<defs> +<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1"> +<use xlink:href="#image0_265_12656" transform="translate(-0.249902) scale(0.000977071 0.000521105)"/> +</pattern> +<image id="image0_265_12656" width="1535" height="1919" xlink:href="data:image/jpeg;base64,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"/> +</defs> +</svg> diff --git a/src/assets/images/login/hidden-password-icon.svg b/src/assets/images/login/hidden-password-icon.svg new file mode 100644 index 00000000..08347d6b --- /dev/null +++ b/src/assets/images/login/hidden-password-icon.svg @@ -0,0 +1,3 @@ +<svg width="18" height="13" viewBox="0 0 18 13" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M2.12728 0.928571L3.1091 0L4.80314 1.60217C6.07226 1.02181 7.49575 0.696429 9 0.696429C13.0909 0.696429 16.5845 3.10298 18 6.5C17.2828 8.22128 16.032 9.68825 14.4403 10.7167L15.8727 12.0714L14.8909 13L13.1969 11.3978C11.9277 11.9782 10.5043 12.3036 9 12.3036C4.90909 12.3036 1.41545 9.89702 0 6.5C0.717213 4.77872 1.96799 3.31174 3.55968 2.28329L2.12728 0.928571ZM5.6585 4.26829C5.18652 4.89902 4.90909 5.66905 4.90909 6.5C4.90909 8.63571 6.74182 10.369 9 10.369C9.87859 10.369 10.6928 10.1067 11.3597 9.66028L10.1749 8.53978C9.82621 8.71943 9.42598 8.82143 9 8.82143C7.64182 8.82143 6.54545 7.78452 6.54545 6.5C6.54545 6.09712 6.6533 5.7186 6.84326 5.38879L5.6585 4.26829ZM11.1567 7.6112C11.3467 7.28139 11.4545 6.90288 11.4545 6.5C11.4545 5.21548 10.3582 4.17857 9 4.17857C8.57402 4.17857 8.1738 4.28057 7.82508 4.46022L6.64032 3.33972C7.30722 2.89334 8.12141 2.63095 9 2.63095C11.2582 2.63095 13.0909 4.36429 13.0909 6.5C13.0909 7.33094 12.8135 8.10097 12.3415 8.73171L11.1567 7.6112Z" fill="#0C1C29" fill-opacity="0.9"/> +</svg> diff --git a/src/assets/images/login/vector1.svg b/src/assets/images/login/vector1.svg new file mode 100644 index 00000000..b91b4724 --- /dev/null +++ b/src/assets/images/login/vector1.svg @@ -0,0 +1,3 @@ +<svg width="80" height="64" viewBox="0 0 80 64" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M0 64L0 0L80 0V36.5714H53.3333V64L0 64Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/login/vector2.svg b/src/assets/images/login/vector2.svg new file mode 100644 index 00000000..b59c9791 --- /dev/null +++ b/src/assets/images/login/vector2.svg @@ -0,0 +1,3 @@ +<svg width="40" height="32" viewBox="0 0 40 32" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M40 0L40 32L0 32L1.59859e-06 13.7143L13.3333 13.7143L13.3333 -2.33127e-06L40 0Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/logo-header-sila.svg b/src/assets/images/logo-header-sila.svg new file mode 100644 index 00000000..dee454ae --- /dev/null +++ b/src/assets/images/logo-header-sila.svg @@ -0,0 +1,4 @@ + +<svg width="110" height="16" viewBox="0 0 110 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M24.2202 3.80952V0H4.0367C1.80729 0 0 1.81929 0 4.06349V11.9365C0 14.1807 1.80729 16 4.0367 16H24.2202V11.4286H7.06422C6.08885 11.4286 5.29817 10.6326 5.29817 9.65079V5.5873C5.29817 4.60546 6.08886 3.80952 7.06422 3.80952H24.2202ZM29.0138 16V0H37.3395V3.80952H34.5642V11.9365L47.1789 0H54.4954V16H49.1972V4.06349L36.8349 16H29.0138ZM61.8119 0V3.80952H63.578V4.06349L57.3968 16H62.5688L68.8761 3.80952H70.8945L77.2018 16H82.7523L74.4266 0H61.8119ZM89.0596 3.80952V0H101.422L110 16H104.197L103.188 13.9683H90.5734L89.5642 16H84.5184L90.5734 4.06349V3.80952H89.0596ZM92.844 9.39683V10.1587H101.17V9.39683L97.8899 3.80952H95.8716L92.844 9.39683Z" fill="#E11717"/> +</svg>
\ No newline at end of file diff --git a/src/assets/images/popups/red-sign.svg b/src/assets/images/popups/red-sign.svg new file mode 100644 index 00000000..fdc2e146 --- /dev/null +++ b/src/assets/images/popups/red-sign.svg @@ -0,0 +1,3 @@ +<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M6.99992 0.333496C3.31992 0.333496 0.333252 3.32016 0.333252 7.00016C0.333252 10.6802 3.31992 13.6668 6.99992 13.6668C10.6799 13.6668 13.6666 10.6802 13.6666 7.00016C13.6666 3.32016 10.6799 0.333496 6.99992 0.333496ZM6.99992 10.3335C6.63325 10.3335 6.33325 10.0335 6.33325 9.66683V7.00016C6.33325 6.6335 6.63325 6.3335 6.99992 6.3335C7.36659 6.3335 7.66659 6.6335 7.66659 7.00016V9.66683C7.66659 10.0335 7.36659 10.3335 6.99992 10.3335ZM7.66659 4.3335C7.66659 4.70169 7.36811 5.00016 6.99992 5.00016C6.63173 5.00016 6.33325 4.70169 6.33325 4.3335C6.33325 3.96531 6.63173 3.66683 6.99992 3.66683C7.36811 3.66683 7.66659 3.96531 7.66659 4.3335Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/popups/x-icon.svg b/src/assets/images/popups/x-icon.svg new file mode 100644 index 00000000..74d403f6 --- /dev/null +++ b/src/assets/images/popups/x-icon.svg @@ -0,0 +1,3 @@ +<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M11.2501 0.758431C10.9251 0.433431 10.4001 0.433431 10.0751 0.758431L6.0001 4.8251L1.9251 0.750098C1.6001 0.425098 1.0751 0.425098 0.750098 0.750098C0.425098 1.0751 0.425098 1.6001 0.750098 1.9251L4.8251 6.0001L0.750098 10.0751C0.425098 10.4001 0.425098 10.9251 0.750098 11.2501C1.0751 11.5751 1.6001 11.5751 1.9251 11.2501L6.0001 7.1751L10.0751 11.2501C10.4001 11.5751 10.9251 11.5751 11.2501 11.2501C11.5751 10.9251 11.5751 10.4001 11.2501 10.0751L7.1751 6.0001L11.2501 1.9251C11.5668 1.60843 11.5668 1.0751 11.2501 0.758431Z" fill="#040A0F" fill-opacity="0.6"/> +</svg> diff --git a/src/assets/images/power-error-icon.svg b/src/assets/images/power-error-icon.svg new file mode 100644 index 00000000..e9400b20 --- /dev/null +++ b/src/assets/images/power-error-icon.svg @@ -0,0 +1,3 @@ +<svg width="13" height="12" viewBox="0 0 13 12" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M6.5 1.99378L11.52 10.6671H1.48L6.5 1.99378ZM0.326666 10.0004C-0.186667 10.8871 0.453333 12.0004 1.48 12.0004H11.52C12.5467 12.0004 13.1867 10.8871 12.6733 10.0004L7.65333 1.32711C7.14 0.440443 5.86 0.440443 5.34667 1.32711L0.326666 10.0004ZM5.83333 5.33378V6.66711C5.83333 7.03378 6.13333 7.33378 6.5 7.33378C6.86667 7.33378 7.16667 7.03378 7.16667 6.66711V5.33378C7.16667 4.96711 6.86667 4.66711 6.5 4.66711C6.13333 4.66711 5.83333 4.96711 5.83333 5.33378ZM5.83333 8.66711H7.16667V10.0004H5.83333V8.66711Z" fill="#FF4141"/> +</svg> diff --git a/src/assets/images/power-icon.svg b/src/assets/images/power-icon.svg new file mode 100644 index 00000000..9af28988 --- /dev/null +++ b/src/assets/images/power-icon.svg @@ -0,0 +1,3 @@ +<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M0.5 14H4.02205L4.77627 9.65234H7.15277C10.5183 9.65234 12.9232 7.76563 13.4142 4.84668C13.9123 1.96191 12.2188 0 8.9387 0H2.91919L0.5 14ZM5.23876 6.98633L5.97875 2.72754H7.71487C9.30157 2.72754 9.98464 3.54102 9.77118 4.84668C9.55061 6.13867 8.57582 6.98633 6.96777 6.98633H5.23876Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/processors-page/error-icon.svg b/src/assets/images/processors-page/error-icon.svg new file mode 100644 index 00000000..a154ad18 --- /dev/null +++ b/src/assets/images/processors-page/error-icon.svg @@ -0,0 +1,4 @@ +<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg"> +<rect width="8" height="8" rx="2" fill="#FF4141" fill-opacity="0.1"/> +<rect x="0.5" y="0.5" width="7" height="7" rx="1.5" stroke="#040A0F" stroke-opacity="0.3"/> +</svg> diff --git a/src/assets/images/refresh.svg b/src/assets/images/refresh.svg new file mode 100644 index 00000000..0b84e1a1 --- /dev/null +++ b/src/assets/images/refresh.svg @@ -0,0 +1,3 @@ +<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M9.76672 2.23365C8.68005 1.14699 7.14005 0.52032 5.44672 0.693654C3.00005 0.94032 0.986722 2.92699 0.713388 5.37365C0.346722 8.60699 2.84672 11.3337 6.00005 11.3337C8.12672 11.3337 9.95339 10.087 10.8067 8.29365C11.0201 7.84699 10.7001 7.33365 10.2067 7.33365C9.96005 7.33365 9.72672 7.46699 9.62006 7.68699C8.86672 9.30699 7.06005 10.3337 5.08672 9.89365C3.60672 9.56699 2.41339 8.36032 2.10005 6.88032C1.54005 4.29365 3.50672 2.00032 6.00005 2.00032C7.10672 2.00032 8.09339 2.46032 8.81339 3.18699L7.80672 4.19365C7.38672 4.61365 7.68005 5.33365 8.27339 5.33365H10.6667C11.0334 5.33365 11.3334 5.03365 11.3334 4.66699V2.27365C11.3334 1.68032 10.6134 1.38032 10.1934 1.80032L9.76672 2.23365Z" fill="#040A0F" fill-opacity="0.6"/> +</svg> diff --git a/src/assets/images/search-icon.svg b/src/assets/images/search-icon.svg new file mode 100644 index 00000000..b1565187 --- /dev/null +++ b/src/assets/images/search-icon.svg @@ -0,0 +1,3 @@ +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M15.4999 14.0001H14.7099L14.4299 13.7301C15.6299 12.3301 16.2499 10.4201 15.9099 8.39014C15.4399 5.61014 13.1199 3.39014 10.3199 3.05014C6.08989 2.53014 2.52989 6.09014 3.04989 10.3201C3.38989 13.1201 5.60989 15.4401 8.38989 15.9101C10.4199 16.2501 12.3299 15.6301 13.7299 14.4301L13.9999 14.7101V15.5001L18.2499 19.7501C18.6599 20.1601 19.3299 20.1601 19.7399 19.7501C20.1499 19.3401 20.1499 18.6701 19.7399 18.2601L15.4999 14.0001ZM9.49989 14.0001C7.00989 14.0001 4.99989 11.9901 4.99989 9.50014C4.99989 7.01014 7.00989 5.00014 9.49989 5.00014C11.9899 5.00014 13.9999 7.01014 13.9999 9.50014C13.9999 11.9901 11.9899 14.0001 9.49989 14.0001Z" fill="#0C1C29" fill-opacity="0.9"/> +</svg> diff --git a/src/assets/images/sila-server-navbar-icon.svg b/src/assets/images/sila-server-navbar-icon.svg new file mode 100644 index 00000000..8bcd2712 --- /dev/null +++ b/src/assets/images/sila-server-navbar-icon.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M16 0H0V4.06154H1.68421V4.8H0V9.2H1.68421V10H0V14.4H1.68421V15.2V16H14.3158V15.2V14.4H16V10H14.3158V9.2H16V4.8H14.3158V4.06154H16V0ZM13.4737 4.8V4.06154H2.52632V4.8H13.4737ZM0.842105 3.32308V0.738462H15.1579V3.32308H0.842105ZM2.10526 1.10769H1.26316V2.95385H2.10526V1.10769ZM2.94737 1.10769H3.78947V2.95385H2.94737V1.10769ZM5.05263 1.10769H4.21053V2.95385H5.05263V1.10769ZM5.89474 1.10769H6.73684V2.95385H5.89474V1.10769ZM13.8947 1.47692H11.3684V2.58462H13.8947V1.47692ZM13.4737 15.2H2.52632V14.4H13.4737V15.2ZM13.4737 10V9.2H2.52632V10H13.4737ZM0.842105 8.4V5.6H15.1579V8.4H0.842105ZM2.10526 8V6H1.26316V8H2.10526ZM2.94737 6H3.78947V8H2.94737V6ZM5.05263 6H4.21053V8H5.05263V6ZM5.89474 6H6.73684V8H5.89474V6ZM13.8947 6.4H11.3684V7.6H13.8947V6.4ZM0.842105 13.6V10.8H15.1579V13.6H0.842105ZM2.10526 13.2V11.2H1.26316V13.2H2.10526ZM2.94737 11.2H3.78947V13.2H2.94737V11.2ZM5.05263 11.2H4.21053V13.2H5.05263V11.2ZM5.89474 11.2H6.73684V13.2H5.89474V11.2ZM13.8947 11.6H11.3684V12.8H13.8947V11.6Z" fill="#0C1C29" fill-opacity="0.9"/> +</svg> diff --git a/src/assets/images/status/off.svg b/src/assets/images/status/off.svg new file mode 100644 index 00000000..d84bedbc --- /dev/null +++ b/src/assets/images/status/off.svg @@ -0,0 +1,3 @@ +<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M10.5751 6.25033L9.00008 7.82533L7.42508 6.25033C7.10008 5.92533 6.57508 5.92533 6.25008 6.25033C5.92508 6.57533 5.92508 7.10033 6.25008 7.42533L7.82508 9.00033L6.25008 10.5753C5.92508 10.9003 5.92508 11.4253 6.25008 11.7503C6.57508 12.0753 7.10008 12.0753 7.42508 11.7503L9.00008 10.1753L10.5751 11.7503C10.9001 12.0753 11.4251 12.0753 11.7501 11.7503C12.0751 11.4253 12.0751 10.9003 11.7501 10.5753L10.1751 9.00033L11.7501 7.42533C12.0751 7.10033 12.0751 6.57533 11.7501 6.25033C11.4251 5.93366 10.8917 5.93366 10.5751 6.25033ZM9.00008 0.666992C4.39175 0.666992 0.666748 4.39199 0.666748 9.00033C0.666748 13.6087 4.39175 17.3337 9.00008 17.3337C13.6084 17.3337 17.3334 13.6087 17.3334 9.00033C17.3334 4.39199 13.6084 0.666992 9.00008 0.666992ZM9.00008 15.667C5.32508 15.667 2.33341 12.6753 2.33341 9.00033C2.33341 5.32533 5.32508 2.33366 9.00008 2.33366C12.6751 2.33366 15.6667 5.32533 15.6667 9.00033C15.6667 12.6753 12.6751 15.667 9.00008 15.667Z" fill="#FF4141"/> +</svg> diff --git a/src/assets/images/status/on.svg b/src/assets/images/status/on.svg new file mode 100644 index 00000000..e97abf4a --- /dev/null +++ b/src/assets/images/status/on.svg @@ -0,0 +1,3 @@ +<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M9.00008 0.666992C4.40008 0.666992 0.666748 4.40033 0.666748 9.00033C0.666748 13.6003 4.40008 17.3337 9.00008 17.3337C13.6001 17.3337 17.3334 13.6003 17.3334 9.00033C17.3334 4.40033 13.6001 0.666992 9.00008 0.666992ZM9.00008 15.667C5.32508 15.667 2.33341 12.6753 2.33341 9.00033C2.33341 5.32533 5.32508 2.33366 9.00008 2.33366C12.6751 2.33366 15.6667 5.32533 15.6667 9.00033C15.6667 12.6753 12.6751 15.667 9.00008 15.667ZM12.2334 5.90866L7.33342 10.8087L5.76675 9.24199C5.44175 8.91699 4.91675 8.91699 4.59175 9.24199C4.26675 9.56699 4.26675 10.092 4.59175 10.417L6.75008 12.5753C7.07508 12.9003 7.60008 12.9003 7.92508 12.5753L13.4167 7.08366C13.7417 6.75866 13.7417 6.23366 13.4167 5.90866C13.0917 5.58366 12.5584 5.58366 12.2334 5.90866Z" fill="#4EBF19"/> +</svg> diff --git a/src/assets/images/temperature-icon.svg b/src/assets/images/temperature-icon.svg new file mode 100644 index 00000000..8feecae4 --- /dev/null +++ b/src/assets/images/temperature-icon.svg @@ -0,0 +1,3 @@ +<svg width="8" height="16" viewBox="0 0 8 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M2.59649 8.70217V2.11563C2.72082 1.71432 3.14137 1.08777 3.96881 1.08777C4.80097 1.08777 5.25676 1.71835 5.40351 2.1269V8.5628V8.70217H5.40718L5.1428 9.2957C6.08491 9.74384 6.73684 10.7272 6.73684 11.8665C6.73684 13.4284 5.51152 14.6947 4 14.6947C2.48848 14.6947 1.26316 13.4284 1.26316 11.8665C1.26316 10.7267 1.91563 9.74303 2.85836 9.29515L2.59455 8.70217H2.59649ZM1.47368 8.66168V2.07598C1.47368 2.01444 1.48068 1.94562 1.50067 1.87278C1.67069 1.25325 2.37741 0 3.96881 0C5.54465 0 6.29377 1.23221 6.49026 1.84692C6.51676 1.92982 6.52632 2.00947 6.52632 2.08119V8.66168C7.42514 9.4192 8 10.5731 8 11.8665C8 14.1494 6.20914 16 4 16C1.79086 16 0 14.1494 0 11.8665C0 10.5731 0.574857 9.4192 1.47368 8.66168ZM6 12C6 13.1046 5.10457 14 4 14C2.89543 14 2 13.1046 2 12C2 11.2597 2.5 10 3.5 10V4H4.5V10C5.5 10 6 11.2597 6 12Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/textarea-buttons/button-icon-bold.svg b/src/assets/images/textarea-buttons/button-icon-bold.svg new file mode 100644 index 00000000..53e67502 --- /dev/null +++ b/src/assets/images/textarea-buttons/button-icon-bold.svg @@ -0,0 +1,3 @@ +<svg width="11" height="14" viewBox="0 0 11 14" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M8.6 6.79C9.57 6.12 10.25 5.02 10.25 4C10.25 1.74 8.5 0 6.25 0H1C0.45 0 0 0.45 0 1V13C0 13.55 0.45 14 1 14H6.78C8.85 14 10.74 12.31 10.75 10.23C10.76 8.7 9.9 7.39 8.6 6.79ZM3 2.5H6C6.83 2.5 7.5 3.17 7.5 4C7.5 4.83 6.83 5.5 6 5.5H3V2.5ZM6.5 11.5H3V8.5H6.5C7.33 8.5 8 9.17 8 10C8 10.83 7.33 11.5 6.5 11.5Z" fill="#626773"/> +</svg> diff --git a/src/assets/images/textarea-buttons/button-icon-crossline.svg b/src/assets/images/textarea-buttons/button-icon-crossline.svg new file mode 100644 index 00000000..347eee6f --- /dev/null +++ b/src/assets/images/textarea-buttons/button-icon-crossline.svg @@ -0,0 +1,3 @@ +<svg width="18" height="15" viewBox="0 0 18 15" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M9 15C10.1 15 11 14.1 11 13V12H7V13C7 14.1 7.9 15 9 15ZM2 1.5C2 2.33 2.67 3 3.5 3H7V6H11V3H14.5C15.33 3 16 2.33 16 1.5C16 0.67 15.33 0 14.5 0H3.5C2.67 0 2 0.67 2 1.5ZM1 10H17C17.55 10 18 9.55 18 9C18 8.45 17.55 8 17 8H1C0.45 8 0 8.45 0 9C0 9.55 0.45 10 1 10Z" fill="#626773"/> +</svg> diff --git a/src/assets/images/textarea-buttons/button-icon-cursive.svg b/src/assets/images/textarea-buttons/button-icon-cursive.svg new file mode 100644 index 00000000..4632587d --- /dev/null +++ b/src/assets/images/textarea-buttons/button-icon-cursive.svg @@ -0,0 +1,3 @@ +<svg width="12" height="14" viewBox="0 0 12 14" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M4 1.5C4 2.33 4.67 3 5.5 3H6.21L2.79 11H1.5C0.67 11 0 11.67 0 12.5C0 13.33 0.67 14 1.5 14H6.5C7.33 14 8 13.33 8 12.5C8 11.67 7.33 11 6.5 11H5.79L9.21 3H10.5C11.33 3 12 2.33 12 1.5C12 0.67 11.33 0 10.5 0H5.5C4.67 0 4 0.67 4 1.5Z" fill="#626773"/> +</svg> diff --git a/src/assets/images/textarea-buttons/button-icon-link.svg b/src/assets/images/textarea-buttons/button-icon-link.svg new file mode 100644 index 00000000..41e44097 --- /dev/null +++ b/src/assets/images/textarea-buttons/button-icon-link.svg @@ -0,0 +1,3 @@ +<svg width="21" height="10" viewBox="0 0 21 10" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M1.95995 4.38C2.23995 2.91 3.61995 1.9 5.11995 1.9H8.04995C8.56995 1.9 8.99995 1.47 8.99995 0.95C8.99995 0.43 8.56995 0 8.04995 0H5.21995C2.60995 0 0.279953 1.91 0.0299532 4.51C-0.260047 7.49 2.07995 10 4.99995 10H8.04995C8.56995 10 8.99995 9.57 8.99995 9.05C8.99995 8.53 8.56995 8.1 8.04995 8.1H4.99995C3.08995 8.1 1.57995 6.36 1.95995 4.38ZM6.99995 6H13C13.55 6 14 5.55 14 5C14 4.45 13.55 4 13 4H6.99995C6.44995 4 5.99995 4.45 5.99995 5C5.99995 5.55 6.44995 6 6.99995 6ZM14.78 0H11.95C11.43 0 11 0.43 11 0.95C11 1.47 11.43 1.9 11.95 1.9H14.88C16.38 1.9 17.76 2.91 18.04 4.38C18.42 6.36 16.91 8.1 15 8.1H11.95C11.43 8.1 11 8.53 11 9.05C11 9.57 11.43 10 11.95 10H15C17.92 10 20.26 7.49 19.98 4.51C19.73 1.91 17.39 0 14.78 0Z" fill="#626773"/> +</svg> diff --git a/src/assets/images/textarea-buttons/button-icon-list.svg b/src/assets/images/textarea-buttons/button-icon-list.svg new file mode 100644 index 00000000..4a3d56a5 --- /dev/null +++ b/src/assets/images/textarea-buttons/button-icon-list.svg @@ -0,0 +1,3 @@ +<svg width="19" height="16" viewBox="0 0 19 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M6 3H18C18.55 3 19 2.55 19 2C19 1.45 18.55 1 18 1H6C5.45 1 5 1.45 5 2C5 2.55 5.45 3 6 3ZM18 13H6C5.45 13 5 13.45 5 14C5 14.55 5.45 15 6 15H18C18.55 15 19 14.55 19 14C19 13.45 18.55 13 18 13ZM18 7H6C5.45 7 5 7.45 5 8C5 8.55 5.45 9 6 9H18C18.55 9 19 8.55 19 8C19 7.45 18.55 7 18 7ZM2.5 12H0.5C0.22 12 0 12.22 0 12.5C0 12.78 0.22 13 0.5 13H2V13.5H1.5C1.22 13.5 1 13.72 1 14C1 14.28 1.22 14.5 1.5 14.5H2V15H0.5C0.22 15 0 15.22 0 15.5C0 15.78 0.22 16 0.5 16H2.5C2.78 16 3 15.78 3 15.5V12.5C3 12.22 2.78 12 2.5 12ZM0.5 1H1V3.5C1 3.78 1.22 4 1.5 4C1.78 4 2 3.78 2 3.5V0.5C2 0.22 1.78 0 1.5 0H0.5C0.22 0 0 0.22 0 0.5C0 0.78 0.22 1 0.5 1ZM2.5 6H0.5C0.22 6 0 6.22 0 6.5C0 6.78 0.22 7 0.5 7H1.8L0.12 8.96C0.0399999 9.05 0 9.17 0 9.28V9.5C0 9.78 0.22 10 0.5 10H2.5C2.78 10 3 9.78 3 9.5C3 9.22 2.78 9 2.5 9H1.2L2.88 7.04C2.96 6.95 3 6.83 3 6.72V6.5C3 6.22 2.78 6 2.5 6Z" fill="#626773"/> +</svg> diff --git a/src/assets/images/textarea-buttons/button-icon-number-list.svg b/src/assets/images/textarea-buttons/button-icon-number-list.svg new file mode 100644 index 00000000..01533066 --- /dev/null +++ b/src/assets/images/textarea-buttons/button-icon-number-list.svg @@ -0,0 +1,3 @@ +<svg width="19" height="16" viewBox="0 0 19 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M2 6.5C1.17 6.5 0.5 7.17 0.5 8C0.5 8.83 1.17 9.5 2 9.5C2.83 9.5 3.5 8.83 3.5 8C3.5 7.17 2.83 6.5 2 6.5ZM2 0.5C1.17 0.5 0.5 1.17 0.5 2C0.5 2.83 1.17 3.5 2 3.5C2.83 3.5 3.5 2.83 3.5 2C3.5 1.17 2.83 0.5 2 0.5ZM2 12.5C1.17 12.5 0.5 13.18 0.5 14C0.5 14.82 1.18 15.5 2 15.5C2.82 15.5 3.5 14.82 3.5 14C3.5 13.18 2.83 12.5 2 12.5ZM6 15H18C18.55 15 19 14.55 19 14C19 13.45 18.55 13 18 13H6C5.45 13 5 13.45 5 14C5 14.55 5.45 15 6 15ZM6 9H18C18.55 9 19 8.55 19 8C19 7.45 18.55 7 18 7H6C5.45 7 5 7.45 5 8C5 8.55 5.45 9 6 9ZM5 2C5 2.55 5.45 3 6 3H18C18.55 3 19 2.55 19 2C19 1.45 18.55 1 18 1H6C5.45 1 5 1.45 5 2Z" fill="#626773"/> +</svg> diff --git a/src/assets/images/textarea-buttons/button-icon-underline.svg b/src/assets/images/textarea-buttons/button-icon-underline.svg new file mode 100644 index 00000000..61801b1b --- /dev/null +++ b/src/assets/images/textarea-buttons/button-icon-underline.svg @@ -0,0 +1,3 @@ +<svg width="14" height="18" viewBox="0 0 14 18" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M7.79 13.95C10.82 13.56 13 10.84 13 7.79V1.25C13 0.56 12.44 0 11.75 0C11.06 0 10.5 0.56 10.5 1.25V7.9C10.5 9.57 9.37 11.09 7.73 11.42C5.48 11.89 3.5 10.17 3.5 8V1.25C3.5 0.56 2.94 0 2.25 0C1.56 0 1 0.56 1 1.25V8C1 11.57 4.13 14.42 7.79 13.95ZM0 17C0 17.55 0.45 18 1 18H13C13.55 18 14 17.55 14 17C14 16.45 13.55 16 13 16H1C0.45 16 0 16.45 0 17Z" fill="#626773"/> +</svg> diff --git a/src/assets/images/usage-icon.svg b/src/assets/images/usage-icon.svg new file mode 100644 index 00000000..9fda1696 --- /dev/null +++ b/src/assets/images/usage-icon.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M3.16321 0.102643C4.54537 -0.192399 6.29362 0.133249 7.39198 1.27964C7.98027 1.89366 8.2714 2.72271 8.40553 3.48547C8.53189 4.20407 8.52564 4.90096 8.47505 5.38722L15.8329 13.0669C16.0557 13.2994 16.0557 13.6764 15.8329 13.9089L14.0101 15.8115C13.7873 16.044 13.4261 16.044 13.2033 15.8115L5.70737 7.9877C4.77612 8.37143 2.93189 8.6634 1.52967 7.19986C0.171603 5.78239 0.192261 3.81534 0.401181 2.77598C0.496812 2.30021 1.03059 2.1886 1.32768 2.47483L3.32312 4.39732L4.68077 3.12199L2.86961 1.07409C2.59026 0.758221 2.70918 0.199563 3.16321 0.102643ZM3.68069 0.820729L5.37031 2.7312C5.58592 2.97499 5.56902 3.35569 5.33275 3.57764L3.70313 5.10844C3.48413 5.31417 3.15105 5.31198 2.93456 5.10339L1.08634 3.32274C0.981164 4.26701 1.11097 5.64009 2.06752 6.63848C3.20578 7.82653 4.75518 7.5583 5.516 7.21114C5.72564 7.11548 5.98261 7.15223 6.15778 7.33506L13.6067 15.1098L15.1606 13.4879L7.87306 5.88164C7.74401 5.74696 7.68786 5.56053 7.70995 5.3803C7.76124 4.96181 7.77604 4.3035 7.65739 3.62879C7.53814 2.95063 7.29165 2.29767 6.85413 1.84101C6.06616 1.01859 4.7991 0.691294 3.68069 0.820729ZM14.8253 0.944666L12.6624 1.54665L9.12165 5.24229L8.5838 4.68092L12.1607 0.947577C12.2317 0.8735 12.3201 0.820278 12.4171 0.793285L14.9247 0.0953439C15.3331 -0.0183267 15.714 0.354845 15.6311 0.787439L15.1319 3.39272C15.1098 3.50799 15.0555 3.61386 14.9759 3.69698L11.2134 7.624L10.6756 7.06263L14.3973 3.1781L14.8253 0.944666ZM5.12832 9.01333L2.74696 11.4988L4.46764 13.1451L7.25269 10.2382L7.79054 10.7996L4.748 13.9752L2.97515 15.8256C2.75918 16.051 2.41143 16.0589 2.18628 15.8435L0.184992 13.9287C-0.0544278 13.6997 -0.0625714 13.3085 0.16709 13.0688L1.92824 11.2306L4.59047 8.45196L5.12832 9.01333ZM2.20861 12.0607L3.92928 13.707L2.56605 15.1299L0.845376 13.4836L2.20861 12.0607Z" fill="#E11717"/> +</svg> diff --git a/src/assets/images/voltage-icon.svg b/src/assets/images/voltage-icon.svg new file mode 100644 index 00000000..dce7dae8 --- /dev/null +++ b/src/assets/images/voltage-icon.svg @@ -0,0 +1,3 @@ +<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M10.4778 0L8.95907 8.62681C8.72378 10.0579 7.46177 11.0974 5.8789 11.0974C4.3103 11.0974 3.41904 10.0579 3.65434 8.62681L5.17303 0H1.64367L0.0821938 8.91707C-0.452558 12.0087 1.65793 14 5.36554 14C9.05176 14 11.9038 12.0087 12.4385 8.91707L14 0H10.4778Z" fill="#E11717"/> +</svg> diff --git a/src/assets/styles/bmc/custom/_base.scss b/src/assets/styles/bmc/custom/_base.scss index c11e046c..94cbecb5 100644 --- a/src/assets/styles/bmc/custom/_base.scss +++ b/src/assets/styles/bmc/custom/_base.scss @@ -1,24 +1,44 @@ -dt, -legend, -label { - color: gray("800"); - font-size: 14px; - font-weight: 400; - line-height: 1.4285; +body { + overflow-y: hidden; } -h1, -.h1 { - font-size: 2.625rem; - font-weight: 300; - line-height: 1.238; +.scroll-container { + overflow-y: overlay; + height: calc(100vh - #{$header-height}); + &::-webkit-scrollbar { + margin-top: $header-height; + position: absolute; + width: 10px; + } + &::-webkit-scrollbar-thumb { + margin-top: $header-height; + border: 4px solid transparent; + background: $faint-secondary-primary-20; + border-radius: 16px; + background-clip: content-box; + } } -h2, -.h2 { - font-size: 2.25rem; - font-weight: 300; - line-height: 1.3333; +@-moz-document url-prefix() { + #logs-table-wrapper div, + #table-event-logs div, + .scroll-container, + .nav-container { + overflow-y: auto; + scrollbar-width: thin; + scrollbar-color: $faint-secondary-primary-20 transparent; +} +} + +.pointer { + cursor: pointer; +} + +.icon-edit, +.icon-options { + display: block; + margin: 2px 12px 0 auto; + cursor: pointer; } h3, @@ -48,3 +68,228 @@ h6, font-weight: 500; line-height: 1.2857; } + +.regular-12px { + font-family: 'Inter', sans-serif; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: 16px; + letter-spacing: 0em; + text-align: left; + color: $text-primary; + &.red { + color: $red-brand-primary + } + &.underline { + text-decoration: underline; + cursor: pointer; + } + &.tretiatry { + color: $text-tretiatry; + } + &.quaternary { + color: $text-quaternary; + } +} + +.light-12px { + font-family: 'Inter', sans-serif; + font-size: 12px; + font-style: normal; + font-weight: 300; + line-height: 16px; + letter-spacing: 0em; + text-align: left; + color: $text-secondary; +} + +.caption-12px { + font-family: 'Inter', sans-serif; + font-size: 12px; + font-style: normal; + font-weight: 500; + line-height: 16px; + letter-spacing: 0em; + text-align: left; + color: $text-tretiatry; +} + + +.semi-bold-12px { + font-family: 'Inter', sans-serif; + font-size: 12px; + font-style: normal; + font-weight: 600; + line-height: 16px; + letter-spacing: 0em; + text-align: left; +} + +.semi-bold-12px__caps { + font-family: 'Inter', sans-serif; + font-size: 12px; + font-style: normal; + font-weight: 600; + line-height: 16px; + letter-spacing: 0em; + text-align: left; + text-transform: uppercase; + color: $text-primary; + &:hover { + color: $text-primary; + } + &.tretiatry { + color: $text-tretiatry !important; + } +} + +.bold-12px__caps { + font-family: 'Inter', sans-serif; + font-size: 12px; + font-style: normal; + font-weight: 700; + line-height: 16px; + letter-spacing: 0em; + text-align: left; + color: $text-secondary; + text-transform: uppercase; +} + +.medium-12px { + font-family: 'Inter', sans-serif; + font-size: 12px; + font-style: normal; + font-weight: 500; + line-height: 16px; + letter-spacing: 0em; + text-align: left; + color: $text-primary; +} + +.modal-body, +.page-network dd, +.page-inventory dd, +.custom-radio, +.regular-14px { + font-family: 'Inter', sans-serif; + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: 0em; + text-align: left; + color: $text-secondary; +} + +.page-network dt, +.page-inventory dt, +.semi-bold-14px { + font-family: 'Inter', sans-serif; + font-size: 14px; + font-style: normal; + font-weight: 600; + line-height: 20px; + color: $text-primary; +} + +#date-time dd, +.regular-16px { + font-family: 'Inter', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 20px; + letter-spacing: 0em; + text-align: left; +} + +#date-time dt, +.semi-bold-16px { + font-family: 'Inter', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 20px; + color: $text-primary; +} + +.medium-16px { + font-family: 'Inter', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: 0em; + text-align: left; + color: $text-primary; +} + +.bold-16px { + font-family: 'Inter', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 700; + line-height: 20px; + letter-spacing: 0em; + text-align: left; +} + +.bold-16px__caps { + font-family: 'Inter', sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 700; + line-height: 20px; + letter-spacing: 0em; + text-align: left; + text-transform: uppercase; + color: $text-secondary; +} + +h2, .h2, +.modal-title, +.semi-bold-20px { + font-family: 'Inter', sans-serif; + font-size: 20px !important; + font-style: normal; + font-weight: 600; + line-height: 24px; + letter-spacing: 0em; +} + +.bold-24px { + font-family: 'Inter', sans-serif; + font-style: normal; + font-weight: bold; + font-weight: 700; + font-size: 24px; + line-height: 28px; + color: $text-primary; + margin: 0; +} + +.auth-description { + font-family: 'Inter', sans-serif; + font-style: normal; + font-weight: normal; + font-size: 12px; + line-height: 16px; + color: $login-page-description-color; +} + +.icon-expand { + height: 1.2rem; + width: 1.2rem; + float: right; + transition: 0.3s linear; + margin: $spacer/4 35px 0 auto; +} + +.icon-expand-right { + height: 1.2rem; + width: 1.2rem; + float: right; + transition: 0.3s linear; + margin: $spacer/4 5px 0 0; +}
\ No newline at end of file diff --git a/src/assets/styles/bmc/custom/_buttons.scss b/src/assets/styles/bmc/custom/_buttons.scss index 2a7b8169..04a97c21 100644 --- a/src/assets/styles/bmc/custom/_buttons.scss +++ b/src/assets/styles/bmc/custom/_buttons.scss @@ -1,14 +1,8 @@ .btn { - padding-top: $spacer / 2; - padding-right: $spacer; - padding-bottom: $spacer / 2; - padding-left: $spacer; display: inline-flex; align-items: center; justify-content: space-around; - svg { - margin-right: $spacer / 4; - } + height: 36px; &:disabled { color: gray("600"); fill: currentColor; @@ -18,30 +12,150 @@ background-color: gray("400"); } } + &svg { + padding-right: 8px; + } +} + +.btn-md { + width: 220px; + height: 36px; } +.btn-lg { + width: 290px; + height: 36px; +} + +.btn-danger, .btn-primary { - fill: currentColor; - &:focus, - &:not(:disabled):not(.disabled):active:focus { - border-color: $white; - box-shadow: inset 0 0 0 3px theme-color('primary'), inset 0 0 0 5px $white; + background-color: $red-brand-primary; + border-radius: 8px; + border: none; + box-shadow: 1px 2px 2px -1px rgb(79 37 37 / 40%) inset; + font-family: 'Inter', sans-serif; + font-style: normal; + font-weight: 600; + font-size: 16px; + line-height: 20px; + &:hover { + background-color: $red-brand-primary-hover; + } + &:not(:disabled):not(.disabled):active:focus, + &:focus-visible { + border: none; + box-shadow: none; + background-color: $red-brand-primary-click; + } + &:focus { + border: none; + box-shadow: 0px 0px 0px 4px rgba(225, 23, 23, 0.5); + background-color: $red-brand-primary; + } + &:active { + border: none; + box-shadow: none; + background-color: $red-brand-primary; + } +} + +.btn-secondary, +.modal-header button { + background-color: $faint-secondary-primary-5; + color: $red-brand-primary; + border-radius: 8px; + border: none; + box-shadow: 1px 2px 4px -1px rgb(79 37 37 / 10%) inset; + font-family: 'Inter', sans-serif; + font-style: normal; + font-weight: 600; + font-size: 16px; + line-height: 20px; + &:hover { + background-color: $faint-secondary-primary-5-hover; + color: $red-brand-primary; + } + &:focus { + border: none; + box-shadow: 0px 0px 0px 4px rgba(225, 23, 23, 0.5); + color: $red-brand-primary; + background-color: $faint-secondary-primary-5; + } + &:not(:disabled):not(.disabled):active:focus, + &:focus-visible { + border: none; + box-shadow: none; + color: $red-brand-primary; + background-color: $faint-secondary-primary-20; + } + // style for standard close button in modal and popups + &.close { + width: 32px; + height: 22px; + padding: 0px; + margin: 0px; + background-color: $faint-secondary-primary-1; + border: 1px solid $faint-secondary-primary-10; + border-radius: 7px; + &:hover { + background-color: $faint-secondary-primary-2; + } + } +} + +.btn-unstyled { + border: none; + &:focus { + box-shadow: none; + } + &:active { + box-shadow: none; } } -.btn-secondary { - fill: currentColor; - &:focus, - &:not(:disabled):not(.disabled):active:focus { - border-color: $white; - box-shadow: inset 0 0 0 3px theme-color('secondary'), inset 0 0 0 5px $white; +.btn-popover { + border: none; + color: $red-brand-primary; + height: 28px; + border-radius: 8px; + font-weight: 500; + font-size: 12px; + transition: ease-in 0.2s; + &:hover { + color: $white; + transition: ease-in 0.2s; + } + &:focus { + box-shadow: none; + } + &:active { + box-shadow: none; + } + &.selected-unit-button { + transition: ease-in 0.2s; + color: $white; + } + &.selected-choice-button { + transition: ease-in 0.2s; + color: $white; + } +} + +.btn-toogle-popover { + justify-content: flex-start; + width: 25px; + height: 16px; + padding: 0; + &:focus { + box-shadow: none; + } + &:active { + box-shadow: none; } } -// Global style for all button link .btn-link { - font-weight: $headings-font-weight; - fill: theme-color("primary"); + color: $text-primary; text-decoration: none !important; &:hover { background-color: gray("200"); @@ -50,14 +164,19 @@ &:active { background-color: gray("300"); } - &:focus { - box-shadow: inset 0 0 0 2px theme-color("primary"); - color: theme-color("primary"); - outline: none; - } &:disabled { box-shadow: $btn-focus-box-shadow; } + &.collapsed { + .icon-expand { + transform: rotate(180deg); + transition: 0.3s linear; + } + .icon-expand-right { + transform: rotate(180deg); + transition: 0.3s linear; + } + } } // Icon only buttons @@ -79,4 +198,25 @@ .input-action-btn { padding: 7px; margin: 1px; +} + +.collapse-button { + height: 56px; + width: 100%; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + gap: 8px; + &:active, + &:focus { + box-shadow: none; + } + &:hover { + color: $text-primary; + } +} + +.table-toolbar-button { + width: 220px; + height: 36px; }
\ No newline at end of file diff --git a/src/assets/styles/bmc/custom/_card.scss b/src/assets/styles/bmc/custom/_card.scss index 5f2a5962..db8d076b 100644 --- a/src/assets/styles/bmc/custom/_card.scss +++ b/src/assets/styles/bmc/custom/_card.scss @@ -2,4 +2,18 @@ .bg-success { background-color: theme-color-light('success')!important; } + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 16px; +} + +.card-header { + border-radius: 15px 15px 0 0; + background-color: $faint-secondary-primary-10 !important; + color: $text-primary !important; + .nav-tabs .nav-link { + border-radius: 10px 10px 0 0 ; + &:hover { + background-color: $faint-secondary-primary-2; + } + } }
\ No newline at end of file diff --git a/src/assets/styles/bmc/custom/_dropdown.scss b/src/assets/styles/bmc/custom/_dropdown.scss index 969c4c68..1ea80d9f 100644 --- a/src/assets/styles/bmc/custom/_dropdown.scss +++ b/src/assets/styles/bmc/custom/_dropdown.scss @@ -1,18 +1,23 @@ // Make calendar visible over the table .dropdown-menu { + border-radius: 5px; z-index: $zindex-dropdown + 1; padding: 0; + a { + border-radius: 5px; + } } .dropdown-item { padding-left: $spacer/4; margin-top: -1 * $spacer/4; + background-color: $white; } -.b-dropdown-form { - padding: $spacer/2; - .form-group { - margin-bottom: $spacer/2; - } -} +// .b-dropdown-form { +// padding: $spacer/2; +// .form-group { +// margin-bottom: $spacer/2; +// } +// } // Table filter dropdown clear button style .table-filter { .dropdown-item { diff --git a/src/assets/styles/bmc/custom/_forms.scss b/src/assets/styles/bmc/custom/_forms.scss index 428a40c2..d8f2cecb 100644 --- a/src/assets/styles/bmc/custom/_forms.scss +++ b/src/assets/styles/bmc/custom/_forms.scss @@ -14,60 +14,85 @@ line-height: $form-line-height; } -.form-group { - margin-bottom: $spacer * 2; -} - .custom-select, .form-control, .input-group-text { - border-color: gray("500") !important; + // border-color: gray("500") !important; background-color: gray("100"); } .custom-select, .form-control { - &:active { - border: 1px solid $primary!important; - } - &:focus { - color: theme-color("dark"); - background-color: gray("100"); - box-shadow: inset 0 0 0 3px gray("100"), inset 0 0 0 5px $primary !important; - } + // &:active { + // border: 1px solid $primary!important; + // } + // &:focus { + // color: theme-color("dark"); + // background-color: gray("100"); + // box-shadow: inset 0 0 0 3px gray("100"), inset 0 0 0 5px $primary !important; + // } &:disabled { background-color: gray("400"); color: gray("600"); } - &::placeholder { - color: gray("600"); - } &.is-invalid, &:invalid { border: 1px solid theme-color("danger") !important; } } -.custom-select, -.custom-control-label, +.form-control::-webkit-outer-spin-button, +.form-control::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +.form-control[type='number'] { + -moz-appearance: textfield; +} + +// .custom-select, +// .custom-control-label, .form-control { - color: theme-color("dark") !important; - font-size: 1rem; + border-radius: 8px; + border: none; + background-color: $faint-secondary-primary-5; + &:hover { + background-color: $faint-secondary-primary-5-hover; + } +} + +.select-per-page { + padding: 0 0 0 5px; + width: 146px !important; + height: 24px; + background-color: transparent; + border: 1px solid $on-surface-tretiatry; + border-radius: 4px; + background-image: url('~@/assets/images/icon-chevron.svg'); } // Inverted form colors .form-background { - background-color: gray("100"); + background-color: none; .custom-select, .form-control { - background-color: $white; + border-radius: 8px; + border: none; + background-color: $faint-secondary-primary-5; + &:hover { + // opacity: 0.1; + background-color: $faint-secondary-primary-5-hover; + } &:focus { - background-color: $white; + border: 1px solid gray("400"); } &:disabled { background-color: gray("400"); color: gray("600"); } + &.is-valid { + border: 1px solid gray("400"); + } } } @@ -76,12 +101,31 @@ line-height: $form-line-height; } +.custom-checkbox { + line-height: 23px; +} + +.custom-radio { + line-height: 23px !important; +} + +.custom-checkbox ::before { + box-shadow: none !important; + border: 2px solid $on-surface-secondary; + background-color: #fff; + border-radius: 3px; +} + .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after, .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before, .custom-control-input:checked ~ .custom-control-label::before { - background-color: $black; - border-color: $black; + border-radius: 3px; + background-color: $red-brand-primary; + border-color: $red-brand-primary; cursor: pointer; + &:focus { + box-shadow: none !important; + } } .custom-control { @@ -94,8 +138,42 @@ } } -.custom-control-input:focus ~ .custom-control-label::before{ - box-shadow: 0 0 0 2px theme-color("primary"); +.custom-switch { + width: 28px; + height: 16px; +} + +.custom-switch +.custom-control-input:focus ~ .custom-control-label::before { + box-shadow: none; +} + +.custom-switch +.custom-control-input ~ .custom-control-label::after { + border: 1px solid $faint-secondary-primary-20; + background: $white; +} + +.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: $faint-secondary-primary-20; +} + +.custom-control-input:not(:disabled):active ~ .custom-control-label::before { + background-color: rgba(4, 10, 15, 0.3); + border-color: $faint-secondary-primary-20; +} + +.custom-switch +.custom-control-input ~ .custom-control-label::before { + border: 1px solid $faint-secondary-primary-20; + background: rgba(4, 10, 15, 0.3); +} + +.custom-switch +.custom-control-input:checked ~ .custom-control-label::before { + background: $red-brand-primary; + border: 1px solid $faint-secondary-primary-20; + border-radius: 8px; } .custom-control-label::after { @@ -130,3 +208,66 @@ background-position: right 3rem bottom 50%; } } + +// Global style progress bar +.progress { + width: 120px; + height: 8px; + border-radius: 4px; + background-color: $faint-secondary-primary-10; +} + +.progress-bar { + background-color: $red-brand-primary; + border-radius: 4px; +} + +.progress_bar_percent { + color: $red-brand-primary; +} + +.cb label{ + padding-top: 4px; +} +.system-control__radio label { + padding-top: 4px; +} + +//radio buttons style + .custom-radio ::before { + border: 1px solid $red-brand-primary; + background-color: #fff; + border-radius: 100%; +} + +.custom-radio +.custom-control-input:checked +~ .custom-control-label::before { + border: 2px solid $red-brand-primary; + background-color: $red-brand-primary; + box-shadow: 0px 0px 0px 2.4px $white inset; + border-radius: 100%; +} + + .custom-radio + .custom-control-input:hover + ~ .custom-control-label::before { + background-color: $red-brand-primary-hover !important; + box-shadow: 0px 0px 0px 2.4px $white inset; + border-color: $red-brand-primary-hover; +} + +.custom-radio +.custom-control-input:checked +~ .custom-control-label::after { + background-image: none !important; + border-radius: 100%; +} + +.custom-radio +.custom-control-input:active +~ .custom-control-label::before { + background-color: $red-brand-primary-active !important; + box-shadow: 0px 0px 0px 2.4px $white inset; + border-color: $red-brand-primary-active; +} diff --git a/src/assets/styles/bmc/custom/_index.scss b/src/assets/styles/bmc/custom/_index.scss index 74594e35..40995ce9 100644 --- a/src/assets/styles/bmc/custom/_index.scss +++ b/src/assets/styles/bmc/custom/_index.scss @@ -15,4 +15,6 @@ @import "./section-divider"; @import "./sol"; @import "./tables"; -@import "./toasts";
\ No newline at end of file +@import "./toasts"; +@import "./popover"; +@import "./logs";
\ No newline at end of file diff --git a/src/assets/styles/bmc/custom/_logs.scss b/src/assets/styles/bmc/custom/_logs.scss new file mode 100644 index 00000000..1f6b314b --- /dev/null +++ b/src/assets/styles/bmc/custom/_logs.scss @@ -0,0 +1,78 @@ +.logs-section .table.b-table > thead > tr > [aria-sort='ascending'] { + background-image: url('~@/assets/images/event-logs/sort-icon-rotate.svg'); +} + +.logs-section .table.b-table > thead > tr > [aria-sort='descending'], +.table.b-table > thead > tr > [aria-sort='none'] { + background-image: url('~@/assets/images/event-logs/sort-icon.svg'); +} + +.logs-section .b-table-sort-icon-left { + background-size: 15px !important; +} + +.logs-head-container { + position: absolute; + width: 50%; + top: calc(#{$header-height}); + right: 0px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-end; + align-items: baseline; + gap: 6px; + z-index: 1001; +} + +#logs-table-wrapper div { + max-height: calc(100vh - 194px - #{$header-height}); +} + +#logs-table, +#table-event-logs { + margin: 0 !important; +} + +// scrollbar styles +#logs-table-wrapper div, +#table-event-logs div { + overflow-y: overlay; + &::-webkit-scrollbar { + position: absolute; + width: 10px; + } + &::-webkit-scrollbar-thumb { + border: 4px solid transparent; + border-top: 52px solid transparent; + background: $faint-secondary-primary-20; + border-radius: 16px; + background-clip: content-box; + } +} + +.logs-table__th { + background-color: #f8f8f8 !important; + border-bottom: 1px solid $faint-secondary-primary-20 !important; + border-top: 1px solid $faint-secondary-primary-20 !important; + color: $text-primary !important; +} + +.logs-table__td { + border-bottom: 1px solid $faint-secondary-primary-10 !important; + height: 64px; +} + +.logs-pagination-container { + width: calc(100% - #{$navigation-width}); + height: $toolbar-height; + position: fixed; + bottom: 0; + right: 0; + box-shadow: 0px -4px 12px rgba(0, 0, 0, 0.06); + z-index: $zindex-dropdown; + background-color: $white; +} + +.table-pagination-select { + line-height: 1.8rem; +}
\ No newline at end of file diff --git a/src/assets/styles/bmc/custom/_modal.scss b/src/assets/styles/bmc/custom/_modal.scss index e2fa0cd8..725d4672 100644 --- a/src/assets/styles/bmc/custom/_modal.scss +++ b/src/assets/styles/bmc/custom/_modal.scss @@ -1,12 +1,69 @@ +.modal-dialog { + margin: 25vh auto 0; +} + +.modal-content { + border-radius: 16px; +} + .modal-header { + align-items: center; + border-bottom: 1px solid $faint-secondary-primary-10; .close { font-weight: normal; color: theme-color("dark"); opacity: 1; } - .modal-title { - font-size: 1.25rem; - font-weight: normal; - line-height: 1.3; - } } + +.modal-body { + display: flex; + justify-content: flex-start; +} + +.modal-footer { + border-top: 1px solid $faint-secondary-primary-10; +} + +#modal-reset .modal-body { + flex-direction: column; +} + +#generate-csr .custom-select, +#upload-certificate .custom-select, +#modal-user .custom-select { + background-color: transparent; + border: 1px solid $on-surface-tretiatry; + border-radius: 4px; + background-image: url('~@/assets/images/icon-chevron.svg'); +} + +// file-input-modal +.modal-file-body { + display: flex; + padding: 0; + justify-content: center; +} + +.file-input_container > .custom-file { + width: 432px; + height: 357px; +} + +.custom-file-input ~ .custom-file-label { + background-color: transparent; + border: 1px dashed rgba(12, 28, 41, 0.6); + box-sizing: border-box; + border-radius: 8px; + width: 432px; + height: 357px; + display: flex; + align-items: center; + text-align: center; + white-space: normal; + justify-content: center; +} + +.custom-file-input ~ .custom-file-label::after { + display: none; +}
\ No newline at end of file diff --git a/src/assets/styles/bmc/custom/_pagination.scss b/src/assets/styles/bmc/custom/_pagination.scss index d38ce5d2..bce593ef 100644 --- a/src/assets/styles/bmc/custom/_pagination.scss +++ b/src/assets/styles/bmc/custom/_pagination.scss @@ -15,10 +15,20 @@ @include media-breakpoint-up(sm) { justify-content: flex-end; } + + .page-link { + border: transparent; + &:hover { + background-color: transparent; + } + &:focus { + box-shadow: none; + } + } .page-item.active button { color: theme-color("dark"); background-color: color("white"); - border-color: $border-color; + border-color: transparent; box-shadow: inset 0px -3px theme-color("primary"); } }
\ No newline at end of file diff --git a/src/assets/styles/bmc/custom/_popover.scss b/src/assets/styles/bmc/custom/_popover.scss new file mode 100644 index 00000000..a33f108f --- /dev/null +++ b/src/assets/styles/bmc/custom/_popover.scss @@ -0,0 +1,71 @@ +.b-popover { + display: flex; + flex-direction: column; + align-items: flex-start; + background: $white; + box-shadow: 0px -4px 12px rgba(0, 0, 0, 0.05); + border-radius: 4px; + position: relative; + max-width: 400px; + width: 400px; + height: auto; +} + +.popover-header { + background-color: transparent; + border: none; + padding: 24px 0px 0px 24px; + width: 400px; +} + +.arrow { + visibility: hidden; +} + +.popover-heigth-100 { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 6px; + background: $white; + border: 1px solid $faint-secondary-primary-10; + box-shadow: 0px -4px 12px rgba(0, 0, 0, 0.05); + padding: 5px; + border-radius: 8px; + max-width: 100px; +} + +.popover-heigth-100 .popover-body { + padding: 0px; + +} + +.apply-reload-popover { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 6px; + background: $white; + border: 1px solid $faint-secondary-primary-10; + box-shadow: 0px -4px 12px rgba(0, 0, 0, 0.05); + padding: 5px; + border-radius: 8px; + max-width: 250px; +} + +.apply-reload-popover .popover-body { + padding: 0px; +} + +.boot-popover { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 6px; + background: $white; + border: 1px solid $faint-secondary-primary-10; + box-shadow: 0px -4px 12px rgba(0, 0, 0, 0.05); + padding: 5px; + border-radius: 8px; + max-width: 200px; +} diff --git a/src/assets/styles/bmc/custom/_section-divider.scss b/src/assets/styles/bmc/custom/_section-divider.scss index 620c9e56..79b14476 100644 --- a/src/assets/styles/bmc/custom/_section-divider.scss +++ b/src/assets/styles/bmc/custom/_section-divider.scss @@ -1,3 +1,7 @@ .section-divider { border-bottom: 1px solid gray('400'); - }
\ No newline at end of file + } + +.page-collapse-decorator { + border-bottom: 1px solid $faint-secondary-primary-10; +}
\ No newline at end of file diff --git a/src/assets/styles/bmc/custom/_tables.scss b/src/assets/styles/bmc/custom/_tables.scss index e8b5a832..dc5d5e83 100644 --- a/src/assets/styles/bmc/custom/_tables.scss +++ b/src/assets/styles/bmc/custom/_tables.scss @@ -1,23 +1,25 @@ .table { position: relative; z-index: $zindex-dropdown; + border-radius: 10px; td { - border-top: 1px solid gray("300"); - border-bottom: 1px solid gray("300"); - &:first-of-type { - border-left: 1px solid gray("300"); - } - &:last-of-type { - border-right: 1px solid gray("300"); - } + // border-top: 1px solid gray("300"); + // border-bottom: 1px solid gray("300"); + // &:first-of-type { + // border-left: 1px solid gray("300"); + + // } + // &:last-of-type { + // border-right: 1px solid gray("300"); + // } vertical-align: middle; // Table action buttons .btn-link { - width: 40px; - height: 40px; - padding: 5px !important; + height: 20px; + border-radius: 2px; + padding: 4px !important; display: inline-flex; justify-content: center; align-items: center; @@ -27,22 +29,14 @@ // thead-light added for specificity .thead-light th { vertical-align: middle; - border-top: 1px solid gray("300"); border-bottom: 1px solid gray("300"); - &:first-of-type { - border-left: 1px solid gray("300"); - } - &:last-of-type { - border-right: 1px solid gray("300"); - } - color: theme-color("dark"); &:focus { outline: none; } } .status-icon svg { - width: 1rem; + width: 1.2rem; height: auto; } @@ -58,8 +52,7 @@ .b-table-details { background-color: theme-color("light"); td { - padding-left: calc(50px + (#{$table-cell-padding} * 2)); - padding-right: calc(50px + (#{$table-cell-padding} * 2)); + padding: 0px 16px 16px 16px; } dl { margin: 0; @@ -78,14 +71,10 @@ width: 50px; .btn { padding: 0; - width: 50px; - } - svg { - fill: theme-color("dark"); + width: 27px; } } .b-table-sort-icon-left { - background-position: left calc(1.5rem / 2) center !important; padding-left: calc(1.2rem + 0.65em) !important; &:focus { outline: none; @@ -109,7 +98,7 @@ tr { &:not(:first-child) > td[aria-colindex='1'] { - border-top: 1px solid gray("300"); + // border-top: 1px solid gray("300"); padding-top: 0.625rem; } @@ -165,7 +154,214 @@ } } - .table.b-table.b-table-stacked-sm > tbody > tr > :first-child { - border-top-width: 1px; + // .table.b-table.b-table-stacked-sm > tbody > tr > :first-child { + // border-top-width: 1px; + // } +} + +.b-table-details > td { + padding: 0px !important; +} + +.indicators-Critical { + color: $indicators-errors !important; +} + +.indicators-Warning { + color: $indicators-warning !important; +} + +.indicators-OK { + color: $indicators-succes !important; +} + +.bootstrap-table__stripes tr:nth-of-type(even) { + background-color: rgb(255 255 255); +} + +.bootstrap-table__stripes_odd tr:nth-of-type(odd) { + background-color: rgb(255 255 255); +} + +.bootstrap-table__head_bg { + border-top: none; + display: none; +} + +.bootstrap-table__column-first { + border-right: 1px solid rgba(26, 62, 91, 0.1); + border-top: none; +} + +.bootstrap-table__column-last { + border-top: none; +} + +.bootstrap-table__td { + border-top: 1px solid rgba(26, 62, 91, 0.1); +} + +.bootstrap-table__section { + position: relative; + margin: 16px 2rem 24px 2rem; + width: 90%; +} + +.bootstrap-rounded-table { + border: 1px solid rgba(26, 62, 91, 0.3); + -moz-border-radius: 10px; + -webkit-border-radius: 10px; + border-radius: 10px; +} + +.bootstrap-rounded-table__column-first { + border-right: 1px solid rgba(26, 62, 91, 0.3) !important; + border-top: none !important; + border-radius: 10px 0 0 0; + -webkit-border-radius: 10px 0 0 0; + -moz-border-radius: 10px 0 0 0; +} + +.bootstrap-rounded-table__column-last { + border-top: none !important; + border-radius: 0 10px 0 0; + -webkit-border-radius: 0 10px 0 0; + -moz-border-radius: 0 10px 0 0; +} + +.bootstrap-rounded-table__column-center { + border-right: 1px solid rgba(26, 62, 91, 0.3) !important; + border-top: none !important; + border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + -moz-border-radius: 0 0 0 0; +} + +.bootstrap-rounded-table__without-border { + border-top: none !important; + border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + -moz-border-radius: 0 0 0 0; +} + +.bootstrap-rounded-table__head_bg { + background-color: $faint-secondary-primary-10 !important; + color: $text-primary !important; +} + +.bootstrap-rounded-table__td { + border-top: 1px solid rgba(26, 62, 91, 0.3) !important; + border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + -ms-border-radius: 0; + -o-border-radius: 0; + -khtml-border-radius: 0; + &:hover { + background-color: $faint-secondary-primary-5; } } + +.bootstrap-table { + border-top: none !important; + border: 1px solid rgba(26, 62, 91, 0.1); + background-color: $faint-secondary-primary-5; +} + +.bootstrap-analytical-table { + border: 1px solid rgba(26, 62, 91, 0.3); + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; +} + +.bootstrap-analytical-th { + border-bottom: 1px solid rgba(26, 62, 91, 0.3) !important; + background-color: $white !important; + color: $text-primary !important; +} + +.bootstrap-analytical-table__column-first { + border-top: none !important; + border-radius: 4px 0 0 0; + -webkit-border-radius: 4px 0 0 0; + -moz-border-radius: 4px 0 0 0; +} + +.bootstrap-analytical-table__column-last { + border-top: none !important; + border-radius: 0 4px 0 0; + -webkit-border-radius: 0 4px 0 0; + -moz-border-radius: 0 4px 0 0; +} + +.bootstrap-analytical-table__column-center { + border-top: none !important; + border-radius: 0 0 0 0; + -webkit-border-radius: 0 0 0 0; + -moz-border-radius: 0 0 0 0; +} + +.bootstrap-analytical-table__td { + padding: 10px !important; + border-radius: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + -ms-border-radius: 0; + -o-border-radius: 0; + -khtml-border-radius: 0; +} + +#table-session-logs, +#user-management-table, +#certificates-table { + -moz-border-radius: 10px; + -webkit-border-radius: 10px; + border-radius: 10px; + border: 1px solid rgba(26, 62, 91, 0.3); + background-color: none; + tr { + border-radius: 10px 10px 0 0; + -webkit-border-radius: 10px 10px 0 0; + -moz-border-radius: 10px 10px 0 0; + //fonst-styles + font-family: 'Inter', sans-serif; + font-size: 12px; + font-style: normal; + font-weight: 600; + line-height: 16px; + letter-spacing: 0em; + text-align: left; + text-transform: uppercase; + color: $text-primary; + } + th { + border-top: none; + border-bottom: none; + border-left: 1px solid rgba(26, 62, 91, 0.3); + background-color: $faint-secondary-primary-10 !important; + color: $text-primary !important; + } + th:first-child { + border-left: none; + border-radius: 10px 0 0 0; + } + th:last-child { + border-left: none; + border-radius: 0 10px 0 0; + } + td { + &:hover { + background-color: $faint-secondary-primary-2-hover; + } + //fonst-styles + font-family: 'Inter', sans-serif; + font-size: 12px; + font-style: normal; + font-weight: 500; + line-height: 20px; + letter-spacing: 0em; + text-align: left; + color: $text-secondary; + } +}
\ No newline at end of file diff --git a/src/assets/styles/bmc/custom/_toasts.scss b/src/assets/styles/bmc/custom/_toasts.scss index 4e2ad7fa..a3480fda 100644 --- a/src/assets/styles/bmc/custom/_toasts.scss +++ b/src/assets/styles/bmc/custom/_toasts.scss @@ -1,5 +1,5 @@ .b-toaster { - top: 75px!important; // make sure toasts do not hide top header + top: 95px!important; // make sure toasts do not hide top header } // Toast component and status icon style diff --git a/src/assets/styles/bmc/helpers/_colors.scss b/src/assets/styles/bmc/helpers/_colors.scss index cffe39dc..028d962b 100644 --- a/src/assets/styles/bmc/helpers/_colors.scss +++ b/src/assets/styles/bmc/helpers/_colors.scss @@ -1,11 +1,12 @@ // Sass Color Variables $black: #000; -$white: #fff; +$white: #FFFFFF; $blue-500: #2d60e5; -$green-500: #0a7d06; -$red-500: #da1416; -$yellow-500: #efc100; +$green-500: #4EBF19; +$red-500: #FF4141; +$yellow-500: #F0AC0C; +$dark-blue: #1A3E5B; $gray-100: #f4f4f4; $gray-200: #e6e6e6; @@ -17,6 +18,7 @@ $gray-700: #666666; $gray-800: #3f3f3f; $gray-900: #161616; + // Sass Base Color Variables $blue: $blue-500; $green: $green-500; @@ -26,13 +28,48 @@ $yellow: $yellow-500; // Sass Theme Color Variables // Can be used as variants $danger: $red; -$dark: $gray-900; +$dark: $dark-blue; $info: $blue; -$light: $gray-100; -$primary: $blue; -$secondary: $gray-800; +$light: $white; +$primary: $dark-blue; +$secondary: #1A3E5B; $success: $green; $warning: $yellow; $loading-color: $primary; -$navbar-color: $dark; +$navbar-color: $primary; + +$login-page-description-color: rgba(12, 28, 41, 0.6); + +$text-primary: #0C1C29; +$text-secondary: #0C1C29E5; +$text-tretiatry: rgba(12, 28, 41, 0.6); +$text-quaternary: rgba(12, 28, 41, 0.3); + +$indicators-errors: #FF4141; +$indicators-succes: #4EBF19; +$indicators-warning: #F0AC0C; +$indicators-complementary:rgba(26, 62, 91, 0.6);; + +$on-surface-primary: #040A0F; + +$surface-secondary: #F3F4F5; +$on-surface-secondary: rgba(4, 10, 15, 0.6); +$on-surface-tretiatry: #040A0F4D; + +$faint-secondary-primary-1: rgba(26, 62, 91, 0.01); +$faint-secondary-primary-2: rgba(26, 62, 91, 0.02); +$faint-secondary-primary-2-hover: rgba(26, 62, 91, 0.03); + +$faint-secondary-primary-5: rgba(26, 62, 91, 0.05); +$faint-secondary-primary-5-hover: rgba(20, 39, 53, 0.1); +$faint-secondary-primary-10: rgba(26, 62, 91, 0.1); +$faint-secondary-primary-20: rgba(26, 62, 91, 0.2); +$faint-brand-primary-40:rgba(225, 23, 23, 0.4); + +$red-brand-primary: #E11717; +$red-brand-primary-hover: #FC2A2A; +$red-brand-primary-active: #df2323; +$red-brand-primary-disabled: #E17171; +$red-brand-primary-click: #C71414; +$red-brand-primary-5: rgba(225, 23, 23, 0.05); diff --git a/src/assets/styles/bmc/helpers/_variables.scss b/src/assets/styles/bmc/helpers/_variables.scss index ba32e3bd..9e3a3aed 100644 --- a/src/assets/styles/bmc/helpers/_variables.scss +++ b/src/assets/styles/bmc/helpers/_variables.scss @@ -7,10 +7,18 @@ $transition-collapse: height $duration--slow-01 $standard-easing--expres // OpenBMC Custom Variables $responsive-layout-bp: lg; -$header-height: 48px; -$navigation-width: 300px; +$first-header-height: 48px; +$second-header-height: 39px; +$header-height: 87px; +$headerHeight: 40px; +$navigation-width: 320px; +$toolbar-height: 60px; $form-label-font-size: .875rem; $form-line-height: 1.25rem; $box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.3); $focus-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + +// :export { +// headerHeight: $header-height; +// }
\ No newline at end of file diff --git a/src/components/AppHeader/AppHeader.vue b/src/components/AppHeader/AppHeader.vue index 84e4588f..a577b452 100644 --- a/src/components/AppHeader/AppHeader.vue +++ b/src/components/AppHeader/AppHeader.vue @@ -31,39 +31,89 @@ </b-button> <b-navbar-nav> <b-navbar-brand - class="mr-0" - to="/" + class="mr-0 app-logo" + to="/hardware-status/inventory" data-test-id="appHeader-container-overview" > <img class="header-logo" - src="@/assets/images/logo-header.svg" - :alt="altLogo" + src="@/assets/images/logo-header-sila.svg" /> </b-navbar-brand> <div v-if="isNavTagPresent" :key="routerKey" class="pl-2 nav-tags"> - <span>|</span> - <span class="pl-3 asset-tag">{{ assetTag }}</span> - <span class="pl-3">{{ modelType }}</span> - <span class="pl-3">{{ serialNumber }}</span> + <span style="color: white">|</span> + <span style="color: white" class="pl-2 asset-tag">{{ + assetTag + }}</span> + <span style="color: white" class="pl-2">{{ modelType }}</span> + <span style="color: white" class="pl-2">{{ serialNumber }}</span> </div> </b-navbar-nav> - <!-- Right aligned nav items --> - <b-navbar-nav class="ml-auto helper-menu"> + <!-- Left nav items--> + <!-- <b-navbar-nav class="helper-menu"> <b-nav-item - to="/logs/event-logs" + to="/hardware-status/inventory" data-test-id="appHeader-container-health" + class="nav-top-button" + :class="{ + 'active-route-top-nav': ![ + 'profile-settings', + 'information-and-faq', + 'support', + ].includes($route.path.split('/')[1]), + }" > - <status-icon :status="healthStatusIcon" /> - {{ $t('appHeader.health') }} + {{ $t('appHeader.servers') }} </b-nav-item> + <b-nav-item - to="/operations/server-power-operations" + to="/information-and-faq" data-test-id="appHeader-container-power" + class="nav-top-button" + :class="{ + 'active-route-top-nav': ''.includes( + $route.path.split('information-and-faq')[1] + ), + }" > - <status-icon :status="serverStatusIcon" /> - {{ $t('appHeader.power') }} + {{ $t('appHeader.informationAndFAQ') }} </b-nav-item> + + <b-nav-item + to="/support" + data-test-id="appHeader-container-power" + class="nav-top-button" + :class="{ + 'active-route-top-nav': ''.includes( + $route.path.split('support')[1] + ), + }" + > + {{ $t('appHeader.support') }} + </b-nav-item> + </b-navbar-nav> --> + <!-- Right aligned nav items --> + <b-navbar-nav class="ml-auto helper-menu"> + <li class="nav-item"> + <b-button + variant="link" + data-test-id="appHeader-container-health" + @click="toLogs" + > + <status-icon :status="healthStatusIcon" /> + <span>{{ $t('appHeader.health') }}</span> + </b-button> + </li> + <li class="nav-item"> + <b-button + variant="link" + data-test-id="appHeader-container-power" + @click="toOperations" + > + <status-icon :status="serverStatusIcon" /> + <span>{{ $t('appHeader.power') }}</span> + </b-button> + </li> <!-- Using LI elements instead of b-nav-item to support semantic button elements --> <li class="nav-item"> <b-button @@ -103,28 +153,24 @@ </b-navbar-nav> </b-navbar> </header> - <loading-bar /> </div> </template> <script> import BVToastMixin from '@/components/Mixins/BVToastMixin'; -import IconAvatar from '@carbon/icons-vue/es/user--avatar/20'; import IconClose from '@carbon/icons-vue/es/close/20'; import IconMenu from '@carbon/icons-vue/es/menu/20'; +import IconAvatar from '@carbon/icons-vue/es/user--avatar/20'; import IconRenew from '@carbon/icons-vue/es/renew/20'; import StatusIcon from '@/components/Global/StatusIcon'; -import LoadingBar from '@/components/Global/LoadingBar'; - export default { name: 'AppHeader', components: { - IconAvatar, IconClose, IconMenu, + IconAvatar, IconRenew, StatusIcon, - LoadingBar, }, mixins: [BVToastMixin], props: { @@ -136,7 +182,6 @@ export default { data() { return { isNavigationOpen: false, - altLogo: process.env.VUE_APP_COMPANY_NAME || 'Built on OpenBMC', }; }, computed: { @@ -232,6 +277,12 @@ export default { event.preventDefault(); this.$root.$emit('skip-navigation'); }, + toLogs() { + this.$router.push('/logs/event-logs').catch(() => {}); + }, + toOperations() { + this.$router.push('/operations/server-power-operations').catch(() => {}); + }, }, }; </script> @@ -241,6 +292,7 @@ export default { box-shadow: inset 0 0 0 3px $padding-color, inset 0 0 0 5px $outline-color; } .app-header { + flex-grow: 1; .link-skip-nav { position: absolute; top: -60px; @@ -252,39 +304,52 @@ export default { transition-timing-function: $entrance-easing--expressive; } } + + .app-logo { + margin-top: 10px; + } + .nav-top-button { + color: $white; + padding: 0px; + margin: 0px 8px; + } + + .active-route-top-nav { + background-color: $faint-brand-primary-40; + border-radius: 4px; + } + .navbar-text, .nav-link, .btn-link { - color: color('white') !important; - fill: currentColor; - padding: 0.68rem 1rem !important; + border-radius: 4px; + color: $white !important; &:hover { - background-color: theme-color-level(light, 10); + background-color: $faint-brand-primary-40; } &:active { - background-color: theme-color-level(light, 9); + background-color: $faint-brand-primary-40; } - &:focus { - @include focus-box-shadow; - outline: 0; - } - } - - .nav-item { - fill: theme-color('light'); } .navbar { padding: 0; background-color: $navbar-color; + svg { + margin-right: 2px; + } + .status-icon { + svg { + vertical-align: text-bottom; + } + } @include media-breakpoint-up($responsive-layout-bp) { - height: $header-height; + height: $first-header-height; } .helper-menu { @include media-breakpoint-down(sm) { - background-color: gray('800'); width: 100%; justify-content: flex-end; @@ -292,11 +357,6 @@ export default { .btn { padding: $spacer / 1.125 $spacer / 2; } - - .nav-link:focus, - .btn:focus { - @include focus-box-shadow($gray-800); - } } .responsive-text { @@ -311,14 +371,13 @@ export default { @include media-breakpoint-up($responsive-layout-bp) { padding: 0 $spacer; } - align-items: center; + align-items: baseline; .navbar-brand, .nav-link { transition: $focus-transition; } .nav-tags { - color: theme-color-level(light, 3); @include media-breakpoint-down(xs) { @include sr-only; } @@ -332,8 +391,8 @@ export default { .nav-trigger { fill: theme-color('light'); - width: $header-height; - height: $header-height; + width: $first-header-height; + height: $first-header-height; transition: none; display: inline-flex; flex: 0 0 20px; @@ -374,11 +433,25 @@ export default { .navbar-brand { padding: $spacer/2; - height: $header-height; + height: $first-header-height; line-height: 1; &:focus { box-shadow: inset 0 0 0 3px $navbar-color, inset 0 0 0 5px color('white'); outline: 0; } } + +.app-header-logout, +.app-header-notification { + margin: 0 5px; + background: none; + border: none; + width: 30px; + height: 30px; + &:hover { + background: $faint-brand-primary-40; + border-radius: 5px; + border: none; + } +} </style> diff --git a/src/components/AppNavigation/AppNavigation.vue b/src/components/AppNavigation/AppNavigation.vue index acfabe76..481818c3 100644 --- a/src/components/AppNavigation/AppNavigation.vue +++ b/src/components/AppNavigation/AppNavigation.vue @@ -2,8 +2,8 @@ <div> <div class="nav-container" :class="{ open: isNavigationOpen }"> <nav ref="nav" :aria-label="$t('appNavigation.primaryNavigation')"> - <b-nav vertical class="mb-4"> - <template v-for="(navItem, index) in navigationItems"> + <b-nav vertical> + <template v-for="(navItem, index) in sideBar"> <!-- Navigation items with no children --> <b-nav-item v-if="!navItem.children" @@ -22,9 +22,9 @@ variant="link" :data-test-id="`nav-button-${navItem.id}`" > - <component :is="navItem.icon" /> {{ navItem.label }} - <icon-expand class="icon-expand" /> + <component :is="navItem.icon" class="icon-expand" /> + <!-- <icon-expand class="icon-expand" /> --> </b-button> <b-collapse :id="navItem.id" tag="ul" class="nav-item__nav"> <li class="nav-item"> @@ -59,16 +59,40 @@ //Do not change Mixin import. //Exact match alias set to support //dotenv customizations. -import AppNavigationMixin from './AppNavigationMixin'; +import { AppNavigationMixin, KvmNavigationMixin } from './AppNavigationMixin'; export default { name: 'AppNavigation', - mixins: [AppNavigationMixin], + mixins: [AppNavigationMixin, KvmNavigationMixin], data() { return { isNavigationOpen: false, + server: 1, + servers: [ + { + value: 1, + text: 'Сервер №1', + }, + { + value: 2, + text: 'Сервер №2', + }, + ], }; }, + computed: { + sideBar() { + if ( + this.$route.path === '/console/settings' || + this.$route.path === '/operations/serial-over-lan' || + this.$route.path === '/operations/kvm' + ) { + return this.kvmNavigationItems; + } else { + return this.navigationItems; + } + }, + }, watch: { $route: function () { this.isNavigationOpen = false; @@ -100,10 +124,16 @@ svg { } } -.nav { - padding-top: $spacer / 4; - @include media-breakpoint-up($responsive-layout-bp) { - padding-top: $spacer; +.nav-link { + display: flex; + align-items: center; + padding-left: $spacer * 4; + outline: none; + box-sizing: border-box; + height: 68px; + border-top: 1px solid rgba(26, 62, 91, 0.2); + &:not(.nav-link--current) { + font-weight: normal; } } @@ -117,32 +147,43 @@ svg { } .nav-link { + display: flex; + align-items: center; padding-left: $spacer * 4; outline: none; - + height: 68px; + border-top: 1px solid rgba(26, 62, 91, 0.2); &:not(.nav-link--current) { font-weight: normal; } } } +.server-form { + height: 48px; + width: 272px; + border-radius: 8px; + padding: 8px; + background-color: $faint-secondary-primary-5; +} .btn-link { display: inline-block; width: 100%; text-align: left; text-decoration: none !important; border-radius: 0; - - &.collapsed { - .icon-expand { - transform: rotate(180deg); - } + height: 68px; + border-top: 1px solid rgba(26, 62, 91, 0.2); + font-weight: 600; + line-height: 20px; + &.not-collapsed { + font-weight: 600; + line-height: 20px; } } .icon-expand { - float: right; - margin-top: $spacer / 4; + margin: 0; } .btn-link, @@ -151,16 +192,16 @@ svg { font-weight: $headings-font-weight; padding-left: $spacer; // defining consistent padding for links and buttons padding-right: $spacer; - color: theme-color('secondary'); + color: $text-primary; &:hover { - background-color: theme-color-level(dark, -10.5); + background-color: $faint-secondary-primary-5-hover; color: theme-color('dark'); } &:focus { - background-color: theme-color-level(light, 0); - box-shadow: inset 0 0 0 2px theme-color('primary'); + background-color: $faint-secondary-primary-5-hover; + box-shadow: none; color: theme-color('dark'); outline: 0; } @@ -173,11 +214,10 @@ svg { .nav-link--current { font-weight: $headings-font-weight; - background-color: theme-color('secondary'); - color: theme-color('light'); + background-color: $red-brand-primary-5; + color: $red-brand-primary; cursor: default; box-shadow: none; - &::before { content: ''; position: absolute; @@ -185,13 +225,13 @@ svg { bottom: 0; left: 0; width: 4px; - background-color: theme-color('primary'); + background-color: $red-brand-primary; } &:hover, &:focus { - background-color: theme-color('secondary'); - color: theme-color('light'); + background-color: $red-brand-primary-5; + color: $red-brand-primary; } } @@ -201,12 +241,12 @@ svg { top: $header-height; bottom: 0; left: 0; - z-index: $zindex-fixed; - overflow-y: auto; + z-index: 10; + overflow-y: overlay; background-color: theme-color('light'); transform: translateX(-$navigation-width); transition: transform $exit-easing--productive $duration--moderate-02; - border-right: 1px solid theme-color-level('light', 2.85); + border-right: 1px solid rgba(19, 46, 68, 0.247); @include media-breakpoint-down(md) { z-index: $zindex-fixed + 2; @@ -222,6 +262,17 @@ svg { transition-duration: $duration--fast-01; transform: translateX(0); } + + &::-webkit-scrollbar { + position: absolute; + width: 10px; + } + &::-webkit-scrollbar-thumb { + border: 4px solid transparent; + background: $faint-secondary-primary-20; + border-radius: 16px; + background-clip: content-box; + } } .nav-overlay { @@ -252,4 +303,98 @@ svg { display: none; } } + +.navbar__search_select_container { + display: flex; + flex-flow: column nowrap; + justify-content: space-between; + align-items: flex-start; +} + +.server__icon { + width: 20px; + height: 20px; +} + +.server-form { + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: center; + margin: 16px 1rem; + height: 48px; + width: 272px; + + .options { + background-color: $white; + height: 48px; + width: 272px; + border-radius: 8px; + } + option { + background-color: $white; + height: 48px; + width: 272px; + border-radius: 8px; + } +} + +.nav-line { + height: 1px; + width: 272px; + border-bottom: 1px solid rgba(26, 62, 91, 0.2); + margin: 0 1rem; +} + +.server-pagination-select { + margin: 0; +} + +.server-select { + font-weight: 500; + line-height: 20px; + width: 237px; + border: none; + height: 48px; + background-image: url('../../assets/images/icon-chevron.svg'); + &:focus { + box-shadow: none; + } + + .options { + background-color: $white; + height: 48px; + width: 272px; + border-radius: 8px; + } + option { + background-color: $white; + height: 48px; + width: 272px; + border-radius: 8px; + } +} + +.server-search { + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: center; + border: none; + box-shadow: none; + height: 40px; + margin: 16px 1rem; + width: 272px; +} + +.search-button { + border: none; + background: none; +} + +.nav-search__input { + border: none; + background: none; + box-shadow: none; +} </style> diff --git a/src/components/AppNavigation/AppNavigationMixin.js b/src/components/AppNavigation/AppNavigationMixin.js index bbbbb1ee..2e2c4e71 100644 --- a/src/components/AppNavigation/AppNavigationMixin.js +++ b/src/components/AppNavigation/AppNavigationMixin.js @@ -1,36 +1,227 @@ -import IconDashboard from '@carbon/icons-vue/es/dashboard/16'; -import IconTextLinkAnalysis from '@carbon/icons-vue/es/text-link--analysis/16'; -import IconDataCheck from '@carbon/icons-vue/es/data--check/16'; -import IconSettingsAdjust from '@carbon/icons-vue/es/settings--adjust/16'; -import IconSettings from '@carbon/icons-vue/es/settings/16'; -import IconSecurity from '@carbon/icons-vue/es/security/16'; -import IconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; -import IconDataBase from '@carbon/icons-vue/es/data--base--alt/16'; +import iconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; -const AppNavigationMixin = { +export const AppNavigationMixin = { components: { - iconOverview: IconDashboard, - iconLogs: IconTextLinkAnalysis, - iconHealth: IconDataCheck, - iconControl: IconSettingsAdjust, - iconSettings: IconSettings, - iconSecurityAndAccess: IconSecurity, - iconExpand: IconChevronUp, - iconResourceManagement: IconDataBase, + IconChevronUp: iconChevronUp, }, data() { return { navigationItems: [ { - id: 'overview', - label: this.$t('appNavigation.overview'), - route: '/', - icon: 'iconOverview', + id: 'system', + label: this.$t('appNavigation.systemInformaion'), + icon: 'iconChevronUp', + children: [ + { + id: 'info', + label: this.$t('appNavigation.overviewInfo'), + route: '/hardware-status/inventory', + }, + { + id: 'network', + label: this.$t('appNavigation.networkParametrs'), + route: '/settings/network', + }, + { + id: 'date-time', + label: this.$t('appNavigation.dateTime'), + route: '/settings/date-time', + }, + ], }, { + id: 'bmc', + label: this.$t('appNavigation.bmc'), + icon: 'iconChevronUp', + children: [ + { + id: 'bmc-configuration', + label: this.$t('appNavigation.config'), + route: '/bmc-configuration', + }, + // { + // id: 'bmc-firmware', + // label: this.$t('appNavigation.deviceFirmware'), + // route: '/bmc-firmware', + // }, + // { + // id: 'bmc-settings', + // label: this.$t('appNavigation.broadcast'), + // route: '/bmc-settings', + // }, + ], + }, + // { + // id: 'analytical-panel', + // label: this.$t('appNavigation.analyticalPanel'), + // route: '/analytical-panel', + // }, + // { + // id: 'RAID', + // label: this.$t('appNavigation.raidControllers'), + // icon: 'iconChevronUp', + // children: [ + // { + // id: 'raid-specification', + // label: this.$t('appNavigation.specification'), + // route: '/raid-specification', + // }, + // { + // id: 'raid-settings', + // label: this.$t('appNavigation.settings'), + // route: '/raid-settings', + // }, + // { + // id: 'raid-cache', + // label: this.$t('RAID.cache'), + // route: '/raid-cache', + // }, + // ], + // }, + // { + // id: 'processors', + // label: this.$t('appNavigation.processors'), + // icon: 'iconChevronUp', + // children: [ + // { + // id: 'processors-specification', + // label: this.$t('appNavigation.specification'), + // route: '/processors-specification', + // }, + // { + // id: 'processors-dynamic-info', + // label: this.$t('appNavigation.analyticalPanel'), + // route: '/processors-dynamic-info', + // }, + // ], + // }, + // { + // id: 'power', + // label: this.$t('appNavigation.powerSupplies'), + // icon: 'iconChevronUp', + // children: [ + // { + // id: 'power-specification', + // label: this.$t('appNavigation.specification'), + // route: '/power-specification', + // }, + // { + // id: 'power-dynamic-info', + // label: this.$t('appNavigation.analyticalPanel'), + // route: '/power-dynamic-info', + // }, + // ], + // }, + // { + // id: 'memory', + // label: this.$t('appNavigation.memoryModules'), + // icon: 'iconChevronUp', + // children: [ + // { + // id: 'memory-specification', + // label: this.$t('appNavigation.specification'), + // route: '/memory-specification', + // }, + // { + // id: 'memory-dynamic-info', + // label: this.$t('appNavigation.analyticalPanel'), + // route: '/memory-dynamic-info', + // }, + // ], + // }, + // { + // id: 'fans', + // label: this.$t('appNavigation.fans'), + // icon: 'iconChevronUp', + // children: [ + // { + // id: 'fans-static', + // label: this.$t('appNavigation.statisticInformation'), + // route: '/fans-static', + // }, + // { + // id: 'fans', + // label: this.$t('appNavigation.dynamicInformation'), + // route: '/fans', + // }, + // ], + // }, + // { + // id: 'physical-drives', + // label: this.$t('appNavigation.physicalDrives'), + // icon: 'iconChevronUp', + // children: [ + // { + // id: 'drivers-static', + // label: this.$t('appNavigation.statisticInformation'), + // route: '/drivers-static', + // }, + // { + // id: 'drivers', + // label: this.$t('appNavigation.analyticalPanel'), + // route: '/drivers', + // }, + // ], + // }, + // { + // id: 'virtual-drivers', + // label: this.$t('appNavigation.virtualDrivers'), + // route: '/virtual-drivers', + // }, + // { + // id: 'motherboard', + // label: this.$t('appNavigation.motherboard'), + // icon: 'iconChevronUp', + // children: [ + // { + // id: 'motherboard-specification', + // label: this.$t('appNavigation.specification'), + // route: '/motherboard-specification', + // }, + // { + // id: 'motherboard-dynamic-info', + // label: this.$t('appNavigation.analyticalPanel'), + // route: '/motherboard-dynamic-info', + // }, + // ], + // }, + // { + // id: 'network-adapters', + // label: this.$t('appNavigation.networkAdapters'), + // icon: 'iconChevronUp', + // children: [ + // { + // id: 'network-adapters-ethernet', + // label: this.$t('appNavigation.ethernetAdapters'), + // route: '/network-adapters-ethernet', + // }, + // { + // id: 'network-adapters-fc-hba', + // label: this.$t('appNavigation.fcHbaAdapters'), + // route: '/network-adapters-fc-hba', + // }, + // { + // id: 'network-adapters-pannel', + // label: this.$t('appNavigation.analyticalPanel'), + // route: '/network-adapters-pannel', + // }, + // ], + // }, + // { + // id: 'pci-devices', + // label: this.$t('appNavigation.pciDevices'), + // route: '/pci-devices', + // }, + ///////////////////////////old tabs + // { + // id: 'overview', + // label: 'Обзор', + // route: '/Info', + // }, + { id: 'logs', label: this.$t('appNavigation.logs'), - icon: 'iconLogs', + icon: 'iconChevronUp', children: [ { id: 'event-logs', @@ -47,14 +238,9 @@ const AppNavigationMixin = { { id: 'hardware-status', label: this.$t('appNavigation.hardwareStatus'), - icon: 'iconHealth', + icon: 'iconChevronUp', children: [ { - id: 'inventory', - label: this.$t('appNavigation.inventory'), - route: '/hardware-status/inventory', - }, - { id: 'sensors', label: this.$t('appNavigation.sensors'), route: '/hardware-status/sensors', @@ -64,7 +250,7 @@ const AppNavigationMixin = { { id: 'operations', label: this.$t('appNavigation.operations'), - icon: 'iconControl', + icon: 'iconChevronUp', children: [ { id: 'factory-reset', @@ -72,13 +258,8 @@ const AppNavigationMixin = { route: '/operations/factory-reset', }, { - id: 'kvm', - label: this.$t('appNavigation.kvm'), - route: '/operations/kvm', - }, - { id: 'key-clear', - label: this.$t('appNavigation.keyClear'), + label: this.$t('appPageTitle.keyClear'), route: '/operations/key-clear', }, { @@ -92,11 +273,6 @@ const AppNavigationMixin = { route: '/operations/reboot-bmc', }, { - id: 'serial-over-lan', - label: this.$t('appNavigation.serialOverLan'), - route: '/operations/serial-over-lan', - }, - { id: 'server-power-operations', label: this.$t('appNavigation.serverPowerOperations'), route: '/operations/server-power-operations', @@ -108,32 +284,27 @@ const AppNavigationMixin = { }, ], }, - { - id: 'settings', - label: this.$t('appNavigation.settings'), - icon: 'iconSettings', - children: [ - { - id: 'date-time', - label: this.$t('appNavigation.dateTime'), - route: '/settings/date-time', - }, - { - id: 'network', - label: this.$t('appNavigation.network'), - route: '/settings/network', - }, - { - id: 'power-restore-policy', - label: this.$t('appNavigation.powerRestorePolicy'), - route: '/settings/power-restore-policy', - }, - ], - }, + // { + // id: 'settings', + // label: this.$t('appNavigation.settings'), + // icon: 'iconChevronUp', + // children: [ + // { + // id: 'network', + // label: this.$t('appNavigation.network'), + // route: '/settings/network', + // }, + // { + // id: 'power-restore-policy', + // label: this.$t('appNavigation.powerRestorePolicy'), + // route: '/settings/power-restore-policy', + // }, + // ], + // }, { id: 'security-and-access', label: this.$t('appNavigation.securityAndAccess'), - icon: 'iconSecurityAndAccess', + icon: 'iconChevronUp', children: [ { id: 'sessions', @@ -162,21 +333,43 @@ const AppNavigationMixin = { }, ], }, + // { + // id: 'resource-management', + // label: this.$t('appNavigation.resourceManagement'), + // icon: 'iconChevronUp', + // children: [ + // { + // id: 'power', + // label: this.$t('appNavigation.power'), + // route: '/resource-management/power', + // }, + // ], + // }, + ], + }; + }, +}; + +export const KvmNavigationMixin = { + data() { + return { + kvmNavigationItems: [ + // { + // id: 'console-settings', + // label: this.$t('appPageTitle.consoleSettings'), + // route: '/console/settings', + // }, { - id: 'resource-management', - label: this.$t('appNavigation.resourceManagement'), - icon: 'iconResourceManagement', - children: [ - { - id: 'power', - label: this.$t('appNavigation.power'), - route: '/resource-management/power', - }, - ], + id: 'kvm', + label: this.$t('appNavigation.kvm'), + route: '/operations/kvm', + }, + { + id: 'serial-over-lan', + label: this.$t('appPageTitle.serialOverLan'), + route: '/operations/serial-over-lan', }, ], }; }, }; - -export default AppNavigationMixin; diff --git a/src/components/Global/Alert.vue b/src/components/Global/Alert.vue index e8de9e27..0109e7d2 100644 --- a/src/components/Global/Alert.vue +++ b/src/components/Global/Alert.vue @@ -12,7 +12,7 @@ <status-icon :status="variant" /> </div> <div class="alert-content"> - <div class="alert-msg"> + <div class="alert-msg regular-14px"> <slot /> </div> </div> diff --git a/src/components/Global/FormFile.vue b/src/components/Global/FormFile.vue index cf713acf..907f3004 100644 --- a/src/components/Global/FormFile.vue +++ b/src/components/Global/FormFile.vue @@ -1,26 +1,38 @@ <template> <div class="custom-form-file-container"> <label> - <b-form-file - :id="id" - v-model="file" - :accept="accept" - :disabled="disabled" - :state="state" - plain - @input="$emit('input', file)" + <b-modal + :id="`modal-${id}`" + body-class="modal-file-body" + :title="$t('pageKvm.addImage_modal')" + hide-footer > - </b-form-file> - <span - class="add-file-btn btn" + <div class="file-input_container"> + <b-form-file + :id="id" + v-model="file" + :accept="accept" + :disabled="disabled" + :state="state" + placeholder="Нажмите на область или перетащите в нее файл" + drop-placeholder="Отпустите, чтобы добавить файл" + @input="$emit('input', file)" + > + </b-form-file> + </div> + </b-modal> + <b-button + size="lg" + class="add-file-btn" :class="{ disabled, 'btn-secondary': isSecondary, 'btn-primary': !isSecondary, }" + @click="$bvModal.show(`modal-${id}`)" > {{ $t('global.fileUpload.browseText') }} - </span> + </b-button> <slot name="invalid"></slot> </label> <div v-if="file" class="clear-selected-file px-3 py-2 mt-2"> @@ -78,9 +90,15 @@ export default { return this.variant === 'secondary'; }, }, + watch: { + file() { + if (this.file) { + this.$bvModal.hide(`modal-${this.id}`); + } + }, + }, }; </script> - <style lang="scss" scoped> .form-control-file { opacity: 0; @@ -116,4 +134,22 @@ export default { } } } + +.file-input_container { + width: 100%; + height: 400px; + background-color: $surface-secondary; + border-top: 1px solid #f3f4f5; + border-radius: 0 0 16px 16px; + + display: flex; + align-items: center; + justify-content: center; +} + +.custom-form-file-container { + label { + margin-bottom: 0; + } +} </style> diff --git a/src/components/Global/InputPasswordToggle.vue b/src/components/Global/InputPasswordToggle.vue index d2c0d4a6..be4fdc6c 100644 --- a/src/components/Global/InputPasswordToggle.vue +++ b/src/components/Global/InputPasswordToggle.vue @@ -16,8 +16,8 @@ </template> <script> -import IconView from '@carbon/icons-vue/es/view/20'; -import IconViewOff from '@carbon/icons-vue/es/view--off/20'; +import IconView from '@carbon/icons-vue/es/view--filled/32'; +import IconViewOff from '@carbon/icons-vue/es/view--off--filled/32'; export default { name: 'InputPasswordToggle', @@ -48,6 +48,28 @@ export default { </script> <style lang="scss" scoped> +.input-action-btn, +.btn-icon-only { + margin: auto; + padding: 10px; + &:hover { + border-radius: 8px; + background-color: transparent; + } + &:focus { + box-shadow: none; + color: none; + } + &:active { + background-color: transparent; + } +} + +.btn-icon-only svg { + width: 30px; + height: 20px; +} + .input-password-toggle-container { position: relative; } diff --git a/src/components/Global/LoadingBar.vue b/src/components/Global/LoadingBar.vue index 0e9551b5..b65f97a7 100644 --- a/src/components/Global/LoadingBar.vue +++ b/src/components/Global/LoadingBar.vue @@ -74,12 +74,13 @@ export default { <style lang="scss" scoped> .progress { position: absolute; - left: 0; right: 0; bottom: -0.4rem; opacity: 1; transition: opacity $duration--moderate-01 $standard-easing--productive; height: 0.4rem; + width: calc(100vw - 320px); + border-radius: 0px; &.fade-enter, // Remove this vue2 based only class when switching to vue3 &.fade-enter-from, // This is vue3 based only class modified from 'fade-enter' @@ -89,5 +90,6 @@ export default { } .progress-bar { background-color: $loading-color; + border-radius: 0px; } </style> diff --git a/src/components/Global/PageContainer.vue b/src/components/Global/PageContainer.vue index ab4adb63..40c17ac7 100644 --- a/src/components/Global/PageContainer.vue +++ b/src/components/Global/PageContainer.vue @@ -1,5 +1,5 @@ <template> - <main id="main-content" class="page-container"> + <main id="main-content" class="page-container scroll-container"> <slot /> </main> </template> @@ -19,19 +19,10 @@ export default { <style lang="scss" scoped> main { width: 100%; - height: 100%; - padding-top: $spacer * 1.5; - padding-bottom: $spacer * 3; - padding-left: $spacer; - padding-right: $spacer; &:focus-visible { box-shadow: inset 0 0 0 2px theme-color('primary'); outline: none; } - - @include media-breakpoint-up($responsive-layout-bp) { - padding-left: $spacer * 2; - } } </style> diff --git a/src/components/Global/PageSection.vue b/src/components/Global/PageSection.vue index dd39ddd5..0521dc06 100644 --- a/src/components/Global/PageSection.vue +++ b/src/components/Global/PageSection.vue @@ -1,6 +1,9 @@ <template> <div class="page-section"> <h2 v-if="sectionTitle">{{ sectionTitle }}</h2> + <span v-if="sectionSmallTitle" class="bold-16px"> + {{ sectionSmallTitle }} + </span> <slot /> </div> </template> @@ -13,17 +16,26 @@ export default { type: String, default: '', }, + sectionSmallTitle: { + type: String, + default: '', + }, }, }; </script> <style lang="scss" scoped> .page-section { - margin-bottom: $spacer * 4; + margin-bottom: $spacer * 1; } h2 { @include font-size($h3-font-size); margin-bottom: $spacer; } + +.bold-16px { + display: block; + margin: 25px 0 16px 0; +} </style> diff --git a/src/components/Global/PageTitle.vue b/src/components/Global/PageTitle.vue index 45c75edb..3f8ffe66 100644 --- a/src/components/Global/PageTitle.vue +++ b/src/components/Global/PageTitle.vue @@ -1,7 +1,11 @@ <template> - <div class="page-title"> - <h1>{{ title }}</h1> - <p v-if="description">{{ description }}</p> + <div v-if="description" class="page-title"> + <h1 class="bold-24px text-title">{{ title }}</h1> + <p class="page-description">{{ description }}</p> + </div> + <div v-else class="page-title no_description"> + <h1 class="bold-24px text-title">{{ title }}</h1> + <p class="page-description">{{ description }}</p> </div> </template> @@ -24,9 +28,33 @@ export default { <style lang="scss" scoped> .page-title { - margin-bottom: $spacer * 2; + width: 100%; + height: 72px; + border-bottom: 1px solid $faint-secondary-primary-10; + background-color: $white; + z-index: 1001; + + display: flex; + flex-flow: column nowrap; + align-items: flex-start; + justify-content: center; + &.no_description { + height: 64px; + } +} + +.text-title { + margin-left: 2rem; } -p { - max-width: 72ch; + +.page-description { + color: $text-secondary; + font-family: 'Inter', sans-serif; + font-size: 12px; + font-weight: 400; + line-height: 16px; + + margin: 4px 0 0 2rem; + padding: 0; } </style> diff --git a/src/components/Global/Popover.vue b/src/components/Global/Popover.vue new file mode 100644 index 00000000..95e9fb24 --- /dev/null +++ b/src/components/Global/Popover.vue @@ -0,0 +1,287 @@ +<template> + <div id="popover-container"> + <div v-if="isclear" :id="id" ref="button" variant="primary" class="pointer"> + <img src="@/assets/images/icon-clear-red.svg" /> + <span class="regular-12px red-font">{{ $t(description) }}</span> + </div> + <div + v-else-if="isMicrocode" + :id="id" + ref="button" + variant="primary" + class="pointer" + > + <img src="@/assets/images/icon-reload-red.svg" /> + <span class="regular-12px red-font">{{ $t(description) }}</span> + </div> + + <div + v-else-if="isMicrocodeDrivers" + :id="id" + ref="button" + variant="primary" + class="pointer" + > + <img src="@/assets/images/icon-reload-red.svg" /> + <span class="semi-bold-16px red-font">{{ $t(description) }}</span> + </div> + + <span + v-else + :id="id" + ref="button" + class="regular-12px underline" + variant="primary" + > + {{ $t(description) }} + </span> + <!-- Our popover title and content render container --> + <b-popover + ref="popover" + :target="id" + triggers="click" + :show.sync="popoverShow" + placement="auto" + container="popover-container" + @show="onShow" + @shown="onShown" + @hidden="onHidden" + > + <template #title> + <div class="popup-title"> + <span class="bold-16px__caps">{{ $t(popup) }}</span> + <b-button class="popup-title__button_close" @click="onClose"> + <img src="@/assets/images/popups/x-icon.svg" /> + </b-button> + </div> + </template> + + <div class="popup-body"> + <div> + <label class="light-12px" style="margin-right: 5px">{{ + 'HEX для ввода' + }}</label> + <img id="popover-tooltip" src="@/assets/images/popups/red-sign.svg" /> + <popover-info + id="popover-tooltip" + description="Введите HEX в поле для подтверждения действия" + /> + <div class="hex-label"> + <span class="medium-12px"> 9c1735b3f819142393146a5d03314f0a </span> + </div> + </div> + <div class="popup-body__input-container"> + <span style="margin-left: 12px" class="regular-12px tretiatry" + >Поле для ввода</span + > + <b-form-input + id="popover-input-1" + v-model="input" + class="medium-12px" + ></b-form-input> + </div> + <b-button + class="popup-button" + variant="primary" + :disabled="!input" + @click="onOk" + > + {{ $t(button) }} + </b-button> + </div> + </b-popover> + </div> +</template> + +<script> +import PopoverInfo from './PopoverInfo'; +import BVToastMixin from '@/components/Mixins/BVToastMixin'; +export default { + components: { + PopoverInfo, + }, + mixins: [BVToastMixin], + props: { + id: { + type: String, + default: '', + }, + description: { + type: String, + default: '', + }, + popup: { + type: String, + default: '', + }, + placement: { + type: String, + default: 'auto', + }, + button: { + type: String, + default: 'global.action.reload', + }, + isMicrocode: { + type: Boolean, + default: false, + }, + isMicrocodeDrivers: { + type: Boolean, + default: false, + }, + isclear: { + type: Boolean, + default: false, + }, + action: { + type: Function, + default: null, + }, + }, + data() { + return { + input: '', + popoverShow: false, + }; + }, + methods: { + onClose() { + this.popoverShow = false; + }, + onOk() { + if (this.input === '9c1735b3f819142393146a5d03314f0a') { + this.action(); + this.onClose(); + } else { + this.warningToast( + this.$t('Неправильный HEX в поле для подтверждения действия'), + { + title: this.$t('Неправильный НЕХ'), + } + ); + } + }, + onShow() { + // This is called just before the popover is shown + // Reset our popover form variables + this.$root.$emit('bv::hide::popover'); + this.input = ''; + }, + onShown() { + // Called just after the popover has been shown + // Transfer focus to the first input + this.focusRef(this.$refs.input1); + }, + onHidden() { + // Called just after the popover has finished hiding + // Bring focus back to the button + this.focusRef(this.$refs.button); + }, + focusRef(ref) { + // Some references may be a component, functional component, or plain element + // This handles that check before focusing, assuming a `focus()` method exists + // We do this in a double `$nextTick()` to ensure components have + // updated & popover positioned first + this.$nextTick(() => { + this.$nextTick(() => { + (ref.$el || ref).focus(); + }); + }); + }, + }, +}; +</script> +<style lang="scss" scoped> +.form-group { + margin: 0; +} + +.popup-title { + display: flex; + flex-flow: row nowrap; + align-items: baseline; +} + +.popup-title__button_close { + margin: 0 28px 0 auto; + background: none; + border: none; + &:active { + background-color: $faint-secondary-primary-5-hover !important; + box-shadow: none !important; + border-radius: 8px; + } + &:focus-visible { + border: none !important; + border-radius: 8px; + } + &:focus { + box-shadow: none; + border-radius: 8px; + } +} + +.popup-body { + display: flex; + flex-direction: column; + align-content: center; + justify-content: center; + align-items: center; +} + +.form-control { + width: 341px; + height: 52px; + margin: -25px auto; + padding-top: 30px; +} + +.hex-label { + height: 32px; + width: 341px; + display: flex; + justify-content: center; + align-items: center; + background: $faint-secondary-primary-5; + border-radius: 8px; + border: none; + margin: 0 auto; +} + +.popup-button { + width: 341px; + height: 40px; + margin-bottom: 10px; +} + +.popup-body__input-container { + height: 52px; + margin: 24px auto 16px auto; +} + +.tretiatry { + margin-left: 12px; +} + +.light-12px { + margin: 0px 5px 0px 15px; +} + +.popover-info { + background-color: $on-surface-primary; + // border: 1px solid $text-primary; + // box-shadow: 0px 6px 16px -12px rgba(23, 40, 77, 0.06); + border-radius: 8px; + width: 168px; + height: 76px; + &.arrow { + display: block; + } +} + +.red-font { + padding-left: 5px; + color: $red-brand-primary; +} +</style> diff --git a/src/components/Global/PopoverInfo.vue b/src/components/Global/PopoverInfo.vue new file mode 100644 index 00000000..4b1b0b0d --- /dev/null +++ b/src/components/Global/PopoverInfo.vue @@ -0,0 +1,40 @@ +<template> + <b-popover :target="id" triggers="hover" placement="top"> + <span class="regular-12px">{{ description }}</span> + </b-popover> +</template> + +<script> +export default { + props: { + description: { + type: String, + default: '', + }, + id: { + type: String, + default: '', + }, + }, +}; +</script> +<style lang="scss" scoped> +.popover::v-deep { + background-color: #040a0f; + width: 168px; + height: 76px; +} + +.popover::v-deep .arrow { + visibility: visible; +} + +.popover::v-deep .arrow::after { + border-top-color: #040a0f; + border-bottom-color: #040a0f; +} + +.regular-12px { + color: $white; +} +</style> diff --git a/src/components/Global/Search.vue b/src/components/Global/Search.vue index ac8f9bfb..ce097fcb 100644 --- a/src/components/Global/Search.vue +++ b/src/components/Global/Search.vue @@ -1,11 +1,12 @@ <template> <div class="search-global"> - <b-form-group - :label="$t('global.form.search')" + <!--<b-form-group + :label="$t('global.form.search')" :label-for="`searchInput-${_uid}`" label-class="invisible" - class="mb-2" - > + class="mb-2" + >--> + <b-form-group> <b-input-group size="md" class="align-items-center"> <b-input-group-prepend> <icon-search class="search-icon" /> diff --git a/src/components/Global/SilaComponents/ApplySettingsPopover.vue b/src/components/Global/SilaComponents/ApplySettingsPopover.vue new file mode 100644 index 00000000..57e0844c --- /dev/null +++ b/src/components/Global/SilaComponents/ApplySettingsPopover.vue @@ -0,0 +1,163 @@ +<template> + <div class="popover-applay-container"> + <span class="apply-label regular-12px tretiatry"> + {{ $t('global.applySettings.apply') }}</span + > + <b-button :id="`popover-apply-ractive${id}`" variant="unstiled"> + <span class="regular-12px apply-variant"> + {{ $t(`global.applySettings.${applyType}`) }}</span + > + <img class="apply-chevron" src="@/assets/images/icon-chevron-red.svg" /> + </b-button> + <b-popover + placement="bottom" + triggers="focus" + :show.sync="show" + custom-class="apply-reload-popover" + :target="`popover-apply-ractive${id}`" + @hidden="onHidden" + > + <b-button + id="popover-apply-button" + variant="popover" + :class="{ 'hovered-apply-button': scale === topPosition }" + @mouseover="scale = topPosition" + @click=" + () => { + show = false; + appalyOnReload(); + } + " + > + При перезагрузке + </b-button> + <b-button + id="popover-apply-button" + variant="popover" + :class="{ 'hovered-apply-button': scale === middlePosition }" + @mouseover="scale = middlePosition" + @click=" + () => { + show = false; + appalyOption1(); + } + " + > + Опция 1 + </b-button> + <b-button + id="popover-apply-button" + variant="popover" + :class="{ 'hovered-apply-button': scale === bottomPosition }" + @mouseover="scale = bottomPosition" + @click=" + () => { + show = false; + appalyOption2(); + } + " + > + Опция 2 + </b-button> + <div class="slider" :style="`left: 5px; top: ${scale}px;`"></div> + </b-popover> + </div> +</template> + +<script> +export default { + props: { + id: { + type: Number, + default: 1, + }, + appalyOnReload: { + type: Function, + default: null, + }, + appalyOption1: { + type: Function, + default: null, + }, + appalyOption2: { + type: Function, + default: null, + }, + applyType: { + type: String, + default: 'reload', + }, + }, + data() { + return { + topPosition: 5, + middlePosition: 33, + bottomPosition: 60, + show: false, + scale: 5, + }; + }, + methods: { + onHidden() { + if (this.applyType === 'reload') { + this.scale = this.topPosition; + } else if (this.applyType === 'option1') { + this.scale = this.middlePosition; + } else { + this.scale = this.bottomPosition; + } + }, + }, +}; +</script> +<style lang="scss"> +.popover-applay-container { + display: flex; + align-items: baseline; + justify-content: flex-end; + margin-left: auto; +} + +#popover-apply-ractive { + padding-left: 5px; +} + +.hovered-apply-button { + color: $white; +} +</style> +<style lang="scss" scoped> +.apply-label { + margin-left: auto; +} + +.apply-chevron { + margin: 0 10px 0 5px; + cursor: pointer; +} + +#popover-apply-ractive { + padding-left: 5px; +} + +.apply-variant { + cursor: pointer; + color: $red-brand-primary; +} + +#popover-apply-button { + justify-content: flex-start; + width: 240px; +} + +.slider { + width: 240px; + height: 28px; + border-radius: 8px; + background-color: $red-brand-primary; + box-shadow: 1px 2px 4px -1px rgb(79 37 37 / 40%) inset; + position: absolute; + transition: ease-in 0.2s; + z-index: -1; +} +</style> diff --git a/src/components/Global/SilaComponents/DataTabs.vue b/src/components/Global/SilaComponents/DataTabs.vue new file mode 100644 index 00000000..49afbbfb --- /dev/null +++ b/src/components/Global/SilaComponents/DataTabs.vue @@ -0,0 +1,136 @@ +<template> + <div> + <div + ref="content" + :class="'tabs-switch'" + :style="gridStyle" + @wheel.prevent="wheelItBetter($event)" + > + <span + v-for="item in slots" + :key="item.id" + class="medium-12px scale-item" + :class="{ 'tab-active': currentTab === item.id }" + :style="`width: ${slotWidth}px`" + @click="switchTab(item.id)" + >{{ $t(item.name) }}</span + > + <div class="slider" :style="sliderStyle" /> + </div> + </div> +</template> + +<script> +export default { + props: { + slots: { + type: Array, + default: null, + }, + currentTab: { + type: Number, + default: 1, + }, + switchTab: { + type: Function, + required: true, + }, + slotWidth: { + type: Number, + default: null, + }, + sliderWidth: { + type: Number, + default: null, + }, + }, + data() { + return { + upHere: false, + container: this.$refs.content, + }; + }, + computed: { + sliderStyle() { + return { + width: `${this.sliderWidth}px`, + left: `${ + ((this.currentTab ? this.currentTab : 1) - 1) * this.slotWidth + }px`, + }; + }, + gridStyle() { + return { + gridTemplateColumns: `repeat(${this.slots.length}, ${this.slotWidth}px)`, + }; + }, + }, + methods: { + wheelItBetter(event) { + if (event.deltaY < 0) { + this.$refs.content.scrollLeft -= 25; + } else { + this.$refs.content.scrollLeft += 25; + } + }, + }, +}; +</script> +<style lang="scss" scoped> +.tabs-switch { + position: relative; + width: calc(95vw - 320px); + height: 45px; + margin-left: 32px; + display: grid; + grid-auto-flow: column; + grid-template-rows: 32px; + align-items: end; + border-bottom: 1px solid $faint-secondary-primary-10; + overflow-x: auto; + white-space: nowrap; + &::-webkit-scrollbar { + height: 2px; + } + &::-webkit-scrollbar-thumb { + background: rgba(26, 62, 91, 0.2); + border-radius: 16px; + background-clip: content-box; + height: 10px; + } +} + +.tab-active { + color: $red-brand-primary; + transition: ease-in 0.15s; +} + +.slider { + position: absolute; + height: 0px; + border-bottom: 4px solid $red-brand-primary; + transition: ease-in 0.2s; + bottom: 0px; +} + +.scale-item { + display: inline-block; + margin-right: 6px; + cursor: pointer; + &:hover { + transition: ease-in 0.2s; + color: #e11717; + } +} + +.date-picker { + display: flex; + align-items: center; + gap: 9px; +} + +.date-clear { + margin-left: auto; + cursor: pointer; +} +</style> diff --git a/src/components/Global/SilaComponents/DateSwitch.vue b/src/components/Global/SilaComponents/DateSwitch.vue new file mode 100644 index 00000000..4df70ba4 --- /dev/null +++ b/src/components/Global/SilaComponents/DateSwitch.vue @@ -0,0 +1,123 @@ +<template> + <div class="fans-date-switch"> + <span + class="medium-12px scale-item" + :class="{ 'switch-active': timeScale === 'hour' }" + @click="switchTimeScale('hour')" + >{{ $t('global.date.lastHour') }}</span + > + <span + class="medium-12px scale-item" + :class="{ 'switch-active': timeScale === 'day' }" + @click="switchTimeScale('day')" + >{{ $t('global.date.lastDay') }}</span + > + <span + class="medium-12px scale-item" + :class="{ 'switch-active': timeScale === 'week' }" + @click="switchTimeScale('week')" + >{{ $t('global.date.lastWeek') }}</span + > + <span + class="medium-12px scale-item" + :class="{ 'switch-active': timeScale === 'mounth' }" + @click="switchTimeScale('mounth')" + >{{ $t('global.date.lastMounth') }}</span + > + <span + class="medium-12px scale-item" + :class="{ 'switch-active': timeScale === 'year' }" + @click="switchTimeScale('year')" + >{{ $t('global.date.lastYear') }}</span + > + <div class="slider" /> + <div class="date-picker"> + <img src="@/assets/images/calendar-icon.svg" /> + <span class="medium-12px scale-item">{{ + $t('global.date.selectDate') + }}</span> + </div> + <img class="date-clear" src="@/assets/images/icon-clear-red.svg" /> + </div> +</template> + +<script> +export default { + props: { + timeScale: { + type: String, + default: 'hour', + }, + switchTimeScale: { + type: Function, + required: true, + }, + }, +}; +</script> +<style lang="scss" scoped> +.fans-date-switch { + position: relative; + + height: 48px; + padding: 0 16px 0 32px; + display: flex; + flex-flow: row nowrap; + align-items: center; + gap: 24px; + border-bottom: 1px solid $faint-secondary-primary-10; +} + +.switch-active { + color: $red-brand-primary; + transition: ease-in 0.15s; +} + +.slider { + position: absolute; + height: 0px; + border-bottom: 4px solid $red-brand-primary; + transition: ease-in 0.2s; + bottom: 0px; +} + +.scale-item { + cursor: pointer; +} + +.scale-item:nth-child(1).switch-active ~ .slider { + width: 92px; + left: 31px; +} + +.scale-item:nth-child(2).switch-active ~ .slider { + left: 135px; + width: 105px; +} + +.scale-item:nth-child(3).switch-active ~ .slider { + left: 255px; + width: 112px; +} + +.scale-item:nth-child(4).switch-active ~ .slider { + left: 383px; + width: 107px; +} + +.scale-item:nth-child(5).switch-active ~ .slider { + left: 508px; + width: 90px; +} + +.date-picker { + display: flex; + align-items: center; + gap: 9px; +} + +.date-clear { + margin-left: auto; + cursor: pointer; +} +</style> diff --git a/src/components/Global/SilaComponents/InventoryControlSystem.vue b/src/components/Global/SilaComponents/InventoryControlSystem.vue new file mode 100644 index 00000000..18f1d9ff --- /dev/null +++ b/src/components/Global/SilaComponents/InventoryControlSystem.vue @@ -0,0 +1,195 @@ +<template> + <page-section class="system-control-section"> + <div class="system-control__table"> + <div class="system-control__table__row"> + <div class="system-control__table__cell"> + <div> + <span class="semi-bold-12px"> + {{ $t('SystemDescription.title.ReloadServer') }} + </span> + </div> + <popover + id="popover-reactive-1" + description="SystemDescription.ReloadOSAndServer" + popup="SystemDescription.ReloadOSAndServer_popup" + /> + <popover + id="popover-reactive-2" + description="SystemDescription.ReloadServer" + popup="SystemDescription.ReloadServer_popup" + /> + <div> + <span class="regular-12px underline" @click="redirectConsole"> + {{ $t('SystemDescription.ConnectToDesktop') }} + </span> + </div> + </div> + + <div class="system-control__table__cell system-control__table__cell__2"> + <div class="reload-progress__container"> + <span class="regular-12px"> + {{ $t('SystemDescription.status') }} + </span> + <span class="semi-bold-12px progress_bar_percent" + >{{ progress1.value }}%</span + > + <b-progress + class="reload-progress" + :value="progress1.value" + ></b-progress> + </div> + <div class="reload-progress__container"> + <span class="regular-12px"> + {{ $t('SystemDescription.status') }} + </span> + <span + v-if="progress2.value === null" + class="semi-bold-12px progress_bar_percent" + >{{ $t('SystemDescription.NotRunning') }}</span + > + <span v-else class="semi-bold-12px progress_bar_percent" + >{{ progress2.value }}%</span + > + <b-progress + class="reload-progress" + :value="progress2.value" + ></b-progress> + </div> + </div> + + <div class="system-control__table__cell"> + <div> + <span class="semi-bold-12px"> + {{ $t('SystemDescription.title.OnOffServer') }} + </span> + </div> + <div> + <popover + id="popover-reactive-3" + description="SystemDescription.OffOsAndServer" + popup="SystemDescription.OffOsAndServer_popup" + button="global.action.off" + /> + <popover + id="popover-reactive-4" + description="SystemDescription.OffServer" + popup="SystemDescription.OffServer_popup" + button="global.action.off" + /> + </div> + </div> + </div> + <div class="system-control__table__row"> + <div class="system-control__table__cell system-control__table__cell__4"> + <div> + <span class="semi-bold-12px"> + {{ $t('SystemDescription.title.setupDatetime') }} + </span> + </div> + <b-form @submit.prevent="onResetSubmit"> + <b-form-radio-group + v-model="timeOption" + class="system-control__radio regular-12px" + > + <b-form-radio variant="radio" value="NTP"> + {{ $t('SystemDescription.GetNtpFromServer') }} + </b-form-radio> + <b-form-radio variant="radio" value="serverDate"> + {{ $t('SystemDescription.UseServerDatettime') }} + </b-form-radio> + </b-form-radio-group> + </b-form> + <ntp-popover + id="popover-reactive-5" + description="SystemDescription.NtpSettings" + /> + </div> + </div> + </div> + </page-section> +</template> + +<script> +import PageSection from '@/components/Global/PageSection'; +import Popover from '@/components/Global/Popover'; +import NtpPopover from '@/components/Global/SilaComponents/NtpPopover'; + +export default { + components: { + PageSection, + NtpPopover, + Popover, + }, + data() { + return { + timeOption: 'resetBios', + picked: '', + options: [ + { text: 'Toggle this custom radio', value: 'first' }, + { text: 'Or toggle this other custom radio', value: 'second' }, + ], + progress1: { + value: 90, + }, + progress2: { + value: null, + }, + }; + }, + methods: { + redirectConsole() { + this.$router.push('/console/kvm'); + }, + }, +}; +</script> +<style lang="scss" scoped> +a { + list-style-type: none; +} + +.system-control-section { + position: relative; + margin: 16px 2rem 2rem !important; + width: 90%; +} + +.system-control__table__row { + display: flex; + flex-flow: row nowrap; + justify-content: space-between; + width: 85%; +} + +.system-control__table__cell { + display: flex; + flex-flow: column nowrap; + align-items: flex-start; + row-gap: 6px; +} + +.system-control__table__cell__2 { + margin-top: 37px; + row-gap: 14px; +} + +.reload-progress__container { + display: flex; + flex-flow: row nowrap; + align-items: baseline; + justify-content: space-between; + width: 100%; + column-gap: 4px; +} + +.semi-bold-12px { + display: inline-block; +} + +label { + padding-top: 5px; +} +.system-control__table__cell__4 { + margin-top: 26px; +} +</style> diff --git a/src/components/Global/SilaComponents/NtpPopover.vue b/src/components/Global/SilaComponents/NtpPopover.vue new file mode 100644 index 00000000..6f181002 --- /dev/null +++ b/src/components/Global/SilaComponents/NtpPopover.vue @@ -0,0 +1,132 @@ +<template> + <div id="my-container"> + <span :id="id" class="regular-12px underline" variant="primary"> + {{ $t(description) }} + </span> + <!-- Our popover title and content render container --> + <b-popover + :target="id" + placement="auto" + container="my-container" + :show.sync="popoverShow" + @show="onShow" + > + <template #title> + <div class="popup-title"> + <span class="bold-16px__caps">{{ $t(description) }}</span> + <b-button class="popup-title__button_close" @click="onClose"> + <img src="@/assets/images/popups/x-icon.svg" /> + </b-button> + </div> + </template> + + <div class="popup-body"> + <div class="popup-body__input-container"> + <span class="regular-12px tretiatry" + >Введите адрес сервера (IP, FQDM)</span + > + <b-form-input + id="popover-input-1" + v-model="input1" + class="medium-12px" + ></b-form-input> + </div> + <b-button class="popup-button" variant="primary" @click="onClose"> + {{ $t('global.action.save') }} + </b-button> + </div> + </b-popover> + </div> +</template> + +<script> +export default { + props: { + description: { + type: String, + default: '', + }, + id: { + type: String, + default: '', + }, + button: { + type: String, + default: 'Reload', + }, + }, + data() { + return { + input1: '', + popoverShow: false, + }; + }, + methods: { + onShow() { + this.$root.$emit('bv::hide::popover'); + }, + onClose() { + this.popoverShow = false; + }, + }, +}; +</script> +<style lang="scss" scoped> +.form-group { + margin: 0; +} + +.popup-title { + display: flex; + flex-flow: row nowrap; + align-items: baseline; +} + +.popup-title__button_close { + margin: 0 28px 0 auto; + background: none; + border: none; + &:active { + background-color: $faint-secondary-primary-5-hover !important; + box-shadow: none !important; + border-radius: 8px; + } + &:focus-visible { + border: none !important; + border-radius: 8px; + } + &:focus { + box-shadow: none; + border-radius: 8px; + } +} + +.popup-body { + display: flex; + flex-direction: column; + align-content: center; + justify-content: center; +} + +.form-control { + width: 341px; + height: 52px; + margin: -25px auto; + padding-top: 30px; +} + +.popup-button { + width: 341px; + height: 40px; + margin: 0 auto 10px; +} + +.popup-body__input-container { + height: 52px; + margin: 24px auto 16px auto; +} + +.tretiatry { + margin-left: 12px; +} +</style> diff --git a/src/components/Global/SilaComponents/PopoverWithSlot.vue b/src/components/Global/SilaComponents/PopoverWithSlot.vue new file mode 100644 index 00000000..9a3c1d9d --- /dev/null +++ b/src/components/Global/SilaComponents/PopoverWithSlot.vue @@ -0,0 +1,225 @@ +<template> + <div id="popover-container"> + <slot /> + <b-popover + ref="popover" + :target="id" + triggers="focus" + :show.sync="popoverShow" + :placement="placement" + container="popover-container" + @show="onShow" + @shown="onShown" + @hidden="onHidden" + > + <template #title> + <div class="popup-title"> + <span class="bold-16px__caps">{{ popupLabel }}</span> + <b-button class="popup-title__button_close" @click="onClose"> + <img src="@/assets/images/popups/x-icon.svg" /> + </b-button> + </div> + </template> + + <div class="popup-body"> + <div> + <label class="light-12px" style="margin-right: 5px">{{ + 'HEX для ввода' + }}</label> + <img id="popover-tooltip" src="@/assets/images/popups/red-sign.svg" /> + <popover-info + id="popover-tooltip" + description="Введите HEX в поле для подтверждения действия" + /> + <div class="hex-label"> + <span class="medium-12px"> 9c1735b3f819142393146a5d03314f0a </span> + </div> + </div> + <div class="popup-body__input-container"> + <span style="margin-left: 12px" class="regular-12px tretiatry" + >Поле для ввода</span + > + <b-form-input + id="popover-input-1" + ref="input" + v-model="input" + class="medium-12px" + ></b-form-input> + </div> + <b-button + class="popup-button" + variant="primary" + :disabled="!input" + @click="onOk" + > + {{ buttonLabel }} + </b-button> + </div> + </b-popover> + </div> +</template> + +<script> +import PopoverInfo from '../PopoverInfo'; +import BVToastMixin from '@/components/Mixins/BVToastMixin'; +export default { + components: { + PopoverInfo, + }, + mixins: [BVToastMixin], + props: { + id: { + type: String, + default: '', + }, + placement: { + type: String, + default: 'auto', + }, + popupLabel: { + type: String, + default: '', + }, + buttonLabel: { + type: String, + default: 'global.action.reload', + }, + action: { + type: Function, + default: null, + }, + }, + data() { + return { + input: '', + popoverShow: false, + }; + }, + methods: { + onClose() { + this.popoverShow = false; + }, + onOk() { + if (this.input === '9c1735b3f819142393146a5d03314f0a') { + this.action(); + this.onClose(); + } else { + this.warningToast( + this.$t('Неправильный HEX в поле для подтверждения действия'), + { + title: this.$t('Неправильный НЕХ'), + } + ); + } + }, + onShow() { + // This is called just before the popover is shown + // Reset our popover form variables + this.$root.$emit('bv::hide::popover'); + this.input = ''; + }, + onShown() { + // Called just after the popover has been shown + // Transfer focus to the first input + this.focusRef(this.$refs.input); + }, + onHidden() { + // Called just after the popover has finished hiding + // Bring focus back to the button + // this.focusRef(this.$refs.button); + }, + focusRef(ref) { + // Some references may be a component, functional component, or plain element + // This handles that check before focusing, assuming a `focus()` method exists + // We do this in a double `$nextTick()` to ensure components have + // updated & popover positioned first + this.$nextTick(() => { + this.$nextTick(() => { + (ref.$el || ref).focus(); + }); + }); + }, + }, +}; +</script> +<style lang="scss" scoped> +.form-group { + margin: 0; +} + +.popup-title { + display: flex; + flex-flow: row nowrap; + align-items: baseline; +} + +.popup-title__button_close { + margin: 0 28px 0 auto; + background: none; + border: none; + height: 25px; + &:active { + background-color: $faint-secondary-primary-5-hover !important; + box-shadow: none !important; + border-radius: 8px; + } + &:focus-visible { + border: none !important; + border-radius: 8px; + } + &:focus { + box-shadow: none; + border-radius: 8px; + } +} + +.popup-body { + display: flex; + flex-direction: column; + align-content: center; + justify-content: center; + align-items: center; +} + +.form-control { + width: 341px; + height: 52px; + margin: -25px auto; + padding-top: 30px; +} + +.hex-label { + height: 32px; + width: 341px; + display: flex; + justify-content: center; + align-items: center; + background: $faint-secondary-primary-5; + border-radius: 8px; + border: none; + margin: 0 auto; +} + +.popup-button { + width: 341px; + height: 40px; + margin-bottom: 10px; +} + +.popup-body__input-container { + height: 52px; + margin: 24px auto 16px auto; +} + +.popover-info { + background-color: $on-surface-primary; + // border: 1px solid $text-primary; + // box-shadow: 0px 6px 16px -12px rgba(23, 40, 77, 0.06); + border-radius: 8px; + width: 168px; + height: 76px; + &.arrow { + display: block; + } +} +</style> diff --git a/src/components/Global/SilaComponents/Tables/AccessoryTable.vue b/src/components/Global/SilaComponents/Tables/AccessoryTable.vue new file mode 100644 index 00000000..2b25d880 --- /dev/null +++ b/src/components/Global/SilaComponents/Tables/AccessoryTable.vue @@ -0,0 +1,101 @@ +<template> + <section class="bootstrap-table__section"> + <b-table + responsive="md" + class="bootstrap-fans-table bootstrap-fans-table__stripes" + :items="records.items" + :fields="records.fields" + > + <template #cell(name)="{ value, index }"> + <div + class="fans-colors" + :style="`background-color: ${colors[index]}`" + ></div> + <span class="light-12px"> + {{ value }} + </span> + </template> + <template #cell(minDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + <template #cell(maxDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + <template #head(currentPower)="{ label }"> + <span class="semi-bold-12px"> + {{ label }} + </span> + <span class="semi-bold-12px errors"> + {{ '(15)' }} + </span> + </template> + <template #cell(currentPower)="{ value }"> + <row> + <span class="light-12px"> + {{ value }} + </span> + </row> + </template> + </b-table> + </section> +</template> + +<script> +import { colors } from '../colors'; + +export default { + props: { + records: { + type: Object, + default: null, + }, + }, + data() { + return { + colors, + }; + }, +}; +</script> +<style lang="scss"> +.bootstrap-fans-table__th { + background-color: transparent !important; + color: $text-primary !important; + border-top: none !important; + padding: 10px 5px !important; + border-bottom: 1px solid $faint-secondary-primary-10; +} + +.bootstrap-fans-table__td { + padding: 5px !important; + border-top: none !important; +} +</style> + +<style lang="scss" scoped> +.fans-colors { + display: inline-block; + width: 8px; + height: 8px; + border-radius: 2px; +} +.row { + align-items: center; + flex-wrap: nowrap; + justify-content: flex-end; +} + +.errors { + color: $indicators-errors; +} +</style> diff --git a/src/components/Global/SilaComponents/Tables/AccessoryTableDrivers.vue b/src/components/Global/SilaComponents/Tables/AccessoryTableDrivers.vue new file mode 100644 index 00000000..120a03a3 --- /dev/null +++ b/src/components/Global/SilaComponents/Tables/AccessoryTableDrivers.vue @@ -0,0 +1,116 @@ +<template> + <section class="bootstrap-table__section"> + <span class="bold-12px__caps"> + {{ $t('fansPage.valueIndicators') }} + </span> + <b-table + responsive="md" + class="bootstrap-fans-table bootstrap-fans-table__stripes" + :items="records.items" + :fields="records.fields" + > + <template #cell(name)="{ value, index }"> + <div + class="fans-colors" + :style="`background-color: ${colors[index]}`" + ></div> + <span class="light-12px"> + {{ value }} + </span> + </template> + <template #cell(minDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + <template #cell(maxDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + <template #head(currentPower)="{ label }"> + <span class="semi-bold-12px"> + {{ label }} + </span> + <span class="semi-bold-12px errors"> + {{ '(15)' }} + </span> + </template> + <template #cell(currentPower)="{ value }"> + <row> + <span class="light-12px"> + {{ value }} + </span> + </row> + </template> + </b-table> + </section> +</template> + +<script> +import { colors } from '../colors'; + +export default { + props: { + records: { + type: Object, + default: null, + }, + }, + data() { + return { + colors, + }; + }, +}; +</script> +<style lang="scss"> +.bootstrap-fans-table__th { + background-color: transparent !important; + color: $text-primary !important; + border-top: none !important; + padding: 10px 5px !important; + border-bottom: 1px solid $faint-secondary-primary-10; +} + +.bootstrap-fans-table__td { + padding: 5px !important; + border-top: none !important; +} + +.SMART-table-col-first { + width: 34%; +} + +.SMART-table-col-second { + width: 32%; +} + +.SMART-table-col-last { + width: 39%; +} +</style> + +<style lang="scss" scoped> +.fans-colors { + display: inline-block; + width: 8px; + height: 8px; + border-radius: 2px; +} +.row { + align-items: center; + flex-wrap: nowrap; + justify-content: flex-end; +} + +.errors { + color: $indicators-errors; +} +</style> diff --git a/src/components/Global/SilaComponents/Tables/AccessoryTablePower.vue b/src/components/Global/SilaComponents/Tables/AccessoryTablePower.vue new file mode 100644 index 00000000..6f696b82 --- /dev/null +++ b/src/components/Global/SilaComponents/Tables/AccessoryTablePower.vue @@ -0,0 +1,105 @@ +<template> + <section class="bootstrap-table__section"> + <span class="bold-12px__caps"> + {{ $t('fansPage.valueIndicators') }} + </span> + <b-table + responsive="md" + class="bootstrap-fans-table bootstrap-fans-table__stripes" + :items="records.items" + :fields="records.fields" + > + <template #cell(name)="{ value, index }"> + <div + class="fans-colors" + :style="`background-color: ${colors[index]}`" + ></div> + <span class="light-12px"> + {{ value }} + </span> + </template> + <template #cell(minDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + <template #cell(maxDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + <template #head(currentPower)="{ label }"> + <span class="semi-bold-12px"> + {{ label }} + </span> + <span class="semi-bold-12px errors"> + {{ '(15)' }} + </span> + </template> + <template #cell(currentPower)="{ value }"> + <row> + <span class="light-12px"> + {{ value }} + </span> + <img src="@/assets/images/power-error-icon.svg" /> + </row> + </template> + </b-table> + </section> +</template> + +<script> +import { colors } from '../../../../views/Processors/DynamicInfo/helpers'; + +export default { + props: { + records: { + type: Object, + default: null, + }, + }, + data() { + return { + colors, + }; + }, +}; +</script> +<style lang="scss"> +.bootstrap-fans-table__th { + background-color: transparent !important; + color: $text-primary !important; + border-top: none !important; + padding: 10px 5px !important; + border-bottom: 1px solid $faint-secondary-primary-10; +} + +.bootstrap-fans-table__td { + padding: 5px !important; + border-top: none !important; +} +</style> + +<style lang="scss" scoped> +.fans-colors { + display: inline-block; + width: 8px; + height: 8px; + border-radius: 2px; +} +.row { + align-items: center; + flex-wrap: nowrap; + justify-content: flex-end; +} + +.errors { + color: $indicators-errors; +} +</style> diff --git a/src/components/Global/SilaComponents/Tables/AccessoryTableWithLabel.vue b/src/components/Global/SilaComponents/Tables/AccessoryTableWithLabel.vue new file mode 100644 index 00000000..4974750a --- /dev/null +++ b/src/components/Global/SilaComponents/Tables/AccessoryTableWithLabel.vue @@ -0,0 +1,104 @@ +<template> + <section class="bootstrap-table__section"> + <span class="bold-12px__caps"> + {{ $t('fansPage.valueIndicators') }} + </span> + <b-table + responsive="md" + class="bootstrap-fans-table bootstrap-fans-table__stripes" + :items="records.items" + :fields="records.fields" + > + <template #cell(name)="{ value, index }"> + <div + class="fans-colors" + :style="`background-color: ${colors[index]}`" + ></div> + <span class="light-12px"> + {{ value }} + </span> + </template> + <template #cell(minDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + <template #cell(maxDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + <template #head(currentPower)="{ label }"> + <span class="semi-bold-12px"> + {{ label }} + </span> + <span class="semi-bold-12px errors"> + {{ '(15)' }} + </span> + </template> + <template #cell(currentPower)="{ value }"> + <row> + <span class="light-12px"> + {{ value }} + </span> + </row> + </template> + </b-table> + </section> +</template> + +<script> +import { colors } from '../../../../views/MemoryModules/DynamicInfo/helpers'; + +export default { + props: { + records: { + type: Object, + default: null, + }, + }, + data() { + return { + colors, + }; + }, +}; +</script> +<style lang="scss"> +.bootstrap-fans-table__th { + background-color: transparent !important; + color: $text-primary !important; + border-top: none !important; + padding: 10px 5px !important; + border-bottom: 1px solid $faint-secondary-primary-10; +} + +.bootstrap-fans-table__td { + padding: 5px !important; + border-top: none !important; +} +</style> + +<style lang="scss" scoped> +.fans-colors { + display: inline-block; + width: 8px; + height: 8px; + border-radius: 2px; +} +.row { + align-items: center; + flex-wrap: nowrap; + justify-content: flex-end; +} + +.errors { + color: $indicators-errors; +} +</style> diff --git a/src/components/Global/SilaComponents/TwoChiocePopover.vue b/src/components/Global/SilaComponents/TwoChiocePopover.vue new file mode 100644 index 00000000..c89c5a81 --- /dev/null +++ b/src/components/Global/SilaComponents/TwoChiocePopover.vue @@ -0,0 +1,117 @@ +<template> + <b-popover + :placement="placement" + triggers="focus" + :show.sync="show" + custom-class="popover-heigth-100" + :target="`popover-choice-${id}`" + @hidden="onHidden" + > + <b-button + id="popover-choice-button" + variant="popover" + :class="{ 'selected-choice-button': scale === topPosition }" + @mouseover="scale = topPosition" + @click=" + () => { + show = false; + firstAction(); + } + " + > + {{ fitstOption }} + </b-button> + <b-button + id="popover-choice-button" + variant="popover" + :class="{ 'selected-choice-button': scale === bottomPosition }" + @mouseover="scale = bottomPosition" + @click=" + () => { + show = false; + secondAction(); + } + " + > + {{ secondOption }} + </b-button> + <div class="slider" :style="`left: 5px; top: ${scale}px;`"></div> + </b-popover> +</template> + +<script> +export default { + props: { + id: { + type: Number, + default: null, + }, + fitstOption: { + type: String, + default: null, + }, + secondOption: { + type: String, + default: null, + }, + chosenOption: { + type: String, + default: null, + }, + firstAction: { + type: Function, + default: null, + }, + secondAction: { + type: Function, + default: null, + }, + placement: { + type: String, + default: 'bottom', + }, + }, + data() { + return { + topPosition: 5, + bottomPosition: 33, + show: false, + scale: 5, + }; + }, + methods: { + onHidden() { + if (this.secondOption === this.chosenOption) { + this.scale = this.bottomPosition; + } else { + this.scale = this.topPosition; + } + }, + }, +}; +</script> +<style lang="scss"> +#popover-unit-ractive { + padding-left: 5px; +} + +.hovered-unit-button { + color: $white; +} +</style> +<style lang="scss" scoped> +#popover-choice-button { + width: 89px; +} + +.slider { + width: 89px; + height: 28px; + border-radius: 8px; + background-color: $red-brand-primary; + box-shadow: 1px 2px 4px -1px rgb(79 37 37 / 40%) inset; + position: absolute; + transition: ease-in 0.2s; + z-index: -1; +} +</style> diff --git a/src/components/Global/SilaComponents/colors.js b/src/components/Global/SilaComponents/colors.js new file mode 100644 index 00000000..de832de2 --- /dev/null +++ b/src/components/Global/SilaComponents/colors.js @@ -0,0 +1,8 @@ +export const colors = [ + '#CB32F1', + '#F18638', + '#139BB9', + '#E1AB17', + '#175AE1', + '#13B937', +]; diff --git a/src/components/Global/StatusIcon.vue b/src/components/Global/StatusIcon.vue index 4552633e..8f9e3d53 100644 --- a/src/components/Global/StatusIcon.vue +++ b/src/components/Global/StatusIcon.vue @@ -9,20 +9,20 @@ </template> <script> -import IconInfo from '@carbon/icons-vue/es/information--filled/20'; -import IconCheckmark from '@carbon/icons-vue/es/checkmark--filled/20'; -import IconWarning from '@carbon/icons-vue/es/warning--filled/20'; -import IconError from '@carbon/icons-vue/es/error--filled/20'; -import IconMisuse from '@carbon/icons-vue/es/misuse/20'; +import IconInfo from '@carbon/icons-vue/es/information/20'; +import IconCheckmark from '@carbon/icons-vue/es/checkmark--outline/20'; +import IconWarning from '@carbon/icons-vue/es/warning/20'; +import IconError from '@carbon/icons-vue/es/error--outline/20'; +import IconMisuse from '@carbon/icons-vue/es/misuse--outline/20'; export default { name: 'StatusIcon', components: { IconInfo: IconInfo, iconSuccess: IconCheckmark, - iconDanger: IconMisuse, iconSecondary: IconError, iconWarning: IconWarning, + iconDanger: IconMisuse, }, props: { status: { diff --git a/src/components/Global/TableCellCount.vue b/src/components/Global/TableCellCount.vue index acb4d443..e64475bc 100644 --- a/src/components/Global/TableCellCount.vue +++ b/src/components/Global/TableCellCount.vue @@ -1,5 +1,5 @@ <template> - <div class="mt-2"> + <div class="semi-bold-14px"> <p v-if="!filterActive"> {{ $t('global.table.items', { count: totalNumberOfCells }) }} </p> diff --git a/src/components/Global/TableDateFilter.vue b/src/components/Global/TableDateFilter.vue index aa10cb5c..3094b6ea 100644 --- a/src/components/Global/TableDateFilter.vue +++ b/src/components/Global/TableDateFilter.vue @@ -1,9 +1,10 @@ <template> - <b-row class="mb-2"> + <b-row class="mb-2 mt-2"> <b-col class="d-sm-flex"> <b-form-group :label="$t('global.table.fromDate')" label-for="input-from-date" + label-class="caption-12px mb-0" class="mr-3 my-0 w-100" > <b-input-group> @@ -12,7 +13,7 @@ v-model="fromDate" placeholder="YYYY-MM-DD" :state="getValidationState($v.fromDate)" - class="form-control-with-button mb-3 mb-md-0" + class="form-control-with-button mb-md-0" @blur="$v.fromDate.$touch()" /> <b-form-invalid-feedback role="alert"> @@ -50,6 +51,7 @@ <b-form-group :label="$t('global.table.toDate')" label-for="input-to-date" + label-class="caption-12px mb-0" class="my-0 w-100" > <b-input-group> diff --git a/src/components/Global/TableToolbar.vue b/src/components/Global/TableToolbar.vue index 5235feae..4137d98c 100644 --- a/src/components/Global/TableToolbar.vue +++ b/src/components/Global/TableToolbar.vue @@ -7,7 +7,7 @@ </p> <div class="toolbar-actions d-flex"> <slot name="toolbar-buttons"></slot> - <b-button + <!-- <b-button v-for="(action, index) in actions" :key="index" :data-test-id="`table-button-${action.value}Selected`" @@ -16,14 +16,14 @@ @click="$emit('batch-action', action.value)" > {{ action.label }} - </b-button> - <b-button + </b-button> --> + <!-- <b-button variant="secondary" class="d-block" @click="$emit('clear-selected')" > {{ $t('global.action.cancel') }} - </b-button> + </b-button> --> </div> </div> </div> @@ -67,27 +67,26 @@ export default { }, }; </script> - <style lang="scss" scoped> -$toolbar-height: 46px; - .toolbar-container { - width: 100%; - position: relative; + width: calc(100vw - 320px); + height: $toolbar-height; + border-radius: 0px; + position: fixed; + bottom: 0; + right: 0; z-index: $zindex-dropdown + 1; } .toolbar-content { - height: $toolbar-height; - background-color: theme-color('primary'); + background-color: $white; color: $white; - position: absolute; - left: 0; - right: 0; - top: -$toolbar-height; display: flex; flex-direction: row; + align-items: center; justify-content: space-between; + box-shadow: 0px -4px 12px rgba(0, 0, 0, 0.06); + border-radius: 0px; } .toolbar-selected { diff --git a/src/components/Global/TableToolbarExport.vue b/src/components/Global/TableToolbarExport.vue index 69646ea6..152a4f68 100644 --- a/src/components/Global/TableToolbarExport.vue +++ b/src/components/Global/TableToolbarExport.vue @@ -1,16 +1,15 @@ <template> - <b-button - class="d-flex align-items-center" - variant="primary" - :download="download" - :href="href" - > - {{ $t('global.action.export') }} + <b-button size="md" variant="primary" :download="download" :href="href"> + <icon-export /> {{ $t('global.action.export') }} </b-button> </template> <script> +import IconExport from '@carbon/icons-vue/es/document--export/20'; export default { + components: { + IconExport, + }, props: { data: { type: Array, diff --git a/src/components/SubHeader/SubHeader.vue b/src/components/SubHeader/SubHeader.vue new file mode 100644 index 00000000..72bc955e --- /dev/null +++ b/src/components/SubHeader/SubHeader.vue @@ -0,0 +1,179 @@ +<template> + <div> + <section id="sub-header"> + <b-navbar type="dark" :aria-label="$t('appHeader.applicationHeader')"> + <!-- top navigation menu --> + <b-navbar-nav> + <b-nav-item + to="/hardware-status/inventory" + data-test-id="appHeader-container-health" + class="subheader-button" + :class="{ + 'active-route-top': ![ + 'profile-settings', + 'information-and-faq', + 'support', + 'console-settings', + 'console', + 'operations', + 'security-and-access', + ].includes($route.path.split('/')[1]), + }" + > + {{ $t('subHeader.serverInfo') }} + </b-nav-item> + + <b-nav-item + to="/operations/kvm" + data-test-id="appHeader-container-health" + class="subheader-button" + :class="{ + 'active-route-top': + ''.includes($route.path.split('/console/settings')[1]) || + ''.includes( + $route.path.split('/operations/serial-over-lan')[1] + ) || + ''.includes($route.path.split('/operations/kvm')[1]), + }" + > + {{ $t('subHeader.console') }} + </b-nav-item> + + <b-nav-item + to="/security-and-access/user-management" + data-test-id="appHeader-container-power" + class="subheader-button" + :class="{ + 'active-route-top': ''.includes( + $route.path.split('security-and-access/user-management')[1] + ), + }" + > + {{ $t('subHeader.administration') }} + </b-nav-item> + <!-- Using LI elements instead of b-nav-item to support semantic button elements --> + </b-navbar-nav> + </b-navbar> + </section> + <loading-bar /> + </div> +</template> + +<script> +import BVToastMixin from '@/components/Mixins/BVToastMixin'; +import LoadingBar from '@/components/Global/LoadingBar'; + +export default { + name: 'AppHeader', + components: { + LoadingBar, + }, + mixins: [BVToastMixin], + props: { + routerKey: { + type: Number, + default: 0, + }, + }, + data() { + return { + isNavigationOpen: false, + }; + }, + computed: { + isNavTagPresent() { + return this.assetTag || this.modelType || this.serialNumber; + }, + }, + mounted() { + this.$root.$on( + 'change-is-navigation-open', + (isNavigationOpen) => (this.isNavigationOpen = isNavigationOpen) + ); + }, + methods: { + toggleNavigation() { + this.$root.$emit('toggle-navigation'); + }, + setFocus(event) { + event.preventDefault(); + this.$root.$emit('skip-navigation'); + }, + }, +}; +</script> + +<style lang="scss"> +@mixin focus-box-shadow($padding-color: $navbar-color, $outline-color: $white) { + box-shadow: inset 0 0 0 3px $padding-color, inset 0 0 0 5px $outline-color; +} +.sub-header { + height: $second-header-height; + + .subheader-button { + margin-left: 10px; + } + + .navbar-text, + .nav-link, + .btn-link { + border-radius: 14% 14% 0px 0px; + padding: 0.68rem 1rem !important; + + &:hover { + background-color: $white; + color: #1a3e5b !important; + border-radius: 14% 14% 0px 0px; + } + &:active { + background-color: $white; + color: #1a3e5b !important; + border-radius: 14% 14% 0px 0px; + } + } + + .navbar { + padding: 0; + background-color: $navbar-color; + @include media-breakpoint-up($responsive-layout-bp) { + height: $second-header-height; + } + + .helper-menu { + @include media-breakpoint-down(sm) { + width: 100%; + justify-content: flex-end; + .nav-link, + .btn { + padding: $spacer / 1.125 $spacer / 2; + margin-left: 10px; + } + } + } + } + + .navbar-nav { + align-items: baseline; + padding-left: 24px; + .nav-tags { + @include media-breakpoint-down(xs) { + @include sr-only; + } + .asset-tag { + @include media-breakpoint-down($responsive-layout-bp) { + @include sr-only; + } + } + } + } +} +#sub-header .nav-item.active-route-top > a { + background-color: $white; + color: #1a3e5b; + border-radius: 14% 14% 0px 0px; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 1); +} +</style> diff --git a/src/components/SubHeader/index.js b/src/components/SubHeader/index.js new file mode 100644 index 00000000..ad26fced --- /dev/null +++ b/src/components/SubHeader/index.js @@ -0,0 +1 @@ +export { default } from './SubHeader.vue'; diff --git a/src/i18n.js b/src/i18n.js index 919c363f..33b602a6 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -22,9 +22,11 @@ function loadLocaleMessages() { export default new VueI18n({ // Get default locale from local storage - locale: window.localStorage.getItem('storedLanguage'), + // locale: window.localStorage.getItem('storedLanguage'), + locale: 'ru-RU', // Locales that don't exist will fallback to English - fallbackLocale: 'en-US', + // fallbackLocale: 'en-US', + fallbackLocale: 'ru-RU', // Falling back to fallbackLocale generates two console warnings // Silent fallback suppresses console warnings when using fallback silentFallbackWarn: true, diff --git a/src/layouts/AppLayout.vue b/src/layouts/AppLayout.vue index 0b78e5b1..3444910f 100644 --- a/src/layouts/AppLayout.vue +++ b/src/layouts/AppLayout.vue @@ -2,10 +2,11 @@ <div class="app-container"> <app-header ref="focusTarget" + :key="routerKey" class="app-header" - :router-key="routerKey" @refresh="refresh" /> + <sub-header ref="focusTarget" class="sub-header" :router-key="routerKey" /> <app-navigation class="app-navigation" /> <page-container class="app-content"> <router-view ref="routerView" :key="routerKey" /> @@ -17,6 +18,7 @@ <script> import AppHeader from '@/components/AppHeader'; +import SubHeader from '@/components/SubHeader'; import AppNavigation from '@/components/AppNavigation'; import PageContainer from '@/components/Global/PageContainer'; import ButtonBackToTop from '@/components/Global/ButtonBackToTop'; @@ -26,6 +28,7 @@ export default { name: 'App', components: { AppHeader, + SubHeader, AppNavigation, PageContainer, ButtonBackToTop, @@ -60,15 +63,17 @@ export default { .app-container { display: grid; grid-template-columns: 100%; - grid-template-rows: auto; + grid-template-rows: $first-header-height $second-header-height 1fr; grid-template-areas: 'header' + 'subheader' 'content'; @include media-breakpoint-up($responsive-layout-bp) { grid-template-columns: $navigation-width 1fr; grid-template-areas: 'header header' + 'subheader subheader' 'navigation content'; } } @@ -80,7 +85,16 @@ export default { z-index: $zindex-fixed + 1; } +.sub-header { + grid-area: subheader; + position: sticky; + top: $first-header-height; + z-index: $zindex-fixed - 1; +} + .app-navigation { + overflow: auto; + scrollbar-gutter: auto; grid-area: navigation; } diff --git a/src/layouts/LoginLayout.vue b/src/layouts/LoginLayout.vue index cdff2040..63330c22 100644 --- a/src/layouts/LoginLayout.vue +++ b/src/layouts/LoginLayout.vue @@ -1,33 +1,26 @@ <template> <main> <div class="login-container"> - <div class="login-main"> - <div> - <div class="login-brand mb-5"> - <img - width="90px" - src="@/assets/images/login-company-logo.svg" - :alt="altLogo" - /> - </div> - <h1 v-if="customizableGuiName" class="h3 mb-5"> - {{ customizableGuiName }} - </h1> - <router-view class="login=form form-background" /> - </div> - </div> <div class="login-aside"> - <div class="login-aside__logo-brand"> - <!-- Add Secondary brand logo if needed --> - </div> - <div class="login-aside__logo-bmc"> - <img - height="60px" - src="@/assets/images/built-on-openbmc-logo.svg" - alt="Built on OpenBMC" - /> - </div> + <img + class="login-aside__picture" + src="@/assets/images/login/autrorization-left-image.svg" + /> + <img + class="login-aside__vector1" + src="@/assets/images/login/vector1.svg" + /> + </div> + <div class="login-main"> + <!-- <h1 v-if="customizableGuiName"> + {{ customizableGuiName }} + </h1> --> + <router-view class="login=form form-background" /> </div> + <img + class="login-aside__vector2" + src="@/assets/images/login/vector2.svg" + /> </div> </main> </template> @@ -37,7 +30,6 @@ export default { name: 'LoginLayout', data() { return { - altLogo: process.env.VUE_APP_COMPANY_NAME || 'OpenBMC', customizableGuiName: process.env.VUE_APP_GUI_NAME || '', }; }, @@ -46,67 +38,74 @@ export default { <style lang="scss" scoped> .login-container { - background: gray('100'); + background: $white; display: flex; - flex-direction: column; - gap: $spacer * 2; - max-width: 1400px; + flex-direction: row; min-width: 320px; min-height: 100vh; - justify-content: space-around; + justify-content: flex-start; +} - @include media-breakpoint-up('md') { - background: $white; - flex-direction: row; - } +.login-aside { + min-height: 100vh; + width: 480px; } -.login-main { - min-height: 50vh; - padding: $spacer * 3; +.login-aside__picture { + height: 100vh; + width: 480px; + object-fit: cover; +} - @include media-breakpoint-up('md') { - background: gray('100'); - display: flex; - flex-direction: column; - flex: 1 1 75%; - min-height: 100vh; - justify-content: center; - align-items: center; - } +.login-aside__vector1 { + position: absolute; + top: 0%; + left: 0%; } -.login-form { - @include media-breakpoint-up('md') { - max-width: 360px; - } +.login-aside__vector2 { + position: absolute; + bottom: 32px; + right: 32px; } -.login-aside { +.login-main { display: flex; - align-items: flex-end; - justify-content: flex-end; - gap: $spacer * 1.5; - margin-right: $spacer * 3; - margin-bottom: $spacer; + flex-direction: row; + justify-content: center; + align-items: center; + min-height: 100vh; + width: calc(100vw - 480px); + margin: 0; + padding: 0; +} + +@media (max-width: 992px) { + .login-container { + flex-direction: column; + + .login-aside { + width: 100%; + min-height: 40vh; + height: 40vh; + + .login-aside__picture { + width: 100%; + height: 40vh; + } + } - @include media-breakpoint-up('md') { - min-height: 100vh; - padding-bottom: $spacer; - flex: 1 1 25%; - margin-bottom: 0; + .login-main { + width: 100%; + min-height: 40vh; + height: 40vh; + } } } -.login-aside__logo-brand:not(:empty) { - &::after { - content: ''; - display: inline-block; - height: 2.5rem; - width: 2px; - background-color: gray('200'); - margin-left: $spacer * 1.5; - vertical-align: middle; +@media (max-width: 576px) { + .login-form { + width: 90%; } } </style> diff --git a/src/locales/ru-RU.json b/src/locales/ru-RU.json index 62eb5359..75ff4c1b 100644 --- a/src/locales/ru-RU.json +++ b/src/locales/ru-RU.json @@ -2,6 +2,7 @@ "global": { "action": { "add": "Добавить", + "addNew": "Добавить новый", "cancel": "Отменить", "clearAll": "Очистить всё", "confirm": "Подтвердить", @@ -13,14 +14,21 @@ "edit": "Редактировать", "enable": "Включить", "export": "Экспортировать", - "exportAll": "Экспортировать всё", + "import": "Импортировать", + "exportAll": "Экспортировать все", "filter": "Фильтровать", "refresh": "Обновить", "replace": "Переместить", "reset": "Сбросить", "save": "Сохранить", "saveSettings": "Сохранить настройки", - "selected": "Выбрано" + "saveChanges": "Сохранить изменеия", + "reload": "Перезагрузить", + "off": "Выключить", + "selected": "Выбрано", + "acceptChanges": "Применить изменения", + "events": "События", + "addTome": "Добавить том" }, "ariaLabel": { "clearSearch": "Очистить поле поиска", @@ -28,7 +36,16 @@ "scrollToTop": "Прокрутить наверх", "showPassword": "Отобразить пароль. Примечание: это может раскрыть пароль третьим лицам", "tooltip": "Подсказка", - "progressBar": "Индикатор загрузки страницы" + "progressBar": "Индикатор загрузки страницы", + "notificationTime": "Время ожидания отправки уведомлений, секунды" + }, + "date": { + "lastHour": "Последний час", + "lastDay": "Последние сутки", + "lastWeek": "Последняя неделя", + "lastMounth": "Последний месяц", + "lastYear": "Последний год", + "selectDate": "Выбрать период" }, "calendar": { "selectDate": "Выбрать дату", @@ -54,6 +71,10 @@ "valueMustBeBetween": "Значение должно быть между %{min} – %{max}" }, "status": { + "status":"Статус", + "serverStatus": "Состояние сервера", + "inWork": "Работоспособен", + "outWorking": "Не работоспособен", "copied": "Скопировано", "disabled": "Выключено", "enabled": "Включено", @@ -61,9 +82,12 @@ "notAvailable": "Недоступно", "off": "Выкл.", "on": "Вкл.", + "off_full": "Выключен", + "on_full": "Включен", "success": "Успешно", "warning": "Предупреждение", - "informational": "Информация" + "informational": "Информация", + "indicators": "Показатели" }, "table": { "collapseTableRow": "Свернуть", @@ -71,21 +95,42 @@ "emptySearchMessage": "Нет объектов, соответствующих поиску", "expandTableRow": "Развернуть", "fromDate": "Начиная с даты", - "items": "Всего объектов: %{count}", - "itemsPerPage": "Объектов на странице", + "items": "Всего записей: %{count}", + "itemsPerPage": "Записей на странице", "selectAll": "Выбрать всё", "selectItem": "Выбрать объект", "selectedItems": "%{filterCount} из %{count} объектов", "toDate": "Заканчивая датой", - "viewAll": "Смотреть всё" + "viewAll": "Смотреть всё", + "attributes": "Атрибуты", + "value": "Значение", + "info": "Общая информация", + "memorySlots": "Слоты памяти", + "memoryModules": "Модуль памяти" + }, "toast": { "unAuthTitle": "Недоступно", "unAuthDescription": "Действие недоступно из текущей учётной записи. Свяжитесь с Вашим системным администратором для проверки прав доступа." + }, + "units": { + "unit": "Единица:", + "amper": "Ампераж", + "volt": "Вольтаж" + }, + "applySettings": { + "apply": "Применить:", + "reload": "При перезагрузке", + "option1": "Опция 1", + "option2": "Опция 2" } }, "appHeader": { "applicationHeader": "Заголовок веб-приложения", + "servers": "Серверы", + "settings": "Настройки", + "informationAndFAQ": "Информация и FAQ", + "support": "Поддержка", "health": "Состояние", "logOut": "Выход", "power": "Питание", @@ -97,22 +142,57 @@ "titleProfile": "Показать меню профиля", "titleRefresh": "Обновить данные веб-приложения" }, + "subHeader": { + "serverInfo": "Информаци о сервере", + "console": "Виртуальная консоль", + "administration": "Администрирование", + "temperature": "Показатели температуры", + "frequency": "Показатели частоты", + "powerConsumption": "Показатели потребляемой мощности" + }, "appNavigation": { + "systemInformaion": "Система", + "overviewInfo": "Основная информация", + "networkParametrs": "Параметры сети", + "eventLogs": "Журнал событий", + "serverParam": "Параметры сервера", + "bmc" : "BMC", + "config" : "Конфигурация", + "deviceFirmware" : "Прошивка устройства", + "broadcast" : "Передача информации", + "broadcastSettings": "Настройка передачи информации", + "analyticalPanel" : "Аналитическая панель", + "raidControllers" : "RAID-контроллеры", + "specification" : "Характеристики", + "settings": "Настройки", + "memoryModules" : "Модули памяти", + "processors": "Процессоры", + "powerSupplies": "Источники питания", + "fans": "Вентиляторы", + "statisticInformation": "Статическая информация", + "dynamicInformation": "Динамическая информация", + "physicalDrives": "Физические накопители", + "virtualDrivers": "Виртуальные накопители", + "motherboard": "Материнская плата", + "motherboardParam": "Параметры материнской платы", + "networkAdapters": "Сетевые и HBA адаптеры", + "ethernetAdapters": "Ethetnet-адаптеры", + "fcHbaAdapters": "FC-HBA-адаптеры", + "pciDevices": "PCI-устройства", + "resourceManagement": "Управление ресурсами", "securityAndAccess": "Безопасность и доступ", "sessions": "@:appPageTitle.sessions", - "settings": "Настройки", "operations": "Управление", "dateTime": "@:appPageTitle.dateTime", "dumps": "@:appPageTitle.dumps", - "eventLogs": "@:appPageTitle.eventLogs", "factoryReset": "@:appPageTitle.factoryReset", "firmware": "@:appPageTitle.firmware", "hardwareStatus": "Статус оборудования", "inventory": "@:appPageTitle.inventory", "kvm": "@:appPageTitle.kvm", "ldap": "@:appPageTitle.ldap", - "logs": "Логи", + "logs": "Журналы", "userManagement": "@:appPageTitle.userManagement", "network": "@:appPageTitle.network", "overview": "@:appPageTitle.overview", @@ -122,24 +202,27 @@ "rebootBmc": "@:appPageTitle.rebootBmc", "policies": "@:appPageTitle.policies", "sensors": "@:appPageTitle.sensors", - "serialOverLan": "Консоль SOL", + "serialOverLan": "Серийная консоль SOL", "serverPowerOperations": "@:appPageTitle.serverPowerOperations", "certificates": "@:appPageTitle.certificates", "virtualMedia": "@:appPageTitle.virtualMedia", "power": "@:appPageTitle.power", - "keyClear": "@:appPageTitle.keyClear" - }, + "description": { + "configuration": "Конфигурация" + } + }, + "appPageTitle": { "changePassword": "Изменить пароль", "power": "Питание", "sessions": "Сессии", - "dateTime": "Дата и время", + "dateTime": "Настройка даты и времени", "dumps": "Дампы", "eventLogs": "Журнал событий", "factoryReset": "Сброс до заводских настроек", "firmware": "Встроенное ПО", "inventory": "Перечень оборудования и LED", - "kvm": "KVM", + "kvm": "Графическая консоль KVM", "ldap": "LDAP", "userManagement": "Управление пользователями", "login": "Логин", @@ -153,10 +236,11 @@ "policies": "Политики безопасности", "sensors": "Датчики", "serialOverLan": "Консоль Serial over LAN (SOL)", - "serverPowerOperations": "Управление питанием сервера", + "serverPowerOperations": "Управление питанием и ОС сервера", "certificates": "Сертификаты", + "keyClear": "Очистка ключа", "virtualMedia": "Виртуальные носители", - "keyClear": "Удаление ключей" + "consoleSettings": "Настройки консоли" }, "pageChangePassword": { "changePassword": "Изменить пароль", @@ -249,10 +333,18 @@ }, "pageEventLogs": { "additionalDataUri": "Загрузить дополнительные данные", - "resolve": "Разрешить", - "resolved": "Разрешено", + "resolve": "Событие решено", + "archive": "Архивировать", + "resolved": "Решено", "unresolve": "Отменить разрешение", - "unresolved": "Нерешённое", + "unresolved": "Не решено", + "clearLogs": "Очистить журнал", + "clearLogs_popup": "Очистка журнала", + "clear": "Очистить", + "eventFilter": "Располежение события", + "eventTypeFilter": "Тип события", + "eventSourseFilter": "Тип источника", + "eventDateFilter": "Период событий", "modal": { "deleteAllTitle": "Удалить все логи", "deleteAllMessage": "Вы уверены, что хотите удалить все логи? Действие не может быть отменено.", @@ -262,13 +354,16 @@ "table": { "date": "Дата", "description": "Описание", - "id": "Идентификатор", + "about_event": "О событии", + "id": "ID", "modifiedDate": "Дата последнего изменения", "name": "Имя", "searchLogs": "Поиск записей в журнале событий", - "severity": "Уровень", + "severity": "Тип события", "status": "Статус", - "type": "Тип" + "type": "Тип", + "source": "Источник" + }, "toast": { "errorDelete": "Ошибка удаления %{count} записи. | Ошибка уделения %{count} записей.", @@ -292,7 +387,7 @@ "modal": { "resetBiosTitle": "Сбросить настройки встроенного ПО сервера", "resetBiosHeader": "Вы хотите сбросить настройки встроенного ПО сервера?", - "resetBiosSubmitText": "Сбросить настройки встроенного ПО сервера", + "resetBiosSubmitText": "Сбросить настройки встроенного ПО", "resetBiosSettingsList": { "item1": "Все ручные настройки будут удалены.", "item2": "Конфигурация разделов и хранилище ключей могут быть восстановлены, если существует резервная копия." @@ -377,6 +472,9 @@ "quicklinkTitle": "Быстрые ссылки к компонентам оборудования", "assemblies": "Сборки", "system": "Система", + "installedProcessors": "Установленные процессоры", + "installedAccelerator": "Установленные акселераторы", + "powerSources": "Установленые источники питания", "systemIndicator": { "powerStatus": "Состояние питания", "identifyLed": "Идентификационный LED системы", @@ -439,7 +537,10 @@ "totalSystemMemoryGiB": "Общий объём памяти", "totalThreads": "Общее количество потоков", "uuid": "UUID", - "version": "Версия" + "version": "Версия", + "processorCapabilityInfo": "Информация о возможностях процессора", + "processorCacheInfo": "Информация о возможностях КЭША", + "SupportedTechnologies": "Поддерживаемый набор технологий" }, "toast": { "errorDisableIdentifyLed": "Ошибка выключения идентификационного LED.", @@ -484,7 +585,15 @@ "status": "Статус", "connected": "Подключено", "connecting": "Подключение", - "disconnected": "Отключено" + "disconnected": "Отключено", + "addImage": "Подключить образ", + "addImage_modal": "Подключение образа", + "fromPC": "С компьютера", + "fromServer": "С сервера", + "upload": "Начать загрузку", + "urlAdress": "URL-адрес сервера", + "connectionType": "Тип подключения" + }, "pageLdap": { "pageDescription": "Настройка параметров LDAP и управление группами", @@ -548,7 +657,7 @@ "accountStatus": "Статус учётной записи", "automaticAfterTimeout": "Автоматически после истечения таймаута", "batchDeleteConfirmMessage": "Вы уверены, что хотите удалить %{count} пользователя? Это действие нельзя отменить. | Вы уверены, что хотите удалить %{count} пользователей? Это действие нельзя отменить.", - "cannotStartWithANumber": "Не может начинаться с цифры", + "cannotStartWithANumber": "Не начинается с цифры", "clickSaveToUnlockAccount": "Нажмите \"Сохранить\" для разблокировки учётной записи", "confirmUserPassword": "Подтвердите пароль пользователя", "deleteConfirmMessage": "Вы уверены, что хотите удалить пользователя '%{user}'? Это действие нельзя отменить.", @@ -596,10 +705,12 @@ } }, "pageLogin": { - "language": "Язык", - "logIn": "Войти", - "password": "Пароль", + "auth": "Авторизация", + "authDescription": "Введите данные для входа в систему", "username": "Имя пользователя", + "password": "Пароль", + "logIn": "Войти", + "language": "Язык", "alert": { "message": "Неверное имя пользователя или пароль" } @@ -709,7 +820,8 @@ "editIpv4": "Редактировать IPv4 адрес", "gateway": "Шлюз", "ipAddress": "IP адрес", - "subnet": "Маска подсети" + "subnet": "Маска подсети", + "actions": "Действия" }, "toast": { "errorSaveNetworkSettings": "Ошибка обновления %{setting} настроек.", @@ -747,7 +859,7 @@ }, "toast": { "errorRebootStart": "Ошибка перезапуска BMC.", - "successRebootStart": "Перезапуск BMC." + "successRebootStart": "Команда на перезагрузку отправлена." } }, "pagePolicies": { @@ -795,7 +907,8 @@ "powerCapSettingData": "Применить ограничение мощности", "powerCapSettingLabel": "Настройки порога электропитания", "powerConsumption": "Текущее энергопотребление", - "serverPowCapSetting": "Настройки ограничения электропитания сервера" + "serverPowCapSetting": "Настройки ограничения электропитания сервера", + "usingPercent": "Процент использования" }, "pageSensors": { "exportFilePrefix": "sensors_", @@ -818,7 +931,8 @@ "disconnected": "Отключено", "openNewTab": "Открыть в новом окне", "status": "Статус", - "subTitle": "SOL консоль перенаправляет вывод последовательного порта сервера в это окно." + "subTitle": "SOL консоль перенаправляет вывод последовательного порта сервера в это окно.", + "disconnectedAlertMessage": "Не подключено" }, "pageServerPowerOperations": { "currentStatus": "Текущий статус", @@ -833,6 +947,7 @@ "orderlyReboot": "По порядку – ОС выключается, затем сервер перезапускается", "orderlyShutdown": "По порядку - ОС выключается, затем сервер выключается", "powerOn": "Включить", + "powerOnServer": "Включить сервер", "reboot": "Перезапустить", "rebootServer": "Перезапустить сервер", "shutDown": "Выключить", @@ -930,6 +1045,123 @@ "serverClosedWithErrors": "Соединение разорвано" } }, + + "BMC": { + "BmcTitle": "Конфигурация BMC", + "BmcTable": "BMC", + "ControlTitle": "Управление", + "Bios": "BIOS", + "BiosV": "Версия BIOS:", + "ControlBmc": "Управление ВМС", + "microcode": "Микрокод", + "ReloadBmc": "Перезагрузить ВМС", + "ReloadBmc_popup": "Перезагрузка BMC", + "ExportImport": "Экспорт / Импорт настроек", + "ExportImport_button": "Экспортировать настроки", + "Parametrs": "Параметры сети", + "ReloadMicrocodeBios": "Обновить микрокод BIOS", + "ReloadicrocodeBmc": "Обновить микрокод BMC", + "testMessage": "Тестовое сообщение", + "smnp": "Настройки SNMP", + "smnpWarning": "Предупреждения SNMP", + "smtpWarning": "Предупреждения SMTP", + "system": "Расположение системы", + "contacts": "Контакты системы", + "community": "Community String", + "smnpIp": "IP адрес SNMP", + "smnpPort": "SNMP-порт", + "syslogSettings": "Настройки Syslog", + "syslogPort": "Syslog - порт", + "syslogIP": "IP-адрес syslog сервера" + + }, + + "SystemDescription": { + "title": { + "ServerConfig": "Конфигурация сервера", + "Control": "Управление", + "Notes": "Заметки администратора", + "ReloadServer": "Перезагрузка сервера", + "OnOffServer": "Включение и выключение сервера", + "setupDatetime": "Настройка даты и времени", + "Ipv4Settings": "Настроки IPv4", + "Ipv6Settings": "Настроки IPv6" + }, + "ReloadOSAndServer": "Перезагрузить ОС и сервер", + "ReloadOSAndServer_popup": "Перезагрузка ОС и сервера", + "ReloadServer": "Перезагрузить сервер", + "ReloadServer_popup": "Перезагрузка сервера", + "ConnectToDesktop": "Подключиться к рабочему столу", + "status": "Статус:", + "NotRunning": "Не запущена", + "OffOsAndServer": "Выключить ОС и сервер", + "OffOsAndServer_popup": "Выключение ОС и сервера", + "OffServer": "Выключить сервер", + "OffServer_popup": "Выключение сервера", + "GetNtpFromServer": "Получать с NTP-сервера", + "UseServerDatettime": "Использовать дату и время сервера", + "NtpSettings": "Настройки NTP-сервера", + "LoadingQueue": "Последовательность загрузки", + "DiskParametrs": "Параметры выбранного диска", + "FansDynamicInformation": "Динамические показатели", + "FansStaticInformation": "Статические показатели", + "onBootRom": "Включить boot ROM", + "onBootRom_popup": "Включение boot ROM", + "offBootRom": "Выключить boot ROM", + "offBootRom_popup": "ВЫключение boot ROM", + "microcodeDrivers": "Микрокод накопителя", + "reloadMicrocodeDrivers": "Обновить микрокод накопителя", + "microcodeAdapter": "Микрокод адаптера" + }, + "fansPage": { + "speedDescription": "Показатели скорости", + "speedWarhihg": "Пороговое значение предупреждения, об/мин", + "speedShutdown": "Пороговое значение отказа, об/мин", + "valueIndicators": "Значения Показателей" + }, + "tablesDescription": { + "speedWarhihg": "Пороговое значение предупреждения, об/мин", + "speedShutdown": "Пороговое значение отказа, об/мин", + "valueIndicators": "Значения Показателей", + "installedFans": "Установленные вентиляторы", + "temperatureWarning": "Пороговое значениe предупреждения, С°", + "nonNormalMode": "Не штатный режим, С°", + "criticalMode": "Критический режим, С°", + "frequencyWarning": "Пороговое значение предупреждения, Hz", + "frequencyShutdown": "Пороговое значениe отказа, Hz", + "powerWarning": "Пороговое значениe предупреждения, Вт", + "powerShutdown": "Пороговое значениe отказа, Вт", + "warningPercent": "Пороговое значение предупреждения, %", + "nonNormalModePercent": "Не штатный режим, %", + "criticalModePercent": "Критический режим, %", + "inputVoltage": "Входное напряжение", + "outputVoltage": "Выходное напряжение", + "inputPower": "Входная мощность", + "outputPower": "Выходная мощность", + "voltageWarning": "Пороговое значение предупреждения, B", + "voltageShutdown": "Пороговое значениe отказа, B", + "amperage": "Сила тока" + }, + "RAID": { + "cache": "Cache RAID-контроллеров", + "cache_info": "Статическая и динамическая информация о состоянии cache RAID-контроллеров", + "extraParam": "Дополнительные параметры", + "microcode": "Микрокод RAID-контроллеров", + "microcode_update": "Обновить микрокод контроллера", + "microcode_popoveer": "Обновление микрокода контроллера", + "lun": "Настройки LUN" + }, + "adapters": { + "wwnAddres": "WWN адрес", + "settings": "Настройки и возможности", + "microcodeUpdate": "Обновить микрокод адаптера", + "microcodeUpdate_popup": "Обновление микрокода адаптера", + "propherties": "Опубликованые Свойства", + "PXE": "PXE для Ethernet-адаптеров", + "links": "Состояние линков", + "transceivers": "Приемопередатчики" +}, + "countries": { "AF": "Афганистан", "AL": "Албания", diff --git a/src/main.js b/src/main.js index 0aae716f..3d357157 100644 --- a/src/main.js +++ b/src/main.js @@ -37,10 +37,12 @@ import { TabsPlugin, ToastPlugin, TooltipPlugin, + PopoverPlugin, } from 'bootstrap-vue'; import Vuelidate from 'vuelidate'; import i18n from './i18n'; import { format } from 'date-fns-tz'; +import HighchartsVue from 'highcharts-vue'; // Filters Vue.filter('shortTimeZone', function (value) { @@ -83,6 +85,23 @@ Vue.filter('formatTime', function (value) { } }); +Vue.filter('formatTimeShort', function (value) { + const isUtcDisplay = store.getters['global/isUtcDisplay']; + + if (value instanceof Date) { + if (isUtcDisplay) { + let timeOptions = { + timeZone: 'UTC', + hourCycle: 'h23', + }; + return `${value.toLocaleTimeString('default', timeOptions)}`; + } + const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone; + // const shortTz = Vue.filter('shortTimeZone')(value); + const pattern = `HH:mm:ss`; + return format(value, pattern, { timezone }).replace('GMT', 'UTC'); + } +}); // Plugins Vue.use(AlertPlugin); Vue.use(BadgePlugin); @@ -127,7 +146,9 @@ Vue.use(TablePlugin); Vue.use(TabsPlugin); Vue.use(ToastPlugin); Vue.use(TooltipPlugin); +Vue.use(PopoverPlugin); Vue.use(Vuelidate); +Vue.use(HighchartsVue); new Vue({ router, diff --git a/src/router/routes.js b/src/router/routes.js index 3cbdabce..d30fb039 100644 --- a/src/router/routes.js +++ b/src/router/routes.js @@ -29,6 +29,48 @@ import ServerPowerOperations from '@/views/Operations/ServerPowerOperations'; import Certificates from '@/views/SecurityAndAccess/Certificates'; import VirtualMedia from '@/views/Operations/VirtualMedia'; import Power from '@/views/ResourceManagement/Power'; +import InformationAndFAQ from '@/views/InformationAndFAQ'; + +// import SystemDescription from '@/views/SystemDescription/Info'; +import SystemNetwork from '@/views/SystemDescription/Network'; +import ServerParametrs from '@/views/SystemDescription/ServerParametrs'; +// import SystemEventLogs from '@/views/SystemDescription/SystemEventLogs'; + +import BMCConfiguration from '@/views/BMC/Configuration'; +import BMCFirmware from '@/views/BMC/Firmware'; +import BMCSettings from '@/views/BMC/Settings'; + +import ConsoleSettings from '@/views/Operations/ConsoleSettings'; +import FansDynamic from '@/views/Fans/DynamicInformation'; +import FansStatic from '@/views/Fans/StaticInformation'; +import ProcessorsSpecificationPage from '@/views/Processors/Specification'; +import ProcessorsDynamicPage from '@/views/Processors/DynamicInfo'; +import MemoryDynamicPage from '@/views/MemoryModules/DynamicInfo'; +import MemoryStaticPage from '@/views/MemoryModules/Specification'; +import PowerStaticPage from '@/views/PowerSupplies/Specification'; +import PowerDynamicPage from '@/views/PowerSupplies/DynamicInfo'; + +import SILAAnalyticalPanel from '@/views/SILA/AnalyticalPanel'; + +import SILARaidSpecification from '@/views/SILA/RAID/Specification'; +import SILARaidSettins from '@/views/SILA/RAID/Settings'; +import SILARaidCache from '@/views/SILA/RAID/Cache'; + +import DriversStaticPage from '@/views/SILA/PhysicalDrivers/StaticInfo'; +import DriversDynamicPage from '@/views/SILA/PhysicalDrivers/DynamicInfo'; +import VirtualDriversPage from '@/views/SILA/VirtualDrivers/'; + +import MotherboardSpecificationPage from '@/views/Motherboard/Specification'; +import MotherboardDynamicPage from '@/views/Motherboard/DynamicInfo'; + +import NetworkPannel from '@/views/SILA/NetworkAdapters/Dynamic'; +import EthernetAdapters from '@/views/SILA/NetworkAdapters/EthernetAdapters'; +import FcHbaAdapters from '@/views/SILA/NetworkAdapters/FcHbaAdapters'; + +import PciDevices from '@/views/SILA/PciDevices'; + +import Support from '@/views/Support'; + import i18n from '@/i18n'; const routes = [ @@ -78,6 +120,14 @@ const routes = [ title: i18n.t('appPageTitle.kvm'), }, }, + { + path: '/settings', + name: 'console-settings', + component: ConsoleSettings, + meta: { + title: i18n.t('appPageTitle.ConsoleSettings'), + }, + }, ], }, { @@ -88,7 +138,248 @@ const routes = [ component: AppLayout, children: [ { - path: '', + path: '/operations', + component: ConsoleLayout, + meta: { + requiresAuth: true, + }, + children: [ + { + path: 'serial-over-lan', + name: 'serial-over-lan', + component: SerialOverLan, + meta: { + title: i18n.t('appPageTitle.serialOverLan'), + }, + }, + { + path: 'kvm', + name: 'kvm', + component: Kvm, + meta: { + title: i18n.t('appPageTitle.kvm'), + }, + }, + ], + }, + { + path: '/', + name: 'info', + component: Inventory, + meta: { + title: i18n.t('appNavigation.systemInformaion'), + }, + }, + { + path: '/network-parametrs', + name: 'network-parametrs', + component: SystemNetwork, + meta: { + title: i18n.t('appNavigation.systemInformaion'), + }, + }, + { + path: '/server-parametrs', + name: 'server-parametrs', + component: ServerParametrs, + meta: { + title: i18n.t('appNavigation.systemInformaion'), + }, + }, + { + path: '/bmc-configuration', + name: 'bmc-configuration', + component: BMCConfiguration, + meta: { + title: i18n.t('appNavigation.bmc'), + }, + }, + { + path: '/bmc-firmware', + name: 'bmc-Firmware', + component: BMCFirmware, + meta: { + title: i18n.t('appNavigation.bmc'), + }, + }, + { + path: '/bmc-settings', + name: 'bmc-settings', + component: BMCSettings, + meta: { + title: i18n.t('appNavigation.bmc'), + }, + }, + { + path: '/analytical-panel', + name: 'analytical-panel', + component: SILAAnalyticalPanel, + meta: { + title: i18n.t('appNavigation.analyticalPanel'), + }, + }, + { + path: '/raid-specification', + name: 'raid-specification', + component: SILARaidSpecification, + meta: { + title: i18n.t('appNavigation.raidControllers'), + }, + }, + { + path: '/raid-settings', + name: 'raid-settings', + component: SILARaidSettins, + meta: { + title: i18n.t('appNavigation.raidControllers'), + }, + }, + { + path: '/raid-cache', + name: 'raid-cache', + component: SILARaidCache, + meta: { + title: i18n.t('appNavigation.raidControllers'), + }, + }, + { + path: '/processors-specification', + name: 'processors-specification', + component: ProcessorsSpecificationPage, + meta: { + title: i18n.t('appNavigation.processors'), + }, + }, + { + path: '/processors-dynamic-info', + name: 'processors-dynamic-info', + component: ProcessorsDynamicPage, + meta: { + title: i18n.t('appNavigation.processors'), + }, + }, + { + path: '/power-specification', + name: 'power-specification', + component: PowerStaticPage, + meta: { + title: i18n.t('appNavigation.powerSupplies'), + }, + }, + { + path: '/power-dynamic-info', + name: 'power-dynamic-info', + component: PowerDynamicPage, + meta: { + title: i18n.t('appNavigation.powerSupplies'), + }, + }, + { + path: '/memory-specification', + name: 'memory-specification', + component: MemoryStaticPage, + meta: { + title: i18n.t('appNavigation.memoryModules'), + }, + }, + { + path: '/memory-dynamic-info', + name: 'memory-dynamic-info', + component: MemoryDynamicPage, + meta: { + title: i18n.t('appNavigation.memoryModules'), + }, + }, + { + path: '/fans-static', + name: 'fans-static', + component: FansStatic, + meta: { + title: i18n.t('appNavigation.fans'), + }, + }, + { + path: '/fans', + name: 'fans', + component: FansDynamic, + meta: { + title: i18n.t('appNavigation.fans'), + }, + }, + { + path: '/drivers-static', + name: 'drivers-static', + component: DriversStaticPage, + meta: { + title: i18n.t('appNavigation.physicalDrives'), + }, + }, + { + path: '/drivers', + name: 'drivers', + component: DriversDynamicPage, + meta: { + title: i18n.t('appNavigation.physicalDrives'), + }, + }, + { + path: '/virtual-drivers', + name: 'virtual-drivers', + component: VirtualDriversPage, + meta: { + title: i18n.t('appNavigation.virtualDrivers'), + }, + }, + { + path: '/motherboard-specification', + name: 'motherboard-specification', + component: MotherboardSpecificationPage, + meta: { + title: i18n.t('appNavigation.motherboard'), + }, + }, + { + path: '/motherboard-dynamic-info', + name: 'motherboard-dynamic-info', + component: MotherboardDynamicPage, + meta: { + title: i18n.t('appNavigation.motherboard'), + }, + }, + { + path: '/network-adapters-ethernet', + name: 'network-adapters-ethernet', + component: EthernetAdapters, + meta: { + title: i18n.t('appNavigation.networkAdapters'), + }, + }, + { + path: '/network-adapters-fc-hba', + name: 'network-adapters-fc-hba', + component: FcHbaAdapters, + meta: { + title: i18n.t('appNavigation.networkAdapters'), + }, + }, + { + path: '/network-adapters-pannel', + name: 'network-adapters-pannel', + component: NetworkPannel, + meta: { + title: i18n.t('appNavigation.networkAdapters'), + }, + }, + { + path: '/pci-devices', + name: 'pci-devices', + component: PciDevices, + meta: { + title: i18n.t('appNavigation.pciDevices'), + }, + }, + { + path: '/Info', name: 'overview', component: Overview, meta: { @@ -124,7 +415,7 @@ const routes = [ name: 'inventory', component: Inventory, meta: { - title: i18n.t('appPageTitle.inventory'), + title: i18n.t('appNavigation.systemInformaion'), }, }, { @@ -176,6 +467,22 @@ const routes = [ }, }, { + path: '/information-and-faq', + name: 'information-and-faq', + component: InformationAndFAQ, + meta: { + title: i18n.t('appPageTitle.informationAndFAQ'), + }, + }, + { + path: '/support', + name: 'support', + component: Support, + meta: { + title: i18n.t('appPageTitle.support'), + }, + }, + { path: '/settings/date-time', name: 'date-time', component: DateTime, @@ -200,14 +507,6 @@ const routes = [ }, }, { - path: '/operations/kvm', - name: 'kvm', - component: Kvm, - meta: { - title: i18n.t('appPageTitle.kvm'), - }, - }, - { path: '/operations/firmware', name: 'firmware', component: Firmware, @@ -248,14 +547,6 @@ const routes = [ }, }, { - path: '/operations/serial-over-lan', - name: 'serial-over-lan', - component: SerialOverLan, - meta: { - title: i18n.t('appPageTitle.serialOverLan'), - }, - }, - { path: '/operations/server-power-operations', name: 'server-power-operations', component: ServerPowerOperations, diff --git a/src/store/modules/Authentication/AuthenticanStore.js b/src/store/modules/Authentication/AuthenticanStore.js index 07d5ee8b..3588207a 100644 --- a/src/store/modules/Authentication/AuthenticanStore.js +++ b/src/store/modules/Authentication/AuthenticanStore.js @@ -6,8 +6,14 @@ const AuthenticationStore = { namespaced: true, state: { authError: false, + // для работы локально // + // xsrfCookie: true, + // isAuthenticatedCookie: true, + // + // для сборки образа // xsrfCookie: Cookies.get('XSRF-TOKEN'), isAuthenticatedCookie: Cookies.get('IsAuthenticated'), + //// }, getters: { authError: (state) => state.authError, @@ -19,11 +25,15 @@ const AuthenticationStore = { token: (state) => state.xsrfCookie, }, mutations: { + //Расскомментить этот + // authSuccess() { + //Закомментить этот код authSuccess(state) { state.authError = false; state.xsrfCookie = Cookies.get('XSRF-TOKEN'); }, authError(state, authError = true) { + // authError() { state.authError = authError; }, logout(state) { @@ -35,6 +45,12 @@ const AuthenticationStore = { }, }, actions: { + // для работы локально // + // login({ commit }) { + // commit('authError', false); + // commit('authSuccess'); + // }, + // для сборки образа // login({ commit }, { username, password }) { commit('authError', false); return api @@ -45,6 +61,7 @@ const AuthenticationStore = { throw new Error(error); }); }, + ///// logout({ commit }) { api .post('/logout', { data: [] }) @@ -52,17 +69,27 @@ const AuthenticationStore = { .then(() => router.go('/login')) .catch((error) => console.log(error)); }, + // для работы локально // + // checkPasswordChangeRequired() { + // return false; + // }, + // для сборки образа // checkPasswordChangeRequired(_, username) { api .get(`/redfish/v1/AccountService/Accounts/${username}`) .then(({ data: { PasswordChangeRequired } }) => PasswordChangeRequired) .catch((error) => console.log(error)); }, + /////// + // для работы локально // + // resetStoreState() {}, + // для сборки образа // resetStoreState({ state }) { state.authError = false; state.xsrfCookie = Cookies.get('XSRF-TOKEN'); state.isAuthenticatedCookie = Cookies.get('IsAuthenticated'); }, + ////// }, }; diff --git a/src/store/modules/GlobalStore.js b/src/store/modules/GlobalStore.js index 95d7a083..17355613 100644 --- a/src/store/modules/GlobalStore.js +++ b/src/store/modules/GlobalStore.js @@ -34,7 +34,7 @@ const GlobalStore = { modelType: null, serialNumber: null, serverStatus: 'unreachable', - languagePreference: localStorage.getItem('storedLanguage') || 'en-US', + languagePreference: localStorage.getItem('storedLanguage') || 'ru-RU', isUtcDisplay: localStorage.getItem('storedUtcDisplay') ? JSON.parse(localStorage.getItem('storedUtcDisplay')) : true, diff --git a/src/views/BMC/Configuration/BMCConfiguration.vue b/src/views/BMC/Configuration/BMCConfiguration.vue new file mode 100644 index 00000000..111fa81a --- /dev/null +++ b/src/views/BMC/Configuration/BMCConfiguration.vue @@ -0,0 +1,105 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.description.configuration')" /> + <!-- BMC table --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_1 + variant="link" + class="collapse-button semi-bold-16px" + > + {{ $t('BMC.BmcTitle') }} + <component :is="iconChevronUp" class="icon-expand" /> + </b-button> + <b-collapse id="toggle-collapse_1" visible class="nav-item__nav"> + <span class="semi-bold-12px">{{ $t('BMC.BmcTable') }}</span> + <b-m-c-configuration-table /> + <span class="semi-bold-12px">{{ $t('BMC.Bios') }}</span> + <div> + <span class="regular-12px bmc-configuration__bios-version">{{ + $t('BMC.BiosV') + }}</span> + <span class="medium-12px">V 3.2.10.0</span> + </div> + </b-collapse> + </div> + <!-- Control --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_2 + variant="link" + class="collapse-button semi-bold-16px" + > + {{ $t('BMC.ControlTitle') }} + <component :is="iconChevronUp" class="icon-expand" /> + </b-button> + <b-collapse id="toggle-collapse_2" visible class="nav-item__nav"> + <b-m-c-configuration-control /> + </b-collapse> + </div> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import BMCConfigurationTable from './BMCConfigurationTable'; +import BMCConfigurationControl from './BMCConfigurationControl'; +import PageSection from '@/components/Global/PageSection'; +import iconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; +import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; + +export default { + components: { + PageTitle, + BMCConfigurationControl, + BMCConfigurationTable, + PageSection, + }, + mixins: [LoadingBarMixin], + data() { + return { + text: '', + iconChevronUp: iconChevronUp, + }; + }, + created() { + this.startLoader(); + const bmcManagerTablePromise = new Promise((resolve) => { + this.$root.$on('hardware-status-bmc-manager-complete', () => resolve()); + }); + Promise.all([bmcManagerTablePromise]).finally(() => this.endLoader()); + }, +}; +</script> +<style lang="scss" scoped> +//nav items style +.nav-item, +.nav-link { + padding: 0; +} + +.nav-item { + list-style-type: none; +} + +.semi-bold-12px { + display: inline-block; + padding: 16px 0 0 2rem; +} + +.bmc-configuration__bios-version { + display: inline-block; + color: #0c1c29; + padding: 8px 2px 2rem 2rem; +} + +a { + color: $text-primary !important; + &:hover { + color: $text-primary !important; + } +} +</style> diff --git a/src/views/BMC/Configuration/BMCConfigurationControl.vue b/src/views/BMC/Configuration/BMCConfigurationControl.vue new file mode 100644 index 00000000..e75b5f7d --- /dev/null +++ b/src/views/BMC/Configuration/BMCConfigurationControl.vue @@ -0,0 +1,121 @@ +<template> + <page-section class="bmc-control-section"> + <div class="bmc-control__table"> + <div class="bmc-control__table__cell"> + <div> + <span class="semi-bold-12px"> {{ $t('BMC.ControlBmc') }} </span> + </div> + <popover + id="popover-reactive-1" + description="BMC.ReloadBmc" + popup="BMC.ReloadBmc_popup" + button="BMC.ReloadBmc" + :action="rebootBmc" + /> + <settings-import-popup + id="popover-reactive-2" + description="BMC.ExportImport" + popup="BMC.ExportImport" + button="BMC.ExportImport_button" + /> + <div> + <span + class="regular-12px underline" + @click="redirectNetworkParametrs" + >{{ $t('BMC.Parametrs') }}</span + > + </div> + </div> + + <div class="bmc-control__table__cell"> + <div> + <span class="semi-bold-12px">{{ $t('BMC.microcode') }}</span> + </div> + <b-button variant="unstyled" class="p-0" @click="redirectUpdateBmc"> + <img src="@/assets/images/icon-reload-red.svg" /> + <span style="margin-left: 5px" class="regular-12px red">{{ + $t('BMC.ReloadMicrocodeBios') + }}</span> + </b-button> + </div> + </div> + </page-section> +</template> + +<script> +import SettingsImportPopup from './SettingsImportPopup'; +import PageSection from '@/components/Global/PageSection'; +import Popover from '@/components/Global/Popover'; +import BVToastMixin from '@/components/Mixins/BVToastMixin'; +export default { + components: { + PageSection, + Popover, + SettingsImportPopup, + }, + mixins: [BVToastMixin], + data() { + return { + timeOption: 'resetBios', + picked: '', + options: [ + { text: 'Toggle this custom radio', value: 'first' }, + { text: 'Or toggle this other custom radio', value: 'second' }, + ], + progress1: { + value: 90, + }, + progress2: { + value: null, + }, + }; + }, + methods: { + redirectNetworkParametrs() { + this.$router.push('/network-parametrs'); + }, + redirectUpdateBmc() { + this.$router.push('/operations/firmware'); + }, + rebootBmc() { + this.$store + .dispatch('controls/rebootBmc') + .then((message) => this.successToast(message)) + .catch(({ message }) => this.errorToast(message)); + }, + }, +}; +</script> +<style lang="scss" scoped> +a { + list-style-type: none; +} + +.bmc-control-section { + position: relative; + margin: 16px 2rem 2rem; + width: 70%; +} + +.bmc-control__table { + display: flex; + flex-flow: row nowrap; + justify-content: space-between; + width: 85%; +} + +.bmc-control__table__cell { + display: flex; + flex-flow: column nowrap; + align-items: flex-start; + row-gap: 6px; +} + +.semi-bold-12px { + display: inline-block; +} + +label { + padding-top: 5px; +} +</style> diff --git a/src/views/BMC/Configuration/BMCConfigurationTable.vue b/src/views/BMC/Configuration/BMCConfigurationTable.vue new file mode 100644 index 00000000..881f8e34 --- /dev/null +++ b/src/views/BMC/Configuration/BMCConfigurationTable.vue @@ -0,0 +1,109 @@ +<template> + <page-section class="bootstrap-table__section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items" + :fields="fields" + :busy="isBusy" + :empty-text="$t('global.table.emptyMessage')" + > + </b-table> + </page-section> +</template> + +<script> +import BVToastMixin from '@/components/Mixins/BVToastMixin'; +import PageSection from '@/components/Global/PageSection'; + +import TableRowExpandMixin, { + expandRowLabel, +} from '@/components/Mixins/TableRowExpandMixin'; + +export default { + components: { PageSection }, + mixins: [BVToastMixin, TableRowExpandMixin], + data() { + return { + isBusy: true, + isAddersСolon: false, + fields: [ + { + key: 'param', + label: 'Параметр', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first + bootstrap-rounded-table__column-first___bmc_conf`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + expandRowLabel: expandRowLabel, + items: null, + }; + }, + computed: { + bmc() { + return this.$store.getters['bmc/bmc']; + }, + }, + watch: { + bmc() { + this.items = [ + { + param: 'Время сервера', + value: this.bmc.dateTime, + }, + { + param: 'uuid', + value: this.bmc.uuid, + }, + { + param: 'Версия прошивки', + value: this.bmc.firmwareVersion, + }, + { + param: 'Модель', + value: this.bmc.model, + }, + { + param: 'Описание', + value: this.bmc.description, + }, + { + param: 'Максимальное количество сессий', + value: this.bmc.graphicalConsoleMaxSessions, + }, + ]; + }, + }, + created() { + this.$store.dispatch('bmc/getBmcInfo').finally(() => { + this.$root.$emit('hardware-status-bmc-manager-complete'); + this.isBusy = false; + }); + }, +}; +</script> +<style lang="scss"> +.bootstrap-rounded-table__column-first___bmc_conf { + width: 50%; +} + +.macAddresCol { + height: 15px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-end; + align-items: center; +} +</style> diff --git a/src/views/BMC/Configuration/SettingsImportPopup.vue b/src/views/BMC/Configuration/SettingsImportPopup.vue new file mode 100644 index 00000000..748518bc --- /dev/null +++ b/src/views/BMC/Configuration/SettingsImportPopup.vue @@ -0,0 +1,291 @@ +<template> + <div id="my-container"> + <span + :id="id" + ref="button" + class="regular-12px underline" + variant="primary" + > + {{ $t(description) }} + </span> + <!-- Our popover title and content render container --> + <b-popover + id="export-popup" + ref="popover" + :target="id" + triggers="click" + :show.sync="popoverShow" + placement="auto" + container="my-container" + @show="onShow" + @shown="onShown" + @hidden="onHidden" + > + <template #title> + <div class="popup-title"> + <span class="semi-bold-20px">{{ $t(popup) }}</span> + <b-button class="popup-title__button_close" @click="onClose"> + <img src="@/assets/images/popups/x-icon.svg" /> + </b-button> + </div> + </template> + <div class="popup-switch"> + <span + class="medium-16px popup-item" + :class="{ 'switch-active': isExport }" + @click="switchExport" + >{{ $t('global.action.export') }}</span + > + <span + class="medium-16px popup-item" + :class="{ 'switch-active': !isExport }" + @click="switchImport" + >{{ $t('global.action.import') }}</span + > + <div class="slider" /> + </div> + <div v-if="isExport" class="popup-body"> + <div class="ip-container"> + <span class="regular-16px" + >Оставить IP адрес из настроек сервера</span + > + <b-form-checkbox switch> </b-form-checkbox> + </div> + <b-button class="popover-button" variant="primary" @click="onClose"> + {{ $t(button) }} + </b-button> + </div> + <div v-else class="settings-import_container"> + <b-form-file + id="settings-import__file-input" + placeholder="Нажмите на область или перетащите в нее файл с настройками" + ></b-form-file> + </div> + </b-popover> + </div> +</template> + +<script> +export default { + props: { + description: { + type: String, + default: '', + }, + id: { + type: String, + default: '', + }, + button: { + type: String, + default: 'global.action.reload', + }, + popup: { + type: String, + default: '', + }, + }, + data() { + return { + input1: '', + input1state: null, + input1Return: '', + popoverShow: false, + isExport: true, + }; + }, + watch: { + input1(val) { + if (val) { + this.input1state = true; + } + }, + }, + methods: { + onClose() { + this.popoverShow = false; + }, + onOk() { + if (!this.input1) { + this.input1state = false; + } + if (this.input1) { + this.onClose(); + // Return our popover form results + this.input1Return = this.input1; + } + }, + onShow() { + this.$root.$emit('bv::hide::popover'); + // This is called just before the popover is shown + // Reset our popover form variables + this.input1 = ''; + this.input1state = null; + this.input1Return = ''; + }, + onShown() { + // Called just after the popover has been shown + // Transfer focus to the first input + this.focusRef(this.$refs.input1); + }, + onHidden() { + // Called just after the popover has finished hiding + // Bring focus back to the button + this.focusRef(this.$refs.button); + }, + focusRef(ref) { + // Some references may be a component, functional component, or plain element + // This handles that check before focusing, assuming a `focus()` method exists + // We do this in a double `$nextTick()` to ensure components have + // updated & popover positioned first + this.$nextTick(() => { + this.$nextTick(() => { + (ref.$el || ref).focus(); + }); + }); + }, + switchExport() { + this.isExport = true; + }, + switchImport() { + this.isExport = false; + }, + }, +}; +</script> +<style lang="scss"> +.custom-file { + width: 432px; + height: 108px; +} + +#settings-import__file-input ~ .custom-file-label { + background-color: transparent; + border: 1px dashed rgba(12, 28, 41, 0.6); + box-sizing: border-box; + border-radius: 8px; + width: 432px; + height: 108px; + display: flex; + justify-content: center; + align-items: center; + text-align: center; + white-space: normal; + padding: 0 65px; +} + +#settings-import__file-input ~ .custom-file-label::after { + display: none; +} +</style> +<style lang="scss" scoped> +#export-popup { + flex-direction: column; + align-items: flex-start; + background: #ffffff; + box-shadow: 0px -4px 12px rgb(0 0 0 / 5%); + border-radius: 16px !important; + border-radius: 4px; + max-width: 480px; + width: 480px; + height: auto; +} + +.form-group { + margin: 0; +} + +.popup-title { + display: flex; + align-items: baseline; + width: 465px; +} + +.popup-title__button_close { + margin: 0 28px 0 auto; + background: none; + border: none; + &:active { + background-color: $faint-secondary-primary-5-hover !important; + box-shadow: none !important; + border-radius: 8px; + } + &:focus-visible { + border: none !important; + border-radius: 8px; + } + &:focus { + box-shadow: none; + border-radius: 8px; + } +} + +.popup-body { + display: flex; + flex-direction: column; + align-content: center; + justify-content: center; +} + +.medium-16px { + display: inline-block; + height: 45px; + margin: 10px; + cursor: pointer; +} + +.popup-switch { + position: relative; + display: flex; + flex-flow: row nowrap; + border-bottom: 1px solid #f3f4f5; +} + +.switch-active { + color: $red-brand-primary; + transition: ease-in 0.15s; +} + +.slider { + position: absolute; + width: 130px; + height: 0px; + border-bottom: 4px solid $red-brand-primary; + transition: ease-in 0.2s; + bottom: 14px; + left: 10px; +} + +.popup-item:nth-child(1).switch-active ~ .slider { + left: 10px; +} + +.popup-item:nth-child(2).switch-active ~ .slider { + left: 160px; +} + +.ip-container { + display: flex; + width: 461px; + height: 75px; + padding: 30px 15px 25px 15px; +} + +.popover-button { + width: 432px; + height: 52px; + margin: 0 auto 10px; +} + +.settings-import_container { + width: 478px; + height: 160px; + background-color: $surface-secondary; + margin: -15px -15px -8px -12px; + border-radius: 0 0 16px 16px; + + display: flex; + align-items: center; + justify-content: center; +} +</style> diff --git a/src/views/BMC/Configuration/index.js b/src/views/BMC/Configuration/index.js new file mode 100644 index 00000000..da796489 --- /dev/null +++ b/src/views/BMC/Configuration/index.js @@ -0,0 +1,2 @@ +import BMCConfiguration from './BMCConfiguration.vue'; +export default BMCConfiguration; diff --git a/src/views/BMC/Firmware/FirmwarePage.vue b/src/views/BMC/Firmware/FirmwarePage.vue new file mode 100644 index 00000000..cd0367fa --- /dev/null +++ b/src/views/BMC/Firmware/FirmwarePage.vue @@ -0,0 +1,307 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.deviceFirmware')" /> + <!-- BMC table --> + <page-section class="bootstrap-table__section"> + <b-table + responsive="md" + sort-by="id" + class="bootstrap-fans-table bootstrap-fans-table__stripes" + sort-icon-left + no-sort-reset + :sort-desc="sortDesc" + :items="items" + :fields="fields" + > + <template #cell(name)="{ value }"> + <span class="regular-12px tretiatry"> + {{ value }} + </span> + </template> + <template #cell(minSpeedDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + <template #cell(maxSpeedDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + </b-table> + </page-section> + </b-container> +</template> + +<script> +import TableSortMixin from '@/components/Mixins/TableSortMixin'; +import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; +import TableFilterMixin from '@/components/Mixins/TableFilterMixin'; +import BVPaginationMixin from '@/components/Mixins/BVPaginationMixin'; +import BVTableSelectableMixin from '@/components/Mixins/BVTableSelectableMixin'; +import BVToastMixin from '@/components/Mixins/BVToastMixin'; +import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin'; +import TableRowExpandMixin from '@/components/Mixins/TableRowExpandMixin'; + +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; +import iconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; + +export default { + components: { + PageTitle, + PageSection, + }, + mixins: [ + BVPaginationMixin, + BVTableSelectableMixin, + BVToastMixin, + LoadingBarMixin, + TableFilterMixin, + DataFormatterMixin, + TableSortMixin, + TableRowExpandMixin, + ], + data() { + return { + text: '', + iconChevronUp: iconChevronUp, + sortDesc: true, + fields: [ + { + key: 'name', + label: 'Устройство', + sortable: true, + formatter: this.dataFormatter, + thClass: 'bootstrap-fans-table__th medium-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'version', + label: 'Версия прошивки', + sortable: false, + formatter: this.dataFormatter, + thClass: 'bootstrap-fans-table__th medium-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'date', + label: 'Дата прошивки', + sortable: true, + formatter: this.dataFormatter, + thClass: 'bootstrap-fans-table__th medium-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Встроенный контроллер Порт 1|Бокс 1|Вау 1', + version: 'HGP1', + date: '03.11.2021', + }, + { + name: 'Встроенный девайс', + version: '2.5', + date: '03.11.2021', + }, + { + name: 'Встроенный ALOM', + version: '10.52.7', + date: '03.11.2021', + }, + { + name: 'Встроенный RAID', + version: '3.00', + date: '03.11.2021', + }, + { + name: 'Системная плата', + version: '2.30 Aug 24 2020', + date: '03.11.2021', + }, + + { + name: 'Системная плата', + version: '11.0.0 Build 23', + date: '03.11.2021', + }, + { + name: 'Системная плата', + version: '3.46.4', + date: '03.11.2021', + }, + { + name: 'Системная плата', + version: '1.0.7', + date: '03.11.2021', + }, + { + name: 'Встроенный контроллер Порт 1|Бокс 1|Вау 1', + version: 'HPG0.9', + date: '02.11.2021', + }, + { + name: 'Встроенный девайс', + version: '2.5', + date: '02.11.2021', + }, + { + name: 'Встроенный ALOM', + version: '10.52.7', + date: '02.11.2021', + }, + { + name: 'Встроенный RAID', + version: '3.00', + date: '02.11.2021', + }, + { + name: 'Системная плата', + version: '2.30 Aug 24 2020', + date: '02.11.2021', + }, + { + name: 'Системная плата', + version: '11.0.0 Build 23', + date: '02.11.2021', + }, + { + name: 'Системная плата', + version: '3.46.4', + date: '02.11.2021', + }, + { + name: 'Системная плата', + version: '1.0.7', + date: '02.11.2021', + }, + { + name: 'Встроенный контроллер Порт 1|Бокс 1|Вау 1', + version: 'HPG0.8', + date: '01.11.2021', + }, + { + name: 'Встроенный девайс', + version: '2.5', + date: '01.11.2021', + }, + { + name: 'Встроенный ALOM', + version: '10.52.7', + date: '01.11.2021', + }, + { + name: 'Встроенный RAID', + version: '3.00', + date: '01.11.2021', + }, + { + name: 'Системная плата', + version: '2.30 Aug 24 2020', + date: '01.11.2021', + }, + + { + name: 'Системная плата', + version: '11.0.0 Build 23', + date: '01.11.2021', + }, + { + name: 'Системная плата', + version: '3.46.4', + date: '01.11.2021', + }, + { + name: 'Системная плата', + version: '1.0.7', + date: '01.11.2021', + }, + ], + }; + }, +}; +</script> +<style lang="scss"> +.bootstrap-table__section + .table.b-table + > thead + > tr + > [aria-sort='ascending'] { + background-image: url('../../../assets/images/event-logs/sort-icon-rotate.svg'); +} + +.bootstrap-table__section + .table.b-table + > thead + > tr + > [aria-sort='descending'], +.table.b-table > thead > tr > [aria-sort='none'] { + background-image: url('../../../assets/images/event-logs/sort-icon.svg'); +} + +.bootstrap-fans-table__th { + background-color: transparent !important; + color: $text-primary !important; + border-top: none !important; + padding: 10px 5px !important; + border-bottom: 1px solid $faint-secondary-primary-10; +} + +.bootstrap-fans-table__td { + padding: 5px !important; + border-top: none !important; +} +</style> +<style lang="scss" scoped> +//nav items style +.nav-item, +.nav-link { + padding: 0; +} + +.nav-item { + list-style-type: none; +} + +.semi-bold-12px { + display: inline-block; + padding: 16px 0 0 2rem; +} + +.bmc-configuration__bios-version { + display: inline-block; + color: #0c1c29; + padding: 8px 2px 2rem 2rem; +} + +a { + color: $text-primary !important; + &:hover { + color: $text-primary !important; + } +} + +.fans-colors { + display: inline-block; + width: 8px; + height: 8px; + border-radius: 2px; +} +.row { + align-items: center; + flex-wrap: nowrap; + justify-content: flex-end; +} +.medium-12px { + color: $text-primary !important; +} +</style> diff --git a/src/views/BMC/Firmware/index.js b/src/views/BMC/Firmware/index.js new file mode 100644 index 00000000..55a8c296 --- /dev/null +++ b/src/views/BMC/Firmware/index.js @@ -0,0 +1,2 @@ +import FirmwarePage from './FirmwarePage.vue'; +export default FirmwarePage; diff --git a/src/views/BMC/Settings/SettingsPage.vue b/src/views/BMC/Settings/SettingsPage.vue new file mode 100644 index 00000000..da18c8ab --- /dev/null +++ b/src/views/BMC/Settings/SettingsPage.vue @@ -0,0 +1,460 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.broadcastSettings')" /> + <!-- BMC table --> + <div class="bmc-settings-section"> + <div class="smnp-settings-container"> + <span class="bold-12px__caps section-label">{{ $t('BMC.smnp') }}</span> + <b-form-group class="form-group"> + <label class="regular-12px tretiatry">{{ $t('BMC.system') }}</label> + <b-form-input + v-model="system" + type="text" + class="form-control medium-16px" + > + </b-form-input> + <img class="clear-icon" src="@/assets/images/popups/x-icon.svg" /> + </b-form-group> + <b-form-group class="form-group"> + <label class="regular-12px tretiatry">{{ $t('BMC.contacts') }}</label> + <b-form-input + type="text" + class="form-control medium-16px" + placeholder="Введите значение" + > + </b-form-input> + </b-form-group> + <b-form-group class="form-group"> + <label class="regular-12px tretiatry">{{ + $t('BMC.community') + }}</label> + <b-form-input + v-model="community" + type="text" + class="form-control medium-16px" + > + </b-form-input> + <img class="clear-icon" src="@/assets/images/popups/x-icon.svg" /> + </b-form-group> + <b-form-group class="form-group"> + <label class="regular-12px tretiatry">{{ + $t('global.status.status') + }}</label> + <b-form-select + v-model="smnpStatus" + :options="smnpStatuses" + class="select-connection medium-16px" + /> + </b-form-group> + <b-form-group class="form-group"> + <label class="regular-12px tretiatry">{{ $t('BMC.smnpIp') }}</label> + <b-form-input + v-model="smnpIp" + type="text" + class="form-control medium-16px" + > + </b-form-input> + <img class="clear-icon" src="@/assets/images/popups/x-icon.svg" /> + </b-form-group> + <b-form-group class="form-group"> + <label class="regular-12px tretiatry">{{ $t('BMC.smnpPort') }}</label> + <b-form-input + v-model="smnpPort" + type="text" + class="form-control medium-16px" + > + </b-form-input> + <img class="clear-icon" src="@/assets/images/popups/x-icon.svg" /> + </b-form-group> + <div class="accept-container"> + <b-button variant="primary" class="accept-button"> + {{ $t('global.action.acceptChanges') }} + </b-button> + </div> + </div> + </div> + <div class="bmc-settings-section"> + <div class="smnp-settings-container"> + <span class="bold-12px__caps section-label">{{ + $t('BMC.smnpWarning') + }}</span> + <div class="table-section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items" + :fields="fields" + > + <template #cell(value)="{ index }"> + <b-row> + <b-col> + <span v-if="items[index].value"> + {{ $t('global.status.enabled') }} + </span> + <span v-else> + {{ $t('global.status.disabled') }} + </span> + </b-col> + <b-col> + <b-form-checkbox v-model="items[index].value" switch> + </b-form-checkbox> + </b-col> + </b-row> + </template> + </b-table> + </div> + <div class="accept-container"> + <b-button variant="secondary" class="test-message-button"> + {{ $t('BMC.testMessage') }} + </b-button> + <b-button variant="primary" class="accept-button"> + {{ $t('global.action.acceptChanges') }} + </b-button> + </div> + </div> + </div> + + <div class="bmc-settings-section"> + <div class="smnp-settings-container"> + <span class="bold-12px__caps section-label">{{ + $t('BMC.smtpWarning') + }}</span> + <div class="table-section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items2" + :fields="fields2" + > + <template #cell(value)="data"> + <b-row v-if="data.index === 0"> + <b-col> + <span v-if="items2[data.index].value"> + {{ $t('global.status.enabled') }} + </span> + <span v-else> + {{ $t('global.status.disabled') }} + </span> + </b-col> + <b-col> + <b-form-checkbox v-model="items2[data.index].value" switch> + </b-form-checkbox> + </b-col> + </b-row> + <b-row v-else-if="data.index === 4"> + <b-col> + <span> + {{ data.value ? 'Да' : 'Нет' }} + </span> + </b-col> + <b-col> + <b-button + :id="`popover-choice-${data.index}`" + class="popover-option-ractive" + variant="toogle-popover" + > + <img :is="iconChevron" class="icon-chevron" /> + </b-button> + <two-chioce-popover + :id="data.index" + fitst-option="Да" + second-option="Нет" + :chosen-option="chosenOption" + :first-action="setYes" + :second-action="setNo" + placement="leftbottom" + /> + </b-col> + </b-row> + <b-row v-else> + <b-col> + <span> + {{ data.value }} + </span> + </b-col> + <b-col> + <img + src="@/assets/images/icon-edit.svg" + class="icon-chevron icon-edit" + /> + </b-col> + </b-row> + </template> + </b-table> + </div> + </div> + </div> + + <div class="bmc-settings-section last"> + <div class="smnp-settings-container"> + <span class="bold-12px__caps section-label">{{ + $t('BMC.syslogSettings') + }}</span> + <b-form-group class="form-group"> + <label class="regular-12px tretiatry">{{ + $t('global.status.status') + }}</label> + <b-form-select + v-model="syslogStatus" + :options="syslogStatuses" + class="select-connection medium-16px" + /> + </b-form-group> + <b-form-group class="form-group"> + <label class="regular-12px tretiatry">{{ $t('BMC.syslogIP') }}</label> + <b-form-input + v-model="syslogIp" + type="text" + class="form-control medium-16px" + > + </b-form-input> + <img class="clear-icon" src="@/assets/images/popups/x-icon.svg" /> + </b-form-group> + <b-form-group class="form-group"> + <label class="regular-12px tretiatry">{{ + $t('BMC.syslogPort') + }}</label> + <b-form-input + v-model="syslogPort" + type="text" + class="form-control medium-16px" + > + </b-form-input> + <img class="clear-icon" src="@/assets/images/popups/x-icon.svg" /> + </b-form-group> + <div class="accept-container"> + <b-button variant="primary" class="accept-button"> + {{ $t('global.action.acceptChanges') }} + </b-button> + </div> + </div> + </div> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import TwoChiocePopover from '@/components/Global/SilaComponents/TwoChiocePopover'; +import iconChevron from '@carbon/icons-vue/es/chevron--down/16'; + +export default { + components: { + PageTitle, + TwoChiocePopover, + }, + data() { + return { + iconChevron, + text: '', + system: '2КА04.02_г17', + community: 'public', + smnpIp: '0.0.0.0', + smnpPort: '161', + syslogIp: '0.0.0.0', + syslogPort: '161', + chosenOption: 'Да', + smnpStatus: true, + smnpStatuses: [ + { + value: true, + text: 'Включена', + }, + { + value: false, + text: 'Выключена', + }, + ], + syslogStatus: true, + syslogStatuses: [ + { + value: true, + text: 'Включена', + }, + { + value: false, + text: 'Выключена', + }, + ], + fields: [ + { + key: 'name', + label: 'Тип предупреждения', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first + bootstrap-table_smnp-table`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-last + smnp-table-col-last`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + fields2: [ + { + key: 'attributes', + label: 'Атрибуты', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first + bootstrap-table_smnp-table`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-last + smnp-table-col-last`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + items: [ + { + name: 'SNMPv1', + value: true, + }, + { + name: 'SNMPv3', + value: true, + }, + { + name: 'Постоянные запросы и предупреждения SNMPv1', + value: true, + }, + ], + items2: [ + { + attributes: 'Авторизация', + value: true, + }, + { + attributes: 'Логин пользователя', + value: 'admin', + }, + { + attributes: 'Пароль', + value: '******', + }, + { + attributes: 'SMTP-сервер', + value: 'smtp.domian.ru', + }, + { + attributes: 'Поддержка SSI', + value: true, + }, + { + attributes: 'SMTP-порт', + value: 465, + }, + ], + }; + }, + methods: { + setYes() { + this.chosenOption = 'Да'; + this.items2[4].value = true; + }, + setNo() { + this.chosenOption = 'Нет'; + this.items2[4].value = false; + }, + }, +}; +</script> +<style lang="scss"> +.bootstrap-table_smnp-table { + width: 70%; +} +.smnp-table-col-last { + width: 30%; +} +</style> +<style lang="scss" scoped> +.main-container { + margin-top: 16px; +} + +.bmc-settings-section { + border-bottom: 1px solid $faint-secondary-primary-10; + &.last { + margin-bottom: 40px; + } +} +.smnp-settings-container { + display: flex; + flex-flow: row wrap; + gap: 16px; + justify-content: flex-start; + align-items: flex-start; + margin: 16px 0 16px 28px; +} + +.section-label { + display: block; + width: 100%; +} +.form-group { + width: 341px; + height: 35px; +} +.form-control { + margin: -31px 0px 0 -15px; + height: 52px; + width: 341px; + padding: 17px 0 0 15px; +} +.clear-icon { + margin: -80px 0px 0px 300px; +} + +.select-connection { + height: 52px; + width: 341px; + padding-top: 30px; + border: none; + border-radius: 8px; + margin: -31px 0 18px -15px; + background-color: $faint-secondary-primary-5; + background-image: url('../../../assets/images/icon-chevron.svg'); +} +.accept-container { + width: 100%; + display: flex; + justify-content: flex-end; +} + +.accept-button { + width: 245px; + height: 36px; + margin-right: 33px; +} +.test-message-button { + width: 245px; + height: 36px; + margin-right: 16px; + background-color: $faint-secondary-primary-5; +} + +.table-section { + width: 100%; + margin: 0 20px 0 0; +} + +.popover-option-ractive { + display: block; + margin: -6px 6px 0 auto; +} +</style> diff --git a/src/views/BMC/Settings/index.js b/src/views/BMC/Settings/index.js new file mode 100644 index 00000000..f74e1f4d --- /dev/null +++ b/src/views/BMC/Settings/index.js @@ -0,0 +1,2 @@ +import SettingsPage from './SettingsPage.vue'; +export default SettingsPage; diff --git a/src/views/Fans/DynamicInformation/FansDynamicPage.vue b/src/views/Fans/DynamicInformation/FansDynamicPage.vue new file mode 100644 index 00000000..fe997c58 --- /dev/null +++ b/src/views/Fans/DynamicInformation/FansDynamicPage.vue @@ -0,0 +1,118 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('SystemDescription.FansDynamicInformation')" /> + <date-switch :switch-time-scale="switchTimeScale" :time-scale="timeScale" /> + <div class="speed-description"> + <img src="@/assets/images/fans-page/fans-icon.svg" /> + <span class="bold-16px">{{ $t('fansPage.speedDescription') }}</span> + </div> + <div class="limit-speed-container"> + <div class="speed-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ $t('fansPage.speedWarhihg') }}</span> + <b-form-input + v-model="fanSpeedWarninigInput" + type="number" + :min="0" + :max="fanSpeedShutdownInput" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="speed-limt"> + <img src="@/assets/images/labels/shutdown.svg" /> + <span class="semi-bold-12px">{{ $t('fansPage.speedShutdown') }}</span> + <b-form-input + v-model="fanSpeedShutdownInput" + :min="fanSpeedWarninigInput" + :max="4000" + type="number" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button class="save-button" variant="primary" @click="updateFansSpeed"> + {{ $t('global.action.save') }} + </b-button> + </div> + + <fans-dynamic-table + :speed-warninig="fanSpeedWarninig" + :speed-shutdown="fanSpeedShutdown" + :time-scale="timeScale" + /> + <indicators-table /> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import DateSwitch from '@/components/Global/SilaComponents/DateSwitch'; +import FansDynamicTable from './FansDynamicTable'; +import IndicatorsTable from './IndicatorsTable'; + +export default { + components: { PageTitle, DateSwitch, FansDynamicTable, IndicatorsTable }, + data() { + return { + timeScale: 'hour', + fanSpeedWarninigInput: 2450, + fanSpeedShutdownInput: 3150, + fanSpeedWarninig: 2450, + fanSpeedShutdown: 3150, + }; + }, + methods: { + switchTimeScale(period) { + this.timeScale = period; + }, + updateFansSpeed() { + this.fanSpeedWarninig = +this.fanSpeedWarninigInput; + this.fanSpeedShutdown = +this.fanSpeedShutdownInput; + }, + }, +}; +</script> +<style lang="scss" scoped> +.speed-description { + height: 56px; + padding-left: 36px; + display: flex; + align-items: center; + gap: 8px; + border-bottom: 1px solid $faint-secondary-primary-10; +} + +.limit-speed-container { + height: 85px; + padding: 0 0 10px 32px; + display: flex; + align-items: flex-end; + gap: 24px; +} + +.speed-limt { + height: 60px; + max-width: 312px; + display: flex; + align-items: baseline; + flex-flow: row wrap; + gap: 8px; +} + +.save-button { + width: 151px; + height: 36px; +} + +.form-control { + height: 36px; +} + +.main-container { + overflow: auto; +} +</style> diff --git a/src/views/Fans/DynamicInformation/FansDynamicTable.vue b/src/views/Fans/DynamicInformation/FansDynamicTable.vue new file mode 100644 index 00000000..b0818255 --- /dev/null +++ b/src/views/Fans/DynamicInformation/FansDynamicTable.vue @@ -0,0 +1,126 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setSpeed } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + speedWarninig: { + type: Number, + default: 2450, + }, + speedShutdown: { + type: Number, + default: 3150, + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'line', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(60, this.timeScale), + title: null, + labels: { + step: 6, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setSpeed(4000), + min: 0, + title: null, + minRange: 4000, + minTickInterval: 1000, + minorGridLineColor: '#1A3E5B1A', + plotLines: [ + { + color: '#E11717', + dashStyle: 'solid', + value: this.speedWarninig, + zIndex: '1000', + width: 2, + label: { + text: 'Пороговое значения предупреждение', + align: 'right', + style: { + fontFamily: 'Inter, sans-serif', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + { + color: '#1A3E5B', + dashStyle: 'solid', + value: this.speedShutdown, + width: 2, + label: { + text: 'Пороговое значения отказ', + align: 'right', + style: { + fontFamily: 'Inter, sans-serif', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + ], + }, + series: Series[this.timeScale].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/Fans/DynamicInformation/IndicatorsTable.vue b/src/views/Fans/DynamicInformation/IndicatorsTable.vue new file mode 100644 index 00000000..de0823c0 --- /dev/null +++ b/src/views/Fans/DynamicInformation/IndicatorsTable.vue @@ -0,0 +1,191 @@ +<template> + <page-section class="bootstrap-table__section"> + <span class="bold-12px__caps"> + {{ $t('fansPage.valueIndicators') }} + </span> + <b-table + responsive="md" + class="bootstrap-fans-table bootstrap-fans-table__stripes" + :items="items" + :fields="fields" + > + <template #cell(name)="{ value, index }"> + <div + class="fans-colors" + :style="`background-color: ${colors[index]}`" + ></div> + <span class="regular-12px tretiatry"> + {{ value }} + </span> + </template> + <template #cell(minSpeedDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + <template #cell(maxSpeedDate)="{ value }"> + <span class="regular-12px"> + {{ value.time }} + </span> + <span class="regular-12px tretiatry"> + {{ value.date }} + </span> + </template> + </b-table> + </page-section> +</template> + +<script> +import PageSection from '@/components/Global/PageSection'; +import { colors } from './helpers'; + +export default { + components: { PageSection }, + data() { + return { + colors, + fields: [ + { + key: 'name', + label: 'Имя модуля', + formatter: this.dataFormatter, + thClass: 'bootstrap-fans-table__th medium-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'currentSpeed', + label: 'Текущая', + formatter: this.dataFormatter, + thClass: 'bootstrap-fans-table__th medium-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'middleSpeed', + label: 'Средняя', + formatter: this.dataFormatter, + thClass: 'bootstrap-fans-table__th medium-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minSpeed', + label: 'Минимальная', + formatter: this.dataFormatter, + thClass: 'bootstrap-fans-table__th medium-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minSpeedDate', + label: 'Дата минимальной', + formatter: this.dataFormatter, + thClass: 'bootstrap-fans-table__th medium-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxSpeed', + label: 'Максимальная', + formatter: this.dataFormatter, + thClass: 'bootstrap-fans-table__th medium-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxSpeedDate', + label: 'Дата максимальной', + formatter: this.dataFormatter, + thClass: 'bootstrap-fans-table__th medium-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Вентилятор 1', + currentSpeed: 1900, + middleSpeed: 1200, + minSpeed: 950, + minSpeedDate: { time: '15:15', date: '11.11.2021' }, + maxSpeed: 2100, + maxSpeedDate: { time: '10:26', date: '15.11.2021' }, + }, + { + name: 'Вентилятор 2', + currentSpeed: 1850, + middleSpeed: 1450, + minSpeed: 850, + minSpeedDate: { time: '15:45', date: '11.11.2021' }, + maxSpeed: 2150, + maxSpeedDate: { time: '16:59', date: '16.11.2021' }, + }, + { + name: 'Вентилятор 3', + currentSpeed: 1870, + middleSpeed: 1450, + minSpeed: 1000, + minSpeedDate: { time: '15:23', date: '11.11.2021' }, + maxSpeed: 2050, + maxSpeedDate: { time: '15:26', date: '15.11.2021' }, + }, + { + name: 'Вентилятор 4', + currentSpeed: 1790, + middleSpeed: 780, + minSpeed: 950, + minSpeedDate: { time: '16:45', date: '25.11.2021' }, + maxSpeed: 1800, + maxSpeedDate: { time: '11:26', date: '16.11.2021' }, + }, + { + name: 'Вентилятор 5', + currentSpeed: 1950, + middleSpeed: 1260, + minSpeed: 880, + minSpeedDate: { time: '15:23', date: '11.11.2021' }, + maxSpeed: 1950, + maxSpeedDate: { time: '15:26', date: '17.11.2021' }, + }, + { + name: 'Вентилятор 6', + currentSpeed: 1900, + middleSpeed: 1300, + minSpeed: 960, + minSpeedDate: { time: '16:45', date: '25.11.2021' }, + maxSpeed: 2000, + maxSpeedDate: { time: '15:26', date: '15.11.2021' }, + }, + ], + }; + }, +}; +</script> +<style lang="scss"> +.bootstrap-fans-table__th { + background-color: transparent !important; + color: $text-primary !important; + border-top: none !important; + padding: 10px 5px !important; + border-bottom: 1px solid $faint-secondary-primary-10; +} + +.bootstrap-fans-table__td { + padding: 5px !important; + border-top: none !important; +} +</style> + +<style lang="scss" scoped> +.fans-colors { + display: inline-block; + width: 8px; + height: 8px; + border-radius: 2px; +} +.row { + align-items: center; + flex-wrap: nowrap; + justify-content: flex-end; +} +.medium-12px { + color: $text-primary !important; +} +</style> diff --git a/src/views/Fans/DynamicInformation/helpers.js b/src/views/Fans/DynamicInformation/helpers.js new file mode 100644 index 00000000..1268d34a --- /dev/null +++ b/src/views/Fans/DynamicInformation/helpers.js @@ -0,0 +1,820 @@ +export const colors = [ + '#CB32F1', + '#F18638', + '#139BB9', + '#E1AB17', + '#175AE1', + '#13B937', +]; + +export const Series = { + hour: [ + { + name: 'Sean', + data: [ + 526, + 526, + 526, + 526, + 526, + 1100, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 2100, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 1526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 1526, + 526, + 526, + 526, + 526, + 526, + 526, + ], + color: '#CB32F1', + }, + { + name: 'Ivan', + data: [ + 315, + 315, + 315, + 315, + 315, + 315, + 1315, + 315, + 315, + 315, + 315, + 315, + 315, + 2200, + 315, + 315, + 315, + 315, + 315, + 315, + 1100, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 1600, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 1400, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + ], + color: '#175AE1', + }, + { + name: 'Brendan', + data: [ + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 1359, + 359, + 359, + 359, + 359, + 2000, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 2100, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 1400, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + ], + color: '#B98D13', + }, + { + name: 'Matteo', + data: [ + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 1350, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 1590, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 1490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + ], + color: '#13B937', + }, + { + name: 'Joan', + data: [ + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 1487, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 794, + 467, + 467, + 467, + 467, + 467, + 1924, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 1924, + 467, + 467, + 794, + 467, + 467, + 467, + 467, + 467, + 1924, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 794, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + ], + color: '#F18638', + }, + { + name: 'Avinash', + data: [ + 410, + 410, + 410, + 410, + 1300, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 2110, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 1410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 1410, + 410, + 410, + 410, + 410, + 410, + 410, + ], + color: '#139BB9', + }, + ], + day: [ + { + name: 'Sean', + data: [ + 526, + 526, + 526, + 526, + 626, + 626, + 626, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 726, + 1026, + 726, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 526, + 1326, + 1526, + 1326, + 526, + 526, + 526, + 526, + 526, + 526, + ], + color: '#CB32F1', + }, + { + name: 'Ivan', + data: [ + 315, + 315, + 315, + 315, + 315, + 315, + 815, + 315, + 315, + 315, + 315, + 315, + 315, + 1100, + 315, + 315, + 315, + 315, + 315, + 315, + 800, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 900, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 900, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + 315, + ], + color: '#175AE1', + }, + { + name: 'Brendan', + data: [ + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 1500, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 1500, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 500, + 1200, + 500, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + 359, + ], + color: '#B98D13', + }, + { + name: 'Matteo', + data: [ + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 950, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 890, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 990, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + 490, + ], + color: '#13B937', + }, + { + name: 'Joan', + data: [ + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 1087, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 794, + 467, + 467, + 467, + 467, + 467, + 1424, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 1424, + 467, + 467, + 794, + 467, + 467, + 467, + 467, + 467, + 1224, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + 794, + 467, + 467, + 467, + 467, + 467, + 467, + 467, + ], + color: '#F18638', + }, + { + name: 'Avinash', + data: [ + 410, + 1410, + 410, + 410, + 1300, + 410, + 410, + 410, + 410, + 1410, + 410, + 410, + 410, + 410, + 410, + 2110, + 410, + 410, + 1410, + 410, + 410, + 410, + 410, + 1410, + 410, + 410, + 410, + 410, + 410, + 410, + 410, + 1410, + 410, + 410, + 410, + 410, + 1410, + 410, + 410, + 410, + 410, + 410, + 410, + 1410, + 410, + 410, + 410, + 410, + 1410, + 410, + 410, + 410, + 410, + 1410, + 410, + 410, + 410, + 1410, + 410, + 410, + ], + color: '#139BB9', + }, + ], +}; + +export const setTime = (count) => { + const arr = [...new Array(count)].map(() => ''); + for (let i = 0; i < arr.length; i++) { + arr[i] = `15:${String(i).padStart(2, '0')}`; + } + return arr; +}; + +export const setSpeed = (count) => { + const arr = [...new Array(count)].map((i, k) => `${k}`); + return arr; +}; diff --git a/src/views/Fans/DynamicInformation/index.js b/src/views/Fans/DynamicInformation/index.js new file mode 100644 index 00000000..a3dadd5a --- /dev/null +++ b/src/views/Fans/DynamicInformation/index.js @@ -0,0 +1,2 @@ +import FansDynamicPage from './FansDynamicPage.vue'; +export default FansDynamicPage; diff --git a/src/views/Fans/StaticInformation/FansStaticPage.vue b/src/views/Fans/StaticInformation/FansStaticPage.vue new file mode 100644 index 00000000..7c5e6059 --- /dev/null +++ b/src/views/Fans/StaticInformation/FansStaticPage.vue @@ -0,0 +1,141 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.specification')" /> + <span class="bold-16px">{{ $t('tablesDescription.installedFans') }}</span> + <page-section class="bootstrap-table__section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + <template #cell(status)="{ value }"> + <div v-if="value" class="fans-table-col-first__cell"> + <img class="status__img" src="@/assets/images/status/on.svg" /> + <span> + {{ $t('global.status.inWork') }} + </span> + </div> + <div v-else class="fans-table-col-first__cell"> + <img class="status__img" src="@/assets/images/status/off.svg" /> + <span> + {{ $t('global.status.outWorking') }} + </span> + </div> + </template> + </b-table> + </page-section> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; + +export default { + components: { PageTitle, PageSection }, + data() { + return { + isBusy: true, + isAddersСolon: false, + fields: [ + { + key: 'status', + label: 'Статус', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first + fans-table-col-first`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'name', + label: 'Имя', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-center + fans-table-col-second`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'type', + label: 'Тип', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-center + fans-table-col-third`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Номинальная скорость, об/мин', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-last + fans-table-col-third`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + items: [ + { + status: true, + name: 'Венититор 1', + type: 'Системная плата', + value: '2100', + }, + { + status: true, + name: 'Венититор 2', + type: 'Системная плата', + value: '2300', + }, + { + status: false, + name: 'Венититор 3', + type: 'Системная плата', + value: '2400', + }, + ], + }; + }, +}; +</script> +<style lang="scss"> +.fans-table-col-first { + width: 25%; +} + +.fans-table-col-second { + width: 25%; +} + +.fans-table-col-third { + width: 25%; +} +</style> + +<style lang="scss" scoped> +.row { + margin: 0px; +} + +.fans-table-col-first__cell { + display: flex; + flex-flow: row nowrap; + align-items: center; + justify-content: flex-start; +} + +.status__img { + margin-right: 7px; +} + +.bold-16px { + margin: 24px 0 0 2rem; +} +</style> diff --git a/src/views/Fans/StaticInformation/index.js b/src/views/Fans/StaticInformation/index.js new file mode 100644 index 00000000..9a5d913d --- /dev/null +++ b/src/views/Fans/StaticInformation/index.js @@ -0,0 +1,2 @@ +import FansStaticPage from './FansStaticPage.vue'; +export default FansStaticPage; diff --git a/src/views/HardwareStatus/Inventory/Inventory.vue b/src/views/HardwareStatus/Inventory/Inventory.vue index fcdbf8d2..dac395c5 100644 --- a/src/views/HardwareStatus/Inventory/Inventory.vue +++ b/src/views/HardwareStatus/Inventory/Inventory.vue @@ -1,21 +1,23 @@ <template> - <b-container fluid="xl"> - <page-title /> - + <b-container id="page-inventory" fluid class="p-0 m-0"> + <page-title :description="$t('appNavigation.overviewInfo')" /> <!-- Service indicators --> <service-indicator /> <!-- Quicklinks section --> - <page-section :section-title="$t('pageInventory.quicklinkTitle')"> - <b-row class="w-75"> - <b-col v-for="column in quicklinkColumns" :key="column.id" xl="4"> + <page-section + class="bootstrap-table__section" + :section-small-title="$t('pageInventory.quicklinkTitle')" + > + <b-row> + <b-col v-for="column in quicklinkColumns" :key="column.id"> <div v-for="item in column" :key="item.id"> <b-link :href="item.href" :data-ref="item.dataRef" @click.prevent="scrollToOffset" > - <jump-link /> {{ item.linkText }} + {{ item.linkText }} </b-link> </div> </b-col> @@ -61,7 +63,6 @@ import TableProcessors from './InventoryTableProcessors'; import TableAssembly from './InventoryTableAssembly'; import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; import PageSection from '@/components/Global/PageSection'; -import JumpLink16 from '@carbon/icons-vue/es/jump-link/16'; import JumpLinkMixin from '@/components/Mixins/JumpLinkMixin'; import { chunk } from 'lodash'; @@ -78,7 +79,6 @@ export default { TableProcessors, TableAssembly, PageSection, - JumpLink: JumpLink16, }, mixins: [LoadingBarMixin, JumpLinkMixin], beforeRouteLeave(to, from, next) { diff --git a/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue b/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue index 01f4a446..0589aed8 100644 --- a/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue +++ b/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue @@ -1,10 +1,11 @@ <template> <page-section - :section-title="$t('pageInventory.systemIndicator.sectionTitle')" + class="bootstrap-table__section" + :section-small-title="$t('pageInventory.systemIndicator.sectionTitle')" > - <div class="form-background pl-4 pt-4 pb-1"> + <div class="form-background"> <b-row> - <b-col sm="6" md="3"> + <b-col md="4"> <dl> <dt>{{ $t('pageInventory.systemIndicator.powerStatus') }}</dt> <dd> @@ -12,7 +13,7 @@ </dd> </dl> </b-col> - <b-col sm="6" md="3"> + <b-col md="6"> <dl> <dt> {{ $t('pageInventory.systemIndicator.identifyLed') }} @@ -74,3 +75,8 @@ export default { }, }; </script> +<style lang="scss" scoped> +.custom-switch { + margin: 0; +} +</style> diff --git a/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue b/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue index b4010bfe..0a5e9a31 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue @@ -1,12 +1,16 @@ <template> - <page-section :section-title="$t('pageInventory.assemblies')"> + <page-section + class="bootstrap-table__section" + :section-small-title="$t('pageInventory.assemblies')" + > <b-table + class="bootstrap-rounded-table" sort-icon-left no-sort-reset - hover responsive="md" :items="items" :fields="fields" + :fixed="true" show-empty :empty-text="$t('global.table.emptyMessage')" :busy="isBusy" @@ -87,30 +91,48 @@ export default { { key: 'expandRow', label: '', - tdClass: 'table-row-expand', + thStyle: { width: '4%' }, + thClass: 'bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'table-row-expand bootstrap-rounded-table__td', }, { key: 'name', label: this.$t('pageInventory.table.id'), formatter: this.dataFormatter, sortable: true, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'partNumber', label: this.$t('pageInventory.table.partNumber'), formatter: this.dataFormatter, sortable: true, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'locationNumber', label: this.$t('pageInventory.table.locationNumber'), formatter: this.dataFormatter, sortable: true, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'identifyLed', label: this.$t('pageInventory.table.identifyLed'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: ' semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: ' bootstrap-rounded-table__td', }, ], expandRowLabel: expandRowLabel, diff --git a/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue b/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue index 48b914f4..164aca71 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue @@ -1,11 +1,15 @@ <template> - <page-section :section-title="$t('pageInventory.bmcManager')"> + <page-section + class="bootstrap-table__section" + :section-small-title="$t('pageInventory.bmcManager')" + > <b-table + class="bootstrap-rounded-table" responsive="md" - hover + show-empty :items="items" :fields="fields" - show-empty + :fixed="true" :empty-text="$t('global.table.emptyMessage')" :busy="isBusy" > @@ -181,27 +185,45 @@ export default { { key: 'expandRow', label: '', - tdClass: 'table-row-expand', + thStyle: { width: '4%' }, + thClass: 'bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'table-row-expand bootstrap-rounded-table__td', }, { key: 'id', label: this.$t('pageInventory.table.id'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'health', label: this.$t('pageInventory.table.health'), formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'locationNumber', label: this.$t('pageInventory.table.locationNumber'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'identifyLed', label: this.$t('pageInventory.table.identifyLed'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: ' semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: ' bootstrap-rounded-table__td', }, ], expandRowLabel: expandRowLabel, @@ -243,3 +265,38 @@ export default { }, }; </script> +<style lang="scss" scoped> +// .row { +// margin: 0px; +// flex-wrap: nowrap; +// } +// .fans-table-col-first__cell { +// display: flex; +// flex-flow: row nowrap; +// align-items: center; +// justify-content: flex-start; +// } + +// .status__img { +// margin-right: 7px; +// } + +// .bold-12px__caps { +// color: $text-secondary; +// } + +// .attrib-names { +// border-bottom: 1px solid $faint-secondary-primary-10; +// color: $text-secondary !important; +// font-weight: 600; +// } + +// .custom-switch { +// margin: 0; +// } + +// .btn-link { +// width: 30px !important; +// height: 20px !important; +// } +</style> diff --git a/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue b/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue index b49cec7f..dc6bf573 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue @@ -1,11 +1,15 @@ <template> - <page-section :section-title="$t('pageInventory.chassis')"> + <page-section + class="bootstrap-table__section" + :section-small-title="$t('pageInventory.chassis')" + > <b-table + class="bootstrap-rounded-table" responsive="md" - hover + show-empty :items="chassis" :fields="fields" - show-empty + :fixed="true" :empty-text="$t('global.table.emptyMessage')" :busy="isBusy" > @@ -134,28 +138,45 @@ export default { { key: 'expandRow', label: '', - tdClass: 'table-row-expand', + thStyle: { width: '4%' }, + thClass: 'bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'table-row-expand bootstrap-rounded-table__td', }, { key: 'id', label: this.$t('pageInventory.table.id'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'health', label: this.$t('pageInventory.table.health'), formatter: this.dataFormatter, - tdClass: 'text-nowrap', + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'text-nowrap regular-12px bootstrap-rounded-table__td', }, { key: 'locationNumber', label: this.$t('pageInventory.table.locationNumber'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'identifyLed', label: this.$t('pageInventory.table.identifyLed'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: ' semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: ' bootstrap-rounded-table__td', }, ], expandRowLabel: expandRowLabel, diff --git a/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue b/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue index 65994810..86701b54 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue @@ -1,5 +1,8 @@ <template> - <page-section :section-title="$t('pageInventory.dimmSlot')"> + <page-section + class="bootstrap-table__section" + :section-small-title="$t('pageInventory.dimmSlot')" + > <b-row class="align-items-end"> <b-col sm="6" md="5" xl="4"> <search @@ -15,15 +18,16 @@ </b-col> </b-row> <b-table + class="bootstrap-rounded-table" sort-icon-left no-sort-reset - hover sort-by="health" responsive="md" show-empty :items="dimms" :fields="fields" :sort-desc="true" + :fixed="true" :sort-compare="sortCompare" :filter="searchFilter" :empty-text="$t('global.table.emptyMessage')" @@ -187,28 +191,45 @@ export default { { key: 'expandRow', label: '', - tdClass: 'table-row-expand', + thStyle: { width: '4%' }, + thClass: 'bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'table-row-expand bootstrap-rounded-table__td', }, { key: 'id', label: this.$t('pageInventory.table.id'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'health', label: this.$t('pageInventory.table.health'), formatter: this.dataFormatter, - tdClass: 'text-nowrap', + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'text-nowrap regular-12px bootstrap-rounded-table__td', }, { key: 'locationNumber', label: this.$t('pageInventory.table.locationNumber'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'identifyLed', label: this.$t('pageInventory.table.identifyLed'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: ' semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: ' bootstrap-rounded-table__td', }, ], searchFilter: searchFilter, diff --git a/src/views/HardwareStatus/Inventory/InventoryTableFans.vue b/src/views/HardwareStatus/Inventory/InventoryTableFans.vue index fe788c53..9c3773f0 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableFans.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableFans.vue @@ -1,5 +1,8 @@ <template> - <page-section :section-title="$t('pageInventory.fans')"> + <page-section + class="bootstrap-table__section" + :section-small-title="$t('pageInventory.fans')" + > <b-row class="align-items-end"> <b-col sm="6" md="5" xl="4"> <search @@ -15,15 +18,16 @@ </b-col> </b-row> <b-table + class="bootstrap-rounded-table" sort-icon-left no-sort-reset - hover responsive="md" sort-by="health" show-empty :items="fans" :fields="fields" :sort-desc="true" + :fixed="true" :sort-compare="sortCompare" :filter="searchFilter" :empty-text="$t('global.table.emptyMessage')" @@ -126,32 +130,49 @@ export default { { key: 'expandRow', label: '', - tdClass: 'table-row-expand', sortable: false, + thStyle: { width: '4%' }, + thClass: 'bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'table-row-expand bootstrap-rounded-table__td', }, { key: 'id', label: this.$t('pageInventory.table.id'), formatter: this.dataFormatter, sortable: true, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'health', label: this.$t('pageInventory.table.health'), formatter: this.dataFormatter, sortable: true, - tdClass: 'text-nowrap', + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'text-nowrap regular-12px bootstrap-rounded-table__td', }, { key: 'partNumber', label: this.$t('pageInventory.table.partNumber'), formatter: this.dataFormatter, sortable: true, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'serialNumber', label: this.$t('pageInventory.table.serialNumber'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: ' semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: ' bootstrap-rounded-table__td', }, ], searchFilter: searchFilter, diff --git a/src/views/HardwareStatus/Inventory/InventoryTablePowerSupplies.vue b/src/views/HardwareStatus/Inventory/InventoryTablePowerSupplies.vue index aed7871a..52cfd8b5 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTablePowerSupplies.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTablePowerSupplies.vue @@ -1,5 +1,8 @@ <template> - <page-section :section-title="$t('pageInventory.powerSupplies')"> + <page-section + class="bootstrap-table__section" + :section-small-title="$t('pageInventory.powerSupplies')" + > <b-row class="align-items-end"> <b-col sm="6" md="5" xl="4"> <search @@ -15,6 +18,7 @@ </b-col> </b-row> <b-table + class="bootstrap-rounded-table" sort-icon-left no-sort-reset hover @@ -144,32 +148,49 @@ export default { { key: 'expandRow', label: '', - tdClass: 'table-row-expand', sortable: false, + thStyle: { width: '4%' }, + thClass: 'bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'table-row-expand bootstrap-rounded-table__td', }, { key: 'id', label: this.$t('pageInventory.table.id'), formatter: this.dataFormatter, sortable: true, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'health', label: this.$t('pageInventory.table.health'), formatter: this.dataFormatter, sortable: true, - tdClass: 'text-nowrap', + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'text-nowrap regular-12px bootstrap-rounded-table__td', }, { key: 'locationNumber', label: this.$t('pageInventory.table.locationNumber'), formatter: this.dataFormatter, sortable: true, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'identifyLed', label: this.$t('pageInventory.table.identifyLed'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: ' semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: ' bootstrap-rounded-table__td', }, ], searchFilter: searchFilter, diff --git a/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue b/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue index 7d5dd700..0c1b019f 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue @@ -1,5 +1,8 @@ <template> - <page-section :section-title="$t('pageInventory.processors')"> + <page-section + class="bootstrap-table__section" + :section-small-title="$t('pageInventory.processors')" + > <!-- Search --> <b-row class="align-items-end"> <b-col sm="6" md="5" xl="4"> @@ -12,10 +15,12 @@ <table-cell-count :filtered-items-count="filteredRows" :total-number-of-cells="processors.length" - ></table-cell-count> + > + </table-cell-count> </b-col> </b-row> <b-table + class="bootstrap-rounded-table" sort-icon-left no-sort-reset hover @@ -24,6 +29,7 @@ :items="processors" :fields="fields" :sort-desc="true" + :fixed="true" :filter="searchFilter" :empty-text="$t('global.table.emptyMessage')" :empty-filtered-text="$t('global.table.emptySearchMessage')" @@ -178,33 +184,64 @@ export default { { key: 'expandRow', label: '', - tdClass: 'table-row-expand', sortable: false, + thStyle: { width: '4%' }, + thClass: 'bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'table-row-expand bootstrap-rounded-table__td', }, { key: 'id', label: this.$t('pageInventory.table.id'), formatter: this.dataFormatter, sortable: true, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'health', label: this.$t('pageInventory.table.health'), formatter: this.dataFormatter, sortable: true, - tdClass: 'text-nowrap', + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'text-nowrap regular-12px bootstrap-rounded-table__td', }, { key: 'locationNumber', label: this.$t('pageInventory.table.locationNumber'), formatter: this.dataFormatter, sortable: true, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'identifyLed', label: this.$t('pageInventory.table.identifyLed'), formatter: this.dataFormatter, sortable: false, + thStyle: { width: '20%' }, + thClass: ' semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: ' bootstrap-rounded-table__td', + }, + ], + processors: [ + { + id: 'Процессор №1', + health: 'v3.1.5', + locationNumber: '2.4', + identifyLed: '4', + }, + { + id: 'Процессор №1', + health: 'v3.1.5', + locationNumber: '2.4', + identifyLed: '4', }, ], searchFilter: searchFilter, @@ -218,9 +255,9 @@ export default { ? this.searchTotalFilteredRows : this.processors.length; }, - processors() { - return this.$store.getters['processors/processors']; - }, + // processors() { + // return this.$store.getters['processors/processors']; + // }, }, created() { this.$store.dispatch('processors/getProcessorsInfo').finally(() => { diff --git a/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue b/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue index cf2cf020..25d5b38e 100644 --- a/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue +++ b/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue @@ -1,11 +1,15 @@ <template> - <page-section :section-title="$t('pageInventory.system')"> + <page-section + class="bootstrap-table__section" + :section-small-title="$t('pageInventory.system')" + > <b-table + class="bootstrap-rounded-table" responsive="md" - hover show-empty :items="systems" :fields="fields" + :fixed="true" :empty-text="$t('global.table.emptyMessage')" :busy="isBusy" > @@ -26,7 +30,7 @@ <!-- Health --> <template #cell(health)="{ value }"> <status-icon :status="statusIcon(value)" /> - {{ value }} + {{ statusIcon(value) }} </template> <template #cell(locationIndicatorActive)="{ item }"> @@ -168,34 +172,53 @@ export default { { key: 'expandRow', label: '', - tdClass: 'table-row-expand', + thStyle: { width: '4%' }, + thClass: 'bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'table-row-expand bootstrap-rounded-table__td', }, { key: 'id', label: this.$t('pageInventory.table.id'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'hardwareType', label: this.$t('pageInventory.table.hardwareType'), formatter: this.dataFormatter, - tdClass: 'text-nowrap', + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'text-nowrap regular-12px bootstrap-rounded-table__td', }, { key: 'health', label: this.$t('pageInventory.table.health'), formatter: this.dataFormatter, - tdClass: 'text-nowrap', + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'locationNumber', label: this.$t('pageInventory.table.locationNumber'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'locationIndicatorActive', label: this.$t('pageInventory.table.identifyLed'), formatter: this.dataFormatter, + thStyle: { width: '20%' }, + thClass: ' semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: ' bootstrap-rounded-table__td', }, ], expandRowLabel: expandRowLabel, @@ -222,3 +245,8 @@ export default { }, }; </script> +<style lang="scss" scoped> +.custom-switch { + margin: 0; +} +</style> diff --git a/src/views/InformationAndFAQ/InformationAndFAQ.vue b/src/views/InformationAndFAQ/InformationAndFAQ.vue new file mode 100644 index 00000000..ede7b3d8 --- /dev/null +++ b/src/views/InformationAndFAQ/InformationAndFAQ.vue @@ -0,0 +1,9 @@ +<template> + <span>This Page (Information And FAQ) In develop</span> +</template> + +<script> +export default { + name: 'InformationAndFAQ', +}; +</script> diff --git a/src/views/InformationAndFAQ/index.js b/src/views/InformationAndFAQ/index.js new file mode 100644 index 00000000..6bbeaba6 --- /dev/null +++ b/src/views/InformationAndFAQ/index.js @@ -0,0 +1 @@ +export { default } from './InformationAndFAQ.vue'; diff --git a/src/views/Login/Login.vue b/src/views/Login/Login.vue index 8d96573a..582e19f0 100644 --- a/src/views/Login/Login.vue +++ b/src/views/Login/Login.vue @@ -5,15 +5,30 @@ {{ $t('pageLogin.alert.message') }} </p> </alert> - <b-form-group label-for="language" :label="$t('pageLogin.language')"> + <!-- <b-form-group label-for="language" :label="$t('pageLogin.language')"> <b-form-select id="language" v-model="$i18n.locale" :options="languages" data-test-id="login-select-language" ></b-form-select> - </b-form-group> - <b-form-group label-for="username" :label="$t('pageLogin.username')"> + </b-form-group> --> + <b-form-group + class="bold-24px" + label-for="auth" + :label="$t('pageLogin.auth')" + ></b-form-group> + + <b-form-group + label-for="auth" + class="auth-description" + :label="$t('pageLogin.authDescription')" + ></b-form-group> + + <b-form-group> + <label class="regular-12px tretiatry" for="username">{{ + $t('pageLogin.username') + }}</label> <b-form-input id="username" v-model="userInfo.username" @@ -22,6 +37,7 @@ type="text" autofocus="autofocus" data-test-id="login-input-username" + class="form-control-with-button username-input" @input="$v.userInfo.username.$touch()" > </b-form-input> @@ -31,9 +47,12 @@ </template> </b-form-invalid-feedback> </b-form-group> - <div class="login-form__section mb-3"> - <label for="password">{{ $t('pageLogin.password') }}</label> + + <b-form-group> <input-password-toggle> + <label class="regular-12px tretiatry" for="password">{{ + $t('pageLogin.password') + }}</label> <b-form-input id="password" v-model="userInfo.password" @@ -41,19 +60,20 @@ :state="getValidationState($v.userInfo.password)" type="password" data-test-id="login-input-password" - class="form-control-with-button" + class="form-control-with-button password-input" @input="$v.userInfo.password.$touch()" > </b-form-input> + <b-form-invalid-feedback id="password-required" role="alert"> + <template v-if="!$v.userInfo.password.required"> + {{ $t('global.form.fieldRequired') }} + </template> + </b-form-invalid-feedback> </input-password-toggle> - <b-form-invalid-feedback id="password-required" role="alert"> - <template v-if="!$v.userInfo.password.required"> - {{ $t('global.form.fieldRequired') }} - </template> - </b-form-invalid-feedback> - </div> + </b-form-group> + <b-button - class="mt-3" + class="login-button" type="submit" variant="primary" data-test-id="login-button-submit" @@ -83,6 +103,10 @@ export default { disableSubmitButton: false, languages: [ { + value: 'ru-RU', + text: 'Русский', + }, + { value: 'en-US', text: 'English', }, @@ -90,10 +114,6 @@ export default { value: 'es', text: 'Español', }, - { - value: 'ru-RU', - text: 'Русский', - }, ], }; }, @@ -144,3 +164,35 @@ export default { }, }; </script> +<style scoped> +.regular-12px { + margin-left: 10px; +} +.username-input, +.password-input { + height: 56px; + margin: -30px 0 0 0; + padding-top: 30px; + font-family: 'Inter', sans-serif; + font-size: 14px; + font-weight: 500; + line-height: 20px; + letter-spacing: 0em; +} + +.text-input { + margin: 0 0 0 50px; + padding: 0 0 0 5px; +} + +.login-button { + height: 36px; + width: 380px; +} + +@media (max-width: 576px) { + .login-button { + width: 100%; + } +} +</style> diff --git a/src/views/Login/index.js b/src/views/Login/index.js index 8fe0250d..3eac6cc0 100644 --- a/src/views/Login/index.js +++ b/src/views/Login/index.js @@ -1,2 +1 @@ -import Login from './Login.vue'; -export default Login; +export { default } from './Login.vue'; diff --git a/src/views/Logs/EventLogs/EventLogs.vue b/src/views/Logs/EventLogs/EventLogs.vue index 5b8ca110..41de40fd 100644 --- a/src/views/Logs/EventLogs/EventLogs.vue +++ b/src/views/Logs/EventLogs/EventLogs.vue @@ -1,63 +1,93 @@ <template> - <b-container fluid="xl"> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + class="logs-section" + > <page-title /> + <div class="logs-head-container"> + <table-cell-count + :filtered-items-count="filteredRows" + :total-number-of-cells="allLogs.length" + ></table-cell-count> + <search + :placeholder="$t('pageEventLogs.table.searchLogs')" + data-test-id="eventLogs-input-searchLogs" + style="margin: 13px; width: 35%" + @change-search="onChangeSearchInput" + @clear-search="onClearSearchInput" + /> + </div> <b-row class="align-items-start"> - <b-col sm="8" xl="6" class="d-sm-flex align-items-end mb-4"> - <search - :placeholder="$t('pageEventLogs.table.searchLogs')" - data-test-id="eventLogs-input-searchLogs" - @change-search="onChangeSearchInput" - @clear-search="onClearSearchInput" - /> - <div class="ml-sm-4"> - <table-cell-count - :filtered-items-count="filteredRows" - :total-number-of-cells="allLogs.length" - ></table-cell-count> - </div> - </b-col> - <b-col sm="8" md="7" xl="6"> + <b-col md="12" xl="6"> <table-date-filter @change="onChangeDateTimeFilter" /> </b-col> - </b-row> - <b-row> - <b-col class="text-right"> + <b-col + md="12" + xl="6" + class="d-flex align-items-end justify-content-between mt-3" + > <table-filter :filters="tableFilters" @filter-change="onFilterChange" /> - <b-button - variant="link" - :disabled="allLogs.length === 0" - @click="deleteAllLogs" + <popover-with-slot + id="popover-delete" + :button-label="$t('pageEventLogs.clear')" + :popup-label="$t('pageEventLogs.clearLogs_popup')" + placement="left" + :action="deleteAllLogs" > - <icon-delete /> {{ $t('global.action.deleteAll') }} - </b-button> + <b-button + id="popover-delete" + ref="button" + variant="link" + style="color: $red-brand-primary" + :disabled="allLogs.length === 0" + > + <icon-delete /> {{ $t('pageEventLogs.clearLogs') }} + </b-button> + </popover-with-slot> <b-button variant="primary" + size="md" :class="{ disabled: allLogs.length === 0 }" :download="exportFileNameByDate()" :href="href" > - <icon-export /> {{ $t('global.action.exportAll') }} + <icon-download /> {{ $t('global.action.exportAll') }} </b-button> </b-col> </b-row> <b-row> - <b-col> + <b-col id="logs-table-wrapper" class="m-0 p-0"> <table-toolbar ref="toolbar" :selected-items-count="selectedRows.length" :actions="batchActions" @clear-selected="clearSelectedRows($refs.table)" - @batch-action="onBatchAction" > <template #toolbar-buttons> - <b-button variant="primary" @click="resolveLogs"> + <b-button + size="md" + variant="secondary" + style="margin-right: 1rem" + @click="resolveLogs" + > + <img + class="sourse__img" + src="@/assets/images/event-logs/resolved-button.svg" + /> {{ $t('pageEventLogs.resolve') }} </b-button> - <b-button variant="primary" @click="unresolveLogs"> + <b-button + size="md" + variant="primary" + style="margin-right: 1rem" + @click="unresolveLogs" + > {{ $t('pageEventLogs.unresolve') }} </b-button> <table-toolbar-export :data="batchExportData" + style="margin-right: 1rem" :file-name="exportFileNameByDate()" /> </template> @@ -66,6 +96,7 @@ id="table-event-logs" ref="table" responsive="md" + class="logs-table" selectable no-select-on-click sort-icon-left @@ -73,7 +104,9 @@ no-sort-reset sort-desc show-empty + no-border-collapse sort-by="id" + :sticky-header="true" :fields="fields" :items="filteredLogs" :sort-compare="onSortCompare" @@ -106,126 +139,123 @@ <span class="sr-only">{{ $t('global.table.selectItem') }}</span> </b-form-checkbox> </template> - - <!-- Expand chevron icon --> - <template #cell(expandRow)="row"> - <b-button - variant="link" - :aria-label="expandRowLabel" - :title="expandRowLabel" - class="btn-icon-only" - @click="toggleRowDetails(row)" + <!-- Description column --> + <template #cell(description)="data"> + <b-row class="semi-bold-16px tretiatry"> + {{ filteredLogs[data.index].name }} + </b-row> + <b-row + class="regular-12px tretiatry pointer" + @click="toggleRowDetails(data)" > - <icon-chevron /> - </b-button> + {{ data.value }} + </b-row> </template> <template #row-details="{ item }"> - <b-container fluid> + <b-container + fluid + style="border-bottom: 1px solid rgba(26, 62, 91, 0.1)" + > <b-row> - <b-col> + <b-col class="mt-1"> <dl> <!-- Name --> - <dt>{{ $t('pageEventLogs.table.name') }}:</dt> - <dd>{{ dataFormatter(item.name) }}</dd> + <dt class="semi-bold-12px"> + {{ $t('pageEventLogs.table.name') }}: + </dt> + <dd class="regular-12px">{{ dataFormatter(item.name) }}</dd> </dl> <dl> - <!-- Type --> - <dt>{{ $t('pageEventLogs.table.type') }}:</dt> - <dd>{{ dataFormatter(item.type) }}</dd> + <!-- Description --> + <dt class="semi-bold-12px"> + {{ $t('pageEventLogs.table.description') }}: + </dt> + <dd class="regular-12px tretiatry"> + {{ dataFormatter(item.description) }} + </dd> </dl> - </b-col> - <b-col> <dl> - <!-- Modified date --> - <dt>{{ $t('pageEventLogs.table.modifiedDate') }}:</dt> - <dd v-if="item.modifiedDate"> - {{ item.modifiedDate | formatDate }} - {{ item.modifiedDate | formatTime }} + <!-- Type --> + <dt class="semi-bold-12px"> + {{ $t('pageEventLogs.table.type') }}: + </dt> + <dd class="regular-12px tretiatry"> + {{ dataFormatter(item.type) }} </dd> - <dd v-else>--</dd> </dl> </b-col> - <b-col class="text-nowrap"> - <b-button - class="btn btn-secondary float-right" - :href="item.additionalDataUri" - target="_blank" - > - <icon-download />{{ $t('pageEventLogs.additionalDataUri') }} - </b-button> - </b-col> </b-row> </b-container> </template> <!-- Severity column --> <template #cell(severity)="{ value }"> - <status-icon v-if="value" :status="statusIcon(value)" /> - {{ value }} + <span + :class="`indicators-${value}`" + class="bold-12px__caps" + style="text-overflow: ellipsis; white-space: nowrap" + > + {{ value }}</span + > </template> <!-- Date column --> <template #cell(date)="{ value }"> - <p class="mb-0">{{ value | formatDate }}</p> - <p class="mb-0">{{ value | formatTime }}</p> + <img + src="@/assets/images/event-logs/time.svg" + class="sourse__img" + /> + <span v-if="value" class="regular-12px quaternary"> + {{ value | formatDate }} + </span> + <span v-if="value" class="regular-12px quaternary"> + в {{ value | formatTimeShort }} + </span> </template> <!-- Status column --> - <template #cell(status)="row"> - <b-form-checkbox - v-model="row.item.status" - name="switch" - switch - @change="changelogStatus(row.item)" - > - <span v-if="row.item.status"> + <template #cell(status)="{ value }"> + <b-row v-if="value === true"> + <img + class="sourse__img" + src="@/assets/images/event-logs/resolved.svg" + /> + <span class="semi-bold-12px__caps resolved"> {{ $t('pageEventLogs.resolved') }} </span> - <span v-else> {{ $t('pageEventLogs.unresolved') }} </span> - </b-form-checkbox> - </template> - <template #cell(filterByStatus)="{ value }"> - {{ value }} - </template> - - <!-- Actions column --> - <template #cell(actions)="row"> - <table-row-action - v-for="(action, index) in row.item.actions" - :key="index" - :value="action.value" - :title="action.title" - :row-data="row.item" - :export-name="exportFileNameByDate('export')" - :data-test-id="`eventLogs-button-deleteRow-${row.index}`" - @click-table-action="onTableRowAction($event, row.item)" - > - <template #icon> - <icon-export v-if="action.value === 'export'" /> - <icon-trashcan v-if="action.value === 'delete'" /> - </template> - </table-row-action> + </b-row> + <b-row v-else> + <img + class="sourse__img" + src="@/assets/images/event-logs/not-resolved.svg" + /> + <span class="semi-bold-12px__caps not-resolved"> + {{ $t('pageEventLogs.unresolved') }}</span + > + </b-row> </template> </b-table> </b-col> </b-row> - <!-- Table pagination --> - <b-row> - <b-col sm="6"> + <b-row class="logs-pagination-container"> + <b-col sm="6" class="d-flex align-items-center justify-content-start"> <b-form-group class="table-pagination-select" :label="$t('global.table.itemsPerPage')" - label-for="pagination-items-per-page" + label-class="semi-bold-16px mb-0" + label-for="pagination" > <b-form-select - id="pagination-items-per-page" + id="pagination" v-model="perPage" + class="select-per-page semi-bold-16px mb-0" :options="itemsPerPageOptions" /> </b-form-group> </b-col> - <b-col sm="6"> + <b-col sm="6" class="d-flex align-items-center justify-content-end"> + <span class="semi-bold-16px"> Страницы </span> <b-pagination v-model="currentPage" first-number @@ -241,21 +271,17 @@ <script> import IconDelete from '@carbon/icons-vue/es/trash-can/20'; -import IconTrashcan from '@carbon/icons-vue/es/trash-can/20'; -import IconExport from '@carbon/icons-vue/es/document--export/20'; -import IconChevron from '@carbon/icons-vue/es/chevron--down/20'; import IconDownload from '@carbon/icons-vue/es/download/20'; import { omit } from 'lodash'; import PageTitle from '@/components/Global/PageTitle'; -import StatusIcon from '@/components/Global/StatusIcon'; import Search from '@/components/Global/Search'; import TableCellCount from '@/components/Global/TableCellCount'; import TableDateFilter from '@/components/Global/TableDateFilter'; import TableFilter from '@/components/Global/TableFilter'; -import TableRowAction from '@/components/Global/TableRowAction'; import TableToolbar from '@/components/Global/TableToolbar'; import TableToolbarExport from '@/components/Global/TableToolbarExport'; +import PopoverWithSlot from '@/components/Global/SilaComponents/PopoverWithSlot'; import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; import TableFilterMixin from '@/components/Mixins/TableFilterMixin'; @@ -282,19 +308,15 @@ import SearchFilterMixin, { export default { components: { IconDelete, - IconExport, - IconTrashcan, - IconChevron, IconDownload, PageTitle, Search, - StatusIcon, TableCellCount, TableFilter, - TableRowAction, TableToolbar, TableToolbarExport, TableDateFilter, + PopoverWithSlot, }, mixins: [ BVPaginationMixin, @@ -316,47 +338,52 @@ export default { data() { return { isBusy: true, + sortDesc: true, fields: [ { - key: 'expandRow', - label: '', - tdClass: 'table-row-expand', - }, - { key: 'checkbox', sortable: false, + thClass: ' logs-table__th', + tdClass: 'logs-table__td', }, { key: 'id', label: this.$t('pageEventLogs.table.id'), sortable: true, + thClass: 'bold-12px__caps logs-table__th', + tdClass: 'semi-bold-12px logs-table__td', + }, + { + key: 'description', + label: this.$t('pageEventLogs.table.about_event'), + thClass: 'bold-12px__caps logs-table__th', + tdClass: 'logs-table__td', }, { key: 'severity', label: this.$t('pageEventLogs.table.severity'), - sortable: true, - tdClass: 'text-nowrap', + thClass: 'bold-12px__caps logs-table__th', + tdClass: 'logs-table__td', + }, + { + key: 'source', + label: this.$t('pageEventLogs.table.source'), + thClass: 'bold-12px__caps logs-table__th', + tdClass: 'logs-table__td semi-bold-12px__caps tretiatry ', }, { key: 'date', label: this.$t('pageEventLogs.table.date'), sortable: true, - tdClass: 'text-nowrap', - }, - { - key: 'description', - label: this.$t('pageEventLogs.table.description'), - tdClass: 'text-break', + thClass: `bold-12px__caps logs-table__th`, + tdClass: 'logs-table__td', }, { key: 'status', + sortable: true, label: this.$t('pageEventLogs.table.status'), - }, - { - key: 'actions', - sortable: false, - label: '', - tdClass: 'text-right text-nowrap', + thClass: 'bold-12px__caps logs-table__th', + tdClass: 'logs-table__td', }, ], tableFilters: [ @@ -431,7 +458,7 @@ export default { return this.getFilteredTableData( this.filteredLogsByDate, this.activeFilters - ); + ).filter((el) => el.description); }, }, created() { @@ -454,21 +481,10 @@ export default { .catch(({ message }) => this.errorToast(message)); }, deleteAllLogs() { - this.$bvModal - .msgBoxConfirm(this.$t('pageEventLogs.modal.deleteAllMessage'), { - title: this.$t('pageEventLogs.modal.deleteAllTitle'), - okTitle: this.$t('global.action.delete'), - okVariant: 'danger', - cancelTitle: this.$t('global.action.cancel'), - }) - .then((deleteConfirmed) => { - if (deleteConfirmed) { - this.$store - .dispatch('eventLog/deleteAllEventLogs', this.allLogs) - .then((message) => this.successToast(message)) - .catch(({ message }) => this.errorToast(message)); - } - }); + this.$store + .dispatch('eventLog/deleteAllEventLogs', this.allLogs) + .then((message) => this.successToast(message)) + .catch(({ message }) => this.errorToast(message)); }, deleteLogs(uris) { this.$store @@ -602,3 +618,17 @@ export default { }, }; </script> +<style lang="scss" scoped> +.row { + margin: 0px; +} + +.not-resolved { + color: $text-quaternary; +} + +.form-group, +.b-pagination { + margin: 0px !important; +} +</style> diff --git a/src/views/Logs/PostCodeLogs/PostCodeLogs.vue b/src/views/Logs/PostCodeLogs/PostCodeLogs.vue index d116d2ed..14359dfb 100644 --- a/src/views/Logs/PostCodeLogs/PostCodeLogs.vue +++ b/src/views/Logs/PostCodeLogs/PostCodeLogs.vue @@ -1,26 +1,27 @@ <template> - <b-container fluid="xl"> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + class="logs-section" + > <page-title /> - <b-row class="align-items-start"> - <b-col sm="8" xl="6" class="d-sm-flex align-items-end mb-4"> - <search - :placeholder="$t('pagePostCodeLogs.table.searchLogs')" - @change-search="onChangeSearchInput" - @clear-search="onClearSearchInput" - /> - <div class="ml-sm-4"> - <table-cell-count - :filtered-items-count="filteredRows" - :total-number-of-cells="allLogs.length" - ></table-cell-count> - </div> - </b-col> - <b-col sm="8" md="7" xl="6"> + <div class="logs-head-container"> + <table-cell-count + :filtered-items-count="filteredRows" + :total-number-of-cells="allLogs.length" + ></table-cell-count> + <search + :placeholder="$t('pagePostCodeLogs.table.searchLogs')" + style="margin: 13px; width: 35%" + @change-search="onChangeSearchInput" + @clear-search="onClearSearchInput" + /> + </div> + <b-row class="align-items-start m-0 p-0"> + <b-col sm="7" md="6" xl="5"> <table-date-filter @change="onChangeDateTimeFilter" /> </b-col> - </b-row> - <b-row> - <b-col xl="12" class="text-right"> + <b-col class="d-flex justify-content-end mt-3"> <b-button variant="primary" :disabled="allLogs.length === 0" @@ -31,8 +32,8 @@ </b-button> </b-col> </b-row> - <b-row> - <b-col> + <b-row class="m-0 p-0"> + <b-col class="p-0"> <table-toolbar ref="toolbar" :selected-items-count="selectedRows.length" @@ -40,107 +41,116 @@ > <template #toolbar-buttons> <table-toolbar-export + style="margin-right: 1rem" :data="batchExportData" :file-name="exportFileNameByDate()" /> </template> </table-toolbar> - <b-table - id="table-post-code-logs" - ref="table" - responsive="md" - selectable - no-select-on-click - sort-icon-left - hover - no-sort-reset - sort-desc - show-empty - sort-by="id" - :fields="fields" - :items="filteredLogs" - :empty-text="$t('global.table.emptyMessage')" - :empty-filtered-text="$t('global.table.emptySearchMessage')" - :per-page="perPage" - :current-page="currentPage" - :filter="searchFilter" - :busy="isBusy" - @filtered="onFiltered" - @row-selected="onRowSelected($event, filteredLogs.length)" - > - <!-- Checkbox column --> - <template #head(checkbox)> - <b-form-checkbox - v-model="tableHeaderCheckboxModel" - data-test-id="postCode-checkbox-selectAll" - :indeterminate="tableHeaderCheckboxIndeterminate" - @change="onChangeHeaderCheckbox($refs.table)" - > - <span class="sr-only">{{ $t('global.table.selectAll') }}</span> - </b-form-checkbox> - </template> - <template #cell(checkbox)="row"> - <b-form-checkbox - v-model="row.rowSelected" - :data-test-id="`postCode-checkbox-selectRow-${row.index}`" - @change="toggleSelectRow($refs.table, row.index)" - > - <span class="sr-only">{{ $t('global.table.selectItem') }}</span> - </b-form-checkbox> - </template> - <!-- Date column --> - <template #cell(date)="{ value }"> - <p class="mb-0">{{ value | formatDate }}</p> - <p class="mb-0">{{ value | formatTime }}</p> - </template> + <div id="logs-table-wrapper"> + <b-table + id="logs-table" + ref="table" + responsive="md" + class="logs-table" + selectable + no-select-on-click + sort-icon-left + hover + no-sort-reset + sort-desc + show-empty + sort-by="id" + :no-border-collapse="true" + :sticky-header="true" + :fields="fields" + :items="filteredLogs" + :empty-text="$t('global.table.emptyMessage')" + :empty-filtered-text="$t('global.table.emptySearchMessage')" + :per-page="perPage" + :current-page="currentPage" + :filter="searchFilter" + :busy="isBusy" + @filtered="onFiltered" + @row-selected="onRowSelected($event, filteredLogs.length)" + > + <!-- Checkbox column --> + <template #head(checkbox)> + <b-form-checkbox + v-model="tableHeaderCheckboxModel" + data-test-id="postCode-checkbox-selectAll" + :indeterminate="tableHeaderCheckboxIndeterminate" + @change="onChangeHeaderCheckbox($refs.table)" + > + <span class="sr-only">{{ $t('global.table.selectAll') }}</span> + </b-form-checkbox> + </template> + <template #cell(checkbox)="row"> + <b-form-checkbox + v-model="row.rowSelected" + :data-test-id="`postCode-checkbox-selectRow-${row.index}`" + @change="toggleSelectRow($refs.table, row.index)" + > + <span class="sr-only">{{ $t('global.table.selectItem') }}</span> + </b-form-checkbox> + </template> + <!-- Date column --> + <template #cell(date)="{ value }"> + <p class="mb-0">{{ value | formatDate }}</p> + <p class="mb-0">{{ value | formatTime }}</p> + </template> - <!-- Actions column --> - <template #cell(actions)="row"> - <table-row-action - v-for="(action, index) in row.item.actions" - :key="index" - :value="action.value" - :title="action.title" - :row-data="row.item" - :btn-icon-only="true" - :export-name="exportFileNameByDate(action.value)" - :download-location="row.item.uri" - :download-in-new-tab="true" - :show-button="false" - > - <template #icon> - <icon-export v-if="action.value === 'export'" /> - <icon-download v-if="action.value === 'download'" /> - </template> - </table-row-action> - </template> - </b-table> + <!-- Actions column --> + <template #cell(actions)="row"> + <table-row-action + v-for="(action, index) in row.item.actions" + :key="index" + :value="action.value" + :title="action.title" + :row-data="row.item" + :btn-icon-only="true" + :export-name="exportFileNameByDate(action.value)" + :download-location="row.item.uri" + :download-in-new-tab="true" + :show-button="false" + > + <template #icon> + <icon-export v-if="action.value === 'export'" /> + <icon-download v-if="action.value === 'download'" /> + </template> + </table-row-action> + </template> + </b-table> + </div> </b-col> </b-row> <!-- Table pagination --> - <b-row> - <b-col sm="6"> + <b-row class="logs-pagination-container m-0"> + <b-col sm="6" class="d-flex align-items-center justify-content-start"> <b-form-group class="table-pagination-select" :label="$t('global.table.itemsPerPage')" + label-class="semi-bold-16px mb-0" label-for="pagination-items-per-page" > <b-form-select id="pagination-items-per-page" v-model="perPage" + class="select-per-page semi-bold-16px mb-0" :options="itemsPerPageOptions" /> </b-form-group> </b-col> - <b-col sm="6"> + <b-col sm="6" class="d-flex align-items-center justify-content-end"> + <span class="semi-bold-16px"> Страницы </span> <b-pagination v-model="currentPage" first-number last-number :per-page="perPage" :total-rows="getTotalRowCount(filteredRows)" - aria-controls="table-post-code-logs" + aria-controls="table-event-logs" /> </b-col> </b-row> @@ -210,32 +220,44 @@ export default { data() { return { isBusy: true, + // stickyHeader: 'calc(100vh - 307px)', fields: [ { key: 'checkbox', sortable: false, + thClass: ' logs-table__th', + tdClass: 'logs-table__td', }, { key: 'date', label: this.$t('pagePostCodeLogs.table.created'), sortable: true, + thClass: 'bold-12px__caps logs-table__th', + tdClass: 'semi-bold-12px logs-table__td', }, { key: 'timeStampOffset', label: this.$t('pagePostCodeLogs.table.timeStampOffset'), + thClass: 'bold-12px__caps logs-table__th', + tdClass: 'logs-table__td', }, { key: 'bootCount', label: this.$t('pagePostCodeLogs.table.bootCount'), + thClass: 'bold-12px__caps logs-table__th', + tdClass: 'logs-table__td', }, { key: 'postCode', label: this.$t('pagePostCodeLogs.table.postCode'), + thClass: 'bold-12px__caps logs-table__th', + tdClass: 'logs-table__td semi-bold-12px__caps', }, { key: 'actions', label: '', - tdClass: 'text-right text-nowrap', + thClass: 'bold-12px__caps logs-table__th', + tdClass: 'text-right logs-table__td', }, ], expandRowLabel, @@ -345,3 +367,17 @@ export default { }, }; </script> +<style lang="scss" scoped> +.form-group, +.b-pagination { + margin: 0px !important; +} +.items-per-page { + padding: 0 0 0 5px; + width: 55px; + height: 24px; + background-color: transparent; + border: 1px solid $on-surface-tretiatry; + border-radius: 4px; +} +</style> diff --git a/src/views/MemoryModules/DynamicInfo/MemoryDynamicPage.vue b/src/views/MemoryModules/DynamicInfo/MemoryDynamicPage.vue new file mode 100644 index 00000000..0db6dd54 --- /dev/null +++ b/src/views/MemoryModules/DynamicInfo/MemoryDynamicPage.vue @@ -0,0 +1,201 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.analyticalPanel')" /> + <div class="notification__container"> + <span class="semi-bold-12px">{{ + $t('global.ariaLabel.notificationTime') + }}</span> + <div class="form-control notification"> + <b-form-input + v-model="notificationInput" + type="number" + class="notification__input" + > + </b-form-input> + <button class="notification_button"> + <img class="notification__icon" src="@/assets/images/refresh.svg" /> + </button> + </div> + </div> + <date-switch :switch-time-scale="switchTimeScale" :time-scale="timeScale" /> + <div class="limit-container"> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/non-normal.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.nonNormalMode') + }}</span> + <b-form-input + v-model="temperatureNonNormalInput" + type="number" + :min="0" + :max="temperatureCritical" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/critical.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.criticalMode') + }}</span> + <b-form-input + v-model="temperatureCritical" + type="number" + :min="temperatureNonNormalInput" + :max="temperatureWarningInput" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.temperatureWarning') + }}</span> + <b-form-input + v-model="temperatureWarningInput" + type="number" + :min="temperatureCritical" + :max="100" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button + class="save-button" + variant="primary" + @click="updateTemperatureLimits" + > + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- Temperature Table --> + <temperature-table + :time-scale="timeScale" + :warning="temperatureWarning" + :non-normal="temperatureNonNormal" + :critical-start="temperatureCriticalStart" + /> + <accessory-table :records="accessoryData.temperatureTable" /> + </b-container> +</template> +<script> +import PageTitle from '@/components/Global/PageTitle'; +import DateSwitch from '@/components/Global/SilaComponents/DateSwitch'; +import TemperatureTable from './TemperatureTable'; +import AccessoryTable from '@/components/Global/SilaComponents/Tables/AccessoryTableWithLabel'; +import iconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; + +import { AccessoryData } from './helpers'; + +export default { + components: { + PageTitle, + DateSwitch, + TemperatureTable, + AccessoryTable, + }, + data() { + return { + timeScale: 'hour', + temperatureWarning: 72, + temperatureWarningInput: 72, + temperatureNonNormal: 44, + temperatureNonNormalInput: 44, + temperatureCriticalStart: 55, + temperatureCritical: 55, + notificationInput: 42, + accessoryData: AccessoryData, + iconChevronUp: iconChevronUp, + }; + }, + methods: { + switchTimeScale(period) { + this.timeScale = period; + }, + updateTemperatureLimits() { + this.temperatureWarning = +this.temperatureWarningInput; + this.temperatureNonNormal = +this.temperatureNonNormalInput; + this.temperatureCriticalStart = +this.temperatureCritical; + }, + }, +}; +</script> +<style lang="scss" scoped> +.notification__container { + position: absolute; + top: calc(#{$header-height}); + right: 0px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: center; +} + +.notification { + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: center; + border: none; + box-shadow: none; + border-radius: 8px; + margin: 12px 32px 12px 8px; + width: 236px; + height: 40px; + z-index: 1001; +} + +.notification__icon { + width: 20px; + height: 20px; +} + +.notification__input { + border: none; + background: none; + box-shadow: none; +} + +.notification_button { + border: none; + background: none; +} + +.semi-bold-12px { + z-index: 1001; +} + +// temperature limit comtainer +.limit-container { + height: 85px; + width: 100%; + padding: 0 32px 10px 32px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: flex-end; + gap: 24px; +} + +.trmperature-limt { + height: 60px; + width: 100%; + max-width: 270px; + display: flex; + align-items: baseline; + flex-flow: row wrap; + gap: 8px; +} + +.form-control { + height: 36px; +} +.save-button { + width: 151px; + height: 36px; +} +</style> diff --git a/src/views/MemoryModules/DynamicInfo/TemperatureTable.vue b/src/views/MemoryModules/DynamicInfo/TemperatureTable.vue new file mode 100644 index 00000000..f9c149c3 --- /dev/null +++ b/src/views/MemoryModules/DynamicInfo/TemperatureTable.vue @@ -0,0 +1,126 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setCategories } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + warning: { + type: Number, + default: 70, + }, + nonNormal: { + type: Number, + default: 70, + }, + criticalStart: { + type: Number, + default: 70, + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'line', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(60, 'hour'), + title: null, + labels: { + step: 6, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setCategories(101, 'С°'), + min: 0, + max: 100, + title: null, + minTickInterval: 25, + minorGridLineColor: '#1A3E5B1A', + plotLines: [ + { + color: '#E11717', + dashStyle: 'solid', + value: this.warning, + zIndex: '1000', + width: 2, + label: { + text: 'Пороговое значение предупреждения, С°', + align: 'right', + style: { + fontFamily: 'Inter, sans-serif', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + ], + plotBands: [ + { + color: '#F0AC0C1A', + dashStyle: 'solid', + from: this.nonNormal, + to: this.criticalStart, + }, + { + color: '#FF41411A', + dashStyle: 'solid', + from: this.criticalStart, + to: this.warning, + }, + ], + }, + series: Series['temperature'].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/MemoryModules/DynamicInfo/helpers.js b/src/views/MemoryModules/DynamicInfo/helpers.js new file mode 100644 index 00000000..8e54e01f --- /dev/null +++ b/src/views/MemoryModules/DynamicInfo/helpers.js @@ -0,0 +1,527 @@ +export const colors = [ + '#CB32F1', + '#F18638', + '#139BB9', + '#E1AB17', + '#175AE1', + '#13B937', +]; + +export const Series = { + temperature: [ + { + name: 'Sean', + data: [ + 15, + 15, + 45, + 15, + 65, + 15, + 75, + 15, + 15, + 15, + 55, + 15, + 25, + 15, + 45, + 15, + 55, + 15, + 75, + 15, + 35, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 65, + 15, + 45, + 15, + 25, + 15, + 45, + 15, + 65, + 15, + 35, + 35, + 35, + 15, + 55, + 15, + 15, + 35, + 15, + 25, + 15, + 35, + 15, + ], + color: '#CB32F1', + }, + { + name: 'Ivan', + data: [ + 62, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 22, + 12, + 42, + 12, + 52, + 12, + 72, + 12, + 52, + 12, + 62, + 12, + 72, + 12, + 82, + 12, + 12, + 42, + 12, + 12, + 52, + 12, + 42, + 12, + 12, + 62, + 12, + 42, + 12, + 22, + 12, + 42, + 12, + 62, + 12, + 12, + 32, + 12, + 62, + 12, + 52, + 12, + 32, + 12, + 22, + 12, + 32, + 12, + ], + color: '#175AE1', + }, + { + name: 'Brendan', + data: [ + 13, + 13, + 33, + 13, + 23, + 13, + 33, + 13, + 63, + 13, + 63, + 13, + 13, + 13, + 43, + 13, + 13, + 13, + 53, + 13, + 23, + 13, + 43, + 13, + 53, + 13, + 63, + 13, + 53, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 53, + 13, + 43, + 13, + 13, + 63, + 13, + 43, + 13, + 23, + 13, + 43, + 13, + 63, + 13, + 13, + 13, + 53, + 13, + 53, + ], + color: '#B98D13', + }, + { + name: 'Matteo', + data: [ + 24, + 14, + 44, + 14, + 64, + 14, + 64, + 14, + 34, + 14, + 54, + 14, + 14, + 34, + 14, + 24, + 14, + 34, + 14, + 64, + 14, + 64, + 14, + 14, + 14, + 44, + 14, + 14, + 14, + 54, + 14, + 14, + 14, + 44, + 14, + 54, + 14, + 14, + 14, + 54, + 14, + 64, + 14, + 14, + 14, + 84, + 14, + 94, + 14, + 54, + 4, + 54, + 14, + 44, + 14, + 44, + 64, + 14, + 44, + 14, + ], + color: '#13B937', + }, + { + name: 'Joan', + data: [ + 16, + 46, + 16, + 26, + 16, + 46, + 16, + 66, + 16, + 16, + 16, + 16, + 16, + 56, + 16, + 16, + 36, + 16, + 26, + 16, + 36, + 16, + 66, + 16, + 76, + 16, + 16, + 16, + 46, + 16, + 16, + 16, + 56, + 16, + 26, + 16, + 46, + 16, + 56, + 16, + 76, + 16, + 56, + 16, + 66, + 16, + 76, + 16, + 16, + 16, + 96, + 16, + 16, + 16, + 56, + 16, + 46, + 16, + 46, + 16, + ], + color: '#F18638', + }, + { + name: 'Avinash', + data: [ + 49, + 19, + 19, + 69, + 19, + 49, + 19, + 29, + 19, + 49, + 19, + 69, + 19, + 39, + 39, + 39, + 19, + 59, + 19, + 19, + 39, + 19, + 29, + 19, + 39, + 19, + 69, + 19, + 69, + 19, + 19, + 19, + 49, + 19, + 19, + 19, + 59, + 19, + 29, + 19, + 49, + 19, + 59, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + ], + color: '#139BB9', + }, + ], +}; + +export const setTime = (count) => { + const arr = [...new Array(count)].map(() => ''); + for (let i = 0; i < arr.length; i++) { + arr[i] = `15:${String(i).padStart(2, '0')}`; + } + return arr; +}; + +export const setCategories = (count, desc) => { + const arr = [...new Array(count)].map((i, k) => `${k} ${desc}`); + return arr; +}; + +export const AccessoryData = { + temperatureTable: { + fields: [ + { + key: 'name', + label: 'Имя модуля', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'currentTemperature', + label: 'Текущее, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'middleTemperature', + label: 'Среднее, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minTemperature', + label: 'Минимальное, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minDate', + label: 'Дата минимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxTemperature', + label: 'Максимальное, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxDate', + label: 'Дата максимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Модуль памяти 1', + currentTemperature: 19, + middleTemperature: 40, + minTemperature: 31, + minDate: { time: '15:15', date: '11.11.2021' }, + maxTemperature: 88, + maxDate: { time: '10:26', date: '15.11.2021' }, + }, + { + name: 'Модуль памяти 2', + currentTemperature: 29, + middleTemperature: 40, + minTemperature: 20, + minDate: { time: '15:45', date: '11.11.2021' }, + maxTemperature: 76, + maxDate: { time: '16:59', date: '16.11.2021' }, + }, + { + name: 'Модуль памяти 3', + currentTemperature: 48, + middleTemperature: 46, + minTemperature: 31, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 69, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + { + name: 'Модуль памяти 4', + currentTemperature: 48, + middleTemperature: 45, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 75, + maxDate: { time: '11:26', date: '16.11.2021' }, + }, + { + name: 'Модуль памяти 5', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 30, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '17.11.2021' }, + }, + { + name: 'Модуль памяти 6', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + ], + }, +}; diff --git a/src/views/MemoryModules/DynamicInfo/index.js b/src/views/MemoryModules/DynamicInfo/index.js new file mode 100644 index 00000000..b840772c --- /dev/null +++ b/src/views/MemoryModules/DynamicInfo/index.js @@ -0,0 +1,2 @@ +import MemoryDynamicPage from './MemoryDynamicPage.vue'; +export default MemoryDynamicPage; diff --git a/src/views/MemoryModules/Specification/MemoryStaticPage.vue b/src/views/MemoryModules/Specification/MemoryStaticPage.vue new file mode 100644 index 00000000..8a4b9c2e --- /dev/null +++ b/src/views/MemoryModules/Specification/MemoryStaticPage.vue @@ -0,0 +1,239 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.specification')" /> + <page-section class="bootstrap-table__section info_section"> + <span class="bold-16px">{{ $t('global.table.info') }}</span> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + </b-table> + <span class="bold-16px">{{ $t('global.table.memorySlots') }}</span> + </page-section> + <data-tabs + :slots="memorySlots" + :switch-tab="switchMemorySlot" + :current-tab="currentMemorySlot" + :slot-width="120" + :slider-width="97" + /> + <page-section class="bootstrap-table__section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items_slots" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + <template #cell(value)="{ index, value }"> + <b-row v-if="index === 0"> + <b-col cols="11"> + <span> + {{ 'Работоспособность' }} + </span> + </b-col> + <b-col cols="1"> + <img src="@/assets/images/status/on.svg" class="icon-chevron" /> + </b-col> + </b-row> + <b-row v-else> + <b-col> + <span>{{ value }}</span> + </b-col> + </b-row> + </template> + </b-table> + </page-section> + <page-section class="bootstrap-table__section"> + <span class="bold-16px">{{ $t('global.table.memoryModules') }}</span> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items_modules" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + <template #cell(value)="{ index, value }"> + <b-row v-if="index === 0"> + <b-col cols="11"> + <span> + {{ 'Работоспособность' }} + </span> + </b-col> + <b-col cols="1"> + <img src="@/assets/images/status/on.svg" class="icon-chevron" /> + </b-col> + </b-row> + <b-row v-else> + <b-col> + <span>{{ value }}</span> + </b-col> + </b-row> + </template> + </b-table> + </page-section> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; +import DataTabs from '@/components/Global/SilaComponents/DataTabs'; + +export default { + components: { PageTitle, PageSection, DataTabs }, + data() { + return { + currentMemorySlot: 1, + memorySlots: [ + { id: 1, name: 'CPU_1-DIMM_A1' }, + { id: 2, name: 'CPU_1-DIMM_A2' }, + { id: 3, name: 'CPU_1-DIMM_A3' }, + { id: 4, name: 'CPU_1-DIMM_B1' }, + { id: 5, name: 'CPU_1-DIMM_B2' }, + { id: 6, name: 'CPU_1-DIMM_B3' }, + { id: 7, name: 'CPU_1-DIMM_C1' }, + { id: 8, name: 'CPU_1-DIMM_C2' }, + { id: 9, name: 'CPU_1-DIMM_C3' }, + { id: 10, name: 'CPU_1-DIMM_D1' }, + { id: 11, name: 'CPU_1-DIMM_D2' }, + { id: 12, name: 'CPU_1-DIMM_D3' }, + { id: 13, name: 'CPU_1-DIMM_E1' }, + { id: 14, name: 'CPU_1-DIMM_E2' }, + { id: 15, name: 'CPU_1-DIMM_E3' }, + ], + fields: [ + { + key: 'parametr', + label: 'Статус', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first + memory-table-col-first`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + items: [ + { + parametr: 'Установленный объем памяти', + value: '8096 мб', + }, + { + parametr: 'Максимальный объем', + value: '4048 мб', + }, + { + parametr: 'Общее количество слотов', + value: '10', + }, + { + parametr: 'Используемое количество слотов', + value: '10', + }, + ], + items_slots: [ + { + parametr: 'Статус', + value: true, + }, + { + parametr: 'Имя слота', + value: 'Cлот 2', + }, + { + parametr: 'Технология', + value: 'Название технологии', + }, + { + parametr: 'Тип памяти', + value: 'Оперативная', + }, + { + parametr: 'Объем', + value: '2024', + }, + { + parametr: 'Состояние', + value: 'Отлично', + }, + { + parametr: 'Класс', + value: '1', + }, + { + parametr: 'Скорость', + value: '2000 МТ/сек', + }, + ], + items_modules: [ + { + parametr: 'Статус', + value: true, + }, + { + parametr: 'Имя коннектора', + value: 'DIMM A2', + }, + { + parametr: 'Тип памяти', + value: 'DDR-4', + }, + { + parametr: 'Объем', + value: '32 GB', + }, + { + parametr: 'Состояние', + value: 'Presence Detected', + }, + { + parametr: 'Ранг', + value: 'Dual Rank', + }, + { + parametr: 'Скорость', + value: '2400 MHz', + }, + ], + }; + }, + methods: { + switchMemorySlot(period) { + this.currentMemorySlot = period; + }, + }, +}; +</script> +<style lang="scss"> +.memory-table-col-first { + width: 50%; +} +</style> + +<style lang="scss" scoped> +.info_section { + margin-bottom: 0px; +} + +.bold-16px { + display: block; + margin: 25px 0 16px 0; +} +</style> diff --git a/src/views/MemoryModules/Specification/index.js b/src/views/MemoryModules/Specification/index.js new file mode 100644 index 00000000..4916f58a --- /dev/null +++ b/src/views/MemoryModules/Specification/index.js @@ -0,0 +1,2 @@ +import MemoryStaticPage from './MemoryStaticPage.vue'; +export default MemoryStaticPage; diff --git a/src/views/Motherboard/DynamicInfo/MotherboardDynamicPage.vue b/src/views/Motherboard/DynamicInfo/MotherboardDynamicPage.vue new file mode 100644 index 00000000..e50bc399 --- /dev/null +++ b/src/views/Motherboard/DynamicInfo/MotherboardDynamicPage.vue @@ -0,0 +1,135 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title /> + <date-switch :switch-time-scale="switchTimeScale" :time-scale="timeScale" /> + <div class="limit-container"> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.temperatureWarning') + }}</span> + <b-form-input + v-model="temperatureWarningInput" + type="number" + :min="0" + :max="100" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button + class="save-button" + variant="primary" + @click="updateTemperature" + > + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- Temperature Table --> + <temperature-table + :time-scale="timeScale" + :warning="temperatureWarning" + :non-normal="temperatureNonNormal" + :critical-start="temperatureCriticalStart" + /> + <accessory-table :records="accessoryData.temperatureTable" /> + </b-container> +</template> +<script> +import PageTitle from '@/components/Global/PageTitle'; +import DateSwitch from '@/components/Global/SilaComponents/DateSwitch'; +import TemperatureTable from './TemperatureTable'; +import AccessoryTable from '@/components/Global/SilaComponents/Tables/AccessoryTableWithLabel'; +import iconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; + +import { AccessoryData } from './helpers'; + +export default { + components: { + PageTitle, + DateSwitch, + TemperatureTable, + AccessoryTable, + }, + data() { + return { + timeScale: 'hour', + temperatureWarning: 72, + temperatureWarningInput: 72, + notificationInput: 42, + accessoryData: AccessoryData, + iconChevronUp: iconChevronUp, + }; + }, + methods: { + switchTimeScale(period) { + this.timeScale = period; + }, + updateTemperature() { + this.temperatureWarning = +this.temperatureWarningInput; + }, + }, +}; +</script> +<style lang="scss" scoped> +//nav items style +.nav-item, +.nav-link { + padding: 0; +} +.nav-item { + list-style-type: none; +} + +a { + color: $text-primary !important; + &:hover { + color: $text-primary !important; + } +} + +.notification-button { + border: none; + background: none; +} + +.semi-bold-12px { + z-index: 1001; +} + +// temperature limit comtainer +.limit-container { + height: 85px; + width: 100%; + padding: 0 32px 10px 32px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: flex-end; + gap: 24px; +} + +.trmperature-limt { + height: 60px; + width: 100%; + max-width: 270px; + display: flex; + align-items: baseline; + flex-flow: row wrap; + gap: 8px; +} + +.form-control { + height: 36px; + &.non-normal { + width: 125px; + } +} +.save-button { + width: 151px; + height: 36px; +} +</style> diff --git a/src/views/Motherboard/DynamicInfo/TemperatureTable.vue b/src/views/Motherboard/DynamicInfo/TemperatureTable.vue new file mode 100644 index 00000000..1bbf7e08 --- /dev/null +++ b/src/views/Motherboard/DynamicInfo/TemperatureTable.vue @@ -0,0 +1,112 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setCategories } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + warning: { + type: Number, + default: 70, + }, + nonNormal: { + type: Number, + default: 70, + }, + criticalStart: { + type: Number, + default: 70, + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'line', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(60, 'hour'), + title: null, + labels: { + step: 6, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setCategories(101, 'С°'), + min: 0, + max: 100, + title: null, + minTickInterval: 25, + minorGridLineColor: '#1A3E5B1A', + plotLines: [ + { + color: '#E11717', + dashStyle: 'solid', + value: this.warning, + zIndex: '1000', + width: 2, + label: { + text: 'Пороговое значение предупреждения, С°', + align: 'right', + style: { + fontFamily: 'Inter, sans-serif', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + ], + }, + series: Series['temperature'].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/Motherboard/DynamicInfo/helpers.js b/src/views/Motherboard/DynamicInfo/helpers.js new file mode 100644 index 00000000..807de83a --- /dev/null +++ b/src/views/Motherboard/DynamicInfo/helpers.js @@ -0,0 +1,527 @@ +export const colors = [ + '#CB32F1', + '#F18638', + '#139BB9', + '#E1AB17', + '#175AE1', + '#13B937', +]; + +export const Series = { + temperature: [ + { + name: 'Sean', + data: [ + 7, + 7, + 7, + 17, + 7, + 27, + 7, + 7, + 47, + 7, + 7, + 7, + 37, + 7, + 7, + 7, + 27, + 7, + 7, + 7, + 27, + 7, + 7, + 7, + 47, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 27, + 7, + 7, + 7, + 7, + 7, + 27, + 7, + 7, + 7, + 7, + 7, + 7, + 37, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + ], + color: '#CB32F1', + }, + { + name: 'Ivan', + data: [ + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 20, + 10, + 10, + 30, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 50, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 20, + 10, + 10, + 10, + 10, + 10, + 30, + 10, + 10, + 10, + 10, + 10, + 10, + 19, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + ], + color: '#175AE1', + }, + { + name: 'Brendan', + data: [ + 13, + 13, + 13, + 13, + 23, + 13, + 33, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 23, + 13, + 43, + 13, + 53, + 13, + 13, + 13, + 53, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 53, + 13, + 43, + 13, + 13, + 63, + 13, + 43, + 13, + 23, + 13, + 43, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + ], + color: '#B98D13', + }, + { + name: 'Matteo', + data: [ + 24, + 14, + 44, + 14, + 14, + 14, + 14, + 14, + 34, + 14, + 14, + 14, + 14, + 34, + 14, + 24, + 14, + 34, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 44, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 44, + 14, + 54, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 84, + 14, + 94, + 14, + 14, + 14, + 54, + 14, + 44, + 14, + 44, + 14, + 14, + 44, + 14, + ], + color: '#13B937', + }, + { + name: 'Joan', + data: [ + 16, + 16, + 16, + 26, + 16, + 46, + 16, + 66, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 26, + 16, + 36, + 16, + 66, + 16, + 76, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 26, + 16, + 16, + 16, + 56, + 16, + 16, + 16, + 56, + 16, + 66, + 16, + 76, + 16, + 16, + 16, + 96, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + ], + color: '#F18638', + }, + { + name: 'Avinash', + data: [ + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 29, + 19, + 19, + 19, + 19, + 19, + 39, + 39, + 39, + 19, + 59, + 19, + 19, + 39, + 19, + 29, + 19, + 39, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 29, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + ], + color: '#139BB9', + }, + ], +}; + +export const setTime = (count) => { + const arr = [...new Array(count)].map(() => ''); + for (let i = 0; i < arr.length; i++) { + arr[i] = `15:${String(i).padStart(2, '0')}`; + } + return arr; +}; + +export const setCategories = (count, desc) => { + const arr = [...new Array(count)].map((i, k) => `${k} ${desc}`); + return arr; +}; + +export const AccessoryData = { + temperatureTable: { + fields: [ + { + key: 'name', + label: 'Имя модуля', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'currentTemperature', + label: 'Текущее, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'middleTemperature', + label: 'Среднее, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minTemperature', + label: 'Минимальное, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minDate', + label: 'Дата минимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxTemperature', + label: 'Максимальное, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxDate', + label: 'Дата максимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Материнская плата 1', + currentTemperature: 19, + middleTemperature: 40, + minTemperature: 31, + minDate: { time: '15:15', date: '11.11.2021' }, + maxTemperature: 88, + maxDate: { time: '10:26', date: '15.11.2021' }, + }, + { + name: 'Материнская плата 2', + currentTemperature: 29, + middleTemperature: 40, + minTemperature: 20, + minDate: { time: '15:45', date: '11.11.2021' }, + maxTemperature: 76, + maxDate: { time: '16:59', date: '16.11.2021' }, + }, + { + name: 'Материнская плата 3', + currentTemperature: 48, + middleTemperature: 46, + minTemperature: 31, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 69, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + { + name: 'Материнская плата 4', + currentTemperature: 48, + middleTemperature: 45, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 75, + maxDate: { time: '11:26', date: '16.11.2021' }, + }, + { + name: 'Материнская плата 5', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 30, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '17.11.2021' }, + }, + { + name: 'Материнская плата 6', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + ], + }, +}; diff --git a/src/views/Motherboard/DynamicInfo/index.js b/src/views/Motherboard/DynamicInfo/index.js new file mode 100644 index 00000000..bd155997 --- /dev/null +++ b/src/views/Motherboard/DynamicInfo/index.js @@ -0,0 +1,2 @@ +import MotherboardDynamicPage from './MotherboardDynamicPage.vue'; +export default MotherboardDynamicPage; diff --git a/src/views/Motherboard/Specification/MotherboardSpecificationPage.vue b/src/views/Motherboard/Specification/MotherboardSpecificationPage.vue new file mode 100644 index 00000000..926c231c --- /dev/null +++ b/src/views/Motherboard/Specification/MotherboardSpecificationPage.vue @@ -0,0 +1,93 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.specification')" /> + <page-section class="bootstrap-table__section"> + <span class="bold-16px">{{ $t('global.table.info') }}</span> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + </b-table> + <span class="bold-16px">{{ $t('appNavigation.motherboardParam') }}</span> + <popover + id="popover-reactive-1" + description="SystemDescription.onBootRom" + popup="SystemDescription.onBootRom_popup" + button="global.action.refresh" + /> + <popover + id="popover-reactive-2" + description="SystemDescription.offBootRom" + popup="SystemDescription.offBootRom_popup" + button="global.action.refresh" + /> + </page-section> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; + +import Popover from '@/components/Global/Popover'; + +export default { + components: { PageTitle, PageSection, Popover }, + data() { + return { + fields: [ + { + key: 'parametr', + label: 'Параметр', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + items: [ + { + parametr: 'Модель', + value: 'R2132', + }, + { + parametr: 'Производитель', + value: 'Asus', + }, + { + parametr: 'Версия', + value: '4.2', + }, + { + parametr: 'Серийный номер', + value: '231232132133', + }, + { + parametr: 'Версия BIOS', + value: '2', + }, + ], + }; + }, +}; +</script> +<style lang="scss" scoped> +.bootstrap-rounded-table { + margin: 16px 0; +} +</style> diff --git a/src/views/Motherboard/Specification/index.js b/src/views/Motherboard/Specification/index.js new file mode 100644 index 00000000..5458039a --- /dev/null +++ b/src/views/Motherboard/Specification/index.js @@ -0,0 +1,2 @@ +import MotherboardSpecificationPage from './MotherboardSpecificationPage.vue'; +export default MotherboardSpecificationPage; diff --git a/src/views/Operations/ConsoleSettings/ConsoleSettings.vue b/src/views/Operations/ConsoleSettings/ConsoleSettings.vue new file mode 100644 index 00000000..21b3ead9 --- /dev/null +++ b/src/views/Operations/ConsoleSettings/ConsoleSettings.vue @@ -0,0 +1,173 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title /> + <page-section class="bootstrap-table__section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="systems" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + <template #cell(value)="data"> + <b-row v-if="typeof data.value === 'boolean'"> + <b-col> + <span v-if="systems[data.index].value"> + {{ $t('global.status.enabled') }} + </span> + <span v-else> + {{ $t('global.status.disabled') }} + </span> + </b-col> + <b-col> + <b-form-checkbox v-model="systems[data.index].value" switch> + </b-form-checkbox> + </b-col> + </b-row> + <b-row + v-else-if="data.index === 1 || data.index === 6 || data.index === 8" + > + <b-col> + <span> + {{ data.value }} + </span> + </b-col> + <b-col> + <img :is="iconChevron" class="icon-chevron" /> + </b-col> + </b-row> + <b-row v-else-if="data.index === 3"> + <b-col> + <span> + {{ data.value }} + </span> + </b-col> + <b-col> + <img src="@/assets/images/icon-edit.svg" class="icon-chevron" /> + </b-col> + </b-row> + <b-row v-else> + <span>{{ data.value }}</span></b-row + > + </template> + </b-table> + <div class="save-button"> + <b-button variant="primary" class="console-settings__save-button"> + {{ $t('global.action.saveChanges') }} + </b-button> + </div> + </page-section> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +// import BMCConfigurationTable from './BMCConfigurationTable'; +// import BMCConfigurationControl from './BMCConfigurationControl'; +import PageSection from '@/components/Global/PageSection'; +import BVToastMixin from '@/components/Mixins/BVToastMixin'; +// import iconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; +import TableRowExpandMixin, { + expandRowLabel, +} from '@/components/Mixins/TableRowExpandMixin'; +import iconChevron from '@carbon/icons-vue/es/chevron--down/16'; + +export default { + components: { + PageTitle, + // BMCConfigurationControl, + // BMCConfigurationTable, + PageSection, + }, + mixins: [BVToastMixin, TableRowExpandMixin], + data() { + return { + text: '', + isBusy: true, + fields: [ + { + key: 'attributes', + label: 'Атрибуты', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-last + bootstrap-rounded-table__column-last___console`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + iconChevron, + expandRowLabel: expandRowLabel, + systems: [ + { attributes: 'Состояние', value: true }, + { attributes: 'Максимальное количество сеансов', value: '6' }, + { attributes: 'Активные сеансы', value: '0' }, + { attributes: 'Порт удаленного доступа', value: '5900' }, + { attributes: 'Статус шифрования видео', value: true }, + { attributes: 'Видео с локального сервера', value: true }, + { + attributes: + 'Действие по умолчанию при истечении времени ожидания запроса на общий доступ к сеансу', + value: 'Полный доступ', + }, + { + attributes: 'Автоматическая блокировка системы', + value: false, + }, + { + attributes: 'Состояние подключения клавиатуры/мыши', + value: 'Автоматическое', + }, + ], + // iconChevronUp: iconChevronUp, + }; + }, +}; +</script> +<style lang="scss"> +.bootstrap-rounded-table__column-last___console { + width: 30%; +} +</style> +<style lang="scss" scoped> +.row { + margin: 0px; + height: 15px; + flex-wrap: nowrap; + align-items: center; +} +.col { + padding: 0; +} + +.icon-chevron { + margin: 0 0 0 85%; + cursor: pointer; +} + +.save-button { + display: flex; + justify-content: flex-end; +} + +.console-settings__save-button { + width: 241px; + height: 36px; + margin-right: 0.5rem; +} + +.bootstrap-table__section { + width: auto; +} +</style> diff --git a/src/views/Operations/ConsoleSettings/index.js b/src/views/Operations/ConsoleSettings/index.js new file mode 100644 index 00000000..860ee595 --- /dev/null +++ b/src/views/Operations/ConsoleSettings/index.js @@ -0,0 +1,2 @@ +import ConsoleSettings from './ConsoleSettings.vue'; +export default ConsoleSettings; diff --git a/src/views/Operations/FactoryReset/FactoryReset.vue b/src/views/Operations/FactoryReset/FactoryReset.vue index 897348fc..175cb89e 100644 --- a/src/views/Operations/FactoryReset/FactoryReset.vue +++ b/src/views/Operations/FactoryReset/FactoryReset.vue @@ -1,12 +1,19 @@ <template> - <b-container fluid="xl"> + <b-container fluid class="m-0 p-0"> <page-title :description="$t('pageFactoryReset.description')" /> <!-- Reset Form --> - <b-form id="factory-reset" @submit.prevent="onResetSubmit"> + <b-form + id="factory-reset" + class="bootstrap-table__section" + @submit.prevent="onResetSubmit" + > <b-row> <b-col md="8"> - <b-form-group :label="$t('pageFactoryReset.form.resetOptionsLabel')"> + <b-form-group + :label="$t('pageFactoryReset.form.resetOptionsLabel')" + label-class="semi-bold-16px" + > <b-form-radio-group id="factory-reset-options" v-model="resetOption" diff --git a/src/views/Operations/Firmware/Firmware.vue b/src/views/Operations/Firmware/Firmware.vue index a2acb9b0..c4006b7f 100644 --- a/src/views/Operations/Firmware/Firmware.vue +++ b/src/views/Operations/Firmware/Firmware.vue @@ -1,5 +1,5 @@ <template> - <b-container fluid="xl"> + <b-container fluid class="m-0 p-0"> <page-title /> <alerts-server-power v-if="isServerPowerOffRequired" @@ -7,7 +7,7 @@ /> <!-- Firmware cards --> - <b-row> + <b-row class="bootstrap-table__section"> <b-col xl="10"> <!-- BMC Firmware --> <bmc-cards :is-page-disabled="isPageDisabled" /> @@ -19,6 +19,7 @@ <!-- Update firmware--> <page-section + class="bootstrap-table__section" :section-title="$t('pageFirmware.sectionTitleUpdateFirmware')" > <b-row> diff --git a/src/views/Operations/Firmware/FirmwareFormUpdate.vue b/src/views/Operations/Firmware/FirmwareFormUpdate.vue index ac4b23fc..a5e5ba97 100644 --- a/src/views/Operations/Firmware/FirmwareFormUpdate.vue +++ b/src/views/Operations/Firmware/FirmwareFormUpdate.vue @@ -59,6 +59,7 @@ <b-btn data-test-id="firmware-button-startUpdate" type="submit" + size="md" variant="primary" :disabled="isPageDisabled" > diff --git a/src/views/Operations/KeyClear/KeyClear.vue b/src/views/Operations/KeyClear/KeyClear.vue index 2524da10..17629b8d 100644 --- a/src/views/Operations/KeyClear/KeyClear.vue +++ b/src/views/Operations/KeyClear/KeyClear.vue @@ -1,9 +1,9 @@ <template> - <b-container fluid="xl"> + <b-container fluid class="m-0 p-0"> <page-title :description="$t('pageKeyClear.description')" /> - <b-row> + <b-row class="bootstrap-table__section"> <b-col md="8" xl="6"> - <alert variant="info" class="mb-4"> + <alert variant="info" class="mb-0"> <div class="font-weight-bold"> {{ $t('pageKeyClear.alert.title') }} </div> @@ -14,10 +14,17 @@ </b-col> </b-row> <!-- Reset Form --> - <b-form id="key-clear" @submit.prevent="onKeyClearSubmit(keyOption)"> + <b-form + id="key-clear" + class="bootstrap-table__section" + @submit.prevent="onKeyClearSubmit(keyOption)" + > <b-row> <b-col md="8"> - <b-form-group :label="$t('pageKeyClear.form.keyClearOptionsLabel')"> + <b-form-group + :label="$t('pageKeyClear.form.keyClearOptionsLabel')" + label-class="semi-bold-16px" + > <b-form-radio-group id="key-clear-options" v-model="keyOption" diff --git a/src/views/Operations/Kvm/Kvm.vue b/src/views/Operations/Kvm/Kvm.vue index 1a41baaf..a3103453 100644 --- a/src/views/Operations/Kvm/Kvm.vue +++ b/src/views/Operations/Kvm/Kvm.vue @@ -1,5 +1,5 @@ <template> - <b-container fluid="xl"> + <b-container fluid> <page-title /> <div class="terminal-container"> <kvm-console :is-full-window="false" /> diff --git a/src/views/Operations/RebootBmc/RebootBmc.vue b/src/views/Operations/RebootBmc/RebootBmc.vue index 900619cd..d369a985 100644 --- a/src/views/Operations/RebootBmc/RebootBmc.vue +++ b/src/views/Operations/RebootBmc/RebootBmc.vue @@ -1,7 +1,7 @@ <template> - <b-container fluid="xl"> + <b-container fluid class="m-0 p-0"> <page-title /> - <b-row> + <b-row class="bootstrap-table__section"> <b-col md="8" lg="8" xl="6"> <page-section> <b-row> @@ -19,14 +19,22 @@ </b-col> </b-row> {{ $t('pageRebootBmc.rebootInformation') }} - <b-button - variant="primary" - class="d-block mt-5" - data-test-id="rebootBmc-button-reboot" - @click="onClick" + <popover-with-slot + id="popover-reboot" + :button-label="$t('global.action.reload')" + :popup-label="$t('BMC.ReloadBmc_popup')" + placement="left" + :action="rebootBmc" > - {{ $t('pageRebootBmc.rebootBmc') }} - </b-button> + <b-button + id="popover-reboot" + variant="primary" + class="d-block mt-5" + data-test-id="rebootBmc-button-reboot" + > + {{ $t('pageRebootBmc.rebootBmc') }} + </b-button> + </popover-with-slot> </page-section> </b-col> </b-row> @@ -38,10 +46,11 @@ import PageTitle from '@/components/Global/PageTitle'; import PageSection from '@/components/Global/PageSection'; import BVToastMixin from '@/components/Mixins/BVToastMixin'; import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; +import PopoverWithSlot from '@/components/Global/SilaComponents/PopoverWithSlot'; export default { name: 'RebootBmc', - components: { PageTitle, PageSection }, + components: { PageTitle, PageSection, PopoverWithSlot }, mixins: [BVToastMixin, LoadingBarMixin], beforeRouteLeave(to, from, next) { this.hideLoader(); @@ -59,17 +68,6 @@ export default { .finally(() => this.endLoader()); }, methods: { - onClick() { - this.$bvModal - .msgBoxConfirm(this.$t('pageRebootBmc.modal.confirmMessage'), { - title: this.$t('pageRebootBmc.modal.confirmTitle'), - okTitle: this.$t('global.action.confirm'), - cancelTitle: this.$t('global.action.cancel'), - }) - .then((confirmed) => { - if (confirmed) this.rebootBmc(); - }); - }, rebootBmc() { this.$store .dispatch('controls/rebootBmc') diff --git a/src/views/Operations/SerialOverLan/SerialOverLanConsole.vue b/src/views/Operations/SerialOverLan/SerialOverLanConsole.vue index 694083fd..3fa9ae47 100644 --- a/src/views/Operations/SerialOverLan/SerialOverLanConsole.vue +++ b/src/views/Operations/SerialOverLan/SerialOverLanConsole.vue @@ -9,7 +9,7 @@ class="mt-4" > <p class="col-form-label"> - {{ $t('pageSerialOverLan.alert.disconnectedAlertMessage') }} + {{ $t('pageSerialOverLan.disconnectedAlertMessage') }} </p> </alert> </b-col> diff --git a/src/views/Operations/ServerPowerOperations/BootSettings.vue b/src/views/Operations/ServerPowerOperations/BootSettings.vue index 4896286b..b5cbb4e0 100644 --- a/src/views/Operations/ServerPowerOperations/BootSettings.vue +++ b/src/views/Operations/ServerPowerOperations/BootSettings.vue @@ -1,16 +1,14 @@ <template> - <div class="form-background p-3"> + <page-section class="m-0"> <b-form novalidate @submit.prevent="handleSubmit"> - <b-form-group - :label=" + <b-form-group label-for="boot-option" class="mb-3 regular-12px"> + <label class="semi-bold-12px">{{ $t('pageServerPowerOperations.bootSettings.bootSettingsOverride') - " - label-for="boot-option" - class="mb-3" - > + }}</label> <b-form-select id="boot-option" v-model="form.bootOption" + class="boot-select regular-14px" :disabled="bootSourceOptions.length === 0" :options="bootSourceOptions" @change="onChangeSelect" @@ -19,43 +17,47 @@ </b-form-group> <b-form-checkbox v-model="form.oneTimeBoot" - class="mb-4" + class="mb-4 regular-12px cb" :disabled="form.bootOption === 'None'" @change="$v.form.oneTimeBoot.$touch()" > {{ $t('pageServerPowerOperations.bootSettings.enableOneTimeBoot') }} </b-form-checkbox> - <b-form-group - :label="$t('pageServerPowerOperations.bootSettings.tpmRequiredPolicy')" - > - <b-form-text id="tpm-required-policy-help-block"> + <b-form-group> + <label class="semi-bold-12px">{{ + $t('pageServerPowerOperations.bootSettings.tpmRequiredPolicy') + }}</label> + <label id="tpm-required-policy-help-block" class="regular-12px"> {{ $t('pageServerPowerOperations.bootSettings.tpmRequiredPolicyHelper') }} - </b-form-text> + </label> <b-form-checkbox id="tpm-required-policy" v-model="form.tpmPolicyOn" + class="regular-12px cb" aria-describedby="tpm-required-policy-help-block" @change="$v.form.tpmPolicyOn.$touch()" > {{ $t('global.status.enabled') }} </b-form-checkbox> </b-form-group> - <b-button variant="primary" type="submit" class="mb-3"> + <b-button variant="primary" size="md" type="submit" class="mb-3"> {{ $t('global.action.save') }} </b-button> </b-form> - </div> + </page-section> </template> <script> import { mapState } from 'vuex'; import BVToastMixin from '@/components/Mixins/BVToastMixin'; import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; +import PageSection from '@/components/Global/PageSection'; export default { name: 'BootSettings', + components: { PageSection }, mixins: [BVToastMixin, LoadingBarMixin], data() { return { @@ -130,3 +132,12 @@ export default { }, }; </script> +<style lang="scss" scoped> +.boot-select { + height: 40px; + max-width: 270px; + border: none; + border-radius: 8px; + background-image: url('../../../assets/images/icon-chevron.svg'); +} +</style> diff --git a/src/views/Operations/ServerPowerOperations/ServerPowerOperations.vue b/src/views/Operations/ServerPowerOperations/ServerPowerOperations.vue index 9e030837..823caa95 100644 --- a/src/views/Operations/ServerPowerOperations/ServerPowerOperations.vue +++ b/src/views/Operations/ServerPowerOperations/ServerPowerOperations.vue @@ -1,28 +1,40 @@ <template> - <b-container fluid="xl"> + <b-container fluid="xxl pt-0 m-0"> <page-title /> - <b-row class="mb-4"> + <page-section + :section-title="$t('pageServerPowerOperations.serverStatus')" + class="m-4" + > <b-col md="8" xl="6"> - <page-section - :section-title="$t('pageServerPowerOperations.currentStatus')" - > + <page-section class="pt-2 mb-0"> <b-row> <b-col> <dl> - <dt>{{ $t('pageServerPowerOperations.serverStatus') }}</dt> <dd v-if="serverStatus === 'on'" + style="margin-top: 10px" + class="regular-12px" data-test-id="powerServerOps-text-hostStatus" > - {{ $t('global.status.on') }} + <img + style="margin-right: 5px" + src="@/assets/images/status/on.svg" + /> + {{ $t('global.status.on_full') }} </dd> <dd v-else-if="serverStatus === 'off'" + style="margin-top: 10px" + class="regular-12px" data-test-id="powerServerOps-text-hostStatus" > - {{ $t('global.status.off') }} + <img + style="margin-right: 5px" + src="@/assets/images/status/off.svg" + /> + {{ $t('global.status.off_full') }} </dd> - <dd v-else> + <dd v-else class="regular-12px"> {{ $t('global.status.notAvailable') }} </dd> </dl> @@ -31,11 +43,12 @@ <b-row> <b-col> <dl> - <dt> + <dt class="semi-bold-12px"> {{ $t('pageServerPowerOperations.lastPowerOperation') }} </dt> <dd v-if="lastPowerOperationTime" + class="regular-12px" data-test-id="powerServerOps-text-lastPowerOp" > {{ lastPowerOperationTime | formatDate }} @@ -47,19 +60,13 @@ </b-row> </page-section> </b-col> - </b-row> - <b-row> - <b-col v-if="hasBootSourceOptions" sm="8" md="6" xl="4"> - <page-section - :section-title="$t('pageServerPowerOperations.serverBootSettings')" - > - <boot-settings /> - </page-section> - </b-col> + </page-section> + <page-section + :section-title="$t('SystemDescription.title.Control')" + class="ml-4 mb-0" + > <b-col sm="8" md="6" xl="7"> - <page-section - :section-title="$t('pageServerPowerOperations.operations')" - > + <page-section> <alert :show="oneTimeBootEnabled" variant="warning"> {{ $t('pageServerPowerOperations.oneTimeBootWarning') }} </alert> @@ -69,20 +76,30 @@ </alert> </template> <template v-else-if="serverStatus === 'off'"> - <b-button - variant="primary" - data-test-id="serverPowerOperations-button-powerOn" - @click="powerOn" + <popover-with-slot + id="popover-powerOn" + :button-label="$t('pageServerPowerOperations.powerOn')" + :popup-label="$t('pageServerPowerOperations.powerOnServer')" + placement="right" + :action="powerOn" > - {{ $t('pageServerPowerOperations.powerOn') }} - </b-button> + <b-button + id="popover-powerOn" + ref="button" + size="md" + variant="primary" + > + {{ $t('pageServerPowerOperations.powerOn') }} + </b-button> + </popover-with-slot> </template> <template v-else> <!-- Reboot server options --> - <b-form novalidate class="mb-5" @submit.prevent="rebootServer"> - <b-form-group - :label="$t('pageServerPowerOperations.rebootServer')" - > + <b-form novalidate class="mb-2"> + <b-form-group class="regular-12px cb"> + <label class="semi-bold-12px">{{ + $t('pageServerPowerOperations.rebootServer') + }}</label> <b-form-radio v-model="form.rebootOption" name="reboot-option" @@ -100,19 +117,29 @@ {{ $t('pageServerPowerOperations.immediateReboot') }} </b-form-radio> </b-form-group> - <b-button - variant="primary" - type="submit" - data-test-id="serverPowerOperations-button-reboot" + <popover-with-slot + id="popover-reboot" + :button-label="$t('pageServerPowerOperations.reboot')" + :popup-label="$t('pageServerPowerOperations.rebootServer')" + placement="right" + :action="rebootServer" > - {{ $t('pageServerPowerOperations.reboot') }} - </b-button> + <b-button + id="popover-reboot" + ref="button" + size="md" + variant="primary" + > + {{ $t('pageServerPowerOperations.reboot') }} + </b-button> + </popover-with-slot> </b-form> <!-- Shutdown server options --> - <b-form novalidate @submit.prevent="shutdownServer"> - <b-form-group - :label="$t('pageServerPowerOperations.shutdownServer')" - > + <b-form> + <b-form-group class="regular-12px cb"> + <label class="semi-bold-12px">{{ + $t('pageServerPowerOperations.shutdownServer') + }}</label> <b-form-radio v-model="form.shutdownOption" name="shutdown-option" @@ -130,18 +157,35 @@ {{ $t('pageServerPowerOperations.immediateShutdown') }} </b-form-radio> </b-form-group> - <b-button - variant="primary" - type="submit" - data-test-id="serverPowerOperations-button-shutDown" + <popover-with-slot + id="popover-shutDown" + :button-label="$t('pageServerPowerOperations.shutDown')" + :popup-label="$t('pageServerPowerOperations.shutdownServer')" + placement="right" + :action="shutdownServer" > - {{ $t('pageServerPowerOperations.shutDown') }} - </b-button> + <b-button + id="popover-shutDown" + ref="button" + size="md" + variant="secondary" + > + {{ $t('pageServerPowerOperations.shutDown') }} + </b-button> + </popover-with-slot> </b-form> </template> </page-section> </b-col> - </b-row> + </page-section> + <page-section + :section-title="$t('pageServerPowerOperations.serverBootSettings')" + class="m-4" + > + <b-col v-if="hasBootSourceOptions" sm="8" md="6" xl="4"> + <boot-settings /> + </b-col> + </page-section> </b-container> </template> @@ -152,10 +196,17 @@ import BVToastMixin from '@/components/Mixins/BVToastMixin'; import BootSettings from './BootSettings'; import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; import Alert from '@/components/Global/Alert'; +import PopoverWithSlot from '@/components/Global/SilaComponents/PopoverWithSlot'; export default { name: 'ServerPowerOperations', - components: { PageTitle, PageSection, BootSettings, Alert }, + components: { + PageTitle, + PageSection, + BootSettings, + Alert, + PopoverWithSlot, + }, mixins: [BVToastMixin, LoadingBarMixin], beforeRouteLeave(to, from, next) { this.hideLoader(); @@ -207,52 +258,18 @@ export default { this.$store.dispatch('controls/serverPowerOn'); }, rebootServer() { - const modalMessage = this.$t( - 'pageServerPowerOperations.modal.confirmRebootMessage' - ); - const modalOptions = { - title: this.$t('pageServerPowerOperations.modal.confirmRebootTitle'), - okTitle: this.$t('global.action.confirm'), - cancelTitle: this.$t('global.action.cancel'), - }; - if (this.form.rebootOption === 'orderly') { - this.$bvModal - .msgBoxConfirm(modalMessage, modalOptions) - .then((confirmed) => { - if (confirmed) this.$store.dispatch('controls/serverSoftReboot'); - }); + this.$store.dispatch('controls/serverSoftReboot'); } else if (this.form.rebootOption === 'immediate') { - this.$bvModal - .msgBoxConfirm(modalMessage, modalOptions) - .then((confirmed) => { - if (confirmed) this.$store.dispatch('controls/serverHardReboot'); - }); + this.$store.dispatch('controls/serverHardReboot'); } }, shutdownServer() { - const modalMessage = this.$t( - 'pageServerPowerOperations.modal.confirmShutdownMessage' - ); - const modalOptions = { - title: this.$t('pageServerPowerOperations.modal.confirmShutdownTitle'), - okTitle: this.$t('global.action.confirm'), - cancelTitle: this.$t('global.action.cancel'), - }; - if (this.form.shutdownOption === 'orderly') { - this.$bvModal - .msgBoxConfirm(modalMessage, modalOptions) - .then((confirmed) => { - if (confirmed) this.$store.dispatch('controls/serverSoftPowerOff'); - }); + this.$store.dispatch('controls/serverSoftPowerOff'); } if (this.form.shutdownOption === 'immediate') { - this.$bvModal - .msgBoxConfirm(modalMessage, modalOptions) - .then((confirmed) => { - if (confirmed) this.$store.dispatch('controls/serverHardPowerOff'); - }); + this.$store.dispatch('controls/serverHardPowerOff'); } }, }, diff --git a/src/views/Operations/VirtualMedia/ModalConfigureConnection.vue b/src/views/Operations/VirtualMedia/ModalConfigureConnection.vue index b0bcfb2b..1a41a334 100644 --- a/src/views/Operations/VirtualMedia/ModalConfigureConnection.vue +++ b/src/views/Operations/VirtualMedia/ModalConfigureConnection.vue @@ -9,7 +9,7 @@ <template #modal-title> {{ $t('pageVirtualMedia.modal.title') }} </template> - <b-form> + <b-form style="width: 100%"> <b-form-group :label="$t('pageVirtualMedia.modal.serverUri')" label-for="serverUri" @@ -43,12 +43,14 @@ :label="$t('pageVirtualMedia.modal.password')" label-for="password" > - <b-form-input - id="password" - v-model="form.password" - type="password" - data-test-id="configureConnection-input-password" - /> + <input-password-toggle> + <b-form-input + id="password" + v-model="form.password" + type="password" + data-test-id="configureConnection-input-password" + /> + </input-password-toggle> </b-form-group> <b-form-group> <b-form-checkbox @@ -72,8 +74,12 @@ <script> import { required } from 'vuelidate/lib/validators'; import VuelidateMixin from '@/components/Mixins/VuelidateMixin.js'; +import InputPasswordToggle from '@/components/Global/InputPasswordToggle'; export default { + components: { + InputPasswordToggle, + }, mixins: [VuelidateMixin], props: { connection: { diff --git a/src/views/Operations/VirtualMedia/VirtualMedia.vue b/src/views/Operations/VirtualMedia/VirtualMedia.vue index 8a3d5add..85ef4c24 100644 --- a/src/views/Operations/VirtualMedia/VirtualMedia.vue +++ b/src/views/Operations/VirtualMedia/VirtualMedia.vue @@ -1,14 +1,14 @@ <template> - <b-container fluid="xl"> + <b-container fluid class="m-0 p-0"> <page-title /> - <b-row class="mb-4"> + <b-row class="bootstrap-table__section"> <b-col md="12"> <page-section :section-title="$t('pageVirtualMedia.virtualMediaSubTitleFirst')" > <b-row> <b-col v-for="(dev, $index) in proxyDevices" :key="$index" md="6"> - <b-form-group :label="dev.id" label-class="bold"> + <b-form-group :label="dev.id" label-class="regular-14px"> <form-file v-if="!dev.isActive" :id="concatId(dev.id)" @@ -23,6 +23,7 @@ </b-form-group> <b-button v-if="!dev.isActive" + size="md" variant="primary" :disabled="!dev.file" @click="startVM(dev)" @@ -42,7 +43,7 @@ </page-section> </b-col> </b-row> - <b-row v-if="loadImageFromExternalServer" class="mb-4"> + <b-row v-if="loadImageFromExternalServer" class="bootstrap-table__section"> <b-col md="12"> <page-section :section-title="$t('pageVirtualMedia.virtualMediaSubTitleSecond')" @@ -56,34 +57,35 @@ <b-form-group :label="device.id" :label-for="device.id" - label-class="bold" + label-class="regular-14px" > <b-button variant="primary" + size="lg" :disabled="device.isActive" @click="configureConnection(device)" > {{ $t('pageVirtualMedia.configureConnection') }} </b-button> - - <b-button - v-if="!device.isActive" - variant="primary" - class="float-right" - :disabled="!device.serverUri" - @click="startLegacy(device)" - > - {{ $t('pageVirtualMedia.start') }} - </b-button> - <b-button - v-if="device.isActive" - variant="primary" - class="float-right" - @click="stopLegacy(device)" - > - {{ $t('pageVirtualMedia.stop') }} - </b-button> </b-form-group> + + <b-button + v-if="!device.isActive" + variant="primary" + size="md" + :disabled="!device.serverUri" + @click="startLegacy(device)" + > + {{ $t('pageVirtualMedia.start') }} + </b-button> + <b-button + v-if="device.isActive" + size="md" + variant="primary" + @click="stopLegacy(device)" + > + {{ $t('pageVirtualMedia.stop') }} + </b-button> </b-col> </b-row> </page-section> @@ -107,7 +109,12 @@ import FormFile from '@/components/Global/FormFile'; export default { name: 'VirtualMedia', - components: { PageTitle, PageSection, ModalConfigureConnection, FormFile }, + components: { + PageTitle, + PageSection, + ModalConfigureConnection, + FormFile, + }, mixins: [BVToastMixin, LoadingBarMixin], data() { return { diff --git a/src/views/PowerSupplies/DynamicInfo/PowerDynamicPage.vue b/src/views/PowerSupplies/DynamicInfo/PowerDynamicPage.vue new file mode 100644 index 00000000..223570bf --- /dev/null +++ b/src/views/PowerSupplies/DynamicInfo/PowerDynamicPage.vue @@ -0,0 +1,592 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.analyticalPanel')" /> + <div class="notification-time__container"> + <span class="semi-bold-12px">{{ + $t('global.ariaLabel.notificationTime') + }}</span> + <div class="form-control notification-time"> + <b-form-input + v-model="notificationInput" + type="number" + class="notification-time__input" + > + </b-form-input> + <button class="notification-button"> + <img + class="notification-time__icon" + src="@/assets/images/refresh.svg" + /> + </button> + </div> + </div> + <date-switch :switch-time-scale="switchTimeScale" :time-scale="timeScale" /> + <!-- Temperature Section --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_1 + variant="link" + class="collapse-button semi-bold-16px" + > + <img src="@/assets/images/temperature-icon.svg" /> + <span class="bold-16px">{{ $t('subHeader.temperature') }}</span> + <component :is="iconChevronUp" class="icon-expand" /> + </b-button> + <b-collapse id="toggle-collapse_1" class="nav-item__nav"> + <!-- Temperature Limit Inputs --> + <div class="limit-container"> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/non-normal.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.nonNormalMode') + }}</span> + <b-form-input + v-model="temperatureNonNormalInput" + type="number" + :min="0" + :max="temperatureCritical" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/critical.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.criticalMode') + }}</span> + <b-form-input + v-model="temperatureCritical" + type="number" + :min="temperatureNonNormalInput" + :max="temperatureWarningInput" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.temperatureWarning') + }}</span> + <b-form-input + v-model="temperatureWarningInput" + type="number" + :min="temperatureCritical" + :max="100" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button + class="save-button" + variant="primary" + @click="updateTemperature" + > + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- Temperature Tables --> + <temperature-table + :time-scale="timeScale" + :warning="temperatureWarning" + :non-normal="temperatureNonNormal" + :critical="temperatureCritical" + /> + <accessory-table :records="accessoryData.temperatureTable" /> + </b-collapse> + </div> + <!-- using Section --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_2 + variant="link" + class="collapse-button semi-bold-16px" + > + <img src="@/assets/images/usage-icon.svg" /> + <span class="bold-16px">{{ $t('pagePower.usingPercent') }}</span> + <component :is="iconChevronUp" class="icon-expand" /> + </b-button> + <b-collapse id="toggle-collapse_2" class="nav-item__nav"> + <!-- using Limit Inputs --> + <div class="limit-container"> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.warningPercent') + }}</span> + <b-form-input + v-model="usingNonNormalInput" + type="number" + :min="0" + :max="usingCritical" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/non-normal.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.nonNormalModePercent') + }}</span> + <b-form-input + v-model="usingCritical" + type="number" + :min="usingNonNormalInput" + :max="usingWarningInput" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/critical.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.criticalModePercent') + }}</span> + <b-form-input + v-model="usingWarningInput" + type="number" + :min="usingCritical" + :max="100" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button class="save-button" variant="primary" @click="updateUsage"> + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- using Tables --> + <using-table + :time-scale="timeScale" + :warning="usingWarning" + :non-normal="usingNonNormal" + :critical-start="usingCritical" + /> + <accessory-table :records="accessoryData.usingTable" /> + </b-collapse> + </div> + <!-- Input Voltage Section --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_3 + variant="link" + class="collapse-button semi-bold-16px" + > + <img src="@/assets/images/voltage-icon.svg" /> + <span class="bold-16px">{{ + $t('tablesDescription.inputVoltage') + }}</span> + <component :is="iconChevronUp" class="icon-expand" /> + </b-button> + <b-collapse id="toggle-collapse_3" class="nav-item__nav"> + <div class="limit-container"> + <div class="frequency-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.voltageWarning') + }}</span> + <b-form-input + v-model="powerWarningInput" + type="number" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="frequency-limt"> + <img src="@/assets/images/labels/shutdown.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.voltageShutdown') + }}</span> + <b-form-input + v-model="powerShutdownInput" + type="number" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button class="save-button" variant="primary" @click="updatePower"> + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- Input Voltage Tables --> + <voltage-table :time-scale="timeScale" :warning="frequencyWarning" /> + <accessory-table :records="accessoryData.voltageTable" /> + </b-collapse> + </div> + <!-- Input Power Section --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_4 + variant="link" + class="collapse-button semi-bold-16px" + > + <img src="@/assets/images/power-icon.svg" /> + <span class="bold-16px">{{ $t('tablesDescription.inputPower') }}</span> + <component :is="iconChevronUp" class="icon-expand" /> + </b-button> + <b-collapse id="toggle-collapse_4" class="nav-item__nav"> + <div class="limit-container"> + <div class="frequency-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.powerWarning') + }}</span> + <b-form-input + v-model="powerWarningInput" + type="number" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="frequency-limt"> + <img src="@/assets/images/labels/shutdown.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.powerShutdown') + }}</span> + <b-form-input + v-model="powerShutdownInput" + type="number" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button class="save-button" variant="primary" @click="updatePower"> + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- Input Power Table --> + <power-table + :time-scale="timeScale" + :warning="powerWarning" + :shutdown="powerShutdown" + /> + <accessory-table :records="accessoryData.powerTable" /> + </b-collapse> + </div> + <!-- Output Voltage Section --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_5 + variant="link" + class="collapse-button semi-bold-16px" + > + <img src="@/assets/images/voltage-icon.svg" /> + <span class="bold-16px">{{ + $t('tablesDescription.outputVoltage') + }}</span> + <component :is="iconChevronUp" class="icon-expand" /> + </b-button> + <b-collapse id="toggle-collapse_5" class="nav-item__nav"> + <div class="limit-container"> + <div class="frequency-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.voltageWarning') + }}</span> + <b-form-input + v-model="powerWarningInput" + type="number" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="frequency-limt"> + <img src="@/assets/images/labels/shutdown.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.voltageShutdown') + }}</span> + <b-form-input + v-model="powerShutdownInput" + type="number" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button class="save-button" variant="primary" @click="updatePower"> + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- Output Voltage Tables --> + <voltage-table :time-scale="timeScale" :warning="frequencyWarning" /> + <accessory-table :records="accessoryData.voltageTable" /> + </b-collapse> + </div> + <!-- Output Power Section --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_6 + variant="link" + class="collapse-button semi-bold-16px" + > + <img src="@/assets/images/power-icon.svg" /> + <span class="bold-16px">{{ $t('tablesDescription.outputPower') }}</span> + <component :is="iconChevronUp" class="icon-expand" /> + </b-button> + <b-collapse id="toggle-collapse_6" class="nav-item__nav"> + <div class="limit-container"> + <div class="frequency-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.powerWarning') + }}</span> + <b-form-input + v-model="powerWarningInput" + type="number" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="frequency-limt"> + <img src="@/assets/images/labels/shutdown.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.powerShutdown') + }}</span> + <b-form-input + v-model="powerShutdownInput" + type="number" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button class="save-button" variant="primary" @click="updatePower"> + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- Output Power Table --> + <power-table + :time-scale="timeScale" + :warning="powerWarning" + :shutdown="powerShutdown" + /> + <accessory-table :records="accessoryData.powerTable" /> + </b-collapse> + </div> + <!-- Amperage Section --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_7 + variant="link" + class="collapse-button semi-bold-16px" + > + <img src="@/assets/images/amperage-icon.svg" /> + <span class="bold-16px">{{ $t('tablesDescription.amperage') }}</span> + <component :is="iconChevronUp" class="icon-expand" /> + </b-button> + <b-collapse id="toggle-collapse_7" class="nav-item__nav"> + <div class="limit-container"> + <div class="frequency-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.voltageWarning') + }}</span> + <b-form-input + v-model="powerWarningInput" + type="number" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="frequency-limt"> + <img src="@/assets/images/labels/shutdown.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.voltageShutdown') + }}</span> + <b-form-input + v-model="powerShutdownInput" + type="number" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button class="save-button" variant="primary" @click="updatePower"> + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- Amperage Table --> + <voltage-table :time-scale="timeScale" :warning="frequencyWarning" /> + <accessory-table :records="accessoryData.voltageTable" /> + </b-collapse> + </div> + </b-container> +</template> +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; +import DateSwitch from '@/components/Global/SilaComponents/DateSwitch'; + +import TemperatureTable from './TemperatureTable'; +import UsingTable from './UsingTable'; +import PowerTable from './PowerTable'; +import VoltageTable from './VoltageTable'; +import AccessoryTable from '@/components/Global/SilaComponents/Tables/AccessoryTablePower'; +import iconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; + +import { AccessoryData } from './helpers'; + +export default { + components: { + PageTitle, + PageSection, + DateSwitch, + TemperatureTable, + UsingTable, + PowerTable, + VoltageTable, + AccessoryTable, + }, + data() { + return { + timeScale: 'hour', + temperatureNonNormalInput: 44, + temperatureNonNormal: 44, + temperatureCriticalInput: 55, + temperatureCritical: 55, + temperatureWarningInput: 72, + temperatureWarning: 72, + usingNonNormalInput: 50, + usingNonNormal: 50, + usingCriticalInput: 55, + usingCritical: 55, + usingWarningInput: 72, + usingWarning: 72, + // frequencyWarning: 660, + // frequencyWarningInput: 660, + powerWarning: 66, + powerWarningInput: 66, + powerShutdown: 88, + powerShutdownInput: 88, + notificationInput: 42, + accessoryData: AccessoryData, + iconChevronUp: iconChevronUp, + }; + }, + methods: { + switchTimeScale(period) { + this.timeScale = period; + }, + updateTemperature() { + this.temperatureNonNormal = +this.temperatureNonNormalInput; + this.temperatureCritical = +this.temperatureCriticalInput; + this.temperatureWarning = +this.temperatureWarningInput; + }, + updateUsage() { + this.usingNonNormal = +this.usingNonNormalInput; + this.usingCritical = +this.usingCriticalInput; + this.usingWarning = +this.usingWarningInput; + }, + updateFrequency() { + this.frequencyWarning = +this.frequencyWarningInput; + }, + updatePower() { + this.powerWarning = +this.powerWarningInput; + this.powerShutdown = +this.powerShutdownInput; + }, + }, +}; +</script> +<style lang="scss" scoped> +//nav items style +.nav-item, +.nav-link { + padding: 0; +} +.nav-item { + list-style-type: none; +} + +a { + color: $text-primary !important; + &:hover { + color: $text-primary !important; + } +} + +.notification-time__container { + position: absolute; + top: calc(#{$header-height}); + right: 0px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: center; +} + +.notification-time { + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: center; + border: none; + box-shadow: none; + border-radius: 8px; + margin: 12px 32px 12px 8px; + width: 236px; + height: 40px; + z-index: 1001; +} + +.notification-time__icon { + width: 20px; + height: 20px; +} + +.notification-time__input { + border: none; + background: none; + box-shadow: none; +} + +.notification-button { + border: none; + background: none; +} + +.semi-bold-12px { + z-index: 1001; +} +// temperature limit comtainer +.limit-container { + height: 85px; + width: 100%; + padding: 0 32px 10px 32px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: flex-end; + gap: 24px; +} + +.trmperature-limt { + height: 60px; + width: 100%; + max-width: 270px; + display: flex; + align-items: baseline; + flex-flow: row wrap; + gap: 8px; +} + +.form-control { + height: 36px; + &.non-normal { + width: 125px; + } +} +.save-button { + width: 151px; + height: 36px; +} + +.frequency-limt { + height: 60px; + width: 100%; + max-width: 288px; + display: flex; + align-items: baseline; + flex-flow: row wrap; + gap: 8px; +} +</style> diff --git a/src/views/PowerSupplies/DynamicInfo/PowerTable.vue b/src/views/PowerSupplies/DynamicInfo/PowerTable.vue new file mode 100644 index 00000000..4ccb8aac --- /dev/null +++ b/src/views/PowerSupplies/DynamicInfo/PowerTable.vue @@ -0,0 +1,126 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setCategories } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + warning: { + type: Number, + default: 66, + }, + shutdown: { + type: Number, + default: 88, + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'line', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(60, this.timeScale), + title: null, + labels: { + step: 6, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setCategories(101, 'Вт'), + min: 0, + max: 100, + title: null, + minTickInterval: 25, + minorGridLineColor: '#1A3E5B1A', + plotLines: [ + { + color: '#E11717', + dashStyle: 'solid', + value: this.warning, + zIndex: '1000', + width: 2, + label: { + text: 'Пороговое значения предупреждение', + align: 'right', + style: { + fontFamily: 'Inter', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + { + color: '#1A3E5B', + dashStyle: 'solid', + value: this.shutdown, + width: 2, + label: { + text: 'Пороговое значения отказ', + align: 'right', + style: { + fontFamily: 'Inter', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + ], + }, + series: Series['power'].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/PowerSupplies/DynamicInfo/TemperatureTable.vue b/src/views/PowerSupplies/DynamicInfo/TemperatureTable.vue new file mode 100644 index 00000000..9ae92c06 --- /dev/null +++ b/src/views/PowerSupplies/DynamicInfo/TemperatureTable.vue @@ -0,0 +1,126 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setCategories } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + warning: { + type: Number, + default: 70, + }, + nonNormal: { + type: Number, + default: 70, + }, + critical: { + type: Number, + default: 70, + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'line', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(60, 'hour'), + title: null, + labels: { + step: 6, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setCategories(101, 'С°'), + min: 0, + max: 100, + title: null, + minTickInterval: 25, + minorGridLineColor: '#1A3E5B1A', + plotLines: [ + { + color: '#E11717', + dashStyle: 'solid', + value: this.warning, + zIndex: '1000', + width: 2, + label: { + text: 'Пороговое значение предупреждения, С°', + align: 'right', + style: { + fontFamily: 'Inter, sans-serif', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + ], + plotBands: [ + { + color: '#F0AC0C1A', + dashStyle: 'solid', + from: this.nonNormal, + to: this.criticalStart, + }, + { + color: '#FF41411A', + dashStyle: 'solid', + from: this.criticalStart, + to: this.warning, + }, + ], + }, + series: Series['temperature'].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/PowerSupplies/DynamicInfo/UsingTable.vue b/src/views/PowerSupplies/DynamicInfo/UsingTable.vue new file mode 100644 index 00000000..322a7f7b --- /dev/null +++ b/src/views/PowerSupplies/DynamicInfo/UsingTable.vue @@ -0,0 +1,126 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setCategories } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + warning: { + type: Number, + default: 70, + }, + nonNormal: { + type: Number, + default: 70, + }, + criticalStart: { + type: Number, + default: 70, + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'line', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(60, 'hour'), + title: null, + labels: { + step: 6, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setCategories(101, '%'), + min: 0, + max: 100, + title: null, + minTickInterval: 25, + minorGridLineColor: '#1A3E5B1A', + plotLines: [ + { + color: '#E11717', + dashStyle: 'solid', + value: this.warning, + zIndex: '1000', + width: 2, + label: { + text: 'Пороговое значение предупреждения, %', + align: 'right', + style: { + fontFamily: 'Inter, sans-serif', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + ], + plotBands: [ + { + color: '#F0AC0C1A', + dashStyle: 'solid', + from: this.nonNormal, + to: this.criticalStart, + }, + { + color: '#FF41411A', + dashStyle: 'solid', + from: this.criticalStart, + to: this.warning, + }, + ], + }, + series: Series['temperature'].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/PowerSupplies/DynamicInfo/VoltageTable.vue b/src/views/PowerSupplies/DynamicInfo/VoltageTable.vue new file mode 100644 index 00000000..b7b2a973 --- /dev/null +++ b/src/views/PowerSupplies/DynamicInfo/VoltageTable.vue @@ -0,0 +1,126 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setCategories } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + warning: { + type: Number, + default: 66, + }, + shutdown: { + type: Number, + default: 88, + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'line', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(60, this.timeScale), + title: null, + labels: { + step: 6, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setCategories(101, 'В'), + min: 0, + max: 100, + title: null, + minTickInterval: 25, + minorGridLineColor: '#1A3E5B1A', + plotLines: [ + { + color: '#E11717', + dashStyle: 'solid', + value: this.warning, + zIndex: '1000', + width: 2, + label: { + text: 'Пороговое значения предупреждение', + align: 'right', + style: { + fontFamily: 'Inter', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + { + color: '#1A3E5B', + dashStyle: 'solid', + value: this.shutdown, + width: 2, + label: { + text: 'Пороговое значения отказ', + align: 'right', + style: { + fontFamily: 'Inter', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + ], + }, + series: Series['voltage'].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/PowerSupplies/DynamicInfo/helpers.js b/src/views/PowerSupplies/DynamicInfo/helpers.js new file mode 100644 index 00000000..f5d2aee7 --- /dev/null +++ b/src/views/PowerSupplies/DynamicInfo/helpers.js @@ -0,0 +1,1572 @@ +export const colors = [ + '#CB32F1', + '#F18638', + '#139BB9', + '#E1AB17', + '#175AE1', + '#13B937', +]; + +export const Series = { + temperature: [ + { + name: 'Sean', + data: [ + 10, + 10, + 10, + 30, + 10, + 10, + 10, + 37, + 10, + 10, + 10, + 10, + 10, + 25, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 35, + 10, + 10, + 10, + 10, + 10, + 45, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 50, + 10, + 10, + 10, + 10, + 10, + 10, + ], + color: '#CB32F1', + }, + { + name: 'Ivan', + data: [ + 11, + 11, + 11, + 30, + 11, + 11, + 11, + 11, + 57, + 11, + 11, + 11, + 11, + 25, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 61, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 31, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 21, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 51, + 11, + 11, + 11, + 11, + 11, + 11, + ], + color: '#175AE1', + }, + { + name: 'Brendan', + data: [ + 15, + 15, + 15, + 35, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 25, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 45, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 35, + 15, + 15, + 55, + 15, + 15, + 15, + 15, + 15, + 15, + ], + color: '#B98D13', + }, + { + name: 'Matteo', + data: [ + 21, + 21, + 21, + 51, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 40, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 35, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 53, + 21, + 21, + 30, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + ], + color: '#13B937', + }, + { + name: 'Joan', + data: [ + 19, + 19, + 19, + 39, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 29, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 39, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 39, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 59, + 19, + 19, + 19, + 19, + 19, + 19, + ], + color: '#F18638', + }, + { + name: 'Avinash', + data: [ + 16, + 16, + 16, + 56, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 26, + 16, + 16, + 16, + 16, + 16, + 16, + 26, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 76, + 16, + 16, + 16, + 16, + 46, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 46, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + ], + color: '#139BB9', + }, + ], + //////////////////////////////voltage//////////////// + voltage: [ + { + name: 'Sean', + data: [ + 16, + 16, + 16, + 46, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 26, + 16, + 16, + 16, + 16, + 16, + 16, + 26, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 56, + 16, + 26, + 16, + 16, + 36, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 46, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 36, + 16, + 16, + 16, + 16, + 16, + ], + color: '#CB32F1', + }, + { + name: 'Ivan', + data: [ + 11, + 11, + 11, + 44, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 21, + 11, + 11, + 11, + 11, + 11, + 11, + 21, + 11, + 31, + 11, + 11, + 11, + 11, + 11, + 11, + 55, + 11, + 21, + 11, + 11, + 31, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 31, + 11, + 11, + 41, + 11, + 11, + 11, + 21, + 11, + 11, + 11, + 35, + 11, + 11, + 11, + 11, + 11, + ], + color: '#175AE1', + }, + { + name: 'Brendan', + data: [ + 31, + 31, + 31, + 51, + 31, + 31, + 31, + 31, + 31, + 90, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 50, + 31, + 31, + 31, + 31, + 31, + 31, + 35, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 40, + 31, + 31, + 31, + 31, + 53, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + 31, + ], + color: '#B98D13', + }, + { + name: 'Matteo', + data: [ + 21, + 21, + 21, + 51, + 21, + 21, + 21, + 21, + 21, + 40, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 50, + 21, + 21, + 21, + 21, + 21, + 21, + 35, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 60, + 21, + 21, + 21, + 10, + 53, + 21, + 21, + 30, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + ], + color: '#13B937', + }, + { + name: 'Joan', + data: [ + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 39, + 19, + 19, + 39, + 19, + 19, + 19, + 29, + 19, + 19, + 59, + 19, + 19, + 69, + 19, + 19, + 19, + 19, + 29, + 19, + 19, + 49, + 19, + 19, + 59, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + ], + color: '#F18638', + }, + { + name: 'Avinash', + data: [ + 17, + 17, + 17, + 15, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 27, + 17, + 17, + 17, + 17, + 17, + 17, + 21, + 17, + 17, + 17, + 59, + 17, + 17, + 17, + 17, + 17, + 59, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 57, + 17, + 17, + 17, + 17, + 17, + 77, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + 17, + ], + color: '#139BB9', + }, + ], + //////////////////////////////power//////////////// + power: [ + { + name: 'Sean', + data: [ + 15, + 15, + 45, + 15, + 65, + 15, + 75, + 15, + 15, + 15, + 55, + 15, + 25, + 15, + 45, + 15, + 55, + 15, + 75, + 15, + 35, + 15, + 55, + 15, + 75, + 15, + 85, + 15, + 15, + 45, + 15, + 15, + 45, + 15, + 45, + 15, + 15, + 65, + 15, + 45, + 15, + 25, + 15, + 45, + 15, + 65, + 15, + 35, + 35, + 35, + 15, + 55, + 15, + 15, + 35, + 15, + 25, + 15, + 35, + 15, + ], + color: '#CB32F1', + }, + { + name: 'Ivan', + data: [ + 62, + 12, + 72, + 12, + 12, + 12, + 42, + 12, + 12, + 12, + 52, + 12, + 22, + 12, + 42, + 12, + 52, + 12, + 72, + 12, + 52, + 12, + 62, + 12, + 72, + 12, + 82, + 12, + 12, + 42, + 12, + 12, + 52, + 12, + 42, + 12, + 12, + 62, + 12, + 42, + 12, + 22, + 12, + 42, + 12, + 62, + 12, + 12, + 32, + 12, + 62, + 12, + 52, + 12, + 32, + 12, + 22, + 12, + 32, + 12, + ], + color: '#175AE1', + }, + { + name: 'Brendan', + data: [ + 14, + 14, + 34, + 14, + 24, + 14, + 34, + 14, + 64, + 14, + 74, + 14, + 14, + 14, + 44, + 14, + 14, + 14, + 54, + 14, + 24, + 14, + 44, + 14, + 54, + 14, + 74, + 14, + 54, + 14, + 64, + 14, + 74, + 14, + 84, + 14, + 14, + 44, + 14, + 14, + 54, + 14, + 44, + 14, + 14, + 64, + 14, + 44, + 14, + 24, + 14, + 44, + 14, + 64, + 14, + 14, + 14, + 54, + 14, + 54, + ], + color: '#B98D13', + }, + { + name: 'Matteo', + data: [ + 24, + 14, + 44, + 14, + 64, + 14, + 64, + 14, + 34, + 14, + 54, + 14, + 14, + 34, + 14, + 24, + 14, + 34, + 14, + 64, + 14, + 74, + 14, + 14, + 14, + 44, + 14, + 14, + 14, + 54, + 14, + 14, + 14, + 44, + 14, + 54, + 14, + 74, + 14, + 54, + 14, + 64, + 14, + 74, + 14, + 84, + 14, + 94, + 14, + 54, + 4, + 54, + 14, + 44, + 14, + 44, + 64, + 14, + 44, + 14, + ], + color: '#13B937', + }, + { + name: 'Joan', + data: [ + 16, + 46, + 16, + 26, + 16, + 46, + 16, + 66, + 16, + 16, + 16, + 36, + 16, + 56, + 16, + 16, + 36, + 16, + 26, + 16, + 36, + 16, + 66, + 16, + 76, + 16, + 16, + 16, + 46, + 16, + 16, + 16, + 56, + 16, + 26, + 16, + 46, + 16, + 56, + 16, + 76, + 16, + 56, + 16, + 66, + 16, + 76, + 16, + 86, + 16, + 96, + 16, + 16, + 16, + 56, + 16, + 46, + 16, + 46, + 16, + ], + color: '#F18638', + }, + { + name: 'Avinash', + data: [ + 49, + 19, + 19, + 69, + 19, + 49, + 19, + 29, + 19, + 49, + 19, + 69, + 19, + 39, + 39, + 39, + 19, + 59, + 19, + 19, + 39, + 19, + 29, + 19, + 39, + 19, + 69, + 19, + 79, + 19, + 19, + 19, + 49, + 19, + 19, + 19, + 59, + 19, + 29, + 19, + 49, + 19, + 59, + 19, + 79, + 19, + 59, + 19, + 69, + 19, + 79, + 19, + 89, + 19, + 99, + 19, + 19, + 69, + 59, + 19, + ], + color: '#139BB9', + }, + ], +}; + +export const setTime = (count) => { + const arr = [...new Array(count)].map(() => ''); + for (let i = 0; i < arr.length; i++) { + arr[i] = `15:${String(i).padStart(2, '0')}`; + } + return arr; +}; + +export const setCategories = (count, desc) => { + const arr = [...new Array(count)].map((i, k) => `${k} ${desc}`); + return arr; +}; + +export const AccessoryData = { + temperatureTable: { + fields: [ + { + key: 'name', + label: 'Имя модуля', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'currentTemperature', + label: 'Текущее, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'middleTemperature', + label: 'Среднее, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minTemperature', + label: 'Минимальное, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minDate', + label: 'Дата минимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxTemperature', + label: 'Максимальное, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxDate', + label: 'Дата максимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Источник 1', + currentTemperature: 19, + middleTemperature: 40, + minTemperature: 31, + minDate: { time: '15:15', date: '11.11.2021' }, + maxTemperature: 88, + maxDate: { time: '10:26', date: '15.11.2021' }, + }, + { + name: 'Источник 2', + currentTemperature: 29, + middleTemperature: 40, + minTemperature: 20, + minDate: { time: '15:45', date: '11.11.2021' }, + maxTemperature: 76, + maxDate: { time: '16:59', date: '16.11.2021' }, + }, + { + name: 'Источник 3', + currentTemperature: 48, + middleTemperature: 46, + minTemperature: 31, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 69, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + { + name: 'Источник 4', + currentTemperature: 48, + middleTemperature: 45, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 75, + maxDate: { time: '11:26', date: '16.11.2021' }, + }, + { + name: 'Источник 5', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 30, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '17.11.2021' }, + }, + { + name: 'Источник 6', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + ], + }, + usingTable: { + fields: [ + { + key: 'name', + label: 'Имя модуля', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'currentTemperature', + label: 'Текущее, %', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'middleTemperature', + label: 'Среднее, %', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minTemperature', + label: 'Минимальное, %', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minDate', + label: 'Дата минимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxTemperature', + label: 'Максимальное, %', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxDate', + label: 'Дата максимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Источник 1', + currentTemperature: 19, + middleTemperature: 40, + minTemperature: 31, + minDate: { time: '15:15', date: '11.11.2021' }, + maxTemperature: 88, + maxDate: { time: '10:26', date: '15.11.2021' }, + }, + { + name: 'Источник 2', + currentTemperature: 29, + middleTemperature: 40, + minTemperature: 20, + minDate: { time: '15:45', date: '11.11.2021' }, + maxTemperature: 76, + maxDate: { time: '16:59', date: '16.11.2021' }, + }, + { + name: 'Источник 3', + currentTemperature: 48, + middleTemperature: 46, + minTemperature: 31, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 69, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + { + name: 'Источник 4', + currentTemperature: 48, + middleTemperature: 45, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 75, + maxDate: { time: '11:26', date: '16.11.2021' }, + }, + { + name: 'Источник 5', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 30, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '17.11.2021' }, + }, + { + name: 'Источник 6', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + ], + }, + voltageTable: { + fields: [ + { + key: 'name', + label: 'Имя модуля', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'currentTemperature', + label: 'Текущее, В', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'middleTemperature', + label: 'Среднее, В', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minTemperature', + label: 'Минимальное, В', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minDate', + label: 'Дата минимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxTemperature', + label: 'Максимальное, В', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxDate', + label: 'Дата максимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Источник 1', + currentTemperature: 19, + middleTemperature: 40, + minTemperature: 31, + minDate: { time: '15:15', date: '11.11.2021' }, + maxTemperature: 88, + maxDate: { time: '10:26', date: '15.11.2021' }, + }, + { + name: 'Источник 2', + currentTemperature: 29, + middleTemperature: 40, + minTemperature: 20, + minDate: { time: '15:45', date: '11.11.2021' }, + maxTemperature: 76, + maxDate: { time: '16:59', date: '16.11.2021' }, + }, + { + name: 'Источник 3', + currentTemperature: 48, + middleTemperature: 46, + minTemperature: 31, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 69, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + { + name: 'Источник 4', + currentTemperature: 48, + middleTemperature: 45, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 75, + maxDate: { time: '11:26', date: '16.11.2021' }, + }, + { + name: 'Источник 5', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 30, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '17.11.2021' }, + }, + { + name: 'Источник 6', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + ], + }, + powerTable: { + fields: [ + { + key: 'name', + label: 'Имя модуля', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'currentPower', + label: 'Текущее, Вт', + label2: '', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Источник 1', + currentPower: 91, + }, + { + name: 'Источник 2', + currentPower: 77, + }, + { + name: 'Источник 3', + currentPower: 76, + }, + { + name: 'Источник 4', + currentPower: 74, + }, + { + name: 'Источник 5', + currentPower: 73, + }, + { + name: 'Источник 6', + currentPower: 71, + }, + ], + }, +}; diff --git a/src/views/PowerSupplies/DynamicInfo/index.js b/src/views/PowerSupplies/DynamicInfo/index.js new file mode 100644 index 00000000..c45d5c89 --- /dev/null +++ b/src/views/PowerSupplies/DynamicInfo/index.js @@ -0,0 +1,2 @@ +import PowerDynamicPage from './PowerDynamicPage.vue'; +export default PowerDynamicPage; diff --git a/src/views/PowerSupplies/Specification/PowerStaticPage.vue b/src/views/PowerSupplies/Specification/PowerStaticPage.vue new file mode 100644 index 00000000..f0ffd296 --- /dev/null +++ b/src/views/PowerSupplies/Specification/PowerStaticPage.vue @@ -0,0 +1,148 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.specification')" /> + <page-section class="bootstrap-table__section info_section"> + <span class="bold-16px">{{ $t('pageInventory.powerSources') }}</span> + </page-section> + <data-tabs + :slots="sourceSlots" + :switch-tab="switchSourceSlot" + :current-tab="currentSourceSlot" + :slot-width="100" + :slider-width="68" + /> + <page-section class="bootstrap-table__section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items_slots" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + <template #cell(value)="{ index, value }"> + <b-row v-if="index === 0"> + <b-col cols="11"> + <span> + {{ 'Работоспособность' }} + </span> + </b-col> + <b-col cols="1"> + <img src="@/assets/images/status/on.svg" class="icon-chevron" /> + </b-col> + </b-row> + <b-row v-else> + <b-col> + <span>{{ value }}</span> + </b-col> + </b-row> + </template> + </b-table> + </page-section> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; +import DataTabs from '@/components/Global/SilaComponents/DataTabs'; + +export default { + components: { PageTitle, PageSection, DataTabs }, + data() { + return { + currentSourceSlot: 1, + sourceSlots: [ + { id: 1, name: 'Источник 1' }, + { id: 2, name: 'Источник 2' }, + { id: 3, name: 'Источник 3' }, + { id: 4, name: 'Источник 4' }, + { id: 5, name: 'Источник 5' }, + { id: 6, name: 'Источник 6' }, + { id: 7, name: 'Источник 7' }, + { id: 8, name: 'Источник 8' }, + { id: 9, name: 'Источник 9' }, + { id: 10, name: 'Источник 10' }, + { id: 11, name: 'Источник 11' }, + { id: 12, name: 'Источник 12' }, + { id: 13, name: 'Источник 13' }, + { id: 14, name: 'Источник 14' }, + { id: 15, name: 'Источник 15' }, + ], + fields: [ + { + key: 'parametr', + label: 'Параметр', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first + memory-table-col-first`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + items_slots: [ + { + parametr: 'Статус', + value: true, + }, + { + parametr: 'Название', + value: 'Источник 1', + }, + { + parametr: 'Версия прошивки', + value: '1.1.2257', + }, + { + parametr: 'Серийный номер', + value: '4789564478551', + }, + { + parametr: 'Номинальное напряжение', + value: '220 В', + }, + { + parametr: 'Номинальная мощность', + value: '400 Вт', + }, + { + parametr: 'Поддержка горячей замены', + value: 'Есть', + }, + ], + }; + }, + methods: { + switchSourceSlot(period) { + this.currentSourceSlot = period; + }, + }, +}; +</script> +<style lang="scss"> +.memory-table-col-first { + width: 50%; +} +</style> + +<style lang="scss" scoped> +.info_section { + margin-bottom: 0px; +} + +.bold-16px { + display: block; + margin: 25px 0 16px 0; +} +</style> diff --git a/src/views/PowerSupplies/Specification/index.js b/src/views/PowerSupplies/Specification/index.js new file mode 100644 index 00000000..14c4ef64 --- /dev/null +++ b/src/views/PowerSupplies/Specification/index.js @@ -0,0 +1,2 @@ +import PowerStaticPage from './PowerStaticPage.vue'; +export default PowerStaticPage; diff --git a/src/views/Processors/DynamicInfo/FrequencyTable.vue b/src/views/Processors/DynamicInfo/FrequencyTable.vue new file mode 100644 index 00000000..c749905d --- /dev/null +++ b/src/views/Processors/DynamicInfo/FrequencyTable.vue @@ -0,0 +1,107 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setCategories } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + warning: { + type: Number, + default: 70, + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'line', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(60, 'hour'), + title: null, + labels: { + step: 6, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setCategories(1001, 'Hz'), + min: 0, + max: 1000, + title: null, + minTickInterval: 250, + minorGridLineColor: '#1A3E5B1A', + labels: { + padding: 4, + }, + plotLines: [ + { + color: '#E11717', + dashStyle: 'solid', + value: this.warning, + zIndex: '1000', + width: 2, + label: { + text: 'Пороговое значение предупреждения', + align: 'right', + style: { + fontFamily: 'Inter, sans-serif', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + ], + }, + series: Series['frequency'].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/Processors/DynamicInfo/PowerTable.vue b/src/views/Processors/DynamicInfo/PowerTable.vue new file mode 100644 index 00000000..4ccb8aac --- /dev/null +++ b/src/views/Processors/DynamicInfo/PowerTable.vue @@ -0,0 +1,126 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setCategories } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + warning: { + type: Number, + default: 66, + }, + shutdown: { + type: Number, + default: 88, + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'line', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(60, this.timeScale), + title: null, + labels: { + step: 6, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setCategories(101, 'Вт'), + min: 0, + max: 100, + title: null, + minTickInterval: 25, + minorGridLineColor: '#1A3E5B1A', + plotLines: [ + { + color: '#E11717', + dashStyle: 'solid', + value: this.warning, + zIndex: '1000', + width: 2, + label: { + text: 'Пороговое значения предупреждение', + align: 'right', + style: { + fontFamily: 'Inter', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + { + color: '#1A3E5B', + dashStyle: 'solid', + value: this.shutdown, + width: 2, + label: { + text: 'Пороговое значения отказ', + align: 'right', + style: { + fontFamily: 'Inter', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + ], + }, + series: Series['power'].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/Processors/DynamicInfo/ProcessorsDynamicPage.vue b/src/views/Processors/DynamicInfo/ProcessorsDynamicPage.vue new file mode 100644 index 00000000..7e0b16a4 --- /dev/null +++ b/src/views/Processors/DynamicInfo/ProcessorsDynamicPage.vue @@ -0,0 +1,361 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.analyticalPanel')" /> + <div class="notification-time__container"> + <span class="semi-bold-12px">{{ + $t('global.ariaLabel.notificationTime') + }}</span> + <div class="form-control notification-time"> + <b-form-input + v-model="notificationInput" + type="number" + class="notification-time__input" + > + </b-form-input> + <button class="notification-button"> + <img + class="notification-time__icon" + src="@/assets/images/refresh.svg" + /> + </button> + </div> + </div> + <date-switch :switch-time-scale="switchTimeScale" :time-scale="timeScale" /> + <!-- Temperature Section --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_1 + variant="link" + class="collapse-button semi-bold-16px" + > + <img src="@/assets/images/temperature-icon.svg" /> + <span class="bold-16px">{{ $t('subHeader.temperature') }}</span> + <component :is="iconChevronUp" class="icon-expand" /> + </b-button> + <b-collapse id="toggle-collapse_1" class="nav-item__nav"> + <!-- Temperature Limit Inputs --> + <div class="limit-container"> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/non-normal.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.nonNormalMode') + }}</span> + <b-form-input + v-model="temperatureNonNormalInput" + type="number" + :min="0" + :max="temperatureCriticalInput" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/critical.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.criticalMode') + }}</span> + <b-form-input + v-model="temperatureCriticalInput" + type="number" + :min="temperatureNonNormalInput" + :max="temperatureWarningInput" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.temperatureWarning') + }}</span> + <b-form-input + v-model="temperatureWarningInput" + type="number" + :min="temperatureCriticalInput" + :max="100" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button + class="save-button" + variant="primary" + @click="updateTemperature" + > + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- Temperature Tables --> + <temperature-table + :time-scale="timeScale" + :warning="temperatureWarning" + :non-normal="temperatureNonNormal" + :critical-start="temperatureCritical" + /> + <accessory-table :records="accessoryData.temperatureTable" /> + </b-collapse> + </div> + <!-- Frequency Section --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_2 + variant="link" + class="collapse-button semi-bold-16px" + > + <img src="@/assets/images/frequency-icon.svg" /> + <span class="bold-16px">{{ $t('subHeader.frequency') }}</span> + <component :is="iconChevronUp" class="icon-expand" /> + </b-button> + <b-collapse id="toggle-collapse_2" class="nav-item__nav"> + <div class="limit-container"> + <div class="frequency-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.frequencyWarning') + }}</span> + <b-form-input + v-model="frequencyWarningInput" + :min="0" + :max="1000" + type="number" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button + class="save-button" + variant="primary" + @click="updateFrequency" + > + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- Frequency Table --> + <frequency-table :time-scale="timeScale" :warning="frequencyWarning" /> + <accessory-table :records="accessoryData.frequencyTable" /> + <!-- <frequency-table /> --> + </b-collapse> + </div> + <!-- Power Consumption Section --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_3 + variant="link" + class="collapse-button semi-bold-16px" + > + <img src="@/assets/images/power-icon.svg" /> + <span class="bold-16px">{{ $t('subHeader.powerConsumption') }}</span> + <component :is="iconChevronUp" class="icon-expand" /> + </b-button> + <b-collapse id="toggle-collapse_3" class="nav-item__nav"> + <div class="limit-container"> + <div class="frequency-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.powerWarning') + }}</span> + <b-form-input + v-model="powerWarningInput" + type="number" + :min="0" + :max="100" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="frequency-limt"> + <img src="@/assets/images/labels/shutdown.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.powerShutdown') + }}</span> + <b-form-input + v-model="powerShutdownInput" + type="number" + :min="0" + :max="100" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button class="save-button" variant="primary" @click="updatePower"> + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- Power Consumption Table --> + <power-table + :time-scale="timeScale" + :warning="powerWarning" + :shutdown="powerShutdown" + /> + <!-- <power-table /> --> + <accessory-table :records="accessoryData.powerTable" /> + </b-collapse> + </div> + <!-- <page-section class="bootstrap-table__section"> </page-section> --> + </b-container> +</template> +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; +import DateSwitch from '@/components/Global/SilaComponents/DateSwitch'; +import FrequencyTable from './FrequencyTable'; +import PowerTable from './PowerTable'; +import TemperatureTable from './TemperatureTable'; +import AccessoryTable from '@/components/Global/SilaComponents/Tables/AccessoryTablePower'; + +import iconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; + +import { AccessoryData } from './helpers'; + +export default { + components: { + PageTitle, + PageSection, + DateSwitch, + FrequencyTable, + TemperatureTable, + PowerTable, + AccessoryTable, + }, + data() { + return { + timeScale: 'hour', + temperatureWarning: 72, + temperatureWarningInput: 72, + temperatureNonNormal: 44, + temperatureNonNormalInput: 44, + temperatureCritical: 55, + temperatureCriticalInput: 55, + frequencyWarning: 660, + frequencyWarningInput: 660, + powerWarning: 66, + powerWarningInput: 66, + powerShutdown: 88, + powerShutdownInput: 88, + notificationInput: 42, + accessoryData: AccessoryData, + iconChevronUp: iconChevronUp, + }; + }, + methods: { + switchTimeScale(period) { + this.timeScale = period; + }, + updateTemperature() { + this.temperatureWarning = +this.temperatureWarningInput; + this.temperatureNonNormal = +this.temperatureNonNormalInput; + this.temperatureCritical = +this.temperatureCriticalInput; + }, + updateFrequency() { + this.frequencyWarning = +this.frequencyWarningInput; + }, + updatePower() { + this.powerWarning = +this.powerWarningInput; + this.powerShutdown = +this.powerShutdownInput; + }, + }, +}; +</script> +<style lang="scss" scoped> +//nav items style +.nav-item, +.nav-link { + padding: 0; +} +.nav-item { + list-style-type: none; +} + +a { + color: $text-primary !important; + &:hover { + color: $text-primary !important; + } +} + +.notification-time__container { + position: absolute; + top: calc(#{$header-height}); + right: 0px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: center; +} + +.notification-time { + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: center; + border: none; + box-shadow: none; + border-radius: 8px; + margin: 12px 32px 12px 8px; + width: 236px; + height: 40px; + z-index: 1001; +} + +.notification-time__icon { + width: 20px; + height: 20px; +} + +.notification-time__input { + border: none; + background: none; + box-shadow: none; +} + +.notification-button { + border: none; + background: none; +} + +.semi-bold-12px { + z-index: 1001; +} +// temperature limit comtainer +.limit-container { + height: 85px; + width: 100%; + padding: 0 32px 10px 32px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: flex-end; + gap: 24px; +} + +.trmperature-limt { + height: 60px; + width: 100%; + max-width: 270px; + display: flex; + align-items: baseline; + flex-flow: row wrap; + gap: 8px; +} + +.form-control { + height: 36px; +} +.save-button { + width: 151px; + height: 36px; +} + +.frequency-limt { + height: 60px; + width: 100%; + max-width: 288px; + display: flex; + align-items: baseline; + flex-flow: row wrap; + gap: 8px; +} +</style> diff --git a/src/views/Processors/DynamicInfo/TemperatureTable.vue b/src/views/Processors/DynamicInfo/TemperatureTable.vue new file mode 100644 index 00000000..f9c149c3 --- /dev/null +++ b/src/views/Processors/DynamicInfo/TemperatureTable.vue @@ -0,0 +1,126 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setCategories } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + warning: { + type: Number, + default: 70, + }, + nonNormal: { + type: Number, + default: 70, + }, + criticalStart: { + type: Number, + default: 70, + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'line', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(60, 'hour'), + title: null, + labels: { + step: 6, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setCategories(101, 'С°'), + min: 0, + max: 100, + title: null, + minTickInterval: 25, + minorGridLineColor: '#1A3E5B1A', + plotLines: [ + { + color: '#E11717', + dashStyle: 'solid', + value: this.warning, + zIndex: '1000', + width: 2, + label: { + text: 'Пороговое значение предупреждения, С°', + align: 'right', + style: { + fontFamily: 'Inter, sans-serif', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + ], + plotBands: [ + { + color: '#F0AC0C1A', + dashStyle: 'solid', + from: this.nonNormal, + to: this.criticalStart, + }, + { + color: '#FF41411A', + dashStyle: 'solid', + from: this.criticalStart, + to: this.warning, + }, + ], + }, + series: Series['temperature'].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/Processors/DynamicInfo/helpers.js b/src/views/Processors/DynamicInfo/helpers.js new file mode 100644 index 00000000..bc62bfa0 --- /dev/null +++ b/src/views/Processors/DynamicInfo/helpers.js @@ -0,0 +1,1422 @@ +export const colors = [ + '#CB32F1', + '#F18638', + '#139BB9', + '#E1AB17', + '#175AE1', + '#13B937', +]; + +export const Series = { + temperature: [ + { + name: 'Sean', + data: [ + 10, + 10, + 10, + 30, + 10, + 10, + 10, + 37, + 10, + 10, + 10, + 10, + 10, + 25, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 35, + 10, + 10, + 10, + 10, + 10, + 45, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 50, + 10, + 10, + 10, + 10, + 10, + 10, + ], + color: '#CB32F1', + }, + { + name: 'Ivan', + data: [ + 11, + 11, + 11, + 30, + 11, + 11, + 11, + 11, + 57, + 11, + 11, + 11, + 11, + 25, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 61, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 31, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 21, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 11, + 51, + 11, + 11, + 11, + 11, + 11, + 11, + ], + color: '#175AE1', + }, + { + name: 'Brendan', + data: [ + 15, + 15, + 15, + 35, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 25, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 45, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 35, + 15, + 15, + 55, + 15, + 15, + 15, + 15, + 15, + 15, + ], + color: '#B98D13', + }, + { + name: 'Matteo', + data: [ + 21, + 21, + 21, + 51, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 40, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 35, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 53, + 21, + 21, + 30, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + 21, + ], + color: '#13B937', + }, + { + name: 'Joan', + data: [ + 19, + 19, + 19, + 39, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 29, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 39, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 39, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 59, + 19, + 19, + 19, + 19, + 19, + 19, + ], + color: '#F18638', + }, + { + name: 'Avinash', + data: [ + 16, + 16, + 16, + 56, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 26, + 16, + 16, + 16, + 16, + 16, + 16, + 26, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 76, + 16, + 16, + 16, + 16, + 46, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 46, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + ], + color: '#139BB9', + }, + ], + //////////////////////////////frequency//////////////// + frequency: [ + { + name: 'Sean', + data: [ + 100, + 100, + 450, + 100, + 100, + 100, + 100, + 137, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 125, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 100, + 135, + 100, + 100, + 100, + 100, + 100, + 145, + 100, + 100, + 360, + 100, + 100, + 450, + 100, + 100, + 100, + 100, + 100, + 100, + 150, + 100, + ], + color: '#CB32F1', + }, + { + name: 'Ivan', + data: [ + 120, + 120, + 120, + 140, + 120, + 157, + 120, + 120, + 120, + 210, + 120, + 125, + 120, + 120, + 120, + 350, + 120, + 120, + 120, + 120, + 120, + 590, + 120, + 120, + 120, + 120, + 450, + 120, + 120, + 120, + 120, + 120, + 125, + 120, + 120, + 120, + 120, + 120, + 162, + 120, + 120, + 120, + 120, + 120, + 220, + 120, + 120, + 120, + 120, + 120, + 360, + 120, + 210, + 120, + 200, + 120, + 120, + 120, + 120, + 120, + ], + color: '#175AE1', + }, + { + name: 'Brendan', + data: [ + 110, + 110, + 110, + 450, + 110, + 110, + 110, + 157, + 110, + 110, + 110, + 110, + 110, + 165, + 110, + 110, + 110, + 110, + 110, + 310, + 110, + 110, + 110, + 590, + 110, + 110, + 175, + 110, + 110, + 110, + 110, + 110, + 110, + 110, + 110, + 110, + 110, + 110, + 110, + 110, + 152, + 110, + 310, + 110, + 110, + 210, + 110, + 110, + 110, + 110, + 110, + 110, + 360, + 110, + 110, + 110, + 210, + 110, + 110, + 110, + ], + color: '#B98D13', + }, + { + name: 'Matteo', + data: [ + 221, + 221, + 221, + 251, + 221, + 221, + 221, + 221, + 221, + 590, + 221, + 221, + 421, + 221, + 221, + 221, + 221, + 221, + 221, + 221, + 221, + 221, + 221, + 221, + 221, + 221, + 450, + 221, + 221, + 221, + 221, + 421, + 221, + 235, + 221, + 221, + 221, + 221, + 221, + 421, + 221, + 360, + 221, + 221, + 221, + 210, + 253, + 221, + 221, + 230, + 221, + 221, + 221, + 590, + 221, + 221, + 221, + 221, + 221, + 221, + ], + color: '#13B937', + }, + { + name: 'Joan', + data: [ + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 590, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 590, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + 159, + ], + color: '#F18638', + }, + { + name: 'Avinash', + data: [ + 176, + 176, + 176, + 156, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 276, + 176, + 176, + 176, + 176, + 176, + 176, + 210, + 176, + 176, + 176, + 590, + 176, + 176, + 176, + 176, + 176, + 590, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 570, + 176, + 176, + 176, + 176, + 176, + 770, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + 176, + ], + color: '#139BB9', + }, + ], + //////////////////////////////power//////////////// + power: [ + { + name: 'Sean', + data: [ + 15, + 15, + 45, + 15, + 65, + 15, + 75, + 15, + 15, + 15, + 55, + 15, + 25, + 15, + 45, + 15, + 55, + 15, + 75, + 15, + 35, + 15, + 55, + 15, + 75, + 15, + 85, + 15, + 15, + 45, + 15, + 15, + 45, + 15, + 45, + 15, + 15, + 65, + 15, + 45, + 15, + 25, + 15, + 45, + 15, + 65, + 15, + 35, + 35, + 35, + 15, + 55, + 15, + 15, + 35, + 15, + 25, + 15, + 35, + 15, + ], + color: '#CB32F1', + }, + { + name: 'Ivan', + data: [ + 62, + 12, + 72, + 12, + 12, + 12, + 42, + 12, + 12, + 12, + 52, + 12, + 22, + 12, + 42, + 12, + 52, + 12, + 72, + 12, + 52, + 12, + 62, + 12, + 72, + 12, + 82, + 12, + 12, + 42, + 12, + 12, + 52, + 12, + 42, + 12, + 12, + 62, + 12, + 42, + 12, + 22, + 12, + 42, + 12, + 62, + 12, + 12, + 32, + 12, + 62, + 12, + 52, + 12, + 32, + 12, + 22, + 12, + 32, + 12, + ], + color: '#175AE1', + }, + { + name: 'Brendan', + data: [ + 14, + 14, + 34, + 14, + 24, + 14, + 34, + 14, + 64, + 14, + 74, + 14, + 14, + 14, + 44, + 14, + 14, + 14, + 54, + 14, + 24, + 14, + 44, + 14, + 54, + 14, + 74, + 14, + 54, + 14, + 64, + 14, + 74, + 14, + 84, + 14, + 14, + 44, + 14, + 14, + 54, + 14, + 44, + 14, + 14, + 64, + 14, + 44, + 14, + 24, + 14, + 44, + 14, + 64, + 14, + 14, + 14, + 54, + 14, + 54, + ], + color: '#B98D13', + }, + { + name: 'Matteo', + data: [ + 24, + 14, + 44, + 14, + 64, + 14, + 64, + 14, + 34, + 14, + 54, + 14, + 14, + 34, + 14, + 24, + 14, + 34, + 14, + 64, + 14, + 74, + 14, + 14, + 14, + 44, + 14, + 14, + 14, + 54, + 14, + 14, + 14, + 44, + 14, + 54, + 14, + 74, + 14, + 54, + 14, + 64, + 14, + 74, + 14, + 84, + 14, + 94, + 14, + 54, + 4, + 54, + 14, + 44, + 14, + 44, + 64, + 14, + 44, + 14, + ], + color: '#13B937', + }, + { + name: 'Joan', + data: [ + 16, + 46, + 16, + 26, + 16, + 46, + 16, + 66, + 16, + 16, + 16, + 36, + 16, + 56, + 16, + 16, + 36, + 16, + 26, + 16, + 36, + 16, + 66, + 16, + 76, + 16, + 16, + 16, + 46, + 16, + 16, + 16, + 56, + 16, + 26, + 16, + 46, + 16, + 56, + 16, + 76, + 16, + 56, + 16, + 66, + 16, + 76, + 16, + 86, + 16, + 96, + 16, + 16, + 16, + 56, + 16, + 46, + 16, + 46, + 16, + ], + color: '#F18638', + }, + { + name: 'Avinash', + data: [ + 49, + 19, + 19, + 69, + 19, + 49, + 19, + 29, + 19, + 49, + 19, + 69, + 19, + 39, + 39, + 39, + 19, + 59, + 19, + 19, + 39, + 19, + 29, + 19, + 39, + 19, + 69, + 19, + 79, + 19, + 19, + 19, + 49, + 19, + 19, + 19, + 59, + 19, + 29, + 19, + 49, + 19, + 59, + 19, + 79, + 19, + 59, + 19, + 69, + 19, + 79, + 19, + 89, + 19, + 99, + 19, + 19, + 69, + 59, + 19, + ], + color: '#139BB9', + }, + ], +}; + +export const setTime = (count) => { + const arr = [...new Array(count)].map(() => ''); + for (let i = 0; i < arr.length; i++) { + arr[i] = `15:${String(i).padStart(2, '0')}`; + } + return arr; +}; + +export const setCategories = (count, desc) => { + const arr = [...new Array(count)].map((i, k) => `${k} ${desc}`); + return arr; +}; + +export const AccessoryData = { + temperatureTable: { + fields: [ + { + key: 'name', + label: 'Имя модуля', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'currentTemperature', + label: 'Текущее, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'middleTemperature', + label: 'Среднее, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minTemperature', + label: 'Минимальное, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minDate', + label: 'Дата минимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxTemperature', + label: 'Максимальное, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxDate', + label: 'Дата максимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Процессор 1', + currentTemperature: 19, + middleTemperature: 40, + minTemperature: 31, + minDate: { time: '15:15', date: '11.11.2021' }, + maxTemperature: 88, + maxDate: { time: '10:26', date: '15.11.2021' }, + }, + { + name: 'Процессор 2', + currentTemperature: 29, + middleTemperature: 40, + minTemperature: 20, + minDate: { time: '15:45', date: '11.11.2021' }, + maxTemperature: 76, + maxDate: { time: '16:59', date: '16.11.2021' }, + }, + { + name: 'Процессор 3', + currentTemperature: 48, + middleTemperature: 46, + minTemperature: 31, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 69, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + { + name: 'Процессор 4', + currentTemperature: 48, + middleTemperature: 45, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 75, + maxDate: { time: '11:26', date: '16.11.2021' }, + }, + { + name: 'Процессор 5', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 30, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '17.11.2021' }, + }, + { + name: 'Процессор 6', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + ], + }, + frequencyTable: { + fields: [ + { + key: 'name', + label: 'Имя модуля', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'currentFrequency', + label: 'Текущее, Hz', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'baseFrequency', + label: 'Базовое, Hz', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Процессор 1', + currentFrequency: 600, + baseFrequency: 400, + }, + { + name: 'Процессор 2', + currentFrequency: 500, + baseFrequency: 470, + }, + { + name: 'Процессор 3', + currentFrequency: 500, + baseFrequency: 450, + }, + { + name: 'Процессор 4', + currentFrequency: 500, + baseFrequency: 470, + }, + { + name: 'Процессор 5', + currentFrequency: 600, + baseFrequency: 470, + }, + { + name: 'Процессор 6', + currentFrequency: 500, + baseFrequency: 400, + }, + ], + }, + powerTable: { + fields: [ + { + key: 'name', + label: 'Имя модуля', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'currentPower', + label: 'Текущее, Вт', + label2: '', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Процессор 1', + currentPower: 91, + }, + { + name: 'Процессор 2', + currentPower: 77, + }, + { + name: 'Процессор 3', + currentPower: 76, + }, + { + name: 'Процессор 4', + currentPower: 74, + }, + { + name: 'Процессор 5', + currentPower: 73, + }, + { + name: 'Процессор 6', + currentPower: 71, + }, + ], + }, +}; diff --git a/src/views/Processors/DynamicInfo/index.js b/src/views/Processors/DynamicInfo/index.js new file mode 100644 index 00000000..121c0316 --- /dev/null +++ b/src/views/Processors/DynamicInfo/index.js @@ -0,0 +1,2 @@ +import ProcessorsDynamicPage from './ProcessorsDynamicPage.vue'; +export default ProcessorsDynamicPage; diff --git a/src/views/Processors/Specification/AcceleratorSpecificationTable.vue b/src/views/Processors/Specification/AcceleratorSpecificationTable.vue new file mode 100644 index 00000000..c13e13ff --- /dev/null +++ b/src/views/Processors/Specification/AcceleratorSpecificationTable.vue @@ -0,0 +1,191 @@ +<template> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="accelerators" + :fields="fields" + > + <template #cell(expandRow)=""> + <b-button + variant="link" + data-test-id="hardwareStatus-button-expandAccelerators" + :title="expandRowLabel" + > + <icon-chevron /> + <span class="sr-only">{{ expandRowLabel }}</span> + </b-button> + </template> + <template #cell(status)="{ value }"> + <div v-if="value" class="fans-table-col-first__cell"> + <img class="status__img" src="@/assets/images/status/on.svg" /> + <span> + {{ $t('global.status.inWork') }} + </span> + </div> + <div v-else class="fans-table-col-first__cell"> + <img class="status__img" src="@/assets/images/status/off.svg" /> + <span> + {{ $t('global.status.outWorking') }} + </span> + </div> + </template> + </b-table> +</template> + +<script> +import TableRowExpandMixin, { + expandRowLabel, +} from '@/components/Mixins/TableRowExpandMixin'; +import IconChevron from '@carbon/icons-vue/es/chevron--down/20'; +import BVToastMixin from '@/components/Mixins/BVToastMixin'; +import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin'; + +import { Accelerators } from './helpers'; +export default { + components: { IconChevron }, + mixins: [BVToastMixin, TableRowExpandMixin, DataFormatterMixin], + data() { + return { + isBusy: true, + isAddersСolon: false, + accelerators: Accelerators, + fields: [ + { + key: 'expandRow', + label: '', + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-expand`, + tdClass: 'table-row-expand bootstrap-rounded-table__td', + sortable: false, + }, + { + key: 'status', + label: 'Статус', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-first`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'name', + label: 'Имя', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-third`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'slot_number', + label: '№ Слота', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-fourth`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'board_number', + label: '№ Платы', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-fourth`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'serial_number', + label: 'Серийный номер', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-first`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'frequency', + label: '№ Детали', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-fourth`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'cores', + label: 'Версия прошивки', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-last + fans-table-col-third`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + expandRowLabel: expandRowLabel, + }; + }, +}; +</script> +<style lang="scss"> +.fans-table-col-expand { + width: 3%; +} +.fans-table-col-first { + width: 15%; +} + +.fans-table-col-second { + width: 12%; +} + +.fans-table-col-third { + width: 10%; +} + +.fans-table-col-fourth { + width: 8%; +} +</style> + +<style lang="scss" scoped> +.row { + margin: 0px; + flex-wrap: nowrap; +} +.fans-table-col-first__cell { + display: flex; + flex-flow: row nowrap; + align-items: center; + justify-content: flex-start; +} + +.status__img { + margin-right: 7px; +} + +.bold-16px { + margin: 24px 0 0 2rem; +} + +.bold-12px__caps { + color: $text-secondary; +} + +.attrib-names { + border-bottom: 1px solid $faint-secondary-primary-10; + color: $text-secondary !important; + font-weight: 600; +} + +.custom-switch { + margin: 0; +} + +.btn-link { + width: 30px !important; + height: 20px !important; +} +</style> diff --git a/src/views/Processors/Specification/ProcessorsSpecificationPage.vue b/src/views/Processors/Specification/ProcessorsSpecificationPage.vue new file mode 100644 index 00000000..02c8eb9c --- /dev/null +++ b/src/views/Processors/Specification/ProcessorsSpecificationPage.vue @@ -0,0 +1,116 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.specification')" /> + <page-section class="bootstrap-table__section"> + <span class="bold-16px">{{ + $t('pageInventory.installedProcessors') + }}</span> + <!-- Processors Specification Table --> + <div class="capability-info"> + <b-row> + <b-col class="mt-0 mb-2 p-0 bold-12px__caps"> + {{ $t('pageInventory.table.processorCapabilityInfo') }} + </b-col> + </b-row> + <b-row> + <b-col class="mt-2 p-0" sm="3" xl="3"> + <dl class="light-12px"> + <dd class="attrib-names"> + {{ $t('global.table.attributes') }} + </dd> + <dd>{{ 'Многопоточность' }}</dd> + <dd>{{ 'Виртуализация' }}</dd> + <dd>{{ 'Турбо режим' }}</dd> + </dl> + </b-col> + <b-col class="mt-2 p-0" sm="3" xl="3"> + <dl class="light-12px"> + <dd class="attrib-names">{{ 'Состояние присутсвия' }}</dd> + <dd + v-for="item in processors[0].presence_status" + :key="item.presence_status" + > + {{ item }} + </dd> + </dl> + </b-col> + <b-col class="mt-2 p-0" sm="3" xl="3"> + <dl class="light-12px"> + <!-- Status state --> + <dd class="attrib-names">{{ 'Включен' }}</dd> + <dd> + <b-form-checkbox + v-model="processors[0].statuses.multithreading" + switch + > + </b-form-checkbox> + </dd> + <dd> + <b-form-checkbox + v-model="processors[0].statuses.virtualization" + switch + > + </b-form-checkbox> + </dd> + <dd> + <b-form-checkbox v-model="processors[0].statuses.turbo" switch> + </b-form-checkbox> + </dd> + </dl> + </b-col> + </b-row> + </div> + <processors-specification-table /> + <span class="bold-16px">{{ + $t('pageInventory.installedAccelerator') + }}</span> + <!-- Accelerators Specification Table --> + <accelerator-specification-table /> + </page-section> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; +import { processors } from './helpers'; + +import ProcessorsSpecificationTable from './ProcessorsSpecificationTable'; +import AcceleratorSpecificationTable from './AcceleratorSpecificationTable'; +export default { + components: { + PageTitle, + PageSection, + ProcessorsSpecificationTable, + AcceleratorSpecificationTable, + }, + data() { + return { + processors, + }; + }, +}; +</script> +<style lang="scss" scoped> +.bold-16px { + display: block; + margin: 25px 0 16px 0; +} + +.capability-info { + padding-left: 1rem; +} + +.attrib-names { + border-bottom: 1px solid $faint-secondary-primary-10; + color: $text-secondary !important; + font-weight: 600; +} + +.custom-switch { + margin: 0; +} +</style> diff --git a/src/views/Processors/Specification/ProcessorsSpecificationTable.vue b/src/views/Processors/Specification/ProcessorsSpecificationTable.vue new file mode 100644 index 00000000..07a4512d --- /dev/null +++ b/src/views/Processors/Specification/ProcessorsSpecificationTable.vue @@ -0,0 +1,296 @@ +<template> + <b-table + sort-icon-left + no-sort-reset + :sort-desc="true" + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="processors" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + :empty-filtered-text="$t('global.table.emptySearchMessage')" + > + <template #cell(expandRow)="row"> + <b-button + variant="link" + data-test-id="hardwareStatus-button-expandProcessors" + :title="expandRowLabel" + class="btn-icon-only" + @click="toggleRowDetails(row)" + > + <icon-chevron /> + <span class="sr-only">{{ expandRowLabel }}</span> + </b-button> + </template> + <template #cell(status)="{ value }"> + <div v-if="value" class="fans-table-col-first__cell"> + <img class="status__img" src="@/assets/images/status/on.svg" /> + <span> + {{ $t('global.status.inWork') }} + </span> + </div> + <div v-else class="fans-table-col-first__cell"> + <img class="status__img" src="@/assets/images/status/off.svg" /> + <span> + {{ $t('global.status.outWorking') }} + </span> + </div> + </template> + + <template #row-details="{ index }"> + <b-container fluid> + <!-- ProcessorCapabilityInfo --> + <b-row> + <b-col class="mt-3 mb-2 p-0 bold-12px__caps"> + {{ $t('pageInventory.table.processorCacheInfo') }} + </b-col> + </b-row> + <b-row> + <b-col class="mt-2 p-0" sm="3" xl="3"> + <dl class="light-12px"> + <!-- Attributes Names --> + <dd class="attrib-names">{{ $t('global.table.attributes') }}</dd> + <dd>{{ 'Уровень кеша' }}</dd> + <dd>{{ 'Максимальный объем' }}</dd> + <dd>{{ 'Установленный объем' }}</dd> + <dd>{{ 'Тип кэша' }}</dd> + <dd>{{ 'Локализация' }}</dd> + <dd>{{ 'Политика записи' }}</dd> + <dd>{{ 'Ассоциативность' }}</dd> + <dd>{{ 'Тип исправления ошибки' }}</dd> + </dl> + </b-col> + <b-col class="mt-2 p-0" sm="3" xl="3"> + <dl class="light-12px"> + <!-- Status КЭШ-1 --> + <dd class="attrib-names">{{ 'КЭШ-1' }}</dd> + <dd v-for="item in processors[index].cache_1" :key="item.cache_1"> + {{ dataFormatter(item) }} + </dd> + </dl> + </b-col> + <b-col class="mt-2 p-0" sm="3" xl="3"> + <dl class="light-12px"> + <!-- Status state --> + <dd class="attrib-names">{{ 'КЭШ-2' }}</dd> + <dd v-for="item in processors[index].cache_2" :key="item.cache_2"> + {{ dataFormatter(item) }} + </dd> + </dl> + </b-col> + <b-col class="mt-2 p-0" sm="3" xl="3"> + <dl class="light-12px"> + <dd class="attrib-names">{{ 'КЭШ-3' }}</dd> + <dd v-for="item in processors[index].cache_3" :key="item.cache_3"> + {{ dataFormatter(item) }} + </dd> + </dl> + </b-col> + </b-row> + <b-row> + <b-col class="mt-3 mb-2 p-0 bold-12px__caps"> + {{ $t('pageInventory.table.SupportedTechnologies') }} + </b-col> + </b-row> + <b-row> + <b-col class="mt-2 p-0" sm="6" xl="6"> + <dl class="light-12px"> + <dd class="attrib-names">{{ $t('global.table.attributes') }}</dd> + <dd></dd> + <dd>{{ 'processor' }}</dd> + <dd>{{ 'vendor_id' }}</dd> + <dd>{{ 'cpu family' }}</dd> + <dd>{{ 'model' }}</dd> + <dd>{{ 'model name' }}</dd> + <dd>{{ 'stepping' }}</dd> + <dd>{{ 'microcode' }}</dd> + <dd>{{ 'cpu MHz' }}</dd> + <dd>{{ 'cache size' }}</dd> + <dd>{{ 'physical id' }}</dd> + <dd>{{ 'siblings' }}</dd> + <dd>{{ 'core id' }}</dd> + <dd>{{ 'cpu cores' }}</dd> + <dd>{{ 'apicid' }}</dd> + <dd>{{ 'initial apicid' }}</dd> + <dd>{{ 'fpu' }}</dd> + <dd>{{ 'fpu_exception' }}</dd> + <dd>{{ 'cpuid level' }}</dd> + <dd>{{ 'wp' }}</dd> + <dd>{{ 'flags' }}</dd> + <dd>{{ 'bugs' }}</dd> + </dl> + </b-col> + <b-col class="mt-2 p-0" sm="6" xl="6"> + <dl class="light-12px"> + <dd class="attrib-names">{{ $t('global.table.value') }}</dd> + <dd + v-for="item in processors[index].description" + :key="item.description" + > + {{ dataFormatter(item) }} + </dd> + </dl> + </b-col> + </b-row> + </b-container> + </template> + </b-table> +</template> + +<script> +import TableRowExpandMixin, { + expandRowLabel, +} from '@/components/Mixins/TableRowExpandMixin'; +import IconChevron from '@carbon/icons-vue/es/chevron--down/20'; +import BVToastMixin from '@/components/Mixins/BVToastMixin'; +import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin'; + +import { processors } from './helpers'; +export default { + components: { IconChevron }, + mixins: [BVToastMixin, TableRowExpandMixin, DataFormatterMixin], + data() { + return { + isBusy: true, + isAddersСolon: false, + processors, + fields: [ + { + key: 'expandRow', + label: '', + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-expand`, + tdClass: 'table-row-expand bootstrap-rounded-table__td', + sortable: false, + }, + { + key: 'status', + label: 'Статус', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-first`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'name', + label: 'Имя', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-second`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'model', + label: 'Модель', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-third`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'serialNumber', + label: 'Серийный номер', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-second`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'version', + label: 'Версия', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-fourth`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'frequency', + label: 'Частота', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__without-border + fans-table-col-fourth`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'cores', + label: 'Ядра', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-last + fans-table-col-fourth`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + expandRowLabel: expandRowLabel, + }; + }, +}; +</script> +<style lang="scss"> +.fans-table-col-expand { + width: 3%; +} +.fans-table-col-first { + width: 17%; +} + +.fans-table-col-second { + width: 15%; +} + +.fans-table-col-third { + width: 12%; +} + +.fans-table-col-fourth { + width: 10%; +} +</style> + +<style lang="scss" scoped> +.row { + margin: 0px; + flex-wrap: nowrap; +} +.fans-table-col-first__cell { + display: flex; + flex-flow: row nowrap; + align-items: center; + justify-content: flex-start; +} + +.status__img { + margin-right: 7px; +} + +.bold-16px { + margin: 24px 0 0 2rem; +} + +.bold-12px__caps { + color: $text-secondary; +} + +.attrib-names { + border-bottom: 1px solid $faint-secondary-primary-10; + color: $text-secondary !important; + font-weight: 600; +} + +.custom-switch { + margin: 0; +} + +.btn-link { + width: 30px !important; + height: 20px !important; +} +</style> diff --git a/src/views/Processors/Specification/helpers.js b/src/views/Processors/Specification/helpers.js new file mode 100644 index 00000000..6227e4b8 --- /dev/null +++ b/src/views/Processors/Specification/helpers.js @@ -0,0 +1,254 @@ +export const processors = [ + { + expandRow: false, + status: true, + name: 'Процессор №1', + model: 'Core i5', + serialNumber: '789578456698', + version: 'v3.1.5', + frequency: '2.4', + cores: '4', + presence_status: { + multithreading: 'Нет', + virtualization: 'Да', + turbo: 'Да', + }, + statuses: { + multithreading: false, + virtualization: true, + turbo: true, + }, + cache_1: { + level: 'L1', + max_value: '1MB', + current_value: '1MB', + cache_type: 'Unified', + localization: 'Internal', + politics: 'Write Back', + associativity: '8-Way Set-Associativity', + fix_type: 'Parity', + }, + cache_2: { + level: 'L2', + max_value: '32MB', + current_value: '32MB', + cache_type: 'Unified', + localization: 'Internal', + politics: 'Write Back', + associativity: '8-Way Set-Associativity', + fix_type: 'Multiple-bit ECC', + }, + cache_3: { + level: 'L3', + max_value: '64MB', + current_value: '64MB', + cache_type: 'Unified', + localization: 'Internal', + politics: 'Write Back', + associativity: '8-Way Set-Associativity', + fix_type: 'Multiple-bit ECC', + }, + description: { + processor: '79', + vendor_id: 'GenuineIntel', + cpu_family: '6', + model: '85', + model_name: 'Intel(R) Xeon(R) Gold 6242R CPU @ 3.10GHz', + stepping: '7', + microcode: '0x5002f00', + cpu_MHz: '2955.939', + cache_size: '36608 KB', + physical_id: '1', + siblings: '40', + core_id: '29', + cpu_cores: '20', + apicid: '123', + initial_apicid: '123', + fpu: 'yes', + fpu_exception: 'yes', + cpuid_level: '22', + wp: 'yes', + flags: 'fpu, vme, de, pse, tsc, pat, pse36....', + bugs: 'spectre_v1 spectre_v2, spec_store_bypass', + }, + }, + { + expandRow: false, + status: true, + name: 'Процессор №2', + model: 'Core i3', + serialNumber: '425546788976', + version: 'v2.1.5', + frequency: '1.4', + cores: '2', + presence_status: { + multithreading: 'Нет', + virtualization: 'Да', + turbo: 'Да', + }, + statuses: { + multithreading: false, + virtualization: true, + turbo: true, + }, + cache_1: { + level: 'L1', + max_value: '1MB', + current_value: '1MB', + cache_type: 'Unified', + localization: 'Internal', + politics: 'Write Back', + associativity: '8-Way Set-Associativity', + fix_type: 'Parity', + }, + cache_2: { + level: 'L2', + max_value: '32MB', + current_value: '32MB', + cache_type: 'Unified', + localization: 'Internal', + politics: 'Write Back', + associativity: '8-Way Set-Associativity', + fix_type: 'Multiple-bit ECC', + }, + cache_3: { + level: 'L3', + max_value: '64MB', + current_value: '64MB', + cache_type: 'Unified', + localization: 'Internal', + politics: 'Write Back', + associativity: '8-Way Set-Associativity', + fix_type: 'Multiple-bit ECC', + }, + description: { + processor: '79', + vendor_id: 'GenuineIntel', + cpu_family: '6', + model: '85', + model_name: 'Intel(R) Xeon(R) Gold 6242R CPU @ 3.10GHz', + stepping: '7', + microcode: '0x5002f00', + cpu_MHz: '2955.939', + cache_size: '36608 KB', + physical_id: '1', + siblings: '40', + core_id: '29', + cpu_cores: '20', + apicid: '123', + initial_apicid: '123', + fpu: 'yes', + fpu_exception: 'yes', + cpuid_level: '22', + wp: 'yes', + flags: 'fpu, vme, de, pse, tsc, pat, pse36....', + bugs: 'spectre_v1 spectre_v2, spec_store_bypass', + }, + }, + { + expandRow: false, + status: false, + name: 'Процессор №3', + model: 'Core i7', + serialNumber: '454555556698', + version: 'v6.1.5', + frequency: '3.4', + cores: '6', + presence_status: { + multithreading: 'Нет', + virtualization: 'Да', + turbo: 'Да', + }, + statuses: { + multithreading: false, + virtualization: true, + turbo: true, + }, + cache_1: { + level: 'L1', + max_value: '1MB', + current_value: '1MB', + cache_type: 'Unified', + localization: 'Internal', + politics: 'Write Back', + associativity: '8-Way Set-Associativity', + fix_type: 'Parity', + }, + cache_2: { + level: 'L2', + max_value: '32MB', + current_value: '32MB', + cache_type: 'Unified', + localization: 'Internal', + politics: 'Write Back', + associativity: '8-Way Set-Associativity', + fix_type: 'Multiple-bit ECC', + }, + cache_3: { + level: 'L3', + max_value: '64MB', + current_value: '64MB', + cache_type: 'Unified', + localization: 'Internal', + politics: 'Write Back', + associativity: '8-Way Set-Associativity', + fix_type: 'Multiple-bit ECC', + }, + description: { + processor: '79', + vendor_id: 'GenuineIntel', + cpu_family: '6', + model: '85', + model_name: 'Intel(R) Xeon(R) Gold 6242R CPU @ 3.10GHz', + stepping: '7', + microcode: '0x5002f00', + cpu_MHz: '2955.939', + cache_size: '36608 KB', + physical_id: '1', + siblings: '40', + core_id: '29', + cpu_cores: '20', + apicid: '123', + initial_apicid: '123', + fpu: 'yes', + fpu_exception: 'yes', + cpuid_level: '22', + wp: 'yes', + flags: 'fpu, vme, de, pse, tsc, pat, pse36....', + bugs: 'spectre_v1 spectre_v2, spec_store_bypass', + }, + }, +]; + +export const Accelerators = [ + { + expandRow: false, + status: true, + name: 'Процессор №1', + slot_number: '789578456698', + board_number: '789578456698', + serial_number: '425546788976', + frequency: '2213', + cores: '4', + }, + { + expandRow: false, + status: true, + name: 'Процессор №2', + slot_number: '425546788976', + board_number: '425546788976', + serial_number: '425546788976', + frequency: '1332', + cores: '2', + }, + { + expandRow: false, + status: false, + name: 'Процессор №3', + slot_number: '454555556698', + board_number: '454555556698', + serial_number: '425546788976', + frequency: '3213', + cores: '6', + }, +]; diff --git a/src/views/Processors/Specification/index.js b/src/views/Processors/Specification/index.js new file mode 100644 index 00000000..93bbbf10 --- /dev/null +++ b/src/views/Processors/Specification/index.js @@ -0,0 +1,2 @@ +import ProcessorsSpecificationPage from './ProcessorsSpecificationPage.vue'; +export default ProcessorsSpecificationPage; diff --git a/src/views/SILA/AnalyticalPanel/AnalyticalPanelPage.vue b/src/views/SILA/AnalyticalPanel/AnalyticalPanelPage.vue new file mode 100644 index 00000000..045fc5ef --- /dev/null +++ b/src/views/SILA/AnalyticalPanel/AnalyticalPanelPage.vue @@ -0,0 +1,317 @@ +<template> + <b-container fluid="xxl pt-0 m-0"> + <page-title :description="$t('appNavigation.analyticalPanel')" /> + <div class="tables-container"> + <div class="server-table"> + <span class="semi-bold-16px">{{ + $t('global.status.serverStatus') + }}</span> + <b-table + show-empty + responsive="md" + class="bootstrap-analytical-table" + :items="serverItems" + :fields="server_fields" + > + <template #cell(value)="{ value }"> + <b-col v-if="value"> + <img + src="@/assets/images/icon-ok.svg" + class="system-network-table__icon" + /> + </b-col> + <b-col v-else> + <img + src="@/assets/images/icon-no.svg" + class="system-network-table__icon" + /> + </b-col> + </template> + </b-table> + </div> + <div class="events-table"> + <span class="semi-bold-16px">{{ $t('global.action.events') }}</span> + <div id="events-table-wrapper"> + <b-table + show-empty + :sticky-header="stickyHeader" + responsive="md" + class="bootstrap-analytical-table" + :no-border-collapse="true" + :items="eventsItems" + :fields="events_fields" + > + <template #cell(date)="{ value }"> + <img + src="@/assets/images/event-logs/time.svg" + class="sourse__img" + /> + <span class="regular-12px quaternary"> {{ value }} </span> + </template> + <template #cell(type)="{ value }"> + <span + v-if="value === 'Критические'" + class="bold-12px__caps errors" + >{{ value }}</span + > + <span + v-else-if="value === 'Предупреждения'" + class="bold-12px__caps warning" + > + {{ value }} + </span> + <span v-else class="bold-12px__caps information">{{ + value + }}</span> + </template> + <template #cell(description)="data"> + <b-row class="semi-bold-16px tretiatry"> + {{ data.item.description.name }} + </b-row> + <b-row + class="regular-12px tretiatry pointer" + @click="toggleRowDetails(data)" + > + {{ data.item.description.description }}</b-row + > + </template> + <template #row-details="{ index }"> + <b-container fluid> + <b-col class="mt-1 mb-2 regular-12px tretiatry"> + <span class="row-details"> + {{ + `Краткое описание ошибки или сообщение которое состоит из текста указывающего на предмет ошибки.Краткое описание ошибки или сообщение которое состоит из текста указывающего на предмет ошибки. + Краткое описание ошибки или сообщение которое состоит из текста указывающего на предмет ошибки.Краткое описание ошибки или сообщение которое состоит из текста указывающего на предмет ошибки.` + }} + {{ $t(eventsItems[index].description.description) }} + </span> + </b-col> + </b-container> + </template> + </b-table> + </div> + </div> + </div> + <div class="indicators-container"> + <span class="bold-16px">{{ $t('global.status.indicators') }}</span> + <span class="indicators-units regular-12px tretiatry"> + {{ $t('global.units.unit') }}</span + > + <b-button id="popover-choice-1" variant="unstyled"> + <span class="regular-12px units-label"> + {{ + $t(`global.units.${unit === 'Ампераж' ? 'amper' : 'volt'}`) + }}</span + > + <img class="units__icon" src="@/assets/images/icon-chevron-red.svg" /> + </b-button> + </div> + <two-chioce-popover + :id="1" + fitst-option="Ампераж" + second-option="Вольтаж" + :chosen-option="unit" + :first-action="selectAmper" + :second-action="selectVolt" + /> + <!-- <unit-popover + :select-amper="selectAmper" + :select-volt="selectVolt" + :unit="unit" + /> --> + <date-switch :switch-time-scale="switchTimeScale" :time-scale="timeScale" /> + <accessory-table :records="accessoryData.power" /> + <power-table :time-scale="timeScale" /> + <div class="tables-container"> + <span class="semi-bold-16px">Управление</span> + </div> + <control-system /> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import TableRowExpandMixin from '@/components/Mixins/TableRowExpandMixin'; +import DateSwitch from '@/components/Global/SilaComponents/DateSwitch'; +import AccessoryTable from '@/components/Global/SilaComponents/Tables/AccessoryTableWithLabel'; +import ControlSystem from '@/components/Global/SilaComponents/InventoryControlSystem'; +import TwoChiocePopover from '@/components/Global/SilaComponents/TwoChiocePopover'; + +import PowerTable from './PowerTable'; +import { AccessoryData, ServerItems, EventsItems } from './helpers'; +export default { + components: { + PageTitle, + DateSwitch, + AccessoryTable, + PowerTable, + ControlSystem, + TwoChiocePopover, + }, + mixins: [TableRowExpandMixin], + data() { + return { + unit: 'Ампераж', + isActive: false, + timeScale: 'hour', + stickyHeader: '511px', + accessoryData: AccessoryData, + serverItems: ServerItems, + eventsItems: EventsItems, + server_fields: [ + { + key: 'param', + label: 'Раздел', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-analytical-th', + class: 'bootstrap-analytical-table__column-first', + tdClass: 'regular-12px bootstrap-analytical-table__td', + }, + { + key: 'value', + label: 'Статус', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-analytical-th', + class: + 'bootstrap-rounded-table__column-last analytical-table__status', + tdClass: 'regular-12px bootstrap-analytical-table__td', + }, + ], + events_fields: [ + { + key: 'date', + label: 'Время', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-analytical-th', + class: 'bootstrap-analytical-table__column-first', + tdClass: 'regular-12px bootstrap-analytical-table__td', + }, + { + key: 'type', + label: 'Тип события', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-analytical-th', + class: 'bootstrap-analytical-table__column-center', + tdClass: 'regular-12px bootstrap-analytical-table__td', + }, + { + key: 'description', + label: 'О событии', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-analytical-th', + class: 'bootstrap-analytical-table__column-last', + tdClass: 'regular-12px bootstrap-analytical-table__td', + }, + ], + }; + }, + methods: { + switchTimeScale(period) { + this.timeScale = period; + }, + selectAmper() { + this.unit = 'Ампераж'; + }, + selectVolt() { + this.unit = 'Вольтаж'; + }, + }, +}; +</script> +<style lang="scss"> +.analytical-table__status { + width: 10%; +} + +#popover-unit-ractive { + padding-left: 5px; +} + +#popover-unit-ampere { + width: 89px; + height: 28px; + border-radius: 8px; + font-weight: 500; + font-size: 12px; +} + +#popover-unit-volt { + width: 89px; + height: 28px; + border-radius: 8px; + font-weight: 500; + font-size: 12px; + // color: $red-brand-primary; +} +</style> +<style lang="scss" scoped> +.tables-container { + display: flex; + flex-flow: row nowrap; + margin: 16px 32px; + gap: 24px; +} + +.server-table { + width: 35%; +} + +.events-table { + width: 65%; +} + +#events-table-wrapper div { + overflow-y: overlay; + overflow-x: hidden; + &::-webkit-scrollbar { + position: absolute; + width: 10px; + } + &::-webkit-scrollbar-thumb { + border: 4px solid transparent; + border-top: 43px solid transparent; + background: $faint-secondary-primary-20; + border-radius: 16px; + background-clip: content-box; + } +} + +.row-details { + display: block; + height: auto; + width: 30vw; +} + +.errors { + color: $indicators-errors !important; +} + +.warning { + color: $indicators-warning !important; +} + +.information { + color: $indicators-complementary !important; +} + +.indicators-container { + margin-left: 2rem; + display: flex; + align-items: center; + justify-content: flex-start; +} + +.indicators-units { + margin-left: auto; +} + +.units__icon { + margin: 0 32px 0 5px; + cursor: pointer; +} + +.units-label { + cursor: pointer; + color: $red-brand-primary; +} +</style> diff --git a/src/views/SILA/AnalyticalPanel/PowerTable.vue b/src/views/SILA/AnalyticalPanel/PowerTable.vue new file mode 100644 index 00000000..27bb4efa --- /dev/null +++ b/src/views/SILA/AnalyticalPanel/PowerTable.vue @@ -0,0 +1,82 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setCategories } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'areaspline', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(6, this.timeScale), + title: null, + labels: { + step: 1, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setCategories(2.5, 'A'), + min: 0, + max: 4, + title: null, + tickInterval: 1, + minorGridLineColor: '#1A3E5B1A', + }, + series: Series['power'].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + areaspline: { + fillOpacity: 0, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/SILA/AnalyticalPanel/TemperatureTable.vue b/src/views/SILA/AnalyticalPanel/TemperatureTable.vue new file mode 100644 index 00000000..ae52062a --- /dev/null +++ b/src/views/SILA/AnalyticalPanel/TemperatureTable.vue @@ -0,0 +1,115 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setCategories } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + warning: { + type: Number, + default: 70, + }, + nonNormal: { + type: Number, + default: 70, + }, + criticalStart: { + type: Number, + default: 70, + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'areaspline', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(60, 'hour'), + title: null, + labels: { + step: 6, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setCategories(101, 'С°'), + min: 0, + max: 100, + title: null, + minTickInterval: 25, + minorGridLineColor: '#1A3E5B1A', + plotLines: [ + { + color: '#E11717', + dashStyle: 'solid', + value: this.warning, + zIndex: '1000', + width: 2, + label: { + text: 'Пороговое значение предупреждения, С°', + align: 'right', + style: { + fontFamily: 'Inter, sans-serif', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + ], + }, + series: Series['temperature'].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + areaspline: { + fillOpacity: 0, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/SILA/AnalyticalPanel/helpers.js b/src/views/SILA/AnalyticalPanel/helpers.js new file mode 100644 index 00000000..8655afc3 --- /dev/null +++ b/src/views/SILA/AnalyticalPanel/helpers.js @@ -0,0 +1,200 @@ +export const colors = [ + '#CB32F1', + '#F18638', + '#139BB9', + '#E1AB17', + '#175AE1', + '#13B937', +]; + +export const Series = { + power: [ + { + name: 'Sean', + data: [1, 1, 2.7, 0.5, 0.2, 1], + color: '#CB32F1', + }, + { + name: 'Ivan', + data: [0.4, 0.3, 1, 1.4, 2, 0.4], + color: '#F18638', + }, + { + name: 'Brendan', + data: [0.5, 2.5, 1, 0.4, 1, 3], + color: '#139BB9', + }, + ], +}; + +export const setTime = (count) => { + const arr = [...new Array(count)].map(() => ''); + for (let i = 0; i < arr.length; i++) { + arr[i] = `15:${i}0`; + } + return arr; +}; + +export const setCategories = (count, desc) => { + const arr = []; + for (let i = 0; i < count; i += 0.5) { + arr.push(`${i} ${desc}`); + } + return arr; +}; + +export const AccessoryData = { + power: { + fields: [ + { + key: 'name', + label: 'Наименование', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'power', + label: 'Текущее значение тока, А', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Источникк питания 1', + power: '1,3 A', + }, + { + name: 'Источникк питания 2', + power: '1,8 A', + }, + { + name: 'Источникк питания 3', + power: '1,6 A', + }, + ], + }, +}; + +export const ServerItems = [ + { param: 'Сервер №1', value: true }, + { param: 'ВМС', value: true }, + { param: 'Аналитическая панель', value: true }, + { param: 'RAID-контроллеры', value: false }, + { param: 'Модули памяти', value: true }, + { param: 'Процессоры', value: true }, + { param: 'Источники питания', value: true }, + { param: 'Вентиляторы', value: true }, + { param: 'Физические накопители', value: true }, + { param: 'Виртуальные накопители', value: true }, + { param: 'Материнская плата', value: true }, + { param: 'Сетевые адаптеры', value: true }, + { param: 'PCI устройства', value: true }, +]; + +export const EventsItems = [ + { + date: '23.11.2021 в 13.36', + type: 'Критические', + description: { + name: 'Имя источника событий', + description: 'Краткое описание ошибки или сообщени....', + }, + }, + { + date: '23.11.2021 в 13.36', + type: 'Критические', + description: { + name: 'Имя источника событий', + description: 'Краткое описание ошибки или сообщени....', + }, + }, + { + date: '23.11.2021 в 13.36', + type: 'Критические', + description: { + name: 'Имя источника событий', + description: 'Краткое описание ошибки или сообщени....', + }, + }, + { + date: '23.11.2021 в 13.36', + type: 'Критические', + description: { + name: 'Имя источника событий', + description: 'Краткое описание ошибки или сообщени....', + }, + }, + { + date: '23.11.2021 в 13.36', + type: 'Критические', + description: { + name: 'Имя источника событий', + description: 'Краткое описание ошибки или сообщени....', + }, + }, + { + date: '23.11.2021 в 13.36', + type: 'Критические', + description: { + name: 'Имя источника событий', + description: 'Краткое описание ошибки или сообщени....', + }, + }, + { + date: '23.11.2021 в 13.36', + type: 'Критические', + description: { + name: 'Имя источника событий', + description: 'Краткое описание ошибки или сообщени....', + }, + }, + { + date: '23.11.2021 в 13.36', + type: 'Критические', + description: { + name: 'Имя источника событий', + description: 'Краткое описание ошибки или сообщени....', + }, + }, + { + date: '23.11.2021 в 13.36', + type: 'Критические', + description: { + name: 'Имя источника событий', + description: 'Краткое описание ошибки или сообщени....', + }, + }, + { + date: '23.11.2021 в 13.36', + type: 'Критические', + description: { + name: 'Имя источника событий', + description: 'Краткое описание ошибки или сообщени....', + }, + }, + { + date: '23.11.2021 в 13.36', + type: 'Критические', + description: { + name: 'Имя источника событий', + description: 'Краткое описание ошибки или сообщени....', + }, + }, + { + date: '23.11.2021 в 13.36', + type: 'Критические', + description: { + name: 'Имя источника событий', + description: 'Краткое описание ошибки или сообщени....', + }, + }, + { + date: '23.11.2021 в 13.36', + type: 'Критические', + description: { + name: 'Имя источника событий', + description: 'Краткое описание ошибки или сообщени....', + }, + }, +]; diff --git a/src/views/SILA/AnalyticalPanel/index.js b/src/views/SILA/AnalyticalPanel/index.js new file mode 100644 index 00000000..7da2938e --- /dev/null +++ b/src/views/SILA/AnalyticalPanel/index.js @@ -0,0 +1,2 @@ +import AnalyticalPanelPage from './AnalyticalPanelPage.vue'; +export default AnalyticalPanelPage; diff --git a/src/views/SILA/NetworkAdapters/Dynamic/NetworkDynamicPage.vue b/src/views/SILA/NetworkAdapters/Dynamic/NetworkDynamicPage.vue new file mode 100644 index 00000000..3745a71f --- /dev/null +++ b/src/views/SILA/NetworkAdapters/Dynamic/NetworkDynamicPage.vue @@ -0,0 +1,135 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.analyticalPanel')" /> + <date-switch :switch-time-scale="switchTimeScale" :time-scale="timeScale" /> + <div class="limit-container"> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.temperatureWarning') + }}</span> + <b-form-input + v-model="temperatureWarningInput" + type="number" + :min="0" + :max="100" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button + class="save-button" + variant="primary" + @click="updateTemperature" + > + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- Temperature Table --> + <temperature-table + :time-scale="timeScale" + :warning="temperatureWarning" + :non-normal="temperatureNonNormal" + :critical-start="temperatureCriticalStart" + /> + <accessory-table :records="accessoryData.temperatureTable" /> + </b-container> +</template> +<script> +import PageTitle from '@/components/Global/PageTitle'; +import DateSwitch from '@/components/Global/SilaComponents/DateSwitch'; +import TemperatureTable from './TemperatureTable'; +import AccessoryTable from '@/components/Global/SilaComponents/Tables/AccessoryTableWithLabel'; +import iconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; + +import { AccessoryData } from './helpers'; + +export default { + components: { + PageTitle, + DateSwitch, + TemperatureTable, + AccessoryTable, + }, + data() { + return { + timeScale: 'hour', + temperatureWarning: 72, + temperatureWarningInput: 72, + notificationInput: 42, + accessoryData: AccessoryData, + iconChevronUp: iconChevronUp, + }; + }, + methods: { + switchTimeScale(period) { + this.timeScale = period; + }, + updateTemperature() { + this.temperatureWarning = +this.temperatureWarningInput; + }, + }, +}; +</script> +<style lang="scss" scoped> +//nav items style +.nav-item, +.nav-link { + padding: 0; +} +.nav-item { + list-style-type: none; +} + +a { + color: $text-primary !important; + &:hover { + color: $text-primary !important; + } +} + +.notification-button { + border: none; + background: none; +} + +.semi-bold-12px { + z-index: 1001; +} + +// temperature limit comtainer +.limit-container { + height: 85px; + width: 100%; + padding: 0 32px 10px 32px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: flex-end; + gap: 24px; +} + +.trmperature-limt { + height: 60px; + width: 100%; + max-width: 270px; + display: flex; + align-items: baseline; + flex-flow: row wrap; + gap: 8px; +} + +.form-control { + height: 36px; + &.non-normal { + width: 125px; + } +} +.save-button { + width: 151px; + height: 36px; +} +</style> diff --git a/src/views/SILA/NetworkAdapters/Dynamic/TemperatureTable.vue b/src/views/SILA/NetworkAdapters/Dynamic/TemperatureTable.vue new file mode 100644 index 00000000..1bbf7e08 --- /dev/null +++ b/src/views/SILA/NetworkAdapters/Dynamic/TemperatureTable.vue @@ -0,0 +1,112 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setCategories } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + warning: { + type: Number, + default: 70, + }, + nonNormal: { + type: Number, + default: 70, + }, + criticalStart: { + type: Number, + default: 70, + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'line', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(60, 'hour'), + title: null, + labels: { + step: 6, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setCategories(101, 'С°'), + min: 0, + max: 100, + title: null, + minTickInterval: 25, + minorGridLineColor: '#1A3E5B1A', + plotLines: [ + { + color: '#E11717', + dashStyle: 'solid', + value: this.warning, + zIndex: '1000', + width: 2, + label: { + text: 'Пороговое значение предупреждения, С°', + align: 'right', + style: { + fontFamily: 'Inter, sans-serif', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + ], + }, + series: Series['temperature'].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/SILA/NetworkAdapters/Dynamic/helpers.js b/src/views/SILA/NetworkAdapters/Dynamic/helpers.js new file mode 100644 index 00000000..2be5ce24 --- /dev/null +++ b/src/views/SILA/NetworkAdapters/Dynamic/helpers.js @@ -0,0 +1,370 @@ +export const colors = ['#CB32F1', '#F18638', '#139BB9', '#E1AB17']; + +export const Series = { + temperature: [ + { + name: 'Sean', + data: [ + 7, + 7, + 7, + 17, + 7, + 27, + 7, + 7, + 47, + 7, + 7, + 7, + 37, + 7, + 7, + 7, + 27, + 7, + 7, + 7, + 27, + 7, + 7, + 7, + 47, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 27, + 7, + 7, + 7, + 7, + 7, + 27, + 7, + 7, + 7, + 7, + 7, + 7, + 37, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + ], + color: '#CB32F1', + }, + { + name: 'Ivan', + data: [ + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 20, + 10, + 10, + 30, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 50, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 20, + 10, + 10, + 10, + 10, + 10, + 30, + 10, + 10, + 10, + 10, + 10, + 10, + 19, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + 10, + ], + color: '#F18638', + }, + { + name: 'Brendan', + data: [ + 13, + 13, + 13, + 13, + 23, + 13, + 33, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 23, + 13, + 43, + 13, + 53, + 13, + 13, + 13, + 53, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 53, + 13, + 43, + 13, + 13, + 63, + 13, + 43, + 13, + 23, + 13, + 43, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + ], + color: '#139BB9', + }, + { + name: 'Matteo', + data: [ + 24, + 14, + 44, + 14, + 14, + 14, + 14, + 14, + 34, + 14, + 14, + 14, + 14, + 34, + 14, + 24, + 14, + 34, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 44, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 44, + 14, + 54, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 84, + 14, + 94, + 14, + 14, + 14, + 54, + 14, + 44, + 14, + 44, + 14, + 14, + 44, + 14, + ], + color: '#E1AB17', + }, + ], +}; + +export const setTime = (count) => { + const arr = [...new Array(count)].map(() => ''); + for (let i = 0; i < arr.length; i++) { + arr[i] = `15:${String(i).padStart(2, '0')}`; + } + return arr; +}; + +export const setCategories = (count, desc) => { + const arr = [...new Array(count)].map((i, k) => `${k} ${desc}`); + return arr; +}; + +export const AccessoryData = { + temperatureTable: { + fields: [ + { + key: 'name', + label: 'Имя модуля', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'currentTemperature', + label: 'Текущее, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'middleTemperature', + label: 'Среднее, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minTemperature', + label: 'Минимальное, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minDate', + label: 'Дата минимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxTemperature', + label: 'Максимальное, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxDate', + label: 'Дата максимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Приемопередитчик 1', + currentTemperature: 19, + middleTemperature: 40, + minTemperature: 31, + minDate: { time: '15:15', date: '11.11.2021' }, + maxTemperature: 88, + maxDate: { time: '10:26', date: '15.11.2021' }, + }, + { + name: 'Приемопередитчик 2', + currentTemperature: 29, + middleTemperature: 40, + minTemperature: 20, + minDate: { time: '15:45', date: '11.11.2021' }, + maxTemperature: 76, + maxDate: { time: '16:59', date: '16.11.2021' }, + }, + { + name: 'Приемопередитчик 3', + currentTemperature: 48, + middleTemperature: 46, + minTemperature: 31, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 69, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + { + name: 'Приемопередитчик 4', + currentTemperature: 48, + middleTemperature: 45, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 75, + maxDate: { time: '11:26', date: '16.11.2021' }, + }, + ], + }, +}; diff --git a/src/views/SILA/NetworkAdapters/Dynamic/index.js b/src/views/SILA/NetworkAdapters/Dynamic/index.js new file mode 100644 index 00000000..081b5560 --- /dev/null +++ b/src/views/SILA/NetworkAdapters/Dynamic/index.js @@ -0,0 +1 @@ +export { default } from './NetworkDynamicPage.vue'; diff --git a/src/views/SILA/NetworkAdapters/EthernetAdapters/EthernetAdaptersPage.vue b/src/views/SILA/NetworkAdapters/EthernetAdapters/EthernetAdaptersPage.vue new file mode 100644 index 00000000..92f386fb --- /dev/null +++ b/src/views/SILA/NetworkAdapters/EthernetAdapters/EthernetAdaptersPage.vue @@ -0,0 +1,428 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.ethernetAdapters')" /> + <data-tabs + :slots="adaptersSlots" + :switch-tab="switchAdapterSlot" + :current-tab="currentAdapterSlot" + :slot-width="85" + :slider-width="60" + style="margin-top: 16px" + /> + <page-section class="bootstrap-table__section"> + <div class="settings-container"> + <span class="bold-16px">{{ $t('appNavigation.settings') }}</span> + <apply-settings-popover + :appaly-on-reload="appalyOnReload" + :appaly-option1="appalyOption1" + :appaly-option2="appalyOption2" + :apply-type="applyType" + /> + <b-button variant="primary" class="apply-button"> + {{ $t('global.action.acceptChanges') }} + </b-button> + </div> + <span class="bold-12px__caps"> + {{ $t('pageNetwork.macAddress') }} + </span> + <b-table + responsive="md" + class="bootstrap-table bootstrap-table__stripes_odd" + :items="items" + :fields="fields" + > + <template #cell(value)="data"> + <b-row> + <b-col> + <span> + {{ data.value }} + </span> + </b-col> + <b-col> + <img + src="@/assets/images/icon-edit.svg" + class="icon-chevron icon-edit" + /> + </b-col> + </b-row> + </template> + </b-table> + <span class="bold-12px__caps"> + {{ $t('adapters.settings') }} + </span> + <b-table + responsive="md" + class="bootstrap-table bootstrap-table__stripes_odd" + :items="items_2" + :fields="fields" + > + <template #cell(value)="data"> + <b-row v-if="data.index === 3" class="multiple-select-container"> + <b-col v-if="selected.length" class="chip-column"> + <b-row class="chip-container"> + <div + v-for="item in selected" + :key="item.value" + class="custom-chip" + > + <span> {{ item.text }} </span> + <img + class="clear-icon" + src="@/assets/images/popups/x-icon.svg" + @click="optionRemove(item.value)" + /> + </div> + </b-row> + </b-col> + <b-col v-else> + {{ 'Не выбрано ' }} + </b-col> + <b-col class="icon-container"> + <b-button id="popover-boot" variant="toogle-popover"> + <img :is="iconChevron" class="icon-chevron" /> + </b-button> + <b-popover + placement="left" + triggers="focus" + :show.sync="show" + custom-class="boot-popover" + target="popover-boot" + > + <b-form-group + v-slot="{ ariaDescribedby }" + class="checkbox-group" + > + <b-form-checkbox-group + v-model="selected" + :options="options" + :aria-describedby="ariaDescribedby" + class="regular-14px checkbox-container" + stacked + ></b-form-checkbox-group> + </b-form-group> + </b-popover> + </b-col> + </b-row> + <b-row v-else> + <b-col> + <span> + {{ data.value ? 'Возможно' : 'Не возможно' }} + </span> + </b-col> + <b-col> + <img :is="iconChevron" class="icon-chevron icon-options" /> + </b-col> + </b-row> + </template> + </b-table> + <span class="bold-12px__caps"> + {{ $t('adapters.propherties') }} + </span> + <b-table + responsive="md" + class="bootstrap-table bootstrap-table__stripes" + :items="items_3" + :fields="fields" + > + </b-table> + <div class="settings-container"> + <span class="bold-16px">{{ $t('adapters.PXE') }}</span> + <apply-settings-popover + :id="2" + :appaly-on-reload="appalyOnReload" + :appaly-option1="appalyOption1" + :appaly-option2="appalyOption2" + :apply-type="applyType" + /> + </div> + <b-table + responsive="md" + class="bootstrap-table bootstrap-table__stripes_odd" + :items="items_4" + :fields="fields" + > + <template #cell(value)="data"> + <b-row class="flex-row"> + <b-col> + <span> + {{ data.value ? 'Включено' : 'Выключено' }} + </span> + </b-col> + <b-col> + <b-form-checkbox v-model="items_4[data.index].value" switch> + </b-form-checkbox> + </b-col> + </b-row> + </template> + </b-table> + <div class="settings-container"> + <span class="bold-16px">{{ $t('adapters.links') }}</span> + </div> + <b-table + responsive="md" + class="bootstrap-table bootstrap-table__stripes" + :items="items_5" + :fields="fields" + > + </b-table> + <div class="settings-container"> + <span class="bold-16px">{{ $t('adapters.transceivers') }}</span> + </div> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items_6" + :fields="fields_2" + :empty-text="$t('global.table.emptyMessage')" + > + </b-table> + <div class="microcode-container"> + <span class="bold-16px">{{ + $t('SystemDescription.microcodeAdapter') + }}</span> + <popover + id="popover-reactive-1" + description="adapters.microcodeUpdate" + popup="adapters.microcodeUpdate_popup" + button="global.action.refresh" + :is-microcode-drivers="true" + /> + </div> + </page-section> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; +import Popover from '@/components/Global/Popover'; +import ApplySettingsPopover from '@/components/Global/SilaComponents/ApplySettingsPopover'; +import DataTabs from '@/components/Global/SilaComponents/DataTabs'; + +import iconChevron from '@carbon/icons-vue/es/chevron--down/16'; +import { items, items_2, items_3, items_4, items_5, items_6 } from './helpers'; + +export default { + components: { + PageTitle, + PageSection, + DataTabs, + Popover, + ApplySettingsPopover, + }, + data() { + return { + items, + items_2, + items_3, + items_4, + items_5, + items_6, + iconChevron, + selected: [], + show: false, + options: [ + { text: 'PXE', value: { text: 'PXE', value: 'pxe' } }, + { text: 'ISCSI-PXE', value: { text: 'ISCSI-PXE', value: 'iscsi-pxe' } }, + { text: 'ISCSI', value: { text: 'ISCSI', value: 'iscsi' } }, + { text: 'PXE2', value: { text: 'PXE2', value: 'pxe2' } }, + { text: 'ISCSI 2', value: { text: 'ISCSI 2', value: 'iscsi2' } }, + { + text: 'ISCSI-PXE 2', + value: { text: 'ISCSI-PXE 2', value: 'iscsi-pxe2' }, + }, + ], + applyType: 'reload', + currentAdapterSlot: 1, + adaptersSlots: [ + { id: 1, name: 'Адаптер 1' }, + { id: 2, name: 'Адаптер 2' }, + { id: 3, name: 'Адаптер 3' }, + ], + fields: [ + { + key: 'param', + label: '', + formatter: this.dataFormatter, + thClass: 'bootstrap-table__head_bg', + class: 'bootstrap-table__column-first', + tdClass: 'regular-12px bootstrap-table__td', + }, + { + key: 'value', + label: '', + formatter: this.dataFormatter, + thClass: 'bootstrap-table__head_bg', + class: `bootstrap-table__column-last + bootstrap-table__server-param`, + tdClass: 'regular-12px bootstrap-table__td', + }, + ], + fields_2: [ + { + key: 'name', + label: 'Параметр', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'model', + label: 'Модель', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'number', + label: 'Серийный номер', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'type', + label: 'Тип устройства', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'firmware', + label: 'Прошивка', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'status', + label: 'Статус', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + }; + }, + methods: { + switchAdapterSlot(period) { + this.currentAdapterSlot = period; + }, + appalyOnReload() { + this.applyType = 'reload'; + }, + appalyOption1() { + this.applyType = 'option1'; + }, + appalyOption2() { + this.applyType = 'option2'; + }, + optionRemove(value) { + this.selected.splice( + this.selected.findIndex((el) => el.value === value), + 1 + ); + console.log(value); + }, + }, +}; +</script> +<style lang="scss"> +.bootstrap-table__section { + width: auto; +} + +.bootstrap-table__server-param { + width: 30%; +} +</style> + +<style lang="scss" scoped> +.bold-16px { + display: block; + margin: 25px 0 16px 0; +} + +.settings-container { + display: flex; + align-items: center; + justify-content: flex-start; +} + +.apply-button { + width: 245px; + height: 36px; +} + +.microcode-container { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-items: baseline; + justify-content: space-between; +} + +.bold-12px__caps { + display: block; + margin: 20px 0 8px 0; +} + +.flex-row { + align-items: center; +} + +.multiple-select-container { + justify-content: flex-end; +} + +.chip-column { + padding-right: 0px; +} + +.chip-container { + margin-left: -5px; +} + +.custom-chip { + display: flex; + align-items: center; + height: 24px; + margin: 2px 3px; + padding: 0 10px; + background-color: $faint-secondary-primary-10; + border-radius: 94px; +} + +.icon-container { + flex-grow: 0; + padding: 0px; + margin: 0 11px 0 5px; +} + +.clear-icon { + width: 10px; + margin-left: 6px; + cursor: pointer; +} + +.checkbox-group { + margin: 0; +} + +.checkbox-container { + display: flex; + flex-direction: column; + flex-wrap: nowrap; + gap: 7px; +} +</style> diff --git a/src/views/SILA/NetworkAdapters/EthernetAdapters/helpers.js b/src/views/SILA/NetworkAdapters/EthernetAdapters/helpers.js new file mode 100644 index 00000000..918f5b4e --- /dev/null +++ b/src/views/SILA/NetworkAdapters/EthernetAdapters/helpers.js @@ -0,0 +1,99 @@ +export const items = [ + { + param: 'MAC адрес', + value: 'D0:94:66:2A:77:33', + }, + { + param: 'Виртуальный MAC адрес', + value: 'D0:94:66:2A:77:33', + }, +]; +export const items_2 = [ + { + param: 'Пробуждение по локальной сети', + value: true, + }, + { + param: 'Менеджмент проходит через', + value: true, + }, + { + param: 'Энергоэффективный Ethernet', + value: true, + }, + { + param: 'Поддерживаемый boot протокол', + value: true, + }, + { + param: 'Способность политики сохранения', + value: true, + }, +]; +export const items_3 = [ + { + param: 'Версия прошивки', + value: '20.6.6.2', + }, + { + param: 'Версия драйвера', + value: '3.134', + }, + { + param: 'PCI device ID', + value: '165F', + }, +]; + +export const items_4 = [ + { + param: 'Встроенные порты PXE', + value: true, + }, +]; + +export const items_5 = [ + { + param: 'Статус', + value: 'Подключено', + }, + { + param: 'Скорость', + value: '1000 Mbps', + }, +]; + +export const items_6 = [ + { + name: 'Приемопередатчик 1', + model: 'A0507', + number: '789578456698', + type: 'Плата', + firmware: 'v 21.6.0', + status: 'Link', + }, + { + name: 'Приемопередатчик 2', + model: 'A0507', + number: '543636577755', + type: 'Плата', + firmware: 'v 21.6.0', + status: 'Receiver Signal Averange Optical Power', + }, + { + name: 'Приемопередатчик 3', + model: 'A0408', + number: '789578456698', + type: 'Плата', + firmware: 'v 21.6.0', + status: 'Laser Output Power', + }, + { + name: 'Приемопередатчик 4', + model: 'A0408', + number: '123456789087', + type: 'Плата', + firmware: 'v 21.6.0', + status: 'Laser Output Power', + }, +]; diff --git a/src/views/SILA/NetworkAdapters/EthernetAdapters/index.js b/src/views/SILA/NetworkAdapters/EthernetAdapters/index.js new file mode 100644 index 00000000..47f49789 --- /dev/null +++ b/src/views/SILA/NetworkAdapters/EthernetAdapters/index.js @@ -0,0 +1 @@ +export { default } from './EthernetAdaptersPage.vue'; diff --git a/src/views/SILA/NetworkAdapters/FcHbaAdapters/FcHbaAdaptersPage.vue b/src/views/SILA/NetworkAdapters/FcHbaAdapters/FcHbaAdaptersPage.vue new file mode 100644 index 00000000..827d195b --- /dev/null +++ b/src/views/SILA/NetworkAdapters/FcHbaAdapters/FcHbaAdaptersPage.vue @@ -0,0 +1,225 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.fcHbaAdapters')" /> + <data-tabs + :slots="adaptersSlots" + :switch-tab="switchAdapterSlot" + :current-tab="currentAdapterSlot" + :slot-width="85" + :slider-width="60" + style="margin-top: 16px" + /> + <page-section class="bootstrap-table__section"> + <div class="settings-container"> + <span class="bold-16px">{{ $t('appNavigation.settings') }}</span> + <apply-settings-popover + :appaly-on-reload="appalyOnReload" + :appaly-option1="appalyOption1" + :appaly-option2="appalyOption2" + :apply-type="applyType" + /> + <b-button variant="primary" class="apply-button"> + {{ $t('global.action.acceptChanges') }} + </b-button> + </div> + <span class="bold-12px__caps"> + {{ $t('adapters.wwnAddres') }} + </span> + <b-table + responsive="md" + class="bootstrap-table bootstrap-table__stripes_odd" + :items="items" + :fields="fields" + > + <template #cell(value)="data"> + <b-row> + <b-col> + <span> + {{ data.value }} + </span> + </b-col> + <b-col> + <img + src="@/assets/images/icon-edit.svg" + class="icon-chevron icon-edit" + /> + </b-col> + </b-row> + </template> + </b-table> + <span class="bold-12px__caps"> + {{ $t('adapters.settings') }} + </span> + <b-table + responsive="md" + class="bootstrap-table bootstrap-table__stripes_odd" + :items="items_2" + :fields="fields" + > + <template #cell(value)="data"> + <b-row v-if="data.index === 0 || data.index === 3"> + <b-col> + <span> + {{ data.value }} + </span> + </b-col> + </b-row> + <b-row v-else-if="data.index === 4"> + <b-col> + <span> + {{ data.value ? 'Включено' : 'Выключено' }} + </span> + </b-col> + <b-col> + <img :is="iconChevron" class="icon-chevron icon-options" /> + </b-col> + </b-row> + <b-row v-else> + <b-col> + <span> + {{ data.value }} + </span> + </b-col> + <b-col> + <img :is="iconChevron" class="icon-chevron icon-options" /> + </b-col> + </b-row> + </template> + </b-table> + <span class="bold-12px__caps"> + {{ $t('adapters.propherties') }} + </span> + <b-table + responsive="md" + class="bootstrap-table bootstrap-table__stripes" + :items="items_3" + :fields="fields" + > + </b-table> + <div class="microcode-container"> + <span class="bold-16px">{{ + $t('SystemDescription.microcodeAdapter') + }}</span> + <popover + id="popover-reactive-1" + description="adapters.microcodeUpdate" + popup="adapters.microcodeUpdate_popup" + button="global.action.refresh" + :is-microcode-drivers="true" + /> + </div> + </page-section> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; +import Popover from '@/components/Global/Popover'; +import ApplySettingsPopover from '@/components/Global/SilaComponents/ApplySettingsPopover'; +import DataTabs from '@/components/Global/SilaComponents/DataTabs'; + +import iconChevron from '@carbon/icons-vue/es/chevron--down/16'; +import { items, items_2, items_3 } from './helpers'; + +export default { + components: { + PageTitle, + PageSection, + DataTabs, + Popover, + ApplySettingsPopover, + }, + data() { + return { + items, + items_2, + items_3, + iconChevron, + applyType: 'reload', + currentAdapterSlot: 1, + adaptersSlots: [ + { id: 1, name: 'Адаптер 1' }, + { id: 2, name: 'Адаптер 2' }, + { id: 3, name: 'Адаптер 3' }, + ], + fields: [ + { + key: 'param', + label: '', + formatter: this.dataFormatter, + thClass: 'bootstrap-table__head_bg', + class: 'bootstrap-table__column-first', + tdClass: 'regular-12px bootstrap-table__td', + }, + { + key: 'value', + label: '', + formatter: this.dataFormatter, + thClass: 'bootstrap-table__head_bg', + class: `bootstrap-table__column-last + bootstrap-table__server-param`, + tdClass: 'regular-12px bootstrap-table__td', + }, + ], + }; + }, + methods: { + switchAdapterSlot(period) { + this.currentAdapterSlot = period; + }, + appalyOnReload() { + this.applyType = 'reload'; + }, + appalyOption1() { + this.applyType = 'option1'; + }, + appalyOption2() { + this.applyType = 'option2'; + }, + }, +}; +</script> +<style lang="scss"> +.bootstrap-table__server-param { + width: 30%; +} +</style> + +<style lang="scss" scoped> +.bootstrap-table__section { + width: auto; +} + +.bold-16px { + display: block; + margin: 25px 0 16px 0; +} + +.settings-container { + display: flex; + align-items: center; + justify-content: flex-start; +} + +.apply-button { + width: 245px; + height: 36px; +} + +.microcode-container { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-items: baseline; + justify-content: space-between; +} + +.bold-12px__caps { + display: block; + margin: 20px 0 8px 0; +} +</style> diff --git a/src/views/SILA/NetworkAdapters/FcHbaAdapters/helpers.js b/src/views/SILA/NetworkAdapters/FcHbaAdapters/helpers.js new file mode 100644 index 00000000..a2ace22f --- /dev/null +++ b/src/views/SILA/NetworkAdapters/FcHbaAdapters/helpers.js @@ -0,0 +1,42 @@ +export const items = [ + { + param: 'WWN адрес', + value: 'D0:94:66:2A:77:33', + }, +]; +export const items_2 = [ + { + param: 'Boot WWPN', + value: 'Имя порта контроллера (WWPN)', + }, + { + param: 'Select Boot Enable', + value: 'Boot Lun', + }, + { + param: 'Boot LUN', + value: 'Том 1', + }, + { + param: 'WWPN', + value: 'Имя порта HBA (WWPN)', + }, + { + param: 'Host Adapter Bios Enable', + value: false, + }, +]; +export const items_3 = [ + { + param: 'Версия прошивки', + value: '20.6.6.2', + }, + { + param: 'Версия драйвера', + value: '3.134', + }, + { + param: 'PCI device ID', + value: '165F', + }, +]; diff --git a/src/views/SILA/NetworkAdapters/FcHbaAdapters/index.js b/src/views/SILA/NetworkAdapters/FcHbaAdapters/index.js new file mode 100644 index 00000000..8f5636c3 --- /dev/null +++ b/src/views/SILA/NetworkAdapters/FcHbaAdapters/index.js @@ -0,0 +1 @@ +export { default } from './FcHbaAdaptersPage.vue'; diff --git a/src/views/SILA/PciDevices/PciDevicesPage.vue b/src/views/SILA/PciDevices/PciDevicesPage.vue new file mode 100644 index 00000000..adf754ac --- /dev/null +++ b/src/views/SILA/PciDevices/PciDevicesPage.vue @@ -0,0 +1,163 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title /> + <page-section class="bootstrap-table__section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + <template #cell(status)> + <b-row> + <b-col> + <img src="@/assets/images/status/on.svg" class="icon-chevron" /> + <span> + {{ 'Работоспособен' }} + </span> + </b-col> + </b-row> + </template> + </b-table> + </page-section> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; + +export default { + components: { PageTitle, PageSection }, + data() { + return { + fields: [ + { + key: 'status', + label: 'Статус', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'name', + label: 'Имя', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'type', + label: 'Тип устройства', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'model', + label: 'Модель', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'serial_number', + label: 'Серийный номер', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'producer', + label: 'Производитель', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + items: [ + { + status: true, + name: 'PCI-устройство 1', + type: 'Плата', + model: 'A0407', + serial_number: '789578456698', + producer: 'ASUS', + }, + { + status: true, + name: 'PCI-устройство 2', + type: 'Плата', + model: 'A4897', + serial_number: '758496877563', + producer: 'ASUS', + }, + { + status: true, + name: 'PCI-устройство 3', + type: 'Плата', + model: 'A0147', + serial_number: '247856889654', + producer: 'ASUS', + }, + ], + }; + }, + methods: { + switchMemorySlot(period) { + this.currentMemorySlot = period; + }, + redirectDrivers() { + this.$router.push('/drivers-static'); + }, + redirectVirtual() { + this.$router.push('/virtual-drivers'); + }, + }, +}; +</script> +<style lang="scss"> +.bootstrap-table__stripes tr:nth-of-type(even) { + background-color: rgb(255 255 255); +} +.bootstrap-table__head_bg { + border-top: none; + display: none; +} + +.bootstrap-table__column-first { + border-right: 1px solid rgba(26, 62, 91, 0.1); + border-top: none; +} + +.bootstrap-table__column-last { + border-top: none; +} + +.bootstrap-table__td { + border-top: 1px solid rgba(26, 62, 91, 0.1); +} +</style> + +<style lang="scss" scoped> +.bold-16px { + display: block; + margin: 25px 0 16px 0; +} + +.pointer { + color: $red-brand-primary; + cursor: pointer; +} +</style> diff --git a/src/views/SILA/PciDevices/index.js b/src/views/SILA/PciDevices/index.js new file mode 100644 index 00000000..20092914 --- /dev/null +++ b/src/views/SILA/PciDevices/index.js @@ -0,0 +1 @@ +export { default } from './PciDevicesPage.vue'; diff --git a/src/views/SILA/PhysicalDrivers/DynamicInfo/DriversDynamicPage.vue b/src/views/SILA/PhysicalDrivers/DynamicInfo/DriversDynamicPage.vue new file mode 100644 index 00000000..fadbf2b2 --- /dev/null +++ b/src/views/SILA/PhysicalDrivers/DynamicInfo/DriversDynamicPage.vue @@ -0,0 +1,204 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.dynamicInformation')" /> + <div class="notification__container"> + <span class="semi-bold-12px">{{ + $t('global.ariaLabel.notificationTime') + }}</span> + <div class="form-control notification"> + <b-form-input + v-model="notificationInput" + type="number" + class="notification__input" + > + </b-form-input> + <button class="notification_button"> + <img class="notification__icon" src="@/assets/images/refresh.svg" /> + </button> + </div> + </div> + <date-switch :switch-time-scale="switchTimeScale" :time-scale="timeScale" /> + <div class="limit-container"> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/non-normal.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.nonNormalMode') + }}</span> + <b-form-input + v-model="temperatureNonNormalInput" + type="number" + :min="0" + :max="temperatureCritical" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/critical.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.criticalMode') + }}</span> + <b-form-input + v-model="temperatureCritical" + type="number" + :min="temperatureNonNormalInput" + :max="temperatureWarningInput" + class="form-control medium-12px" + > + </b-form-input> + </div> + <div class="trmperature-limt"> + <img src="@/assets/images/labels/warning.svg" /> + <span class="semi-bold-12px">{{ + $t('tablesDescription.temperatureWarning') + }}</span> + <b-form-input + v-model="temperatureWarningInput" + type="number" + :min="temperatureCritical" + :max="100" + class="form-control medium-12px" + > + </b-form-input> + </div> + <b-button + class="save-button" + variant="primary" + @click="updateTemperatureLimits" + > + {{ $t('global.action.save') }} + </b-button> + </div> + <!-- Temperature Table --> + <temperature-table + :time-scale="timeScale" + :warning="temperatureWarning" + :non-normal="temperatureNonNormal" + :critical-start="temperatureCriticalStart" + /> + <accessory-table-drivers :records="accessoryData.table" /> + <accessory-table :records="accessoryData.temperatureTable" /> + </b-container> +</template> +<script> +import PageTitle from '@/components/Global/PageTitle'; +import DateSwitch from '@/components/Global/SilaComponents/DateSwitch'; +import TemperatureTable from './TemperatureTable'; +import AccessoryTable from '@/components/Global/SilaComponents/Tables/AccessoryTable'; +import AccessoryTableDrivers from '@/components/Global/SilaComponents/Tables/AccessoryTableDrivers'; +import iconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; + +import { AccessoryData } from './helpers'; + +export default { + components: { + PageTitle, + DateSwitch, + TemperatureTable, + AccessoryTable, + AccessoryTableDrivers, + }, + data() { + return { + timeScale: 'hour', + temperatureWarning: 72, + temperatureWarningInput: 72, + temperatureNonNormal: 44, + temperatureNonNormalInput: 44, + temperatureCriticalStart: 55, + temperatureCritical: 55, + notificationInput: 42, + accessoryData: AccessoryData, + iconChevronUp: iconChevronUp, + }; + }, + methods: { + switchTimeScale(period) { + this.timeScale = period; + }, + updateTemperatureLimits() { + this.temperatureWarning = +this.temperatureWarningInput; + this.temperatureNonNormal = +this.temperatureNonNormalInput; + this.temperatureCriticalStart = +this.temperatureCritical; + }, + }, +}; +</script> +<style lang="scss" scoped> +.notification__container { + position: absolute; + top: calc(#{$header-height}); + right: 0px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: center; +} + +.notification { + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: center; + border: none; + box-shadow: none; + border-radius: 8px; + margin: 12px 32px 12px 8px; + width: 236px; + height: 40px; + z-index: 1001; +} + +.notification__icon { + width: 20px; + height: 20px; +} + +.notification__input { + border: none; + background: none; + box-shadow: none; +} + +.notification_button { + border: none; + background: none; +} + +.semi-bold-12px { + z-index: 1001; +} + +// temperature limit comtainer +.limit-container { + height: 85px; + width: 100%; + padding: 0 32px 10px 32px; + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: flex-end; + gap: 24px; +} + +.trmperature-limt { + height: 60px; + width: 100%; + max-width: 270px; + display: flex; + align-items: baseline; + flex-flow: row wrap; + gap: 8px; +} + +.form-control { + height: 36px; +} +.save-button { + width: 151px; + height: 36px; +} +</style> diff --git a/src/views/SILA/PhysicalDrivers/DynamicInfo/TemperatureTable.vue b/src/views/SILA/PhysicalDrivers/DynamicInfo/TemperatureTable.vue new file mode 100644 index 00000000..f9c149c3 --- /dev/null +++ b/src/views/SILA/PhysicalDrivers/DynamicInfo/TemperatureTable.vue @@ -0,0 +1,126 @@ +<template> + <div> + <highcharts :options="chartOptions.line" /> + </div> +</template> + +<script> +import { setTime, Series, setCategories } from './helpers'; +import { Chart } from 'highcharts-vue'; + +export default { + components: { + highcharts: Chart, + }, + props: { + timeScale: { + type: String, + default: 'hour', + }, + warning: { + type: Number, + default: 70, + }, + nonNormal: { + type: Number, + default: 70, + }, + criticalStart: { + type: Number, + default: 70, + }, + }, + computed: { + chartOptions() { + return { + line: { + chart: { + type: 'line', + margin: [12, 50, 32, 60], + height: '320px', + }, + title: null, + xAxis: { + categories: setTime(60, 'hour'), + title: null, + labels: { + step: 6, + }, + minorGridLineColor: '#1A3E5B1A', + }, + yAxis: { + categories: setCategories(101, 'С°'), + min: 0, + max: 100, + title: null, + minTickInterval: 25, + minorGridLineColor: '#1A3E5B1A', + plotLines: [ + { + color: '#E11717', + dashStyle: 'solid', + value: this.warning, + zIndex: '1000', + width: 2, + label: { + text: 'Пороговое значение предупреждения, С°', + align: 'right', + style: { + fontFamily: 'Inter, sans-serif', + fontSize: '12px', + fontStyle: 'normal', + fontWeight: '400', + lineHeight: '16px', + color: '#0C1C2999', + }, + }, + }, + ], + plotBands: [ + { + color: '#F0AC0C1A', + dashStyle: 'solid', + from: this.nonNormal, + to: this.criticalStart, + }, + { + color: '#FF41411A', + dashStyle: 'solid', + from: this.criticalStart, + to: this.warning, + }, + ], + }, + series: Series['temperature'].map((item) => ({ + ...item, + marker: { + enabled: false, + }, + })), + legend: { + enabled: false, + }, + tooltip: { + enabled: false, + crosshairs: false, + }, + plotOptions: { + series: { + showInLegend: true, + }, + }, + }, + }; + }, + }, +}; +</script> +<style lang="scss"> +.highcharts-credits { + display: none; +} + +.highcharts-plot-line-label { + transform: translate(-15px, 0) !important; +} +</style> diff --git a/src/views/SILA/PhysicalDrivers/DynamicInfo/helpers.js b/src/views/SILA/PhysicalDrivers/DynamicInfo/helpers.js new file mode 100644 index 00000000..5bb87b84 --- /dev/null +++ b/src/views/SILA/PhysicalDrivers/DynamicInfo/helpers.js @@ -0,0 +1,584 @@ +export const colors = [ + '#CB32F1', + '#F18638', + '#139BB9', + '#E1AB17', + '#175AE1', + '#13B937', +]; + +export const Series = { + temperature: [ + { + name: 'Sean', + data: [ + 15, + 15, + 45, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 55, + 15, + 25, + 15, + 15, + 15, + 55, + 15, + 75, + 15, + 35, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 15, + 45, + 15, + 25, + 15, + 45, + 15, + 15, + 15, + 35, + 35, + 35, + 15, + 55, + 15, + 15, + 35, + 15, + 25, + 15, + 35, + 15, + ], + color: '#CB32F1', + }, + { + name: 'Ivan', + data: [ + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 22, + 12, + 42, + 12, + 12, + 12, + 72, + 12, + 52, + 12, + 62, + 12, + 72, + 12, + 12, + 12, + 12, + 42, + 12, + 12, + 52, + 12, + 42, + 12, + 12, + 62, + 12, + 12, + 12, + 22, + 12, + 42, + 12, + 62, + 12, + 12, + 32, + 12, + 12, + 12, + 52, + 12, + 32, + 12, + 22, + 12, + 12, + 12, + ], + color: '#175AE1', + }, + { + name: 'Brendan', + data: [ + 13, + 13, + 13, + 13, + 23, + 13, + 33, + 13, + 63, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 23, + 13, + 43, + 13, + 53, + 13, + 13, + 13, + 53, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 13, + 53, + 13, + 43, + 13, + 13, + 63, + 13, + 13, + 13, + 23, + 13, + 43, + 13, + 63, + 13, + 13, + 13, + 53, + 13, + 53, + ], + color: '#B98D13', + }, + { + name: 'Matteo', + data: [ + 24, + 14, + 44, + 14, + 14, + 14, + 64, + 14, + 14, + 14, + 54, + 14, + 14, + 34, + 14, + 24, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 44, + 14, + 14, + 14, + 14, + 14, + 14, + 14, + 44, + 14, + 54, + 14, + 14, + 14, + 54, + 14, + 14, + 14, + 14, + 14, + 84, + 14, + 14, + 14, + 54, + 14, + 14, + 14, + 44, + 14, + 44, + 64, + 14, + 44, + 14, + ], + color: '#13B937', + }, + { + name: 'Joan', + data: [ + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 36, + 16, + 26, + 16, + 36, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 26, + 16, + 46, + 16, + 16, + 16, + 16, + 16, + 56, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 96, + 16, + 16, + 16, + 56, + 16, + 16, + 16, + 46, + 16, + ], + color: '#F18638', + }, + { + name: 'Avinash', + data: [ + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 69, + 19, + 19, + 19, + 19, + 19, + 59, + 19, + 19, + 39, + 19, + 29, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 49, + 19, + 19, + 19, + 59, + 19, + 29, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + 19, + ], + color: '#139BB9', + }, + ], +}; + +export const setTime = (count) => { + const arr = [...new Array(count)].map(() => ''); + for (let i = 0; i < arr.length; i++) { + arr[i] = `15:${String(i).padStart(2, '0')}`; + } + return arr; +}; + +export const setCategories = (count, desc) => { + const arr = [...new Array(count)].map((i, k) => `${k} ${desc}`); + return arr; +}; + +export const AccessoryData = { + temperatureTable: { + fields: [ + { + key: 'name', + label: 'Имя модуля', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'currentTemperature', + label: 'Текущее, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'middleTemperature', + label: 'Среднее, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minTemperature', + label: 'Минимальное, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'minDate', + label: 'Дата минимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxTemperature', + label: 'Максимальное, С°', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'maxDate', + label: 'Дата максимального', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Накопитель 1', + currentTemperature: 19, + middleTemperature: 40, + minTemperature: 31, + minDate: { time: '15:15', date: '11.11.2021' }, + maxTemperature: 88, + maxDate: { time: '10:26', date: '15.11.2021' }, + }, + { + name: 'Накопитель 2', + currentTemperature: 29, + middleTemperature: 40, + minTemperature: 20, + minDate: { time: '15:45', date: '11.11.2021' }, + maxTemperature: 76, + maxDate: { time: '16:59', date: '16.11.2021' }, + }, + { + name: 'Накопитель 3', + currentTemperature: 48, + middleTemperature: 46, + minTemperature: 31, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 69, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + { + name: 'Накопитель 4', + currentTemperature: 48, + middleTemperature: 45, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 75, + maxDate: { time: '11:26', date: '16.11.2021' }, + }, + { + name: 'Накопитель 5', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 30, + minDate: { time: '15:23', date: '11.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '17.11.2021' }, + }, + { + name: 'Накопитель 6', + currentTemperature: 39, + middleTemperature: 44, + minTemperature: 5, + minDate: { time: '16:45', date: '25.11.2021' }, + maxTemperature: 80, + maxDate: { time: '15:26', date: '15.11.2021' }, + }, + ], + }, + table: { + fields: [ + { + key: 'name', + label: 'Имя модуля', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + class: 'SMART-table-col-first', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'SMART', + label: 'Текущие значения атрибутов SMART', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + class: 'SMART-table-col-second', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + { + key: 'resource', + label: 'Оставшийся ресурс для SSD, Мб', + thClass: 'bootstrap-fans-table__th semi-bold-12px', + class: 'SMART-table-col-last', + tdClass: 'bootstrap-fans-table__td light-12px', + }, + ], + items: [ + { + name: 'Накопитель 1', + SMART: 88, + resource: '1 024 000', + }, + { + name: 'Накопитель 2', + SMART: 76, + resource: '512 000', + }, + { + name: 'Накопитель 3', + SMART: 69, + resource: '256 000', + }, + { + name: 'Накопитель 4', + SMART: 75, + resource: '128 000', + }, + { + name: 'Накопитель 5', + SMART: 69, + resource: '256 000', + }, + { + name: 'Накопитель 6', + SMART: 75, + resource: '128 000', + }, + ], + }, +}; diff --git a/src/views/SILA/PhysicalDrivers/DynamicInfo/index.js b/src/views/SILA/PhysicalDrivers/DynamicInfo/index.js new file mode 100644 index 00000000..ed9033ab --- /dev/null +++ b/src/views/SILA/PhysicalDrivers/DynamicInfo/index.js @@ -0,0 +1 @@ +export { default } from './DriversDynamicPage.vue'; diff --git a/src/views/SILA/PhysicalDrivers/StaticInfo/DriversStaticPage.vue b/src/views/SILA/PhysicalDrivers/StaticInfo/DriversStaticPage.vue new file mode 100644 index 00000000..d53ff449 --- /dev/null +++ b/src/views/SILA/PhysicalDrivers/StaticInfo/DriversStaticPage.vue @@ -0,0 +1,144 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.statisticInformation')" /> + <page-section class="bootstrap-table__section info_section"> + <span class="bold-16px">{{ $t('global.table.info') }}</span> + </page-section> + <data-tabs + :slots="memorySlots" + :switch-tab="switchMemorySlot" + :current-tab="currentMemorySlot" + :slot-width="100" + :slider-width="81" + /> + <page-section class="bootstrap-table__section info_section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + </b-table> + <div class="microcode-container"> + <span class="bold-16px">{{ + $t('SystemDescription.microcodeDrivers') + }}</span> + <popover + id="popover-reactive-1" + description="SystemDescription.reloadMicrocodeDrivers" + popup="SystemDescription.reloadMicrocodeDrivers" + button="global.action.refresh" + :is-microcode-drivers="true" + /> + </div> + </page-section> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; +import DataTabs from '@/components/Global/SilaComponents/DataTabs'; +import Popover from '@/components/Global/Popover'; + +export default { + components: { PageTitle, PageSection, DataTabs, Popover }, + data() { + return { + currentMemorySlot: 1, + memorySlots: [ + { id: 1, name: 'Накопитель 1' }, + { id: 2, name: 'Накопитель 2' }, + { id: 3, name: 'Накопитель 3' }, + { id: 4, name: 'Накопитель 4' }, + { id: 5, name: 'Накопитель 5' }, + { id: 6, name: 'Накопитель 6' }, + { id: 7, name: 'Накопитель 7' }, + { id: 8, name: 'Накопитель 8' }, + { id: 9, name: 'Накопитель 9' }, + { id: 10, name: 'Накопитель 10' }, + { id: 11, name: 'Накопитель 11' }, + { id: 12, name: 'Накопитель 12' }, + { id: 13, name: 'Накопитель 13' }, + { id: 14, name: 'Накопитель 14' }, + { id: 15, name: 'Накопитель 15' }, + ], + fields: [ + { + key: 'parametr', + label: 'Параметр', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first + memory-table-col-first`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + items: [ + { + parametr: 'Протокол', + value: '4590', + }, + { + parametr: 'Номинальная ёмкость', + value: '1 024 000 Мб', + }, + { + parametr: 'Номинальная скорость вращения HDD', + value: '2000 об./мин.', + }, + { + parametr: 'Номинальный ресурс для SDD', + value: '10 000', + }, + { + parametr: 'Слот в бэкплейне или номер порта', + value: '25', + }, + ], + }; + }, + methods: { + switchMemorySlot(period) { + this.currentMemorySlot = period; + }, + }, +}; +</script> +<style lang="scss"> +.memory-table-col-first { + width: 50%; +} +</style> + +<style lang="scss" scoped> +.info_section { + margin-bottom: 0px; +} + +.bold-16px { + display: block; + margin: 25px 0 16px 0; +} + +.microcode-container { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-items: baseline; + justify-content: space-between; +} +</style> diff --git a/src/views/SILA/PhysicalDrivers/StaticInfo/index.js b/src/views/SILA/PhysicalDrivers/StaticInfo/index.js new file mode 100644 index 00000000..2c06b5a2 --- /dev/null +++ b/src/views/SILA/PhysicalDrivers/StaticInfo/index.js @@ -0,0 +1 @@ +export { default } from './DriversStaticPage.vue'; diff --git a/src/views/SILA/RAID/Cache/RAIDCachePage.vue b/src/views/SILA/RAID/Cache/RAIDCachePage.vue new file mode 100644 index 00000000..d4c049a5 --- /dev/null +++ b/src/views/SILA/RAID/Cache/RAIDCachePage.vue @@ -0,0 +1,118 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('RAID.cache')" /> + <data-tabs + :slots="raidSlots" + :switch-tab="switchRaidSlot" + :current-tab="currentRaidSlot" + :slot-width="100" + :slider-width="79" + style="margin-top: 16px" + /> + <page-section class="bootstrap-table__section info_section"> + <span class="bold-16px">{{ $t('RAID.cache_info') }}</span> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + </b-table> + </page-section> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; +import DataTabs from '@/components/Global/SilaComponents/DataTabs'; + +export default { + components: { PageTitle, PageSection, DataTabs }, + data() { + return { + currentRaidSlot: 1, + raidSlots: [ + { id: 1, name: 'Контроллер 1' }, + { id: 2, name: 'Контроллер 2' }, + { id: 3, name: 'Контроллер 3' }, + ], + fields: [ + { + key: 'parametr', + label: 'Параметр', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first + cache-table-col-first`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + items: [ + { + parametr: 'Статус наличия', + value: 'Есть', + }, + { + parametr: 'Текущее значение занятой емкости', + value: '1 024 000 Мб', + }, + { + parametr: 'Текущее значение свободной емкости', + value: '1 004 256 Мб', + }, + { + parametr: 'Статус наличия BBU', + value: 'Есть', + }, + { + parametr: 'Статус наличия FBU', + value: 'Нет', + }, + { + parametr: 'Состояние BBU', + value: 'Готов', + }, + { + parametr: 'Состояние FBU', + value: 'Заряжается', + }, + { + parametr: 'Номинальная емкость', + value: '1 004 256 Мб', + }, + ], + }; + }, + methods: { + switchRaidSlot(period) { + this.currentRaidSlot = period; + }, + }, +}; +</script> +<style lang="scss"> +.cache-table-col-first { + width: 50%; +} +</style> + +<style lang="scss" scoped> +.bold-16px { + display: block; + margin: 0 0 16px 0; +} +</style> diff --git a/src/views/SILA/RAID/Cache/index.js b/src/views/SILA/RAID/Cache/index.js new file mode 100644 index 00000000..76acfcbe --- /dev/null +++ b/src/views/SILA/RAID/Cache/index.js @@ -0,0 +1 @@ +export { default } from './RAIDCachePage.vue'; diff --git a/src/views/SILA/RAID/Settings/ActionSettingsPopover.vue b/src/views/SILA/RAID/Settings/ActionSettingsPopover.vue new file mode 100644 index 00000000..2f3093ab --- /dev/null +++ b/src/views/SILA/RAID/Settings/ActionSettingsPopover.vue @@ -0,0 +1,131 @@ +<template> + <b-popover + placement="left" + triggers="focus" + :show.sync="show" + custom-class="apply-reload-popover" + :target="`popover-action-${id}`" + @hidden="onHidden" + > + <b-button + id="popover-apply-button" + variant="popover" + :class="{ 'hovered-apply-button': scale === topPosition }" + @mouseover="scale = topPosition" + @click=" + () => { + show = false; + appalyOnReload(); + } + " + > + При перезагрузке + </b-button> + <b-button + id="popover-apply-button" + variant="popover" + :class="{ 'hovered-apply-button': scale === middlePosition }" + @mouseover="scale = middlePosition" + @click=" + () => { + show = false; + appalyOption1(); + } + " + > + Опция 1 + </b-button> + <b-button + id="popover-apply-button" + variant="popover" + :class="{ 'hovered-apply-button': scale === bottomPosition }" + @mouseover="scale = bottomPosition" + @click=" + () => { + show = false; + appalyOption2(); + } + " + > + Опция 2 + </b-button> + <div class="slider" :style="`left: 5px; top: ${scale}px;`"></div> + </b-popover> +</template> + +<script> +export default { + props: { + id: { + type: Number, + default: null, + }, + appalyOnReload: { + type: Function, + default: null, + }, + appalyOption1: { + type: Function, + default: null, + }, + appalyOption2: { + type: Function, + default: null, + }, + applyType: { + type: String, + default: 'reload', + }, + }, + data() { + return { + topPosition: 5, + middlePosition: 33, + bottomPosition: 60, + show: false, + scale: 5, + }; + }, + methods: { + onHidden() { + if (this.applyType === 'reload') { + this.scale = this.topPosition; + } else if (this.applyType === 'option1') { + this.scale = this.middlePosition; + } else { + this.scale = this.bottomPosition; + } + }, + }, +}; +</script> +<style lang="scss"> +.analytical-table__status { + width: 10%; +} + +#popover-apply-ractive { + padding-left: 5px; +} + +.hovered-apply-button { + color: $white; +} +</style> +<style lang="scss" scoped> +#popover-apply-button { + justify-content: flex-start; + width: 240px; +} + +.slider { + width: 240px; + height: 28px; + border-radius: 8px; + background-color: $red-brand-primary; + box-shadow: 1px 2px 4px -1px rgb(79 37 37 / 40%) inset; + position: absolute; + transition: ease-in 0.2s; + z-index: -1; +} +</style> diff --git a/src/views/SILA/RAID/Settings/OptionsPopover.vue b/src/views/SILA/RAID/Settings/OptionsPopover.vue new file mode 100644 index 00000000..d1b85754 --- /dev/null +++ b/src/views/SILA/RAID/Settings/OptionsPopover.vue @@ -0,0 +1,87 @@ +<template> + <b-popover + placement="left" + triggers="focus" + :show.sync="show" + custom-class="popover-heigth-100" + :target="`popover-option-${id}`" + > + <b-button + id="popover-option-button" + variant="popover" + @click=" + () => { + show = false; + openModal(); + } + " + > + <img + src="@/assets/images/icon-settings-red.svg" + class="icon-chevron icon-settings" + /> + Настройки + </b-button> + <b-button + id="popover-option-button" + class="delete" + variant="popover" + @click="show = false" + > + <img + src="@/assets/images/icon-clear-red.svg" + class="icon-chevron icon-delete" + /> + Удалить + </b-button> + </b-popover> +</template> + +<script> +export default { + props: { + id: { + type: Number, + default: null, + }, + }, + data() { + return { + show: false, + }; + }, + methods: { + openModal() { + this.$bvModal.show(`edit-tome${this.id}`); + }, + }, +}; +</script> +<style lang="scss" scoped> +.popover-heigth-100 { + max-width: 120px; +} + +#popover-option-button { + padding: 0 9px 0 10px; + font-size: 12px; + &:hover { + color: $red-brand-primary; + box-shadow: 1px 2px 4px -1px rgb(79 37 37 / 25%) inset; + } + &:active { + box-shadow: 1px 2px 4px -1px rgb(79 37 37 / 50%) inset; + } + &.delete { + padding: 0 26px 0 13px; + } +} + +.icon-settings { + padding-right: 5px; +} + +.icon-delete { + padding-right: 10px; +} +</style> diff --git a/src/views/SILA/RAID/Settings/RAIDSettingsPage.vue b/src/views/SILA/RAID/Settings/RAIDSettingsPage.vue new file mode 100644 index 00000000..d6759150 --- /dev/null +++ b/src/views/SILA/RAID/Settings/RAIDSettingsPage.vue @@ -0,0 +1,312 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.settings')" /> + <data-tabs + :slots="raidSlots" + :switch-tab="switchRaidSlot" + :current-tab="currentRaidSlot" + :slot-width="100" + :slider-width="79" + style="margin-top: 16px" + /> + <page-section class="bootstrap-table__section" style="margin-top: 0px"> + <div class="settings-container"> + <span class="bold-16px">{{ $t('appNavigation.settings') }}</span> + <apply-settings-popover + :appaly-on-reload="appalyOnReload" + :appaly-option1="appalyOption1" + :appaly-option2="appalyOption2" + :apply-type="applyType" + /> + <b-button variant="primary" class="apply-button"> + {{ $t('global.action.acceptChanges') }} + </b-button> + </div> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + <template #cell(action)="data"> + <b-row v-if="data.index <= 5"> + <b-col> + <span> + {{ data.value }} + </span> + </b-col> + <b-col> + <b-button + :id="`popover-action-${data.index}`" + class="popover-action-ractive" + variant="toogle-popover" + > + <img :is="iconChevron" class="icon-chevron" /> + </b-button> + <action-settings-popover + :id="data.index" + :appaly-on-reload="appalyOnReload" + :appaly-option1="appalyOption1" + :appaly-option2="appalyOption2" + :apply-type="applyType" + /> + </b-col> + </b-row> + <b-row v-else> + <b-col> + <span> + {{ data.value }} + </span> + </b-col> + <b-col> + <img + src="@/assets/images/icon-edit.svg" + class="icon-chevron icon-edit" + /> + </b-col> + </b-row> + </template> + </b-table> + </page-section> + <page-section class="bootstrap-table__section"> + <div class="settings-container"> + <span class="bold-16px">{{ $t('RAID.lun') }}</span> + <b-button + variant="primary" + class="apply-button apply-button__lun" + @click="$bvModal.show('add-tome-images')" + > + {{ $t('global.action.addNew') }} + </b-button> + </div> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items_2" + :fields="fields_2" + :empty-text="$t('global.table.emptyMessage')" + > + <template #cell(action)="data"> + <b-row> + <b-col> + <span> + {{ data.value }} + </span> + </b-col> + <b-col> + <b-button + :id="`popover-option-${data.index}`" + class="popover-option-ractive" + variant="toogle-popover" + > + <img + src="@/assets/images/icon-options.svg" + class="icon-chevron icon-options" + /> + </b-button> + <options-popover :id="data.index" /> + <tome-modal + :id="`edit-tome${data.index}`" + :title="'Настройка виртуального тома'" + :action="editTome" + :index="data.index" + :item="items_2[data.index]" + /> + </b-col> + </b-row> + </template> + </b-table> + <div class="microcode-container"> + <span class="bold-16px">{{ $t('RAID.microcode') }}</span> + <popover + id="popover-reactive-1" + description="RAID.microcode_update" + popup="RAID.microcode_popoveer" + button="global.action.refresh" + :is-microcode-drivers="true" + /> + </div> + </page-section> + <tome-modal + :id="'add-tome-images'" + :title="'Новый виртуальный том'" + :action="createTome" + /> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; +import Popover from '@/components/Global/Popover'; +import ApplySettingsPopover from '@/components/Global/SilaComponents/ApplySettingsPopover'; +import DataTabs from '@/components/Global/SilaComponents/DataTabs'; + +import iconChevron from '@carbon/icons-vue/es/chevron--down/16'; +import ActionSettingsPopover from './ActionSettingsPopover'; +import OptionsPopover from './OptionsPopover'; +import TomeModal from './TomeModal'; +import { items, items_2 } from './helpers'; + +export default { + components: { + PageTitle, + PageSection, + DataTabs, + Popover, + ApplySettingsPopover, + ActionSettingsPopover, + OptionsPopover, + TomeModal, + }, + data() { + return { + items, + items_2, + iconChevron, + applyType: 'reload', + currentRaidSlot: 1, + titleModal: '', + editIndex: null, + raidSlots: [ + { id: 1, name: 'Контроллер 1' }, + { id: 2, name: 'Контроллер 2' }, + { id: 3, name: 'Контроллер 3' }, + ], + fields: [ + { + key: 'parametr', + label: 'Имя', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first + settings-table`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Текущее значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'action', + label: 'Действие', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + fields_2: [ + { + key: 'name', + label: 'Параметр', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'type', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'size', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'action', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + }; + }, + methods: { + switchRaidSlot(period) { + this.currentRaidSlot = period; + }, + appalyOnReload() { + this.applyType = 'reload'; + }, + appalyOption1() { + this.applyType = 'option1'; + }, + appalyOption2() { + this.applyType = 'option2'; + }, + createTome() { + console.log('Новый том создан'); + }, + editTome(index) { + console.log('Том изменен'); + console.log(index); + }, + }, +}; +</script> +<style lang="scss"> +.settings-table { + width: 35%; +} +</style> + +<style lang="scss" scoped> +.bold-16px { + display: block; + margin: 25px 0 16px 0; +} + +.settings-container { + display: flex; + align-items: center; + justify-content: flex-start; +} + +.apply-button { + width: 245px; + height: 36px; +} + +.popover-action-ractive { + margin: 0 0 0 83%; +} + +.popover-option-ractive { + margin: 0 0 0 70%; +} + +.apply-button__lun { + width: 245px; + height: 36px; + margin-left: auto; +} + +.microcode-container { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-items: baseline; + justify-content: space-between; +} +</style> diff --git a/src/views/SILA/RAID/Settings/TomeModal.vue b/src/views/SILA/RAID/Settings/TomeModal.vue new file mode 100644 index 00000000..c77f4c13 --- /dev/null +++ b/src/views/SILA/RAID/Settings/TomeModal.vue @@ -0,0 +1,179 @@ +<template> + <b-modal :id="id" class="modal-images" hide-footer> + <template #modal-title> + <span class="semi-bold-20px">{{ title }}</span> + </template> + <div class="modal-body"> + <label class="regular-12px tretiatry" for="name"> Имя </label> + <b-form-input + id="name" + v-model="tomeName" + placeholder="Название тома" + type="text" + class="form-control form-input" + > + </b-form-input> + + <form-control> + <label class="regular-12px tretiatry type-select-label" for="type" + >Тип</label + > + <b-form-select + id="type" + v-model="tomeType" + :options="tomeTypes" + class="select-connection regular-14px" + /> + </form-control> + + <form-control> + <label class="regular-12px tretiatry driver-select-label" for="driver" + >Физический накопитель</label + > + <b-form-select + id="driver" + v-model="tomeDriver" + :options="tomeDrivers" + class="select-connection regular-14px" + /> + </form-control> + + <label class="regular-12px tretiatry" for="size"> Размер Мб </label> + <b-form-input + id="size" + v-model="tomeSize" + placeholder="Размер Тома" + type="text" + class="form-control form-input" + > + </b-form-input> + <b-button class="upload-button" variant="primary" @click="action(index)"> + {{ item ? $t('global.action.save') : $t('global.action.addTome') }} + </b-button> + </div> + </b-modal> +</template> +<script> +import { required } from 'vuelidate/lib/validators'; +import VuelidateMixin from '@/components/Mixins/VuelidateMixin.js'; + +export default { + mixins: [VuelidateMixin], + props: { + id: { + type: String, + default: null, + }, + title: { + type: String, + default: null, + }, + index: { + type: Number, + default: null, + }, + action: { + type: Function, + default: null, + }, + item: { + type: Object, + default: null, + }, + }, + data() { + return { + tomeName: '', + tomeSize: '', + tomeType: 1, + tomeTypes: [ + { value: 1, text: 'RAID-0' }, + { value: 2, text: 'RAID-1' }, + ], + tomeDriver: 1, + tomeDrivers: [ + { value: 1, text: 'Накопитель 1' }, + { value: 2, text: 'Накопитель 2' }, + ], + }; + }, + mounted() { + this.tomeName = this.item.name; + this.tomeSize = this.item.size; + }, + validations: { + userInfo: { + username: { + required, + }, + password: { + required, + }, + }, + }, +}; +</script> +<style lang="scss"> +.modal-content { + border-radius: 16px; + width: 480px; +} +.modal-header { + border-bottom: none; +} +</style> +<style lang="scss" scoped> +.form-input { + height: 56px; + padding-top: 30px; + font-family: 'Inter', sans-serif; + font-size: 14px; + font-weight: 500; + line-height: 20px; + letter-spacing: 0em; + margin: -30px 0 20px 0; +} + +.modal-body { + width: 446px; +} + +.caption-12px, +.regular-12px { + padding-left: 10px; +} + +.select-connection { + height: 56px; + padding-top: 30px; + border: none; + border-radius: 8px; + margin: -0px 0 18px 0; + background-color: $surface-secondary; + background-image: url('../../../../assets/images/icon-chevron.svg'); +} + +.type-select-label { + position: absolute; + top: 25%; +} + +.driver-select-label { + position: absolute; + top: 44%; + left: 4%; +} + +.form-background .custom-select, +.form-background .form-control { + border-radius: 8px; + border: none; + background-color: rgba(26, 62, 91, 0.05); +} + +.upload-button { + width: 100%; + height: 40px; + margin: 0 auto 10px; +} +</style> diff --git a/src/views/SILA/RAID/Settings/helpers.js b/src/views/SILA/RAID/Settings/helpers.js new file mode 100644 index 00000000..5727102a --- /dev/null +++ b/src/views/SILA/RAID/Settings/helpers.js @@ -0,0 +1,62 @@ +export const items = [ + { + parametr: 'Режим контроллера', + value: 'RAID', + action: 'Автоматически', + }, + { + parametr: 'Режим чтения патруля', + value: 'Автоматически', + action: 'Действие', + }, + { + parametr: 'Действие в режиме ручного патрулирования', + value: 'Запущен', + action: 'Действие', + }, + { + parametr: 'Название атрибута', + value: 'Запущен', + action: 'Действие', + }, + { + parametr: 'Название атрибута', + value: 'Запущен', + action: 'Действие', + }, + { + parametr: 'Название атрибута', + value: 'Запущен', + action: 'Действие', + }, + { + parametr: 'Название атрибута', + value: '30%', + action: '30', + }, + { + parametr: 'Название атрибута', + value: '30%', + action: '30', + }, + { + parametr: 'Название атрибута', + value: '30%', + action: '30', + }, +]; + +export const items_2 = [ + { + name: 'Том 1', + type: 'RAID-0', + size: '100 125 Мб', + action: 'Загружен', + }, + { + name: 'Том 2', + type: 'RAID-1', + size: '200 250 Мб', + action: 'Загружен', + }, +]; diff --git a/src/views/SILA/RAID/Settings/index.js b/src/views/SILA/RAID/Settings/index.js new file mode 100644 index 00000000..535dbe3a --- /dev/null +++ b/src/views/SILA/RAID/Settings/index.js @@ -0,0 +1 @@ +export { default } from './RAIDSettingsPage.vue'; diff --git a/src/views/SILA/RAID/Specification/RAIDSpecificationPage.vue b/src/views/SILA/RAID/Specification/RAIDSpecificationPage.vue new file mode 100644 index 00000000..737126e4 --- /dev/null +++ b/src/views/SILA/RAID/Specification/RAIDSpecificationPage.vue @@ -0,0 +1,255 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.specification')" /> + <data-tabs + :slots="raidSlots" + :switch-tab="switchRaidSlot" + :current-tab="currentRaidSlot" + :slot-width="100" + :slider-width="79" + style="margin-top: 16px" + /> + <page-section class="bootstrap-table__section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + <template #cell(value)="{ index, value }"> + <b-row v-if="index === 0"> + <b-col> + <img src="@/assets/images/status/on.svg" class="icon-chevron" /> + <span> + {{ 'Работоспособен' }} + </span> + </b-col> + </b-row> + <b-row v-else-if="index === 7"> + <b-col> + <span class="regular-12px pointer" @click="redirectDrivers"> + {{ value }} + </span> + </b-col> + </b-row> + <b-row v-else-if="index === 8"> + <b-col> + <span class="regular-12px pointer" @click="redirectVirtual"> + {{ value }} + </span> + </b-col> + </b-row> + <b-row v-else> + <b-col> + <span>{{ value }}</span> + </b-col> + </b-row> + </template> + </b-table> + </page-section> + <b-button + v-b-toggle.toggle-collapse + variant="link" + class="collapse-button semi-bold-16px" + > + <component :is="iconChevronUp" class="icon-expand-right" /> + {{ $t('RAID.extraParam') }} + </b-button> + <b-collapse id="toggle-collapse" class="nav-item__nav"> + <page-section class="bootstrap-table__section"> + <b-table + responsive="md" + class="bootstrap-table bootstrap-table__stripes" + :items="items_2" + :fields="fields_2" + > + <template #cell(value)="{ index, value }"> + <b-row v-if="index === 0"> + <b-col> + <img src="@/assets/images/status/on.svg" class="icon-chevron" /> + <span> + {{ 'Работоспособен' }} + </span> + </b-col> + </b-row> + <b-row v-else> + <b-col> + <span>{{ value }}</span> + </b-col> + </b-row> + </template> + </b-table> + </page-section> + </b-collapse> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; +import DataTabs from '@/components/Global/SilaComponents/DataTabs'; + +import iconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; + +export default { + components: { PageTitle, PageSection, DataTabs }, + data() { + return { + iconChevronUp: iconChevronUp, + currentRaidSlot: 1, + raidSlots: [ + { id: 1, name: 'Контроллер 1' }, + { id: 2, name: 'Контроллер 2' }, + { id: 3, name: 'Контроллер 3' }, + ], + fields: [ + { + key: 'parametr', + label: 'Параметр', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + items: [ + { + parametr: 'Статус', + value: true, + }, + { + parametr: 'Имя', + value: 'RAID-контроллер 1', + }, + { + parametr: 'Описание', + value: 'Встроенный', + }, + { + parametr: 'PCI слот', + value: 'Информация недоступна', + }, + { + parametr: 'Версия прошивки', + value: 'Информация недоступна', + }, + { + parametr: 'Версия драйвера', + value: 'Информация недоступна', + }, + { + parametr: 'Объем cache памяти, Мб', + value: '8 096', + }, + { + parametr: 'Виртуальные накопители', + value: 'Перейти к накопителям', + }, + { + parametr: 'Физические накопители', + value: 'Перейти к накопителям', + }, + ], + fields_2: [ + { + key: 'param', + label: '', + formatter: this.dataFormatter, + thClass: 'bootstrap-table__head_bg', + class: 'bootstrap-table__column-first', + tdClass: 'regular-12px bootstrap-table__td', + }, + { + key: 'value', + label: '', + formatter: this.dataFormatter, + thClass: 'bootstrap-table__head_bg', + class: `bootstrap-table__column-last + bootstrap-table__server-param`, + tdClass: 'regular-12px bootstrap-table__td', + }, + ], + items_2: [ + { + param: 'Статус', + value: true, + }, + { + param: 'Скорость', + value: 'Информация недоступна', + }, + { + param: 'PCI Vendor ID', + value: 'Информация недоступна', + }, + { + param: 'Скорость', + value: 'Информация недоступна', + }, + { + param: 'PCI Vendor ID', + value: 'Информация недоступна', + }, + ], + }; + }, + methods: { + switchRaidSlot(period) { + this.currentRaidSlot = period; + }, + redirectDrivers() { + this.$router.push('/drivers-static'); + }, + redirectVirtual() { + this.$router.push('/virtual-drivers'); + }, + }, +}; +</script> +<style lang="scss"> +.bootstrap-table__stripes tr:nth-of-type(even) { + background-color: rgb(255 255 255); +} +.bootstrap-table__head_bg { + border-top: none; + display: none; +} + +.bootstrap-table__column-first { + border-right: 1px solid rgba(26, 62, 91, 0.1); + border-top: none; +} + +.bootstrap-table__column-last { + border-top: none; +} + +.bootstrap-table__td { + border-top: 1px solid rgba(26, 62, 91, 0.1); +} +</style> + +<style lang="scss" scoped> +.bold-16px { + display: block; + margin: 25px 0 16px 0; +} + +.pointer { + color: $red-brand-primary; + cursor: pointer; +} +</style> diff --git a/src/views/SILA/RAID/Specification/index.js b/src/views/SILA/RAID/Specification/index.js new file mode 100644 index 00000000..a040cff4 --- /dev/null +++ b/src/views/SILA/RAID/Specification/index.js @@ -0,0 +1 @@ +export { default } from './RAIDSpecificationPage.vue'; diff --git a/src/views/SILA/VirtualDrivers/VirtualDriversPage.vue b/src/views/SILA/VirtualDrivers/VirtualDriversPage.vue new file mode 100644 index 00000000..4292db40 --- /dev/null +++ b/src/views/SILA/VirtualDrivers/VirtualDriversPage.vue @@ -0,0 +1,133 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title /> + <page-section class="bootstrap-table__section info_section"> + <span class="bold-16px">{{ $t('global.table.info') }}</span> + </page-section> + <data-tabs + :slots="memorySlots" + :switch-tab="switchMemorySlot" + :current-tab="currentMemorySlot" + :slot-width="180" + :slider-width="156" + /> + <page-section class="bootstrap-table__section info_section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + </b-table> + <div class="microcode-container"> + <span class="bold-16px">{{ + $t('SystemDescription.microcodeDrivers') + }}</span> + <popover + id="popover-reactive-1" + description="SystemDescription.reloadMicrocodeDrivers" + popup="SystemDescription.reloadMicrocodeDrivers" + button="global.action.refresh" + :is-microcode-drivers="true" + /> + </div> + </page-section> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import PageSection from '@/components/Global/PageSection'; +import DataTabs from '@/components/Global/SilaComponents/DataTabs'; +import Popover from '@/components/Global/Popover'; + +export default { + components: { PageTitle, PageSection, DataTabs, Popover }, + data() { + return { + currentMemorySlot: 1, + memorySlots: [ + { id: 1, name: 'Виртуальный накопитель 1' }, + { id: 2, name: 'Виртуальный накопитель 2' }, + { id: 3, name: 'Виртуальный накопитель 3' }, + { id: 4, name: 'Виртуальный накопитель 4' }, + { id: 5, name: 'Виртуальный накопитель 5' }, + { id: 6, name: 'Виртуальный накопитель 6' }, + { id: 7, name: 'Виртуальный накопитель 7' }, + { id: 8, name: 'Виртуальный накопитель 8' }, + ], + fields: [ + { + key: 'parametr', + label: 'Параметр', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first + memory-table-col-first`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + items: [ + { + parametr: 'Текущий статус', + value: 'Готов', + }, + { + parametr: 'Номинальная емкость', + value: '1 024 000 Мб', + }, + { + parametr: 'Тип избыточности', + value: 'RAID', + }, + { + parametr: 'Входящие в состав физические накопители', + value: 'Накопитель 1, Накопитель 2, Накопитель 3', + }, + ], + }; + }, + methods: { + switchMemorySlot(period) { + this.currentMemorySlot = period; + }, + }, +}; +</script> +<style lang="scss"> +.memory-table-col-first { + width: 50%; +} +</style> + +<style lang="scss" scoped> +.info_section { + margin-bottom: 0px; +} + +.bold-16px { + display: block; + margin: 25px 0 16px 0; +} + +.microcode-container { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-items: baseline; + justify-content: space-between; +} +</style> diff --git a/src/views/SILA/VirtualDrivers/index.js b/src/views/SILA/VirtualDrivers/index.js new file mode 100644 index 00000000..23cd6fe1 --- /dev/null +++ b/src/views/SILA/VirtualDrivers/index.js @@ -0,0 +1 @@ +export { default } from './VirtualDriversPage.vue'; diff --git a/src/views/SecurityAndAccess/Certificates/Certificates.vue b/src/views/SecurityAndAccess/Certificates/Certificates.vue index 0113b80a..852e6d34 100644 --- a/src/views/SecurityAndAccess/Certificates/Certificates.vue +++ b/src/views/SecurityAndAccess/Certificates/Certificates.vue @@ -54,9 +54,11 @@ <b-row> <b-col xl="11"> <b-table + id="certificates-table" responsive="md" show-empty hover + no-border-collapse :busy="isBusy" :fields="fields" :items="tableItems" diff --git a/src/views/SecurityAndAccess/Sessions/Sessions.vue b/src/views/SecurityAndAccess/Sessions/Sessions.vue index 07ee725d..5f96ca47 100644 --- a/src/views/SecurityAndAccess/Sessions/Sessions.vue +++ b/src/views/SecurityAndAccess/Sessions/Sessions.vue @@ -1,7 +1,7 @@ <template> - <b-container fluid="xl"> + <b-container fluid class="m-0 p-0"> <page-title /> - <b-row class="align-items-end"> + <b-row class="align-items-center bootstrap-table__section"> <b-col sm="6" md="5" xl="4"> <search :placeholder="$t('pageSessions.table.searchSessions')" @@ -17,7 +17,7 @@ ></table-cell-count> </b-col> </b-row> - <b-row> + <b-row class="bootstrap-table__section"> <b-col> <table-toolbar ref="toolbar" @@ -35,6 +35,7 @@ no-select-on-click hover show-empty + no-border-collapse sort-by="clientID" :busy="isBusy" :fields="fields" @@ -85,16 +86,18 @@ </b-row> <!-- Table pagination --> - <b-row> + <b-row class="bootstrap-table__section"> <b-col sm="6"> <b-form-group class="table-pagination-select" :label="$t('global.table.itemsPerPage')" + label-class="semi-bold-16px" label-for="pagination-items-per-page" > <b-form-select id="pagination-items-per-page" v-model="perPage" + class="select-per-page semi-bold-16px" :options="itemsPerPageOptions" /> </b-form-group> @@ -163,6 +166,7 @@ export default { fields: [ { key: 'checkbox', + thStyle: { width: '3%' }, }, { key: 'clientID', diff --git a/src/views/SecurityAndAccess/UserManagement/UserManagement.vue b/src/views/SecurityAndAccess/UserManagement/UserManagement.vue index c6c556c8..c0a67b09 100644 --- a/src/views/SecurityAndAccess/UserManagement/UserManagement.vue +++ b/src/views/SecurityAndAccess/UserManagement/UserManagement.vue @@ -1,7 +1,7 @@ <template> - <b-container fluid="xl"> + <b-container fluid class="m-0 p-0"> <page-title /> - <b-row> + <b-row class="bootstrap-table__section"> <b-col xl="9" class="text-right"> <b-button variant="link" @click="initModalSettings"> <icon-settings /> @@ -17,7 +17,7 @@ </b-button> </b-col> </b-row> - <b-row> + <b-row class="bootstrap-table__section"> <b-col xl="9"> <table-toolbar ref="toolbar" @@ -27,12 +27,14 @@ @batch-action="onBatchAction" /> <b-table + id="user-management-table" ref="table" responsive="md" selectable show-empty no-select-on-click hover + no-border-collapse :busy="isBusy" :fields="fields" :items="tableItems" @@ -85,7 +87,7 @@ </b-table> </b-col> </b-row> - <b-row> + <b-row class="bootstrap-table__section"> <b-col xl="8"> <b-button v-b-toggle.collapse-role-table diff --git a/src/views/Settings/DateTime/DateTime.vue b/src/views/Settings/DateTime/DateTime.vue index f5e063d1..63570c39 100644 --- a/src/views/Settings/DateTime/DateTime.vue +++ b/src/views/Settings/DateTime/DateTime.vue @@ -1,7 +1,7 @@ <template> - <b-container fluid="xl"> + <b-container id="date-time" fluid="xxl" class="pt-0 m-0"> <page-title /> - <b-row> + <b-row class="bootstrap-table__section"> <b-col md="8" xl="6"> <alert variant="info" class="mb-4"> <span> @@ -13,7 +13,7 @@ </alert> </b-col> </b-row> - <page-section> + <page-section class="bootstrap-table__section"> <b-row> <b-col lg="3"> <dl> @@ -31,7 +31,10 @@ </b-col> </b-row> </page-section> - <page-section :section-title="$t('pageDateTime.configureSettings')"> + <page-section + class="bootstrap-table__section" + :section-title="$t('pageDateTime.configureSettings')" + > <b-form novalidate @submit.prevent="submitForm"> <b-form-group label="Configure date and time" @@ -50,6 +53,7 @@ <b-form-group :label="$t('pageDateTime.form.date')" label-for="input-manual-date" + label-class="regular-14px" > <b-form-text id="date-format-help">YYYY-MM-DD</b-form-text> <b-input-group> @@ -99,6 +103,7 @@ <b-form-group :label="$t('pageDateTime.form.time.timezone', { timezone })" label-for="input-manual-time" + label-class="regular-14px" > <b-form-text id="time-format-help">HH:MM</b-form-text> <b-input-group> @@ -127,13 +132,14 @@ value="ntp" data-test-id="dateTime-radio-configureNTP" > - NTP + {{ $t('SystemDescription.GetNtpFromServer') }} </b-form-radio> <b-row class="mt-3 ml-3"> <b-col sm="6" lg="4" xl="3"> <b-form-group :label="$t('pageDateTime.form.ntpServers.server1')" label-for="input-ntp-1" + label-class="regular-14px" > <b-input-group> <b-form-input @@ -156,6 +162,7 @@ <b-form-group :label="$t('pageDateTime.form.ntpServers.server2')" label-for="input-ntp-2" + label-class="regular-14px" > <b-input-group> <b-form-input @@ -171,6 +178,7 @@ <b-form-group :label="$t('pageDateTime.form.ntpServers.server3')" label-for="input-ntp-3" + label-class="regular-14px" > <b-input-group> <b-form-input @@ -415,3 +423,13 @@ export default { }, }; </script> +<style lang="scss" scoped> +.form-control { + height: 40px; + max-width: 270px; +} + +.input-group { + max-width: 270px; +} +</style> diff --git a/src/views/Settings/Network/ModalDns.vue b/src/views/Settings/Network/ModalDns.vue index 7f127173..a1dc9cec 100644 --- a/src/views/Settings/Network/ModalDns.vue +++ b/src/views/Settings/Network/ModalDns.vue @@ -5,9 +5,9 @@ :title="$t('pageNetwork.table.addDnsAddress')" @hidden="resetForm" > - <b-form id="form-dns" @submit.prevent="handleSubmit"> + <b-form id="form-dns" style="width: 100%" @submit.prevent="handleSubmit"> <b-row> - <b-col sm="6"> + <b-col> <b-form-group :label="$t('pageNetwork.modal.staticDns')" label-for="staticDns" diff --git a/src/views/Settings/Network/Network.vue b/src/views/Settings/Network/Network.vue index 2abbcd7a..2d8fd61d 100644 --- a/src/views/Settings/Network/Network.vue +++ b/src/views/Settings/Network/Network.vue @@ -1,10 +1,9 @@ <template> - <b-container fluid="xl"> + <b-container fluid="m-0 p-0" class="page-network"> <page-title :description="$t('pageNetwork.pageDescription')" /> - <!-- Global settings for all interfaces --> - <network-global-settings /> - <!-- Interface tabs --> - <page-section v-show="ethernetData"> + + <page-section v-show="ethernetData" class="m-4"> + <network-global-settings class="m-4" /> <b-row> <b-col> <b-card no-body> diff --git a/src/views/Settings/Network/TableDns.vue b/src/views/Settings/Network/TableDns.vue index 569109f1..1ad8f436 100644 --- a/src/views/Settings/Network/TableDns.vue +++ b/src/views/Settings/Network/TableDns.vue @@ -3,7 +3,7 @@ <b-row> <b-col lg="6"> <div class="text-right"> - <b-button variant="primary" @click="initDnsModal()"> + <b-button variant="primary" class="mb-2" @click="initDnsModal()"> <icon-add /> {{ $t('pageNetwork.table.addDnsAddress') }} </b-button> @@ -14,7 +14,7 @@ :fields="dnsTableFields" :items="form.dnsStaticTableItems" :empty-text="$t('global.table.emptyMessage')" - class="mb-0" + class="bootstrap-rounded-table mb-0" show-empty > <template #cell(actions)="{ item, index }"> @@ -82,8 +82,19 @@ export default { { key: 'address', label: this.$t('pageNetwork.table.ipAddress'), + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'actions', + thStyle: { width: '30%' }, + label: this.$t('pageNetwork.table.actions'), + thClass: + 'text-right semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'text-right bootstrap-rounded-table__td', }, - { key: 'actions', label: '', tdClass: 'text-right' }, ], }; }, @@ -115,6 +126,10 @@ export default { address: server, actions: [ { + value: 'edit', + title: this.$t('global.action.edit'), + }, + { value: 'delete', title: this.$t('pageNetwork.table.deleteDns'), }, diff --git a/src/views/Settings/Network/TableIpv4.vue b/src/views/Settings/Network/TableIpv4.vue index 75870031..7481dc7b 100644 --- a/src/views/Settings/Network/TableIpv4.vue +++ b/src/views/Settings/Network/TableIpv4.vue @@ -7,7 +7,7 @@ </h3> </b-col> <b-col class="text-right"> - <b-button variant="primary" @click="initAddIpv4Address()"> + <b-button variant="primary" class="mb-2" @click="initAddIpv4Address()"> <icon-add /> {{ $t('pageNetwork.table.addIpv4Address') }} </b-button> @@ -19,7 +19,7 @@ :fields="ipv4TableFields" :items="form.ipv4TableItems" :empty-text="$t('global.table.emptyMessage')" - class="mb-0" + class="bootstrap-rounded-table mb-0" show-empty > <template #cell(actions)="{ item, index }"> @@ -86,20 +86,43 @@ export default { { key: 'Address', label: this.$t('pageNetwork.table.ipAddress'), + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-first', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'Gateway', label: this.$t('pageNetwork.table.gateway'), + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'SubnetMask', label: this.$t('pageNetwork.table.subnet'), + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', }, { key: 'AddressOrigin', label: this.$t('pageNetwork.table.addressOrigin'), + thStyle: { width: '20%' }, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-center', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'actions', + label: this.$t('pageNetwork.table.actions'), + thStyle: { width: '10%' }, + thClass: + 'text-right semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'text-right bootstrap-rounded-table__td', }, - { key: 'actions', label: '', tdClass: 'text-right' }, ], }; }, @@ -134,6 +157,10 @@ export default { AddressOrigin: ipv4.AddressOrigin, actions: [ { + value: 'edit', + title: this.$t('pageNetwork.table.edit'), + }, + { value: 'delete', title: this.$t('pageNetwork.table.deleteIpv4'), }, diff --git a/src/views/Support/Support.vue b/src/views/Support/Support.vue new file mode 100644 index 00000000..a23ad55f --- /dev/null +++ b/src/views/Support/Support.vue @@ -0,0 +1,9 @@ +<template> + <span>This Page (Support) In develop</span> +</template> + +<script> +export default { + name: 'Support', +}; +</script> diff --git a/src/views/Support/index.js b/src/views/Support/index.js new file mode 100644 index 00000000..80b31621 --- /dev/null +++ b/src/views/Support/index.js @@ -0,0 +1 @@ +export { default } from './Support.vue'; diff --git a/src/views/SystemDescription/Info/InventoryTableSystem.vue b/src/views/SystemDescription/Info/InventoryTableSystem.vue new file mode 100644 index 00000000..eef0d871 --- /dev/null +++ b/src/views/SystemDescription/Info/InventoryTableSystem.vue @@ -0,0 +1,91 @@ +<template> + <page-section class="bootstrap-table__section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="items" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + </b-table> + </page-section> +</template> + +<script> +import BVToastMixin from '@/components/Mixins/BVToastMixin'; +import PageSection from '@/components/Global/PageSection'; +import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; +import TableRowExpandMixin, { + expandRowLabel, +} from '@/components/Mixins/TableRowExpandMixin'; + +export default { + components: { PageSection }, + mixins: [BVToastMixin, TableRowExpandMixin, LoadingBarMixin], + data() { + return { + fields: [ + { + key: 'param', + label: 'Параметр', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first + bootstrap-rounded-table__column-first___system-table`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + expandRowLabel: expandRowLabel, + items: null, + }; + }, + computed: { + systems() { + return this.$store.getters['system/systems']; + }, + }, + watch: { + systems() { + this.items = [ + { + param: 'id', + value: this.id, + }, + { param: 'Модель', value: this.systems[0].model }, + { param: 'Производитель', value: '' }, + { param: 'Операционная система', value: '' }, + { param: 'Серийный номер', value: this.systems[0].serialNumber }, + { + param: 'Свободное место на Flash-накопителе', + value: '1 024 000 Мб', + }, + ]; + }, + }, + created() { + this.$store.dispatch('system/getSystem').finally(() => { + // Emit initial data fetch complete to parent component + this.$root.$emit('hardware-status-system-complete'); + }); + this.startLoader(); + const systemTablePromise = new Promise((resolve) => { + this.$root.$on('hardware-status-system-complete', () => resolve()); + }); + Promise.all([systemTablePromise]).finally(() => this.endLoader()); + }, +}; +</script> +<style lang="scss"> +.bootstrap-rounded-table__column-first___system-table { + width: 50%; +} +</style> diff --git a/src/views/SystemDescription/Info/SystemDescription.vue b/src/views/SystemDescription/Info/SystemDescription.vue new file mode 100644 index 00000000..0a2bb305 --- /dev/null +++ b/src/views/SystemDescription/Info/SystemDescription.vue @@ -0,0 +1,148 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title /> + <!-- System table --> + <table-system /> + <!-- Notes Administration --> + <section class="notes-section"> + <div class="semi-bold-12px textarea-description"> + <span>{{ $t('SystemDescription.title.Notes') }}</span> + </div> + <div class="textarea-container"> + <div class="buttons-container"> + <button class="notes-button"> + <img src="@/assets/images/textarea-buttons/button-icon-bold.svg" /> + </button> + <button class="notes-button"> + <img + src="@/assets/images/textarea-buttons/button-icon-cursive.svg" + /> + </button> + <button class="notes-button"> + <img + src="@/assets/images/textarea-buttons/button-icon-underline.svg" + /> + </button> + <button class="notes-button"> + <img + src="@/assets/images/textarea-buttons/button-icon-crossline.svg" + /> + </button> + <button class="notes-button"> + <img src="@/assets/images/textarea-buttons/button-icon-link.svg" /> + </button> + <div class="line"></div> + <button class="notes-button"> + <img src="@/assets/images/textarea-buttons/button-icon-list.svg" /> + </button> + <button class="notes-button"> + <img + src="@/assets/images/textarea-buttons/button-icon-number-list.svg" + /> + </button> + </div> + <textarea + id="" + name="area" + placeholder="Тут будет текст который ввел администратор и работать в качестве блокнота" + cols="30" + rows="10" + class="notes-textarea" + ></textarea> + </div> + </section> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import TableSystem from './InventoryTableSystem'; +import iconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; + +export default { + components: { + PageTitle, + TableSystem, + }, + data() { + return { + text: '', + iconChevronUp: iconChevronUp, + }; + }, +}; +</script> +<style lang="scss" scoped> +//nav items style +.nav-item, +.nav-link { + padding: 0; +} + +.nav-item { + list-style-type: none; +} + +a { + color: $text-primary !important; + &:hover { + color: $text-primary !important; + } +} +//section style +.notes-section { + display: flex; + flex-direction: column; +} + +.textarea-description { + margin: 5px 0 10px 2rem; +} + +.buttons-container { + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; + align-items: center; +} + +.notes-button { + width: 2rem; + height: 2rem; + margin: 22px 0 22px 25px; + background-color: $surface-secondary; + border: none; + &:hover { + border-radius: 8px; + background-color: $faint-secondary-primary-5-hover; + } +} + +.line { + display: inline-block; + width: 1px; + height: 2rem; + margin: 22px 0 22px 25px; + border-left: 1px solid rgba(26, 62, 91, 0.2); +} + +.textarea-container { + display: flex; + flex-direction: column; + border-radius: 8px; + margin: 0 1rem 1rem 1rem; + background-color: $surface-secondary; +} + +.notes-textarea { + resize: none; + border: none; + flex: 0 0 auto; + margin: 0 1rem 1rem 1rem; + border-radius: 8px; + background-color: $white; +} +</style> diff --git a/src/views/SystemDescription/Info/index.js b/src/views/SystemDescription/Info/index.js new file mode 100644 index 00000000..8b483f2d --- /dev/null +++ b/src/views/SystemDescription/Info/index.js @@ -0,0 +1,2 @@ +import SystemDescription from './SystemDescription.vue'; +export default SystemDescription; diff --git a/src/views/SystemDescription/Network/InventoryIPv4Settings.vue b/src/views/SystemDescription/Network/InventoryIPv4Settings.vue new file mode 100644 index 00000000..94845854 --- /dev/null +++ b/src/views/SystemDescription/Network/InventoryIPv4Settings.vue @@ -0,0 +1,299 @@ +<template> + <page-section class="bootstrap-table__section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="systems" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + <template #cell(value)="data"> + <b-row v-if="data.index === 0"> + <b-col> + <span> + {{ data.value ? 'Включен' : 'Выключен' }} + </span> + </b-col> + <b-col> + <b-button + :id="`popover-choice-${data.index}`" + class="popover-option-ractive" + variant="toogle-popover" + > + <img :is="iconChevron" class="icon-chevron" /> + </b-button> + <two-chioce-popover + :id="data.index" + fitst-option="Включен" + second-option="Выключен" + :chosen-option="chosenOption" + :first-action="setOn" + :second-action="setOff" + placement="leftbottom" + /> + </b-col> + </b-row> + <b-row v-else> + <b-form-input + v-if="systems[data.index].isEdit" + ref="input" + v-model="selectedCell" + class="regular-12px" + :class="{ validateIP: isIpInvalid }" + type="text" + @keydown.enter="clickOk(data)" + @keydown.escape="clickCancel(data)" + ></b-form-input> + <b-col v-else>{{ data.value }}</b-col> + <b-col class="system-network-table__icon-col"> + <b-row v-if="systems[data.index].isEdit"> + <img + src="@/assets/images/edit-ok.svg" + class="system-network-table__icon pointer" + @click="clickOk(data)" + /> + <img + src="@/assets/images/edit-no.svg" + class="system-network-table__icon close_icon pointer" + @click="clickCancel(data)" + /> + </b-row> + <img + v-else + src="@/assets/images/icon-edit.svg" + class="system-network-table__icon icon-edit pointer" + @click="editCellHandler(data)" + /> + </b-col> + </b-row> + </template> + </b-table> + </page-section> +</template> + +<script> +import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin'; +import BVToastMixin from '@/components/Mixins/BVToastMixin'; +import PageSection from '@/components/Global/PageSection'; +import iconChevron from '@carbon/icons-vue/es/chevron--down/16'; +import TwoChiocePopover from '@/components/Global/SilaComponents/TwoChiocePopover'; +import TableRowExpandMixin, { + expandRowLabel, +} from '@/components/Mixins/TableRowExpandMixin'; + +export default { + components: { PageSection, TwoChiocePopover }, + mixins: [BVToastMixin, TableRowExpandMixin, DataFormatterMixin], + data() { + return { + selectedCell: null, + isActive: false, + isIpInvalid: false, + chosenOption: 'Выключен', + fields: [ + { + key: 'param', + label: 'Параметр', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first + bootstrap-rounded-table__column-first___ipv-table`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-center + bootstrap-rounded-table__ipv-table___center`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'comment', + label: 'Комментарий', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + expandRowLabel: expandRowLabel, + iconChevron, + systems: [ + { + param: 'DHCP Server (откуда получен IP)', + value: false, + comment: 'Когда DHPC Server включен параметры вводятся автоматически', + }, + { + param: 'IP-адрес', + value: '192.168.1.1', + comment: 'Введите IP адрес', + }, + { + param: 'Маска', + value: '192.168.0.1', + comment: 'Введите маску сети', + }, + { + param: 'Сетевой шлюз', + value: '192.168.0.1', + comment: 'Введите сетевой шлюз', + }, + { + param: 'DNS', + value: '8.8.8.8', + comment: 'Введите DNS', + }, + ], + }; + }, + methods: { + editCellHandler(data) { + this.systems = this.systems.map((item) => ({ ...item, isEdit: false })); + this.systems[data.index].isEdit = true; + this.selectedCell = this.systems[data.index].value; + this.$nextTick(() => this.$refs.input.focus()); + }, + clickOk(data) { + const EDIT_VALUE = this.selectedCell.trim(); + if (this.validateIP(EDIT_VALUE)) { + this.systems[data.index].value = EDIT_VALUE; + this.isIpInvalid = false; + this.selectedCell = null; + this.systems[data.index].isEdit = false; + } else { + this.isIpInvalid = true; + } + }, + clickCancel(data) { + this.isIpInvalid = false; + this.selectedCell = null; + this.systems[data.index].isEdit = false; + }, + validateIP(ipCheck) { + return /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test( + ipCheck + ); + }, + setOn() { + this.chosenOption = 'Включен'; + this.systems[0].value = true; + }, + setOff() { + this.chosenOption = 'Выключен'; + this.systems[0].value = false; + }, + DHCPoff() { + this.systems[0].value = false; + this.isActive = false; + }, + DHCPon() { + this.systems[0].value = true; + this.isActive = false; + }, + }, +}; +</script> +<style lang="scss"> +.bootstrap-rounded-table__column-first___ipv-table { + width: 30%; +} + +.bootstrap-rounded-table__ipv-table___center { + width: 20%; +} + +.system-network-table__icon-col { + max-width: 20%; +} +</style> +<style lang="scss" scoped> +.row { + align-items: baseline; + flex-wrap: nowrap; +} +.icon-expand { + margin: 0 !important; +} + +.close_icon { + margin-left: 5px; +} + +.form-control { + max-height: 16px; + width: 60%; + background-color: transparent; + &:focus { + box-shadow: none; + } + &.validateIP { + color: $red-brand-primary; + } +} +.popup-container { + position: relative; +} + +.popup { + position: absolute; + top: -12px; + left: 3px; + width: 97%; + background: $white; + z-index: 1000; + border: 1px solid rgba(26, 62, 91, 0.1); + box-sizing: border-box; + box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1); + border-radius: 8px; + visibility: hidden; +} + +.popup-button { + width: 96%; + height: 50px; + margin: 4px; + border-radius: 8px; + border: none; + + display: flex; + align-items: center; + &.popup-on { + color: $red-brand-primary; + border-radius: 8px; + &:hover { + background-color: $faint-secondary-primary-5-hover; + } + &:active { + background-color: $faint-secondary-primary-20; + } + } + + &.popup-off { + background-color: $red-brand-primary; + color: $white; + &:hover { + background-color: $red-brand-primary-hover; + } + &:active { + background-color: $red-brand-primary-active; + } + } +} + +.popup-text { + margin-left: 20px; +} + +.popup_active { + visibility: visible; +} + +.popover-option-ractive { + display: block; + margin: -6px 9px 0 auto; +} +</style> diff --git a/src/views/SystemDescription/Network/InventoryIPv6Settings.vue b/src/views/SystemDescription/Network/InventoryIPv6Settings.vue new file mode 100644 index 00000000..3f47b1fd --- /dev/null +++ b/src/views/SystemDescription/Network/InventoryIPv6Settings.vue @@ -0,0 +1,272 @@ +<template> + <page-section class="bootstrap-table__section"> + <b-table + responsive="md" + show-empty + class="bootstrap-rounded-table" + :items="systems" + :fields="fields" + :empty-text="$t('global.table.emptyMessage')" + > + <template #cell(value)="data"> + <b-row v-if="!(typeof data.value === 'boolean')"> + <b-form-input + v-if="systems[data.index].isEdit" + ref="input" + v-model="selectedCell" + class="regular-12px" + :class="{ validateIP: isIpInvalid }" + type="text" + @keydown.enter="clickOk(data)" + @keydown.escape="clickCancel(data)" + ></b-form-input> + <b-col v-else>{{ data.value }}</b-col> + <b-col class="system-network-table__icon-col"> + <b-row v-if="systems[data.index].isEdit"> + <img + src="@/assets/images/edit-ok.svg" + class="system-network-table__icon pointer" + @click="clickOk(data)" + /> + <img + src="@/assets/images/edit-no.svg" + class="system-network-table__icon close_icon pointer" + @click="clickCancel(data)" + /> + </b-row> + <img + v-else + src="@/assets/images/icon-edit.svg" + class="system-network-table__icon pointer" + @click="editCellHandler(data)" + /> + </b-col> + </b-row> + <b-row v-else class="popup-container"> + <b-col v-if="data.value">{{ 'Включен' }}</b-col> + <b-col v-else>{{ 'Выключен' }}</b-col> + <div + v-if="isActive" + class="popup" + :class="{ popup_active: isActive }" + > + <button class="popup-button popup-on medium-12px" @click="DHCPon"> + <span class="popup-text">Включен</span> + </button> + <button class="popup-button popup-off medium-12px" @click="DHCPoff"> + <span class="popup-text">Выключен</span> + </button> + </div> + <b-col class="system-network-table__icon-col"> + <img + :is="iconChevron" + class="pointer" + @click="isActive = !isActive" + /> + </b-col> + </b-row> + </template> + </b-table> + </page-section> +</template> + +<script> +import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin'; +import BVToastMixin from '@/components/Mixins/BVToastMixin'; +import PageSection from '@/components/Global/PageSection'; +import iconChevron from '@carbon/icons-vue/es/chevron--down/16'; +import TableRowExpandMixin, { + expandRowLabel, +} from '@/components/Mixins/TableRowExpandMixin'; + +export default { + components: { PageSection }, + mixins: [BVToastMixin, TableRowExpandMixin, DataFormatterMixin], + data() { + return { + isBusy: true, + selectedCell: null, + isIpInvalid: false, + isActive: false, + fields: [ + { + key: 'param', + label: 'Параметр', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-first___ipv-table + bootstrap-rounded-table__column-first`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'value', + label: 'Значение', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: `bootstrap-rounded-table__column-center + bootstrap-rounded-table__ipv-table___center`, + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + { + key: 'comment', + label: 'Комментарий', + formatter: this.dataFormatter, + thClass: 'semi-bold-12px__caps bootstrap-rounded-table__head_bg', + class: 'bootstrap-rounded-table__column-last', + tdClass: 'regular-12px bootstrap-rounded-table__td', + }, + ], + expandRowLabel: expandRowLabel, + iconChevron, + systems: [ + { + param: 'DHCP Server (откуда получен IP)', + value: false, + comment: 'Когда DHPC Server включен параметры вводятся автоматически', + }, + { + param: 'IP-адрес', + value: 'fe80::1ff:fe23:4567:890a', + comment: 'Введите IP адрес', + }, + { + param: 'Маска', + value: 'fe80::1ff:fe23:4567:890a', + comment: 'Введите маску сети', + }, + { + param: 'Сетевой шлюз', + value: 'fe80::1ff:fe23:4567:890a', + comment: 'Введите сетевой шлюз', + }, + { + param: 'DNS', + value: 'fe80::1ff:fe23:4567:890a', + comment: 'Введите DNS', + }, + ], + }; + }, + methods: { + editCellHandler(data) { + this.systems = this.systems.map((item) => ({ ...item, isEdit: false })); + this.systems[data.index].isEdit = true; + this.selectedCell = this.systems[data.index].value; + this.$nextTick(() => this.$refs.input.focus()); + }, + clickOk(data) { + const EDIT_VALUE = this.selectedCell.trim(); + if (this.validateIP(EDIT_VALUE)) { + this.systems[data.index].value = EDIT_VALUE; + this.isIpInvalid = false; + this.selectedCell = null; + this.systems[data.index].isEdit = false; + } else { + this.isIpInvalid = true; + } + }, + clickCancel(data) { + this.isIpInvalid = false; + this.selectedCell = null; + this.systems[data.index].isEdit = false; + }, + validateIP(ipCheck) { + return /(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/gi.test( + ipCheck + ); + }, + DHCPoff() { + this.systems[0].value = false; + this.isActive = false; + }, + DHCPon() { + this.systems[0].value = true; + this.isActive = false; + }, + }, +}; +</script> +<style lang="scss" scoped> +.row { + align-items: baseline; + flex-wrap: nowrap; +} +.icon-expand { + margin: 0 !important; +} + +.close_icon { + margin-left: 5px; +} + +.form-control { + max-height: 16px; + width: 60%; + background-color: transparent; + &:focus { + box-shadow: none; + } + &.validateIP { + color: $red-brand-primary; + } +} + +.popup-container { + position: relative; +} + +.popup { + position: absolute; + top: -12px; + left: 3px; + width: 97%; + background: $white; + z-index: 1000; + border: 1px solid rgba(26, 62, 91, 0.1); + box-sizing: border-box; + box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1); + border-radius: 8px; + visibility: hidden; +} + +.popup-button { + width: 96%; + height: 50px; + margin: 4px; + border-radius: 8px; + border: none; + cursor: pointer; + + display: flex; + align-items: center; + &.popup-on { + color: $red-brand-primary; + border-radius: 8px; + &:hover { + background-color: $faint-secondary-primary-5-hover; + } + &:active { + background-color: $faint-secondary-primary-20; + } + } + + &.popup-off { + background-color: $red-brand-primary; + color: $white; + &:hover { + background-color: $red-brand-primary-hover; + } + &:active { + background-color: $red-brand-primary-active; + } + } +} + +.popup-text { + margin-left: 20px; +} + +.popup_active { + visibility: visible; +} +</style> diff --git a/src/views/SystemDescription/Network/SystemNetwork.vue b/src/views/SystemDescription/Network/SystemNetwork.vue new file mode 100644 index 00000000..69ede837 --- /dev/null +++ b/src/views/SystemDescription/Network/SystemNetwork.vue @@ -0,0 +1,100 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.networkParametrs')" /> + <!-- IPv4 --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_1 + variant="link" + class="collapse-button semi-bold-16px" + @click="ipv4Handler" + > + {{ $t('SystemDescription.title.Ipv4Settings') }} + <b-form-checkbox + id="checkbox-1" + v-model="ipv4" + @click.native.prevent + ></b-form-checkbox> + </b-button> + <b-collapse id="toggle-collapse_1" class="nav-item__nav"> + <i-pv4-settings ref="system" /> + </b-collapse> + </div> + <!-- IPv6 --> + <div class="page-collapse-decorator"> + <b-button + v-b-toggle.toggle-collapse_2 + variant="link" + class="collapse-button semi-bold-16px" + @click="ipv6Handler" + > + {{ $t('SystemDescription.title.Ipv6Settings') }} + <b-form-checkbox + id="checkbox-2" + v-model="ipv6" + @click.native.prevent + ></b-form-checkbox> + </b-button> + <b-collapse id="toggle-collapse_2" class="nav-item__nav"> + <i-pv6-settings ref="system" /> + </b-collapse> + </div> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import IPv4Settings from './InventoryIPv4Settings'; +import IPv6Settings from './InventoryIPv6Settings'; +import iconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; + +export default { + components: { + PageTitle, + IPv4Settings, + IPv6Settings, + }, + data() { + return { + text: '', + iconChevronUp: iconChevronUp, + ipv4: false, + ipv6: false, + }; + }, + methods: { + ipv4Handler() { + this.ipv4 = !this.ipv4; + }, + ipv6Handler() { + this.ipv6 = !this.ipv6; + }, + }, +}; +</script> +<style lang="scss" scoped> +//nav items style +.nav-item, +.nav-link { + padding: 0; +} + +.nav-item { + list-style-type: none; +} + +a { + color: $text-primary !important; + &:hover { + color: $text-primary !important; + } +} + +.custom-checkbox { + background-color: none; + margin: 0 20px 0 auto; +} +</style> diff --git a/src/views/SystemDescription/Network/index.js b/src/views/SystemDescription/Network/index.js new file mode 100644 index 00000000..25f85f3c --- /dev/null +++ b/src/views/SystemDescription/Network/index.js @@ -0,0 +1,2 @@ +import SystemNetwork from './SystemNetwork.vue'; +export default SystemNetwork; diff --git a/src/views/SystemDescription/ServerParametrs/ServerParametrs.vue b/src/views/SystemDescription/ServerParametrs/ServerParametrs.vue new file mode 100644 index 00000000..9eb57301 --- /dev/null +++ b/src/views/SystemDescription/ServerParametrs/ServerParametrs.vue @@ -0,0 +1,21 @@ +<template> + <b-container + :style="{ display: 'flex', 'flex-direction': 'column' }" + fluid="xxl pt-0 m-0" + > + <page-title :description="$t('appNavigation.serverParam')" /> + <servere-parametrs-section /> + </b-container> +</template> + +<script> +import PageTitle from '@/components/Global/PageTitle'; +import ServereParametrsSection from './ServereParametrsSection'; + +export default { + components: { + PageTitle, + ServereParametrsSection, + }, +}; +</script> diff --git a/src/views/SystemDescription/ServerParametrs/ServereParametrsSection.vue b/src/views/SystemDescription/ServerParametrs/ServereParametrsSection.vue new file mode 100644 index 00000000..03cd1356 --- /dev/null +++ b/src/views/SystemDescription/ServerParametrs/ServereParametrsSection.vue @@ -0,0 +1,146 @@ +<template> + <page-section class="bootstrap-table__section"> + <span class="bold-12px__caps"> + {{ $t('SystemDescription.LoadingQueue') }} + </span> + <b-table + responsive="md" + class="bootstrap-table bootstrap-table__stripes" + :items="queueItems" + :fields="fields" + > + <template #cell(active)="data"> + <b-row> + <b-col> + <span v-if="queueItems[data.index].active"> + {{ $t('global.status.enabled') }} + </span> + <span v-else> + {{ $t('global.status.disabled') }} + </span> + </b-col> + <b-col> + <b-form-checkbox + v-model="queueItems[data.index].active" + switch + @change="toggleLoad" + > + </b-form-checkbox> + </b-col> + </b-row> + </template> + </b-table> + <span class="bold-12px__caps"> + {{ $t('SystemDescription.DiskParametrs') }} + </span> + <b-table + responsive="md" + class="bootstrap-table bootstrap-table__stripes" + :items="diskItems" + :fields="fields" + > + </b-table> + </page-section> +</template> + +<script> +import PageSection from '@/components/Global/PageSection'; +import iconChevron from '@carbon/icons-vue/es/chevron--down/16'; + +export default { + components: { PageSection }, + data() { + return { + selectedCell: null, + fields: [ + { + key: 'param', + label: '', + formatter: this.dataFormatter, + thClass: 'bootstrap-table__head_bg', + class: 'bootstrap-table__column-first', + tdClass: 'regular-12px bootstrap-table__td', + }, + { + key: 'active', + label: '', + formatter: this.dataFormatter, + thClass: 'bootstrap-table__head_bg', + class: `bootstrap-table__column-last + bootstrap-table__server-param`, + tdClass: 'regular-12px bootstrap-table__td', + }, + ], + iconChevron, + queueItems: [ + { + param: 'Hard Drive C:', + active: false, + }, + { + param: + 'Embedded NIC 2 Port 1 Partition 1: BRCM MBA Slot E101 v21.6.0', + active: false, + }, + { + param: 'Virtual Floppy Drive', + active: false, + }, + { + param: 'Virtual Optical Drive', + active: false, + }, + ], + diskItems: [ + { + param: 'Internal SD', + active: 'IDSM', + }, + { + param: 'ACHI Controller in SL7', + active: 'A0S0 MTFDDAV480TDS', + }, + { + param: 'ACHI Controller in SL7', + active: 'A0S1 MTFDDAV480TDS', + }, + { + param: 'RAID Controller in SL8', + active: 'PERC H755 Front (bus 01 dev 00)', + }, + ], + }; + }, + methods: { + toggleLoad(data, value) { + this.queueItems[data.index].value = !value; + }, + }, +}; +</script> +<style lang="scss"> +.bootstrap-table__server-param { + width: 30%; +} + +.system-network-table__icon-col { + max-width: 20%; + margin: 0 5px 0 auto !important; +} +</style> + +<style lang="scss" scoped> +.row { + align-items: center; + flex-wrap: nowrap; + justify-content: flex-end; +} +.icon-expand { + margin: 0 !important; +} + +.bold-12px__caps { + display: block; + margin: 16px 0 7px 0; +} +</style> diff --git a/src/views/SystemDescription/ServerParametrs/index.js b/src/views/SystemDescription/ServerParametrs/index.js new file mode 100644 index 00000000..5ce6ca74 --- /dev/null +++ b/src/views/SystemDescription/ServerParametrs/index.js @@ -0,0 +1,2 @@ +import ServerParametrs from './ServerParametrs.vue'; +export default ServerParametrs; |